CMakeLists.txt 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. CMAKE_MINIMUM_REQUIRED(VERSION 1.3)
  2. SET(SRCS
  3. cmake.cxx
  4. cmakewizard.cxx
  5. cmMakeDepend.cxx
  6. cmMakefile.cxx
  7. cmRegularExpression.cxx
  8. cmSourceFile.cxx
  9. cmSystemTools.cxx
  10. cmDirectory.cxx
  11. cmDynamicLoader.cxx
  12. cmCommands.cxx
  13. cmTarget.cxx
  14. cmCustomCommand.cxx
  15. cmCacheManager.cxx
  16. cmSourceGroup.cxx
  17. cmListFileCache.cxx
  18. cmGlobalGenerator.cxx
  19. cmGlobalUnixMakefileGenerator.cxx
  20. cmLocalGenerator.cxx
  21. cmLocalUnixMakefileGenerator.cxx
  22. cmake.h
  23. cmakewizard.h
  24. cmMakeDepend.h
  25. cmMakefile.h
  26. cmRegularExpression.h
  27. cmSourceFile.h
  28. cmSystemTools.h
  29. cmDynamicLoader.h
  30. cmDirectory.h
  31. cmCommands.h
  32. cmTarget.h
  33. cmCustomCommand.h
  34. cmCacheManager.h
  35. cmSourceGroup.h
  36. cmListFileCache.h
  37. cmGlobalGenerator.h
  38. cmGlobalUnixMakefileGenerator.h
  39. cmLocalGenerator.h
  40. cmLocalUnixMakefileGenerator.h
  41. )
  42. # configure the .h file
  43. CONFIGURE_FILE(
  44. ${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in
  45. ${CMake_BINARY_DIR}/Source/cmConfigure.h )
  46. # add the include path to find the .h
  47. INCLUDE_DIRECTORIES(${CMake_BINARY_DIR}/Source)
  48. INCLUDE_DIRECTORIES(${CMake_SOURCE_DIR}/Source)
  49. # let cmake know it is supposed to use it
  50. ADD_DEFINITIONS(-DCMAKE_BUILD_WITH_CMAKE)
  51. IF (WIN32)
  52. IF(NOT UNIX)
  53. SET(SRCS ${SRCS}
  54. cmGlobalBorlandMakefileGenerator.cxx
  55. cmLocalBorlandMakefileGenerator.cxx
  56. cmGlobalNMakeMakefileGenerator.cxx
  57. cmLocalNMakeMakefileGenerator.cxx
  58. cmGlobalVisualStudio6Generator.cxx
  59. cmLocalVisualStudio6Generator.cxx
  60. cmGlobalVisualStudio7Generator.cxx
  61. cmLocalVisualStudio7Generator.cxx
  62. cmGlobalBorlandMakefileGenerator.h
  63. cmLocalBorlandMakefileGenerator.h
  64. cmGlobalNMakeMakefileGenerator.h
  65. cmLocalNMakeMakefileGenerator.h
  66. cmGlobalVisualStudio6Generator.h
  67. cmLocalVisualStudio6Generator.h
  68. cmGlobalVisualStudio7Generator.h
  69. cmLocalVisualStudio7Generator.h
  70. cmWin32ProcessExecution.cxx
  71. cmWin32ProcessExecution.h
  72. )
  73. IF( NOT BORLAND )
  74. LINK_LIBRARIES( rpcrt4.lib )
  75. ADD_EXECUTABLE(cmw9xcom cmw9xcom.cxx)
  76. TARGET_LINK_LIBRARIES(cmw9xcom CMakeLib)
  77. SUBDIRS(MFCDialog)
  78. ENDIF( NOT BORLAND )
  79. ENDIF(NOT UNIX)
  80. ENDIF (WIN32)
  81. # create a library used by the command line and the GUI
  82. ADD_LIBRARY(CMakeLib ${SRCS})
  83. # always link in the library
  84. # the library is found here
  85. LINK_DIRECTORIES(${CMake_BINARY_DIR}/Source)
  86. ADD_EXECUTABLE(cmake cmakemain.cxx)
  87. ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
  88. ADD_EXECUTABLE(ctest ctest.cxx)
  89. IF (UNIX)
  90. TARGET_LINK_LIBRARIES(CMakeLib ${CMAKE_DL_LIBS})
  91. ENDIF (UNIX)
  92. TARGET_LINK_LIBRARIES(cmake CMakeLib)
  93. TARGET_LINK_LIBRARIES(DumpDocumentation CMakeLib)
  94. TARGET_LINK_LIBRARIES(ctest CMakeLib)
  95. IF (UNIX)
  96. INCLUDE (${CMake_SOURCE_DIR}/Modules/FindCurses.cmake OPTIONAL)
  97. IF (CURSES_LIBRARY)
  98. SUBDIRS(CursesDialog/form)
  99. INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
  100. ENDIF (CURSES_LIBRARY)
  101. ENDIF (UNIX)
  102. OPTION(CMAKE_BUILD_WX_DIALOG "Build wxWindows dialog for CMake" FALSE)
  103. MARK_AS_ADVANCED(CMAKE_BUILD_WX_DIALOG)
  104. IF(CMAKE_BUILD_WX_DIALOG)
  105. SUBDIRS(WXDialog)
  106. ENDIF(CMAKE_BUILD_WX_DIALOG)
  107. IF (NOT DART_ROOT)
  108. SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
  109. ENDIF (NOT DART_ROOT)
  110. CONFIGURE_FILE(
  111. ${CMake_SOURCE_DIR}/Source/cmaketest.h.in
  112. ${CMake_BINARY_DIR}/Source/cmaketest.h ESCAPE_QUOTES)
  113. ADD_EXECUTABLE(cmaketest cmaketest.cxx)
  114. TARGET_LINK_LIBRARIES(cmaketest CMakeLib)
  115. IF(BUILD_TESTING)
  116. ADD_TEST(DumpDocumentation ${CMake_BINARY_DIR}/Source/DumpDocumentation
  117. ${CMake_BINARY_DIR}/CMakeDoc.html)
  118. ADD_TEST(simple ${CMake_BINARY_DIR}/Source/cmaketest
  119. ${CMake_SOURCE_DIR}/Tests/Simple
  120. ${CMake_BINARY_DIR}/Tests/Simple
  121. simple)
  122. ADD_TEST(conly ${CMake_BINARY_DIR}/Source/cmaketest
  123. ${CMake_SOURCE_DIR}/Tests/COnly
  124. ${CMake_BINARY_DIR}/Tests/COnly
  125. conly)
  126. ADD_TEST(LoadedCommand ${CMake_BINARY_DIR}/Source/cmaketest
  127. ${CMake_SOURCE_DIR}/Tests/LoadCommand
  128. ${CMake_BINARY_DIR}/Tests/LoadCommand
  129. LoadedCommand)
  130. ADD_TEST(complex ${CMake_BINARY_DIR}/Source/cmaketest
  131. ${CMake_SOURCE_DIR}/Tests/Complex
  132. ${CMake_BINARY_DIR}/Tests/Complex
  133. complex
  134. ${CMake_BINARY_DIR}/Tests/Complex/bin)
  135. ADD_TEST(Example ${CMake_BINARY_DIR}/Source/cmaketest
  136. ${CMake_SOURCE_DIR}/Example
  137. ${CMake_BINARY_DIR}/Example
  138. helloDemo
  139. ${CMake_BINARY_DIR}/Example/Demo
  140. HELLO)
  141. ADD_TEST(testing ${CMake_BINARY_DIR}/Source/cmaketest
  142. ${CMake_SOURCE_DIR}/Tests/Testing
  143. ${CMake_BINARY_DIR}/Tests/Testing
  144. testing
  145. ${CMake_BINARY_DIR}/Tests/Testing/bin)
  146. ADD_TEST(wrapping ${CMake_BINARY_DIR}/Source/cmaketest
  147. ${CMake_SOURCE_DIR}/Tests/Wrapping
  148. ${CMake_BINARY_DIR}/Tests/Wrapping
  149. wrapping
  150. ${CMake_BINARY_DIR}/Tests/Wrapping/bin)
  151. INCLUDE ( ${CMAKE_ROOT}/Modules/FindQt.cmake )
  152. IF (QT_FOUND)
  153. ADD_TEST(qtwrapping ${CMake_BINARY_DIR}/Source/cmaketest
  154. ${CMake_SOURCE_DIR}/Tests/Wrapping
  155. ${CMake_BINARY_DIR}/Tests/Wrapping
  156. qtwrapping
  157. ${CMake_BINARY_DIR}/Tests/Wrapping/bin)
  158. ENDIF (QT_FOUND)
  159. ADD_TEST(testdriver1 ${CMake_BINARY_DIR}/Source/cmaketest
  160. ${CMake_SOURCE_DIR}/Tests/TestDriver
  161. ${CMake_BINARY_DIR}/Tests/TestDriver
  162. TestDriverTest
  163. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  164. TestDriverTest test1)
  165. ADD_TEST(testdriver2 ${CMake_BINARY_DIR}/Source/cmaketest
  166. ${CMake_SOURCE_DIR}/Tests/TestDriver
  167. ${CMake_BINARY_DIR}/Tests/TestDriver
  168. TestDriverTest
  169. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  170. TestDriverTest test2)
  171. ADD_TEST(testdriver3 ${CMake_BINARY_DIR}/Source/cmaketest
  172. ${CMake_SOURCE_DIR}/Tests/TestDriver
  173. ${CMake_BINARY_DIR}/Tests/TestDriver
  174. TestDriverTest
  175. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  176. TestDriverTest subdir/test3)
  177. ADD_TEST(dependency_w_libout ${CMake_BINARY_DIR}/Source/cmaketest
  178. ${CMake_SOURCE_DIR}/Tests/Dependency
  179. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  180. exec
  181. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec
  182. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  183. ADD_TEST(dependency_wo_lib_out ${CMake_BINARY_DIR}/Source/cmaketest
  184. ${CMake_SOURCE_DIR}/Tests/Dependency
  185. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut
  186. exec
  187. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec
  188. Dependency)
  189. ADD_TEST(dependency2 ${CMake_BINARY_DIR}/Source/cmaketest
  190. ${CMake_SOURCE_DIR}/Tests/Dependency
  191. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  192. exec2
  193. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec2
  194. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  195. ADD_TEST(dependency3 ${CMake_BINARY_DIR}/Source/cmaketest
  196. ${CMake_SOURCE_DIR}/Tests/Dependency
  197. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  198. exec3
  199. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec3
  200. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  201. ADD_TEST(dependency4 ${CMake_BINARY_DIR}/Source/cmaketest
  202. ${CMake_SOURCE_DIR}/Tests/Dependency
  203. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  204. exec4
  205. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec4
  206. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  207. ADD_TEST(linkline ${CMake_BINARY_DIR}/Source/cmaketest
  208. ${CMake_SOURCE_DIR}/Tests/LinkLine
  209. ${CMake_BINARY_DIR}/Tests/LinkLine
  210. Exec
  211. ${CMake_BINARY_DIR}/Tests/LinkLine
  212. LinkLine)
  213. ENDIF(BUILD_TESTING)
  214. INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  215. INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  216. INSTALL_TARGETS(/bin cmake)
  217. INSTALL_TARGETS(/bin ctest)
  218. INSTALL_TARGETS(/bin cmaketest)