less assumptions about the generated CMakeLists.txt

This commit is contained in:
Radovan Bast
2015-06-04 14:13:25 +02:00
parent ea10164306
commit 77f6b62829
4 changed files with 25 additions and 30 deletions

View File

@ -166,42 +166,15 @@ def gen_cmakelists(config, relative_path, list_of_modules):
s.append('# do not rebuild if rules (compiler flags) change')
s.append('set(CMAKE_SKIP_RULE_DEPENDENCY TRUE)')
s.append('\n')
s.append('# directory which holds enabled cmake modules')
s.append('set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}')
s.append(' ${PROJECT_SOURCE_DIR}/%s)' % os.path.join(relative_path, 'modules'))
s.append('\n')
s.append('# guards against in-source builds and bad build types')
s.append('if(NOT CMAKE_BUILD_TYPE)')
s.append(' set(CMAKE_BUILD_TYPE "Debug")')
s.append('endif()')
s.append('\n')
s.append('# python interpreter is required at many')
s.append('# places during configuration and build')
s.append('find_package(PythonInterp REQUIRED)')
s.append('\n')
s.append('# determine program version from file, example: "14.1"')
s.append('# the reason why this information is stored')
s.append('# in a file and not as cmake variable')
s.append('# is that cmake-unaware programs can')
s.append('# parse and use it (e.g. Sphinx)')
s.append('if(EXISTS "${PROJECT_SOURCE_DIR}/VERSION")')
s.append(' file(READ "${PROJECT_SOURCE_DIR}/VERSION" PROGRAM_VERSION)')
s.append(' string(STRIP "${PROGRAM_VERSION}" PROGRAM_VERSION)')
s.append('endif()')
s.append('\n')
s.append('# generated cmake files will be written to this path')
s.append('# only build info is generated')
s.append('# everything else is static for the user')
s.append('file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/generated_by_cmake)')
s.append('set(CMAKE_MODULE_PATH')
s.append(' ${CMAKE_MODULE_PATH}')
s.append(' ${PROJECT_BINARY_DIR}/generated_by_cmake')
s.append(' )')
s.append('# directory which holds enabled cmake modules')
s.append('set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}')
s.append(' ${PROJECT_SOURCE_DIR}/%s)' % os.path.join(relative_path, 'modules'))
s.append('\n')
s.append('# included cmake modules')