CMakeLists.txt 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  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. cmMakefileGenerator.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. )
  43. # configure the .h file
  44. CONFIGURE_FILE(
  45. ${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in
  46. ${CMake_BINARY_DIR}/Source/cmConfigure.h )
  47. # add the include path to find the .h
  48. INCLUDE_DIRECTORIES(${CMake_BINARY_DIR}/Source)
  49. INCLUDE_DIRECTORIES(${CMake_SOURCE_DIR}/Source)
  50. # let cmake know it is supposed to use it
  51. ADD_DEFINITIONS(-DCMAKE_BUILD_WITH_CMAKE)
  52. IF (WIN32)
  53. IF(NOT UNIX)
  54. SET(SRCS ${SRCS}
  55. cmGlobalBorlandMakefileGenerator.cxx
  56. cmLocalBorlandMakefileGenerator.cxx
  57. cmGlobalNMakeMakefileGenerator.cxx
  58. cmLocalNMakeMakefileGenerator.cxx
  59. cmGlobalVisualStudio6Generator.cxx
  60. cmLocalVisualStudio6Generator.cxx
  61. cmGlobalVisualStudio7Generator.cxx
  62. cmLocalVisualStudio7Generator.cxx
  63. cmGlobalBorlandMakefileGenerator.h
  64. cmLocalBorlandMakefileGenerator.h
  65. cmGlobalNMakeMakefileGenerator.h
  66. cmLocalNMakeMakefileGenerator.h
  67. cmGlobalVisualStudio6Generator.h
  68. cmLocalVisualStudio6Generator.h
  69. cmGlobalVisualStudio7Generator.h
  70. cmLocalVisualStudio7Generator.h
  71. )
  72. IF( NOT BORLAND )
  73. LINK_LIBRARIES( rpcrt4.lib )
  74. SUBDIRS(MFCDialog)
  75. ENDIF( NOT BORLAND )
  76. ENDIF(NOT UNIX)
  77. ENDIF (WIN32)
  78. # create a library used by the command line and the GUI
  79. ADD_LIBRARY(CMakeLib ${SRCS})
  80. # always link in the library
  81. # the library is found here
  82. LINK_DIRECTORIES(${CMake_BINARY_DIR}/Source)
  83. ADD_EXECUTABLE(cmake cmakemain.cxx)
  84. ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
  85. ADD_EXECUTABLE(ctest ctest.cxx)
  86. IF (UNIX)
  87. TARGET_LINK_LIBRARIES(CMakeLib ${CMAKE_DL_LIBS})
  88. ENDIF (UNIX)
  89. TARGET_LINK_LIBRARIES(cmake CMakeLib)
  90. TARGET_LINK_LIBRARIES(DumpDocumentation CMakeLib)
  91. TARGET_LINK_LIBRARIES(ctest CMakeLib)
  92. IF (UNIX)
  93. INCLUDE (${CMake_SOURCE_DIR}/Modules/FindCurses.cmake OPTIONAL)
  94. IF (CURSES_LIBRARY)
  95. SUBDIRS(CursesDialog/form)
  96. INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
  97. ENDIF (CURSES_LIBRARY)
  98. ENDIF (UNIX)
  99. IF (NOT DART_ROOT)
  100. SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
  101. ENDIF (NOT DART_ROOT)
  102. CONFIGURE_FILE(
  103. ${CMake_SOURCE_DIR}/Source/cmaketest.h.in
  104. ${CMake_BINARY_DIR}/Source/cmaketest.h ESCAPE_QUOTES)
  105. ADD_EXECUTABLE(cmaketest cmaketest.cxx)
  106. TARGET_LINK_LIBRARIES(cmaketest CMakeLib)
  107. IF(BUILD_TESTING)
  108. ADD_TEST(DumpDocumentation ${CMake_BINARY_DIR}/Source/DumpDocumentation
  109. ${CMake_BINARY_DIR}/CMakeDoc.html)
  110. ADD_TEST(simple ${CMake_BINARY_DIR}/Source/cmaketest
  111. ${CMake_SOURCE_DIR}/Tests/Simple
  112. ${CMake_BINARY_DIR}/Tests/Simple
  113. simple)
  114. ADD_TEST(conly ${CMake_BINARY_DIR}/Source/cmaketest
  115. ${CMake_SOURCE_DIR}/Tests/COnly
  116. ${CMake_BINARY_DIR}/Tests/COnly
  117. conly)
  118. ADD_TEST(complex ${CMake_BINARY_DIR}/Source/cmaketest
  119. ${CMake_SOURCE_DIR}/Tests/Complex
  120. ${CMake_BINARY_DIR}/Tests/Complex
  121. complex
  122. ${CMake_BINARY_DIR}/Tests/Complex/bin)
  123. ADD_TEST(Example ${CMake_BINARY_DIR}/Source/cmaketest
  124. ${CMake_SOURCE_DIR}/Example
  125. ${CMake_BINARY_DIR}/Example
  126. helloDemo
  127. ${CMake_BINARY_DIR}/Example/Demo
  128. HELLO)
  129. ADD_TEST(testing ${CMake_BINARY_DIR}/Source/cmaketest
  130. ${CMake_SOURCE_DIR}/Tests/Testing
  131. ${CMake_BINARY_DIR}/Tests/Testing
  132. testing
  133. ${CMake_BINARY_DIR}/Tests/Testing/bin)
  134. ADD_TEST(wrapping ${CMake_BINARY_DIR}/Source/cmaketest
  135. ${CMake_SOURCE_DIR}/Tests/Wrapping
  136. ${CMake_BINARY_DIR}/Tests/Wrapping
  137. wrapping
  138. ${CMake_BINARY_DIR}/Tests/Wrapping/bin)
  139. ADD_TEST(testdriver1 ${CMake_BINARY_DIR}/Source/cmaketest
  140. ${CMake_SOURCE_DIR}/Tests/TestDriver
  141. ${CMake_BINARY_DIR}/Tests/TestDriver
  142. TestDriverTest
  143. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  144. TestDriverTest test1)
  145. ADD_TEST(testdriver2 ${CMake_BINARY_DIR}/Source/cmaketest
  146. ${CMake_SOURCE_DIR}/Tests/TestDriver
  147. ${CMake_BINARY_DIR}/Tests/TestDriver
  148. TestDriverTest
  149. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  150. TestDriverTest test2)
  151. ADD_TEST(testdriver3 ${CMake_BINARY_DIR}/Source/cmaketest
  152. ${CMake_SOURCE_DIR}/Tests/TestDriver
  153. ${CMake_BINARY_DIR}/Tests/TestDriver
  154. TestDriverTest
  155. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  156. TestDriverTest subdir/test3)
  157. ADD_TEST(dependency_w_libout ${CMake_BINARY_DIR}/Source/cmaketest
  158. ${CMake_SOURCE_DIR}/Tests/Dependency
  159. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  160. exec
  161. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec
  162. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  163. ADD_TEST(dependency_wo_lib_out ${CMake_BINARY_DIR}/Source/cmaketest
  164. ${CMake_SOURCE_DIR}/Tests/Dependency
  165. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut
  166. exec
  167. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec
  168. Dependency)
  169. ADD_TEST(dependency2 ${CMake_BINARY_DIR}/Source/cmaketest
  170. ${CMake_SOURCE_DIR}/Tests/Dependency
  171. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  172. exec2
  173. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec2
  174. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  175. ADD_TEST(dependency3 ${CMake_BINARY_DIR}/Source/cmaketest
  176. ${CMake_SOURCE_DIR}/Tests/Dependency
  177. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  178. exec3
  179. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec3
  180. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  181. ADD_TEST(dependency4 ${CMake_BINARY_DIR}/Source/cmaketest
  182. ${CMake_SOURCE_DIR}/Tests/Dependency
  183. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  184. exec4
  185. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec4
  186. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  187. ADD_TEST(linkline ${CMake_BINARY_DIR}/Source/cmaketest
  188. ${CMake_SOURCE_DIR}/Tests/LinkLine
  189. ${CMake_BINARY_DIR}/Tests/LinkLine
  190. Exec
  191. ${CMake_BINARY_DIR}/Tests/LinkLine
  192. LinkLine)
  193. ENDIF(BUILD_TESTING)
  194. INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  195. INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  196. INSTALL_TARGETS(/bin cmake)
  197. INSTALL_TARGETS(/bin ctest)
  198. INSTALL_TARGETS(/bin cmaketest)