Mercurial > projects > qtd
comparison CMakeLists.txt @ 239:4716eaf4a67e
Hack for building in a source directory
author | SokoL_SD |
---|---|
date | Mon, 20 Jul 2009 08:27:35 +0000 |
parents | 62d0dce52dac |
children | 8b1a982c9ac3 |
comparison
equal
deleted
inserted
replaced
238:1349940724eb | 239:4716eaf4a67e |
---|---|
3 | 3 |
4 ########################################################## | 4 ########################################################## |
5 ## Building generator && settings. | 5 ## Building generator && settings. |
6 ########################################################## | 6 ########################################################## |
7 if(NOT SECOND_RUN) | 7 if(NOT SECOND_RUN) |
8 | |
9 option(FORCE_IN_SOURCE_BUILD "Force the in-source building" "OFF") | |
10 if( CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR AND NOT FORCE_IN_SOURCE_BUILD) | |
11 message(FATAL_ERROR "In-source builds are not allowed. | |
12 Please create a directory and run cmake from there, passing the path | |
13 to this source directory as the last argument. | |
14 This process created the file `CMakeCache.txt` and the directory `CMakeFiles'. | |
15 Please delete them. | |
16 Or you can restart cmake with `-DFORCE_IN_SOURCE_BUILD=1`, but it is not | |
17 recomended. | |
18 ") | |
19 endif() | |
20 | |
8 | 21 |
9 FIND_PACKAGE(Qt4 REQUIRED) | 22 FIND_PACKAGE(Qt4 REQUIRED) |
10 set (QT_USE_QTMAIN false) | 23 set (QT_USE_QTMAIN false) |
11 set (QT_USE_QTGUI false) | 24 set (QT_USE_QTGUI false) |
12 | 25 |
96 set(make_util $(MAKE)) | 109 set(make_util $(MAKE)) |
97 else(${CMAKE_GENERATOR} STREQUAL "NMake Makefiles") | 110 else(${CMAKE_GENERATOR} STREQUAL "NMake Makefiles") |
98 message(FATAL_ERROR "${CMAKE_GENERATOR} isn't supported") | 111 message(FATAL_ERROR "${CMAKE_GENERATOR} isn't supported") |
99 endif(${CMAKE_GENERATOR} STREQUAL "NMake Makefiles") | 112 endif(${CMAKE_GENERATOR} STREQUAL "NMake Makefiles") |
100 | 113 |
101 set(cd_path ${CMAKE_BINARY_DIR}/build) | 114 if(${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR}) |
115 set(cd_path ${CMAKE_SOURCE_DIR}) | |
116 else(${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR}) | |
117 set(cd_path ${CMAKE_BINARY_DIR}/build) | |
118 endif(${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR}) | |
119 | |
102 make_native_path(cd_path) | 120 make_native_path(cd_path) |
103 add_custom_command(TARGET main POST_BUILD | 121 add_custom_command(TARGET main POST_BUILD |
104 COMMAND ${CMAKE_COMMAND} ARGS -E make_directory ${CMAKE_BINARY_DIR}/build | 122 COMMAND ${CMAKE_COMMAND} ARGS -E make_directory ${CMAKE_BINARY_DIR}/build |
105 COMMAND cd ARGS ${cd_path} && ${CMAKE_COMMAND} -G${CMAKE_GENERATOR} -DSECOND_RUN=1 ${CMAKE_SOURCE_DIR} && ${make_util} | 123 COMMAND cd ARGS ${cd_path} && ${CMAKE_COMMAND} -G${CMAKE_GENERATOR} -DSECOND_RUN=1 ${CMAKE_SOURCE_DIR} && ${make_util} |
106 COMMENT "" | 124 COMMENT "" |
107 ) | 125 ) |
108 | 126 |
109 ## Make commands. | 127 ## Make commands. |
110 set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${CMAKE_BINARY_DIR}/build) | 128 set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${CMAKE_BINARY_DIR}/build) |
111 add_custom_target(install | 129 add_custom_target(install |
112 COMMAND cd ${CMAKE_BINARY_DIR}/build && ${make_util} install | 130 COMMAND cd ${CMAKE_BINARY_DIR}/CMakeFiles/build && ${make_util} install |
113 COMMENT "" | 131 COMMENT "" |
114 ) | 132 ) |
115 add_dependencies(install preinstall) | 133 add_dependencies(install preinstall) |
116 | 134 |
117 ##-------------------------------------------- | 135 ##-------------------------------------------- |
142 ## Building QtD. | 160 ## Building QtD. |
143 ########################################################## | 161 ########################################################## |
144 else(NOT SECOND_RUN) | 162 else(NOT SECOND_RUN) |
145 | 163 |
146 PROJECT(qtd CXX C) | 164 PROJECT(qtd CXX C) |
147 load_cache(${CMAKE_BINARY_DIR}/.. INCLUDE_INTERNALS all_packages QTD_VERSION_STR QTD_VERSION) | 165 load_cache(${CMAKE_BINARY_DIR} INCLUDE_INTERNALS all_packages QTD_VERSION_STR QTD_VERSION) |
148 set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) | 166 set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) |
149 FIND_PACKAGE(D REQUIRED) | 167 FIND_PACKAGE(D REQUIRED) |
150 FIND_PACKAGE(Qt4 REQUIRED) | 168 FIND_PACKAGE(Qt4 REQUIRED) |
151 | 169 |
152 set(QTD_VERSION_STR ${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}) | 170 set(QTD_VERSION_STR ${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}) |
548 add_subdirectory(demos) | 566 add_subdirectory(demos) |
549 add_subdirectory(examples) | 567 add_subdirectory(examples) |
550 endif(BUILD_EXAMPLES) | 568 endif(BUILD_EXAMPLES) |
551 | 569 |
552 #execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/CMakeCache.txt) | 570 #execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/CMakeCache.txt) |
571 set(SECOND_RUN 0 CACHE INTERNAL "") | |
553 | 572 |
554 endif(NOT SECOND_RUN) | 573 endif(NOT SECOND_RUN) |