CMakeLists.txt 9.5 KB

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