CMakeLists.txt 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319
  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. 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 (WIN32)
  55. IF(NOT UNIX)
  56. SET(SRCS ${SRCS}
  57. cmGlobalBorlandMakefileGenerator.cxx
  58. cmGlobalNMakeMakefileGenerator.cxx
  59. cmGlobalVisualStudio6Generator.cxx
  60. cmLocalVisualStudio6Generator.cxx
  61. cmGlobalVisualStudio7Generator.cxx
  62. cmLocalVisualStudio7Generator.cxx
  63. cmGlobalBorlandMakefileGenerator.h
  64. cmGlobalNMakeMakefileGenerator.h
  65. cmGlobalVisualStudio6Generator.h
  66. cmLocalVisualStudio6Generator.h
  67. cmGlobalVisualStudio7Generator.h
  68. cmLocalVisualStudio7Generator.h
  69. cmWin32ProcessExecution.cxx
  70. cmWin32ProcessExecution.h
  71. )
  72. IF( NOT BORLAND )
  73. LINK_LIBRARIES( rpcrt4.lib )
  74. ADD_EXECUTABLE(cmw9xcom cmw9xcom.cxx)
  75. TARGET_LINK_LIBRARIES(cmw9xcom CMakeLib)
  76. SUBDIRS(MFCDialog)
  77. ENDIF( NOT BORLAND )
  78. ENDIF(NOT UNIX)
  79. ENDIF (WIN32)
  80. # create a library used by the command line and the GUI
  81. ADD_LIBRARY(CMakeLib ${SRCS})
  82. # always link in the library
  83. # the library is found here
  84. LINK_DIRECTORIES(${CMake_BINARY_DIR}/Source)
  85. ADD_EXECUTABLE(cmake cmakemain.cxx)
  86. ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
  87. ADD_EXECUTABLE(ctest ctest.cxx cmCTest.cxx)
  88. IF (UNIX)
  89. TARGET_LINK_LIBRARIES(CMakeLib ${CMAKE_DL_LIBS})
  90. ENDIF (UNIX)
  91. TARGET_LINK_LIBRARIES(cmake CMakeLib)
  92. TARGET_LINK_LIBRARIES(DumpDocumentation CMakeLib)
  93. TARGET_LINK_LIBRARIES(ctest CMakeLib)
  94. IF (UNIX)
  95. INCLUDE (${CMake_SOURCE_DIR}/Modules/FindCurses.cmake OPTIONAL)
  96. IF (CURSES_LIBRARY)
  97. SUBDIRS(CursesDialog/form)
  98. INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
  99. ENDIF (CURSES_LIBRARY)
  100. ENDIF (UNIX)
  101. OPTION(CMAKE_BUILD_WX_DIALOG "Build wxWindows dialog for CMake" FALSE)
  102. MARK_AS_ADVANCED(CMAKE_BUILD_WX_DIALOG)
  103. IF(CMAKE_BUILD_WX_DIALOG)
  104. SUBDIRS(WXDialog)
  105. ENDIF(CMAKE_BUILD_WX_DIALOG)
  106. IF (NOT DART_ROOT)
  107. SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
  108. ENDIF (NOT DART_ROOT)
  109. CONFIGURE_FILE(
  110. ${CMake_SOURCE_DIR}/Source/cmaketest.h.in
  111. ${CMake_BINARY_DIR}/Source/cmaketest.h ESCAPE_QUOTES)
  112. ADD_EXECUTABLE(cmaketest cmaketest.cxx)
  113. TARGET_LINK_LIBRARIES(cmaketest CMakeLib)
  114. IF(BUILD_TESTING)
  115. ADD_TEST(DumpDocumentation ${CMake_BINARY_DIR}/Source/DumpDocumentation
  116. --all-for-coverage)
  117. ADD_TEST(SystemInformation ${CMake_BINARY_DIR}/Source/cmaketest
  118. ${CMake_SOURCE_DIR}/Tests/SystemInformation
  119. ${CMake_BINARY_DIR}/Tests/SystemInformation
  120. DumpInformation)
  121. ADD_TEST(TryCompile ${CMake_BINARY_DIR}/Source/cmaketest
  122. ${CMake_SOURCE_DIR}/Tests/TryCompile
  123. ${CMake_BINARY_DIR}/Tests/TryCompile
  124. TryCompile)
  125. ADD_TEST(simple ${CMake_BINARY_DIR}/Source/cmaketest
  126. ${CMake_SOURCE_DIR}/Tests/Simple
  127. ${CMake_BINARY_DIR}/Tests/Simple
  128. simple)
  129. ADD_TEST(conly ${CMake_BINARY_DIR}/Source/cmaketest
  130. ${CMake_SOURCE_DIR}/Tests/COnly
  131. ${CMake_BINARY_DIR}/Tests/COnly
  132. conly)
  133. ADD_TEST(X11 ${CMake_BINARY_DIR}/Source/cmaketest
  134. ${CMake_SOURCE_DIR}/Tests/X11
  135. ${CMake_BINARY_DIR}/Tests/X11
  136. UseX11)
  137. ADD_TEST(LoadedCommand ${CMake_BINARY_DIR}/Source/cmaketest
  138. ${CMake_SOURCE_DIR}/Tests/LoadCommand
  139. ${CMake_BINARY_DIR}/Tests/LoadCommand
  140. LoadedCommand)
  141. ADD_TEST(LoadedCommandOneConfig ${CMake_BINARY_DIR}/Source/cmaketest
  142. ${CMake_SOURCE_DIR}/Tests/LoadCommand
  143. ${CMake_BINARY_DIR}/Tests/LoadCommandOneConfig
  144. LoadedCommand ONLY_ONE_CONFIG)
  145. # Como does not seem to support shared libraries.
  146. GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_CXX_COMPILER} NAME_WE)
  147. IF(CMAKE_BASE_NAME MATCHES "^como$")
  148. SET(COMPILER_IS_COMO 1)
  149. ENDIF(CMAKE_BASE_NAME MATCHES "^como$")
  150. IF(NOT COMPILER_IS_COMO)
  151. ADD_TEST(complex ${CMake_BINARY_DIR}/Source/cmaketest
  152. ${CMake_SOURCE_DIR}/Tests/Complex
  153. ${CMake_BINARY_DIR}/Tests/Complex
  154. complex
  155. ${CMake_BINARY_DIR}/Tests/Complex/bin)
  156. ADD_TEST(complexOneConfig ${CMake_BINARY_DIR}/Source/cmaketest
  157. ${CMake_SOURCE_DIR}/Tests/Complex
  158. ${CMake_BINARY_DIR}/Tests/ComplexOneConfig
  159. complex
  160. ${CMake_BINARY_DIR}/Tests/ComplexOneConfig/bin ONLY_ONE_CONFIG)
  161. ENDIF(NOT COMPILER_IS_COMO)
  162. ADD_TEST(Example ${CMake_BINARY_DIR}/Source/cmaketest
  163. ${CMake_SOURCE_DIR}/Example
  164. ${CMake_BINARY_DIR}/Example
  165. helloDemo
  166. ${CMake_BINARY_DIR}/Example/Demo
  167. HELLO)
  168. ADD_TEST(testing ${CMake_BINARY_DIR}/Source/cmaketest
  169. ${CMake_SOURCE_DIR}/Tests/Testing
  170. ${CMake_BINARY_DIR}/Tests/Testing
  171. testing
  172. ${CMake_BINARY_DIR}/Tests/Testing/bin)
  173. ADD_TEST(wrapping ${CMake_BINARY_DIR}/Source/cmaketest
  174. ${CMake_SOURCE_DIR}/Tests/Wrapping
  175. ${CMake_BINARY_DIR}/Tests/Wrapping
  176. wrapping
  177. ${CMake_BINARY_DIR}/Tests/Wrapping/bin)
  178. INCLUDE ( ${CMAKE_ROOT}/Modules/FindQt.cmake )
  179. MARK_AS_ADVANCED(
  180. QT_INCLUDE_PATH
  181. QT_MOC_EXE
  182. QT_QT_LIBRARY
  183. QT_UIC_EXE)
  184. IF (QT_FOUND)
  185. ADD_TEST(qtwrapping ${CMake_BINARY_DIR}/Source/cmaketest
  186. ${CMake_SOURCE_DIR}/Tests/Wrapping
  187. ${CMake_BINARY_DIR}/Tests/Wrapping
  188. qtwrapping
  189. ${CMake_BINARY_DIR}/Tests/Wrapping/bin)
  190. ENDIF (QT_FOUND)
  191. ADD_TEST(testdriver1 ${CMake_BINARY_DIR}/Source/cmaketest
  192. ${CMake_SOURCE_DIR}/Tests/TestDriver
  193. ${CMake_BINARY_DIR}/Tests/TestDriver
  194. TestDriverTest
  195. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  196. TestDriverTest test1)
  197. ADD_TEST(testdriver2 ${CMake_BINARY_DIR}/Source/cmaketest
  198. ${CMake_SOURCE_DIR}/Tests/TestDriver
  199. ${CMake_BINARY_DIR}/Tests/TestDriver
  200. TestDriverTest
  201. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  202. TestDriverTest test2)
  203. ADD_TEST(testdriver3 ${CMake_BINARY_DIR}/Source/cmaketest
  204. ${CMake_SOURCE_DIR}/Tests/TestDriver
  205. ${CMake_BINARY_DIR}/Tests/TestDriver
  206. TestDriverTest
  207. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  208. TestDriverTest subdir/test3)
  209. ADD_TEST(dependency_w_libout ${CMake_BINARY_DIR}/Source/cmaketest
  210. ${CMake_SOURCE_DIR}/Tests/Dependency
  211. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  212. exec
  213. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec
  214. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  215. ADD_TEST(dependency_wo_lib_out ${CMake_BINARY_DIR}/Source/cmaketest
  216. ${CMake_SOURCE_DIR}/Tests/Dependency
  217. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut
  218. exec
  219. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec
  220. Dependency)
  221. ADD_TEST(dependency2 ${CMake_BINARY_DIR}/Source/cmaketest
  222. ${CMake_SOURCE_DIR}/Tests/Dependency
  223. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  224. exec2
  225. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec2
  226. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  227. ADD_TEST(dependency3 ${CMake_BINARY_DIR}/Source/cmaketest
  228. ${CMake_SOURCE_DIR}/Tests/Dependency
  229. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  230. exec3
  231. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec3
  232. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  233. ADD_TEST(dependency4 ${CMake_BINARY_DIR}/Source/cmaketest
  234. ${CMake_SOURCE_DIR}/Tests/Dependency
  235. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  236. exec4
  237. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec4
  238. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  239. ADD_TEST(linkline ${CMake_BINARY_DIR}/Source/cmaketest
  240. ${CMake_SOURCE_DIR}/Tests/LinkLine
  241. ${CMake_BINARY_DIR}/Tests/LinkLine
  242. Exec
  243. ${CMake_BINARY_DIR}/Tests/LinkLine
  244. LinkLine)
  245. ADD_TEST(linkorder1 ${CMake_BINARY_DIR}/Source/cmaketest
  246. ${CMake_SOURCE_DIR}/Tests/LinkLineOrder
  247. ${CMake_BINARY_DIR}/Tests/LinkLineOrder
  248. Exec1
  249. ${CMake_BINARY_DIR}/Tests/LinkLineOrder
  250. LinkLineOrder)
  251. ADD_TEST(linkorder2 ${CMake_BINARY_DIR}/Source/cmaketest
  252. ${CMake_SOURCE_DIR}/Tests/LinkLineOrder
  253. ${CMake_BINARY_DIR}/Tests/LinkLineOrder
  254. Exec2
  255. ${CMake_BINARY_DIR}/Tests/LinkLineOrder
  256. LinkLineOrder)
  257. ADD_TEST(curl ${CMake_BINARY_DIR}/Source/cmaketest
  258. ${CMake_SOURCE_DIR}/Source/CTest/Curl
  259. ${CMake_BINARY_DIR}/Tests/Curl
  260. LIBCURL)
  261. IF (APPLE)
  262. ADD_TEST(objc++ ${CMake_BINARY_DIR}/Source/cmaketest
  263. ${CMake_SOURCE_DIR}/Tests/Objc++
  264. ${CMake_BINARY_DIR}/Tests/Objc++
  265. objc++)
  266. ENDIF (APPLE)
  267. ENDIF(BUILD_TESTING)
  268. INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  269. INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  270. INSTALL_TARGETS(/bin cmake)
  271. INSTALL_TARGETS(/bin ctest)
  272. INSTALL_TARGETS(/bin cmaketest)
  273. INSTALL_FILES(/share/CMake/include cmCPluginAPI.h)