CMakeLists.txt 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. CMAKE_MINIMUM_REQUIRED(VERSION 1.3)
  2. SET(SRCS
  3. cmake.cxx
  4. cmakewizard.cxx
  5. cmMakeDepend.cxx
  6. cmMakefile.cxx
  7. cmMakefileGenerator.cxx
  8. cmRegularExpression.cxx
  9. cmSourceFile.cxx
  10. cmSystemTools.cxx
  11. cmDirectory.cxx
  12. cmDynamicLoader.cxx
  13. cmCPluginAPI.cxx
  14. cmCommands.cxx
  15. cmTarget.cxx
  16. cmCustomCommand.cxx
  17. cmCacheManager.cxx
  18. cmSourceGroup.cxx
  19. cmListFileCache.cxx
  20. cmake.h
  21. cmakewizard.h
  22. cmMakeDepend.h
  23. cmMakefile.h
  24. cmMakefileGenerator.h
  25. cmRegularExpression.h
  26. cmSourceFile.h
  27. cmSystemTools.h
  28. cmDynamicLoader.h
  29. cmDirectory.h
  30. cmCommands.h
  31. cmTarget.h
  32. cmCustomCommand.h
  33. cmCacheManager.h
  34. cmSourceGroup.h
  35. cmListFileCache.h
  36. )
  37. # configure the .h file
  38. CONFIGURE_FILE(
  39. ${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in
  40. ${CMake_BINARY_DIR}/Source/cmConfigure.h )
  41. # add the include path to find the .h
  42. INCLUDE_DIRECTORIES(${CMake_BINARY_DIR}/Source)
  43. INCLUDE_DIRECTORIES(${CMake_SOURCE_DIR}/Source)
  44. # let cmake know it is supposed to use it
  45. ADD_DEFINITIONS(-DCMAKE_BUILD_WITH_CMAKE)
  46. IF (WIN32)
  47. IF(NOT UNIX)
  48. SET(SRCS ${SRCS}
  49. cmDSWWriter.cxx
  50. cmDSPWriter.cxx
  51. cmMSProjectGenerator.cxx
  52. cmBorlandMakefileGenerator.cxx
  53. cmNMakeMakefileGenerator.cxx
  54. cmMSDotNETGenerator.cxx
  55. cmDSWWriter.h
  56. cmDSPWriter.h
  57. cmMSProjectGenerator.h
  58. cmBorlandMakefileGenerator.h
  59. cmNMakeMakefileGenerator.h
  60. cmMSDotNETGenerator.h
  61. )
  62. IF( NOT BORLAND )
  63. LINK_LIBRARIES( rpcrt4.lib )
  64. SUBDIRS(MFCDialog)
  65. ENDIF( NOT BORLAND )
  66. ENDIF(NOT UNIX)
  67. ENDIF (WIN32)
  68. SET(SRCS ${SRCS} cmUnixMakefileGenerator.cxx cmUnixMakefileGenerator.h)
  69. # create a library used by the command line and the GUI
  70. ADD_LIBRARY(CMakeLib ${SRCS})
  71. # always link in the library
  72. # the library is found here
  73. LINK_DIRECTORIES(${CMake_BINARY_DIR}/Source)
  74. ADD_EXECUTABLE(cmake cmakemain.cxx)
  75. ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
  76. ADD_EXECUTABLE(ctest ctest.cxx)
  77. TARGET_LINK_LIBRARIES(cmake CMakeLib)
  78. TARGET_LINK_LIBRARIES(DumpDocumentation CMakeLib)
  79. TARGET_LINK_LIBRARIES(ctest CMakeLib)
  80. IF (UNIX)
  81. INCLUDE (${CMake_SOURCE_DIR}/Modules/FindCurses.cmake OPTIONAL)
  82. IF (CURSES_LIBRARY)
  83. SUBDIRS(CursesDialog/form)
  84. INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
  85. ENDIF (CURSES_LIBRARY)
  86. ENDIF (UNIX)
  87. IF (NOT DART_ROOT)
  88. SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
  89. ENDIF (NOT DART_ROOT)
  90. CONFIGURE_FILE(
  91. ${CMake_SOURCE_DIR}/Source/cmaketest.h.in
  92. ${CMake_BINARY_DIR}/Source/cmaketest.h ESCAPE_QUOTES)
  93. ADD_EXECUTABLE(cmaketest cmaketest.cxx)
  94. TARGET_LINK_LIBRARIES(cmaketest CMakeLib)
  95. #ADD_LIBRARY(TEST_PLUGIN SHARED cmSimpleCommandPlugin.c)
  96. #TARGET_LINK_LIBRARIES(TEST_PLUGIN CMakeLib)
  97. IF(BUILD_TESTING)
  98. ADD_TEST(DumpDocumentation ${CMake_BINARY_DIR}/Source/DumpDocumentation
  99. ${CMake_BINARY_DIR}/CMakeDoc.html)
  100. ADD_TEST(simple ${CMake_BINARY_DIR}/Source/cmaketest
  101. ${CMake_SOURCE_DIR}/Tests/Simple
  102. ${CMake_BINARY_DIR}/Tests/Simple
  103. simple)
  104. ADD_TEST(conly ${CMake_BINARY_DIR}/Source/cmaketest
  105. ${CMake_SOURCE_DIR}/Tests/COnly
  106. ${CMake_BINARY_DIR}/Tests/COnly
  107. conly)
  108. ADD_TEST(complex ${CMake_BINARY_DIR}/Source/cmaketest
  109. ${CMake_SOURCE_DIR}/Tests/Complex
  110. ${CMake_BINARY_DIR}/Tests/Complex
  111. complex
  112. ${CMake_BINARY_DIR}/Tests/Complex/bin)
  113. ADD_TEST(Example ${CMake_BINARY_DIR}/Source/cmaketest
  114. ${CMake_SOURCE_DIR}/Example
  115. ${CMake_BINARY_DIR}/Example
  116. helloDemo
  117. ${CMake_BINARY_DIR}/Example/Demo
  118. HELLO)
  119. ADD_TEST(testing ${CMake_BINARY_DIR}/Source/cmaketest
  120. ${CMake_SOURCE_DIR}/Tests/Testing
  121. ${CMake_BINARY_DIR}/Tests/Testing
  122. testing
  123. ${CMake_BINARY_DIR}/Tests/Testing/bin)
  124. ADD_TEST(wrapping ${CMake_BINARY_DIR}/Source/cmaketest
  125. ${CMake_SOURCE_DIR}/Tests/Wrapping
  126. ${CMake_BINARY_DIR}/Tests/Wrapping
  127. wrapping
  128. ${CMake_BINARY_DIR}/Tests/Wrapping/bin)
  129. ADD_TEST(testdriver1 ${CMake_BINARY_DIR}/Source/cmaketest
  130. ${CMake_SOURCE_DIR}/Tests/TestDriver
  131. ${CMake_BINARY_DIR}/Tests/TestDriver
  132. TestDriverTest
  133. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  134. TestDriverTest test1)
  135. ADD_TEST(testdriver2 ${CMake_BINARY_DIR}/Source/cmaketest
  136. ${CMake_SOURCE_DIR}/Tests/TestDriver
  137. ${CMake_BINARY_DIR}/Tests/TestDriver
  138. TestDriverTest
  139. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  140. TestDriverTest test2)
  141. ADD_TEST(testdriver3 ${CMake_BINARY_DIR}/Source/cmaketest
  142. ${CMake_SOURCE_DIR}/Tests/TestDriver
  143. ${CMake_BINARY_DIR}/Tests/TestDriver
  144. TestDriverTest
  145. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  146. TestDriverTest subdir/test3)
  147. ADD_TEST(dependency_w_libout ${CMake_BINARY_DIR}/Source/cmaketest
  148. ${CMake_SOURCE_DIR}/Tests/Dependency
  149. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  150. exec
  151. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec
  152. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  153. ADD_TEST(dependency_wo_lib_out ${CMake_BINARY_DIR}/Source/cmaketest
  154. ${CMake_SOURCE_DIR}/Tests/Dependency
  155. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut
  156. exec
  157. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec
  158. Dependency)
  159. ADD_TEST(dependency2 ${CMake_BINARY_DIR}/Source/cmaketest
  160. ${CMake_SOURCE_DIR}/Tests/Dependency
  161. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  162. exec2
  163. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec2
  164. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  165. ADD_TEST(dependency3 ${CMake_BINARY_DIR}/Source/cmaketest
  166. ${CMake_SOURCE_DIR}/Tests/Dependency
  167. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  168. exec3
  169. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec3
  170. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  171. ADD_TEST(dependency4 ${CMake_BINARY_DIR}/Source/cmaketest
  172. ${CMake_SOURCE_DIR}/Tests/Dependency
  173. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  174. exec4
  175. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec4
  176. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  177. ADD_TEST(linkline ${CMake_BINARY_DIR}/Source/cmaketest
  178. ${CMake_SOURCE_DIR}/Tests/LinkLine
  179. ${CMake_BINARY_DIR}/Tests/LinkLine
  180. Exec
  181. ${CMake_BINARY_DIR}/Tests/LinkLine
  182. LinkLine)
  183. ENDIF (DART_ROOT)
  184. ENDIF(BUILD_TESTING)
  185. INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  186. INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  187. INSTALL_TARGETS(/bin cmake)
  188. INSTALL_TARGETS(/bin ctest)
  189. INSTALL_TARGETS(/bin cmaketest)