CMakeLists.txt 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  1. CMAKE_MINIMUM_REQUIRED(VERSION 1.5)
  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. cmDocumentation.cxx
  12. cmDynamicLoader.cxx
  13. cmCommands.cxx
  14. cmTarget.cxx
  15. cmCustomCommand.cxx
  16. cmCacheManager.cxx
  17. cmSourceGroup.cxx
  18. cmListFileCache.cxx
  19. cmGlobalGenerator.cxx
  20. cmGlobalUnixMakefileGenerator.cxx
  21. cmLocalGenerator.cxx
  22. cmLocalUnixMakefileGenerator.cxx
  23. cmVariableWatch.cxx
  24. cmake.h
  25. cmakewizard.h
  26. cmMakeDepend.h
  27. cmMakefile.h
  28. cmRegularExpression.h
  29. cmSourceFile.h
  30. cmSystemTools.h
  31. cmDynamicLoader.h
  32. cmDirectory.h
  33. cmCommands.h
  34. cmTarget.h
  35. cmCustomCommand.h
  36. cmCacheManager.h
  37. cmSourceGroup.h
  38. cmListFileCache.h
  39. cmGlobalGenerator.h
  40. cmGlobalUnixMakefileGenerator.h
  41. cmLocalGenerator.h
  42. cmLocalUnixMakefileGenerator.h
  43. cmVariableWatch.h
  44. )
  45. # configure the .h file
  46. CONFIGURE_FILE(
  47. ${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in
  48. ${CMake_BINARY_DIR}/Source/cmConfigure.h )
  49. # add the include path to find the .h
  50. INCLUDE_DIRECTORIES(${CMake_BINARY_DIR}/Source)
  51. INCLUDE_DIRECTORIES(${CMake_SOURCE_DIR}/Source)
  52. # let cmake know it is supposed to use it
  53. ADD_DEFINITIONS(-DCMAKE_BUILD_WITH_CMAKE)
  54. IF (APPLE)
  55. SET(SRCS ${SRCS}
  56. cmGlobalCodeWarriorGenerator.cxx
  57. cmLocalCodeWarriorGenerator.cxx
  58. cmGlobalCodeWarriorGenerator.h
  59. cmLocalCodeWarriorGenerator.h
  60. )
  61. ENDIF (APPLE)
  62. IF (WIN32)
  63. IF(NOT UNIX)
  64. SET(SRCS ${SRCS}
  65. cmGlobalBorlandMakefileGenerator.cxx
  66. cmGlobalNMakeMakefileGenerator.cxx
  67. cmGlobalVisualStudio6Generator.cxx
  68. cmLocalVisualStudio6Generator.cxx
  69. cmGlobalVisualStudio7Generator.cxx
  70. cmLocalVisualStudio7Generator.cxx
  71. cmGlobalBorlandMakefileGenerator.h
  72. cmGlobalNMakeMakefileGenerator.h
  73. cmGlobalVisualStudio6Generator.h
  74. cmLocalVisualStudio6Generator.h
  75. cmGlobalVisualStudio7Generator.h
  76. cmLocalVisualStudio7Generator.h
  77. cmWin32ProcessExecution.cxx
  78. cmWin32ProcessExecution.h
  79. )
  80. IF( NOT BORLAND )
  81. LINK_LIBRARIES( rpcrt4.lib )
  82. ADD_EXECUTABLE(cmw9xcom cmw9xcom.cxx)
  83. TARGET_LINK_LIBRARIES(cmw9xcom CMakeLib)
  84. SUBDIRS(MFCDialog)
  85. ENDIF( NOT BORLAND )
  86. ENDIF(NOT UNIX)
  87. ENDIF (WIN32)
  88. # create a library used by the command line and the GUI
  89. ADD_LIBRARY(CMakeLib ${SRCS})
  90. # always link in the library
  91. # the library is found here
  92. LINK_DIRECTORIES(${CMake_BINARY_DIR}/Source)
  93. ADD_EXECUTABLE(cmake cmakemain.cxx)
  94. ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
  95. SET(CMTEST_SRCS ctest.cxx cmCTest.cxx)
  96. IF (UNIX)
  97. TARGET_LINK_LIBRARIES(CMakeLib ${CMAKE_DL_LIBS})
  98. ENDIF (UNIX)
  99. TARGET_LINK_LIBRARIES(cmake CMakeLib)
  100. TARGET_LINK_LIBRARIES(DumpDocumentation CMakeLib)
  101. SET(CMAKE_BUILD_WITH_CURL 1)
  102. IF(CMAKE_BUILD_WITH_CURL)
  103. SUBDIRS(CTest)
  104. SET(CMTEST_SRCS ${CMTEST_SRCS} CTest/cmCTestSubmit.cxx)
  105. ADD_DEFINITIONS(-DHAVE_CURL)
  106. INCLUDE_DIRECTORIES(
  107. ${CMAKE_SOURCE_DIR}/Source/CTest/Curl
  108. ${CMAKE_SOURCE_DIR}/Source/CTest
  109. )
  110. ENDIF(CMAKE_BUILD_WITH_CURL)
  111. ADD_EXECUTABLE(ctest ${CMTEST_SRCS})
  112. TARGET_LINK_LIBRARIES(ctest CMakeLib)
  113. IF(CMAKE_BUILD_WITH_CURL)
  114. TARGET_LINK_LIBRARIES(ctest Curl)
  115. ENDIF(CMAKE_BUILD_WITH_CURL)
  116. IF (UNIX)
  117. INCLUDE (${CMake_SOURCE_DIR}/Modules/FindCurses.cmake OPTIONAL)
  118. IF (CURSES_LIBRARY)
  119. SUBDIRS(CursesDialog/form)
  120. INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
  121. ENDIF (CURSES_LIBRARY)
  122. ENDIF (UNIX)
  123. OPTION(CMAKE_BUILD_WX_DIALOG "Build wxWindows dialog for CMake" FALSE)
  124. MARK_AS_ADVANCED(CMAKE_BUILD_WX_DIALOG)
  125. IF(CMAKE_BUILD_WX_DIALOG)
  126. SUBDIRS(WXDialog)
  127. ENDIF(CMAKE_BUILD_WX_DIALOG)
  128. IF (NOT DART_ROOT)
  129. SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
  130. ENDIF (NOT DART_ROOT)
  131. CONFIGURE_FILE(
  132. ${CMake_SOURCE_DIR}/Source/cmaketest.h.in
  133. ${CMake_BINARY_DIR}/Source/cmaketest.h ESCAPE_QUOTES)
  134. ADD_EXECUTABLE(cmaketest cmaketest.cxx)
  135. TARGET_LINK_LIBRARIES(cmaketest CMakeLib)
  136. IF(BUILD_TESTING)
  137. ADD_TEST(DumpDocumentation ${EXECUTABLE_OUTPUT_PATH}/DumpDocumentation
  138. --all-for-coverage)
  139. ADD_TEST(SystemInformation ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  140. ${CMake_SOURCE_DIR}/Tests/SystemInformation
  141. ${CMake_BINARY_DIR}/Tests/SystemInformation
  142. DumpInformation)
  143. ADD_TEST(TryCompile ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  144. ${CMake_SOURCE_DIR}/Tests/TryCompile
  145. ${CMake_BINARY_DIR}/Tests/TryCompile
  146. TryCompile)
  147. ADD_TEST(simple ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  148. ${CMake_SOURCE_DIR}/Tests/Simple
  149. ${CMake_BINARY_DIR}/Tests/Simple
  150. simple)
  151. ADD_TEST(conly ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  152. ${CMake_SOURCE_DIR}/Tests/COnly
  153. ${CMake_BINARY_DIR}/Tests/COnly
  154. conly)
  155. ADD_TEST(X11 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  156. ${CMake_SOURCE_DIR}/Tests/X11
  157. ${CMake_BINARY_DIR}/Tests/X11
  158. UseX11)
  159. ADD_TEST(LoadedCommand ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  160. ${CMake_SOURCE_DIR}/Tests/LoadCommand
  161. ${CMake_BINARY_DIR}/Tests/LoadCommand
  162. LoadedCommand)
  163. ADD_TEST(LoadedCommandOneConfig ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  164. ${CMake_SOURCE_DIR}/Tests/LoadCommand
  165. ${CMake_BINARY_DIR}/Tests/LoadCommandOneConfig
  166. LoadedCommand ONLY_ONE_CONFIG)
  167. # Como does not seem to support shared libraries.
  168. GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_CXX_COMPILER} NAME_WE)
  169. IF(CMAKE_BASE_NAME MATCHES "^como$")
  170. SET(COMPILER_IS_COMO 1)
  171. ENDIF(CMAKE_BASE_NAME MATCHES "^como$")
  172. IF(NOT COMPILER_IS_COMO)
  173. ADD_TEST(complex ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  174. ${CMake_SOURCE_DIR}/Tests/Complex
  175. ${CMake_BINARY_DIR}/Tests/Complex
  176. complex
  177. ${CMake_BINARY_DIR}/Tests/Complex/bin)
  178. ADD_TEST(complexOneConfig ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  179. ${CMake_SOURCE_DIR}/Tests/Complex
  180. ${CMake_BINARY_DIR}/Tests/ComplexOneConfig
  181. complex
  182. ${CMake_BINARY_DIR}/Tests/ComplexOneConfig/bin ONLY_ONE_CONFIG)
  183. ENDIF(NOT COMPILER_IS_COMO)
  184. ADD_TEST(Example ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  185. ${CMake_SOURCE_DIR}/Example
  186. ${CMake_BINARY_DIR}/Example
  187. helloDemo
  188. ${CMake_BINARY_DIR}/Example/Demo
  189. HELLO)
  190. ADD_TEST(testing ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  191. ${CMake_SOURCE_DIR}/Tests/Testing
  192. ${CMake_BINARY_DIR}/Tests/Testing
  193. testing
  194. ${CMake_BINARY_DIR}/Tests/Testing/bin)
  195. ADD_TEST(wrapping ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  196. ${CMake_SOURCE_DIR}/Tests/Wrapping
  197. ${CMake_BINARY_DIR}/Tests/Wrapping
  198. wrapping
  199. ${CMake_BINARY_DIR}/Tests/Wrapping/bin)
  200. INCLUDE ( ${CMAKE_ROOT}/Modules/FindQt.cmake )
  201. MARK_AS_ADVANCED(
  202. QT_INCLUDE_PATH
  203. QT_MOC_EXE
  204. QT_QT_LIBRARY
  205. QT_UIC_EXE)
  206. IF (QT_FOUND)
  207. ADD_TEST(qtwrapping ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  208. ${CMake_SOURCE_DIR}/Tests/Wrapping
  209. ${CMake_BINARY_DIR}/Tests/Wrapping
  210. qtwrapping
  211. ${CMake_BINARY_DIR}/Tests/Wrapping/bin)
  212. ENDIF (QT_FOUND)
  213. ADD_TEST(testdriver1 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  214. ${CMake_SOURCE_DIR}/Tests/TestDriver
  215. ${CMake_BINARY_DIR}/Tests/TestDriver
  216. TestDriverTest
  217. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  218. TestDriverTest test1)
  219. ADD_TEST(testdriver2 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  220. ${CMake_SOURCE_DIR}/Tests/TestDriver
  221. ${CMake_BINARY_DIR}/Tests/TestDriver
  222. TestDriverTest
  223. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  224. TestDriverTest test2)
  225. ADD_TEST(testdriver3 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  226. ${CMake_SOURCE_DIR}/Tests/TestDriver
  227. ${CMake_BINARY_DIR}/Tests/TestDriver
  228. TestDriverTest
  229. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  230. TestDriverTest subdir/test3)
  231. ADD_TEST(dependency_w_libout ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  232. ${CMake_SOURCE_DIR}/Tests/Dependency
  233. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  234. exec
  235. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec
  236. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  237. ADD_TEST(dependency_wo_lib_out ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  238. ${CMake_SOURCE_DIR}/Tests/Dependency
  239. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut
  240. exec
  241. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec
  242. Dependency)
  243. ADD_TEST(dependency2 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  244. ${CMake_SOURCE_DIR}/Tests/Dependency
  245. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  246. exec2
  247. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec2
  248. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  249. ADD_TEST(dependency3 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  250. ${CMake_SOURCE_DIR}/Tests/Dependency
  251. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  252. exec3
  253. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec3
  254. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  255. ADD_TEST(dependency4 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  256. ${CMake_SOURCE_DIR}/Tests/Dependency
  257. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  258. exec4
  259. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec4
  260. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  261. ADD_TEST(linkline ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  262. ${CMake_SOURCE_DIR}/Tests/LinkLine
  263. ${CMake_BINARY_DIR}/Tests/LinkLine
  264. Exec
  265. ${CMake_BINARY_DIR}/Tests/LinkLine
  266. LinkLine)
  267. ADD_TEST(linkorder1 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  268. ${CMake_SOURCE_DIR}/Tests/LinkLineOrder
  269. ${CMake_BINARY_DIR}/Tests/LinkLineOrder
  270. Exec1
  271. ${CMake_BINARY_DIR}/Tests/LinkLineOrder
  272. LinkLineOrder)
  273. ADD_TEST(linkorder2 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  274. ${CMake_SOURCE_DIR}/Tests/LinkLineOrder
  275. ${CMake_BINARY_DIR}/Tests/LinkLineOrder
  276. Exec2
  277. ${CMake_BINARY_DIR}/Tests/LinkLineOrder
  278. LinkLineOrder)
  279. ADD_TEST(curl ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  280. ${CMake_SOURCE_DIR}/Source/CTest/Curl
  281. ${CMake_BINARY_DIR}/Tests/Curl
  282. LIBCURL)
  283. ADD_TEST(kwsys ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  284. ${CMake_SOURCE_DIR}/Source/kwsys
  285. ${CMake_BINARY_DIR}/Tests/kwsys
  286. test1
  287. ${CMake_BINARY_DIR}/Tests/kwsys
  288. kwsys)
  289. IF (APPLE)
  290. ADD_TEST(objc++ ${EXECUTABLE_OUTPUT_PATH}/cmaketest
  291. ${CMake_SOURCE_DIR}/Tests/Objc++
  292. ${CMake_BINARY_DIR}/Tests/Objc++
  293. objc++)
  294. ENDIF (APPLE)
  295. ENDIF(BUILD_TESTING)
  296. INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  297. INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  298. INSTALL_TARGETS(/bin cmake)
  299. INSTALL_TARGETS(/bin ctest)
  300. INSTALL_TARGETS(/bin cmaketest)
  301. INSTALL_FILES(/share/CMake/include cmCPluginAPI.h)