1
0

CMakeLists.txt 8.8 KB

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