CMakeLists.txt 11 KB

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