CMakeLists.txt 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  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. cmGlobalCodeWarriorGenerator.cxx
  21. cmLocalGenerator.cxx
  22. cmLocalUnixMakefileGenerator.cxx
  23. cmLocalCodeWarriorGenerator.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. cmGlobalCodeWarriorGenerator.h
  42. cmLocalGenerator.h
  43. cmLocalUnixMakefileGenerator.h
  44. cmLocalCodeWarriorGenerator.h
  45. )
  46. # configure the .h file
  47. CONFIGURE_FILE(
  48. ${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in
  49. ${CMake_BINARY_DIR}/Source/cmConfigure.h )
  50. # add the include path to find the .h
  51. INCLUDE_DIRECTORIES(${CMake_BINARY_DIR}/Source)
  52. INCLUDE_DIRECTORIES(${CMake_SOURCE_DIR}/Source)
  53. # let cmake know it is supposed to use it
  54. ADD_DEFINITIONS(-DCMAKE_BUILD_WITH_CMAKE)
  55. IF (WIN32)
  56. IF(NOT UNIX)
  57. SET(SRCS ${SRCS}
  58. cmGlobalBorlandMakefileGenerator.cxx
  59. cmLocalBorlandMakefileGenerator.cxx
  60. cmGlobalNMakeMakefileGenerator.cxx
  61. cmLocalNMakeMakefileGenerator.cxx
  62. cmGlobalVisualStudio6Generator.cxx
  63. cmLocalVisualStudio6Generator.cxx
  64. cmGlobalVisualStudio7Generator.cxx
  65. cmLocalVisualStudio7Generator.cxx
  66. cmGlobalBorlandMakefileGenerator.h
  67. cmLocalBorlandMakefileGenerator.h
  68. cmGlobalNMakeMakefileGenerator.h
  69. cmLocalNMakeMakefileGenerator.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. # always link in the library
  88. # the library is found here
  89. LINK_DIRECTORIES(${CMake_BINARY_DIR}/Source)
  90. ADD_EXECUTABLE(cmake cmakemain.cxx)
  91. ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
  92. ADD_EXECUTABLE(ctest ctest.cxx)
  93. IF (UNIX)
  94. TARGET_LINK_LIBRARIES(CMakeLib ${CMAKE_DL_LIBS})
  95. ENDIF (UNIX)
  96. TARGET_LINK_LIBRARIES(cmake CMakeLib)
  97. TARGET_LINK_LIBRARIES(DumpDocumentation CMakeLib)
  98. TARGET_LINK_LIBRARIES(ctest CMakeLib)
  99. IF (UNIX)
  100. INCLUDE (${CMake_SOURCE_DIR}/Modules/FindCurses.cmake OPTIONAL)
  101. IF (CURSES_LIBRARY)
  102. SUBDIRS(CursesDialog/form)
  103. INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
  104. ENDIF (CURSES_LIBRARY)
  105. ENDIF (UNIX)
  106. OPTION(CMAKE_BUILD_WX_DIALOG "Build wxWindows dialog for CMake" FALSE)
  107. MARK_AS_ADVANCED(CMAKE_BUILD_WX_DIALOG)
  108. IF(CMAKE_BUILD_WX_DIALOG)
  109. SUBDIRS(WXDialog)
  110. ENDIF(CMAKE_BUILD_WX_DIALOG)
  111. IF (NOT DART_ROOT)
  112. SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
  113. ENDIF (NOT DART_ROOT)
  114. CONFIGURE_FILE(
  115. ${CMake_SOURCE_DIR}/Source/cmaketest.h.in
  116. ${CMake_BINARY_DIR}/Source/cmaketest.h ESCAPE_QUOTES)
  117. ADD_EXECUTABLE(cmaketest cmaketest.cxx)
  118. TARGET_LINK_LIBRARIES(cmaketest CMakeLib)
  119. IF(BUILD_TESTING)
  120. ADD_TEST(DumpDocumentation ${CMake_BINARY_DIR}/Source/DumpDocumentation
  121. ${CMake_BINARY_DIR}/CMakeDoc.html)
  122. ADD_TEST(simple ${CMake_BINARY_DIR}/Source/cmaketest
  123. ${CMake_SOURCE_DIR}/Tests/Simple
  124. ${CMake_BINARY_DIR}/Tests/Simple
  125. simple)
  126. ADD_TEST(conly ${CMake_BINARY_DIR}/Source/cmaketest
  127. ${CMake_SOURCE_DIR}/Tests/COnly
  128. ${CMake_BINARY_DIR}/Tests/COnly
  129. conly)
  130. ADD_TEST(X11 ${CMake_BINARY_DIR}/Source/cmaketest
  131. ${CMake_SOURCE_DIR}/Tests/X11
  132. ${CMake_BINARY_DIR}/Tests/X11
  133. X11)
  134. ADD_TEST(LoadedCommand ${CMake_BINARY_DIR}/Source/cmaketest
  135. ${CMake_SOURCE_DIR}/Tests/LoadCommand
  136. ${CMake_BINARY_DIR}/Tests/LoadCommand
  137. LoadedCommand)
  138. ADD_TEST(complex ${CMake_BINARY_DIR}/Source/cmaketest
  139. ${CMake_SOURCE_DIR}/Tests/Complex
  140. ${CMake_BINARY_DIR}/Tests/Complex
  141. complex
  142. ${CMake_BINARY_DIR}/Tests/Complex/bin)
  143. ADD_TEST(Example ${CMake_BINARY_DIR}/Source/cmaketest
  144. ${CMake_SOURCE_DIR}/Example
  145. ${CMake_BINARY_DIR}/Example
  146. helloDemo
  147. ${CMake_BINARY_DIR}/Example/Demo
  148. HELLO)
  149. ADD_TEST(testing ${CMake_BINARY_DIR}/Source/cmaketest
  150. ${CMake_SOURCE_DIR}/Tests/Testing
  151. ${CMake_BINARY_DIR}/Tests/Testing
  152. testing
  153. ${CMake_BINARY_DIR}/Tests/Testing/bin)
  154. ADD_TEST(wrapping ${CMake_BINARY_DIR}/Source/cmaketest
  155. ${CMake_SOURCE_DIR}/Tests/Wrapping
  156. ${CMake_BINARY_DIR}/Tests/Wrapping
  157. wrapping
  158. ${CMake_BINARY_DIR}/Tests/Wrapping/bin)
  159. INCLUDE ( ${CMAKE_ROOT}/Modules/FindQt.cmake )
  160. MARK_AS_ADVANCED(
  161. QT_INCLUDE_PATH
  162. QT_MOC_EXE
  163. QT_QT_LIBRARY
  164. QT_UIC_EXE)
  165. IF (QT_FOUND)
  166. ADD_TEST(qtwrapping ${CMake_BINARY_DIR}/Source/cmaketest
  167. ${CMake_SOURCE_DIR}/Tests/Wrapping
  168. ${CMake_BINARY_DIR}/Tests/Wrapping
  169. qtwrapping
  170. ${CMake_BINARY_DIR}/Tests/Wrapping/bin)
  171. ENDIF (QT_FOUND)
  172. ADD_TEST(testdriver1 ${CMake_BINARY_DIR}/Source/cmaketest
  173. ${CMake_SOURCE_DIR}/Tests/TestDriver
  174. ${CMake_BINARY_DIR}/Tests/TestDriver
  175. TestDriverTest
  176. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  177. TestDriverTest test1)
  178. ADD_TEST(testdriver2 ${CMake_BINARY_DIR}/Source/cmaketest
  179. ${CMake_SOURCE_DIR}/Tests/TestDriver
  180. ${CMake_BINARY_DIR}/Tests/TestDriver
  181. TestDriverTest
  182. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  183. TestDriverTest test2)
  184. ADD_TEST(testdriver3 ${CMake_BINARY_DIR}/Source/cmaketest
  185. ${CMake_SOURCE_DIR}/Tests/TestDriver
  186. ${CMake_BINARY_DIR}/Tests/TestDriver
  187. TestDriverTest
  188. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  189. TestDriverTest subdir/test3)
  190. ADD_TEST(dependency_w_libout ${CMake_BINARY_DIR}/Source/cmaketest
  191. ${CMake_SOURCE_DIR}/Tests/Dependency
  192. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  193. exec
  194. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec
  195. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  196. ADD_TEST(dependency_wo_lib_out ${CMake_BINARY_DIR}/Source/cmaketest
  197. ${CMake_SOURCE_DIR}/Tests/Dependency
  198. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut
  199. exec
  200. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec
  201. Dependency)
  202. ADD_TEST(dependency2 ${CMake_BINARY_DIR}/Source/cmaketest
  203. ${CMake_SOURCE_DIR}/Tests/Dependency
  204. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  205. exec2
  206. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec2
  207. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  208. ADD_TEST(dependency3 ${CMake_BINARY_DIR}/Source/cmaketest
  209. ${CMake_SOURCE_DIR}/Tests/Dependency
  210. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  211. exec3
  212. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec3
  213. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  214. ADD_TEST(dependency4 ${CMake_BINARY_DIR}/Source/cmaketest
  215. ${CMake_SOURCE_DIR}/Tests/Dependency
  216. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  217. exec4
  218. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec4
  219. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  220. ADD_TEST(linkline ${CMake_BINARY_DIR}/Source/cmaketest
  221. ${CMake_SOURCE_DIR}/Tests/LinkLine
  222. ${CMake_BINARY_DIR}/Tests/LinkLine
  223. Exec
  224. ${CMake_BINARY_DIR}/Tests/LinkLine
  225. LinkLine)
  226. ENDIF(BUILD_TESTING)
  227. INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  228. INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  229. INSTALL_TARGETS(/bin cmake)
  230. INSTALL_TARGETS(/bin ctest)
  231. INSTALL_TARGETS(/bin cmaketest)