CMakeLists.txt 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  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. cmGlobalNMakeMakefileGenerator.cxx
  60. cmGlobalVisualStudio6Generator.cxx
  61. cmLocalVisualStudio6Generator.cxx
  62. cmGlobalVisualStudio7Generator.cxx
  63. cmLocalVisualStudio7Generator.cxx
  64. cmGlobalBorlandMakefileGenerator.h
  65. cmLocalBorlandMakefileGenerator.h
  66. cmGlobalNMakeMakefileGenerator.h
  67. cmLocalNMakeMakefileGenerator.h
  68. cmGlobalVisualStudio6Generator.h
  69. cmLocalVisualStudio6Generator.h
  70. cmGlobalVisualStudio7Generator.h
  71. cmLocalVisualStudio7Generator.h
  72. cmWin32ProcessExecution.cxx
  73. cmWin32ProcessExecution.h
  74. )
  75. IF( NOT BORLAND )
  76. LINK_LIBRARIES( rpcrt4.lib )
  77. ADD_EXECUTABLE(cmw9xcom cmw9xcom.cxx)
  78. TARGET_LINK_LIBRARIES(cmw9xcom CMakeLib)
  79. SUBDIRS(MFCDialog)
  80. ENDIF( NOT BORLAND )
  81. ENDIF(NOT UNIX)
  82. ENDIF (WIN32)
  83. # create a library used by the command line and the GUI
  84. ADD_LIBRARY(CMakeLib ${SRCS})
  85. # always link in the library
  86. # the library is found here
  87. LINK_DIRECTORIES(${CMake_BINARY_DIR}/Source)
  88. ADD_EXECUTABLE(cmake cmakemain.cxx)
  89. ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
  90. ADD_EXECUTABLE(ctest ctest.cxx)
  91. IF (UNIX)
  92. TARGET_LINK_LIBRARIES(CMakeLib ${CMAKE_DL_LIBS})
  93. ENDIF (UNIX)
  94. TARGET_LINK_LIBRARIES(cmake CMakeLib)
  95. TARGET_LINK_LIBRARIES(DumpDocumentation CMakeLib)
  96. TARGET_LINK_LIBRARIES(ctest CMakeLib)
  97. IF (UNIX)
  98. INCLUDE (${CMake_SOURCE_DIR}/Modules/FindCurses.cmake OPTIONAL)
  99. IF (CURSES_LIBRARY)
  100. SUBDIRS(CursesDialog/form)
  101. INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
  102. ENDIF (CURSES_LIBRARY)
  103. ENDIF (UNIX)
  104. OPTION(CMAKE_BUILD_WX_DIALOG "Build wxWindows dialog for CMake" FALSE)
  105. MARK_AS_ADVANCED(CMAKE_BUILD_WX_DIALOG)
  106. IF(CMAKE_BUILD_WX_DIALOG)
  107. SUBDIRS(WXDialog)
  108. ENDIF(CMAKE_BUILD_WX_DIALOG)
  109. IF (NOT DART_ROOT)
  110. SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
  111. ENDIF (NOT DART_ROOT)
  112. CONFIGURE_FILE(
  113. ${CMake_SOURCE_DIR}/Source/cmaketest.h.in
  114. ${CMake_BINARY_DIR}/Source/cmaketest.h ESCAPE_QUOTES)
  115. ADD_EXECUTABLE(cmaketest cmaketest.cxx)
  116. TARGET_LINK_LIBRARIES(cmaketest CMakeLib)
  117. IF(BUILD_TESTING)
  118. ADD_TEST(DumpDocumentation ${CMake_BINARY_DIR}/Source/DumpDocumentation
  119. ${CMake_BINARY_DIR}/CMakeDoc.html)
  120. ADD_TEST(SystemInformation ${CMake_BINARY_DIR}/Source/cmaketest
  121. ${CMake_SOURCE_DIR}/Tests/SystemInformation
  122. ${CMake_BINARY_DIR}/Tests/SystemInformation
  123. DumpInformation)
  124. ADD_TEST(simple ${CMake_BINARY_DIR}/Source/cmaketest
  125. ${CMake_SOURCE_DIR}/Tests/Simple
  126. ${CMake_BINARY_DIR}/Tests/Simple
  127. simple)
  128. ADD_TEST(conly ${CMake_BINARY_DIR}/Source/cmaketest
  129. ${CMake_SOURCE_DIR}/Tests/COnly
  130. ${CMake_BINARY_DIR}/Tests/COnly
  131. conly)
  132. ADD_TEST(X11 ${CMake_BINARY_DIR}/Source/cmaketest
  133. ${CMake_SOURCE_DIR}/Tests/X11
  134. ${CMake_BINARY_DIR}/Tests/X11
  135. X11)
  136. ADD_TEST(LoadedCommand ${CMake_BINARY_DIR}/Source/cmaketest
  137. ${CMake_SOURCE_DIR}/Tests/LoadCommand
  138. ${CMake_BINARY_DIR}/Tests/LoadCommand
  139. LoadedCommand)
  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(Example ${CMake_BINARY_DIR}/Source/cmaketest
  146. ${CMake_SOURCE_DIR}/Example
  147. ${CMake_BINARY_DIR}/Example
  148. helloDemo
  149. ${CMake_BINARY_DIR}/Example/Demo
  150. HELLO)
  151. ADD_TEST(testing ${CMake_BINARY_DIR}/Source/cmaketest
  152. ${CMake_SOURCE_DIR}/Tests/Testing
  153. ${CMake_BINARY_DIR}/Tests/Testing
  154. testing
  155. ${CMake_BINARY_DIR}/Tests/Testing/bin)
  156. ADD_TEST(wrapping ${CMake_BINARY_DIR}/Source/cmaketest
  157. ${CMake_SOURCE_DIR}/Tests/Wrapping
  158. ${CMake_BINARY_DIR}/Tests/Wrapping
  159. wrapping
  160. ${CMake_BINARY_DIR}/Tests/Wrapping/bin)
  161. INCLUDE ( ${CMAKE_ROOT}/Modules/FindQt.cmake )
  162. MARK_AS_ADVANCED(
  163. QT_INCLUDE_PATH
  164. QT_MOC_EXE
  165. QT_QT_LIBRARY
  166. QT_UIC_EXE)
  167. IF (QT_FOUND)
  168. ADD_TEST(qtwrapping ${CMake_BINARY_DIR}/Source/cmaketest
  169. ${CMake_SOURCE_DIR}/Tests/Wrapping
  170. ${CMake_BINARY_DIR}/Tests/Wrapping
  171. qtwrapping
  172. ${CMake_BINARY_DIR}/Tests/Wrapping/bin)
  173. ENDIF (QT_FOUND)
  174. ADD_TEST(testdriver1 ${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 test1)
  180. ADD_TEST(testdriver2 ${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 test2)
  186. ADD_TEST(testdriver3 ${CMake_BINARY_DIR}/Source/cmaketest
  187. ${CMake_SOURCE_DIR}/Tests/TestDriver
  188. ${CMake_BINARY_DIR}/Tests/TestDriver
  189. TestDriverTest
  190. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  191. TestDriverTest subdir/test3)
  192. ADD_TEST(dependency_w_libout ${CMake_BINARY_DIR}/Source/cmaketest
  193. ${CMake_SOURCE_DIR}/Tests/Dependency
  194. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  195. exec
  196. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec
  197. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  198. ADD_TEST(dependency_wo_lib_out ${CMake_BINARY_DIR}/Source/cmaketest
  199. ${CMake_SOURCE_DIR}/Tests/Dependency
  200. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut
  201. exec
  202. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec
  203. Dependency)
  204. ADD_TEST(dependency2 ${CMake_BINARY_DIR}/Source/cmaketest
  205. ${CMake_SOURCE_DIR}/Tests/Dependency
  206. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  207. exec2
  208. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec2
  209. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  210. ADD_TEST(dependency3 ${CMake_BINARY_DIR}/Source/cmaketest
  211. ${CMake_SOURCE_DIR}/Tests/Dependency
  212. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  213. exec3
  214. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec3
  215. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  216. ADD_TEST(dependency4 ${CMake_BINARY_DIR}/Source/cmaketest
  217. ${CMake_SOURCE_DIR}/Tests/Dependency
  218. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  219. exec4
  220. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec4
  221. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  222. ADD_TEST(linkline ${CMake_BINARY_DIR}/Source/cmaketest
  223. ${CMake_SOURCE_DIR}/Tests/LinkLine
  224. ${CMake_BINARY_DIR}/Tests/LinkLine
  225. Exec
  226. ${CMake_BINARY_DIR}/Tests/LinkLine
  227. LinkLine)
  228. ENDIF(BUILD_TESTING)
  229. INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  230. INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  231. INSTALL_TARGETS(/bin cmake)
  232. INSTALL_TARGETS(/bin ctest)
  233. INSTALL_TARGETS(/bin cmaketest)