CMakeLists.txt 11 KB

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