CMakeLists.txt 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  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. SET(SRCS ${SRCS}
  48. cmDSWWriter.cxx
  49. cmDSPWriter.cxx
  50. cmMSProjectGenerator.cxx
  51. cmBorlandMakefileGenerator.cxx
  52. cmNMakeMakefileGenerator.cxx
  53. cmMSDotNETGenerator.cxx
  54. cmDSWWriter.h
  55. cmDSPWriter.h
  56. cmMSProjectGenerator.h
  57. cmBorlandMakefileGenerator.h
  58. cmNMakeMakefileGenerator.h
  59. cmMSDotNETGenerator.h
  60. )
  61. IF(NOT UNIX)
  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. IF (WIN32)
  71. ADD_LIBRARY(CMakeLib SHARED ${SRCS})
  72. ELSE (WIN32)
  73. ADD_LIBRARY(CMakeLib ${SRCS})
  74. ENDIF (WIN32)
  75. # always link in the library
  76. # the library is found here
  77. LINK_DIRECTORIES(${CMake_BINARY_DIR}/Source)
  78. ADD_EXECUTABLE(cmake cmakemain.cxx)
  79. ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
  80. ADD_EXECUTABLE(ctest ctest.cxx)
  81. TARGET_LINK_LIBRARIES(cmake CMakeLib)
  82. TARGET_LINK_LIBRARIES(DumpDocumentation CMakeLib)
  83. TARGET_LINK_LIBRARIES(ctest CMakeLib)
  84. IF (UNIX)
  85. INCLUDE (${CMake_SOURCE_DIR}/Modules/FindCurses.cmake OPTIONAL)
  86. IF (CURSES_LIBRARY)
  87. SUBDIRS(CursesDialog/form)
  88. INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
  89. ENDIF (CURSES_LIBRARY)
  90. ENDIF (UNIX)
  91. IF (NOT DART_ROOT)
  92. SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
  93. ENDIF (NOT DART_ROOT)
  94. CONFIGURE_FILE(
  95. ${CMake_SOURCE_DIR}/Source/cmaketest.h.in
  96. ${CMake_BINARY_DIR}/Source/cmaketest.h ESCAPE_QUOTES)
  97. ADD_EXECUTABLE(cmaketest cmaketest.cxx)
  98. TARGET_LINK_LIBRARIES(cmaketest CMakeLib)
  99. #ADD_LIBRARY(TEST_PLUGIN SHARED cmSimpleCommandPlugin.c)
  100. #TARGET_LINK_LIBRARIES(TEST_PLUGIN CMakeLib)
  101. IF(BUILD_TESTING)
  102. ADD_TEST(DumpDocumentation ${CMake_BINARY_DIR}/Source/DumpDocumentation
  103. ${CMake_BINARY_DIR}/CMakeDoc.html)
  104. ADD_TEST(simple ${CMake_BINARY_DIR}/Source/cmaketest
  105. ${CMake_SOURCE_DIR}/Tests/Simple
  106. ${CMake_BINARY_DIR}/Tests/Simple
  107. simple)
  108. ADD_TEST(conly ${CMake_BINARY_DIR}/Source/cmaketest
  109. ${CMake_SOURCE_DIR}/Tests/COnly
  110. ${CMake_BINARY_DIR}/Tests/COnly
  111. conly)
  112. ADD_TEST(complex ${CMake_BINARY_DIR}/Source/cmaketest
  113. ${CMake_SOURCE_DIR}/Tests/Complex
  114. ${CMake_BINARY_DIR}/Tests/Complex
  115. complex
  116. ${CMake_BINARY_DIR}/Tests/Complex/bin)
  117. ADD_TEST(Example ${CMake_BINARY_DIR}/Source/cmaketest
  118. ${CMake_SOURCE_DIR}/Example
  119. ${CMake_BINARY_DIR}/Example
  120. helloDemo
  121. ${CMake_BINARY_DIR}/Example/Demo
  122. HELLO)
  123. ADD_TEST(testing ${CMake_BINARY_DIR}/Source/cmaketest
  124. ${CMake_SOURCE_DIR}/Tests/Testing
  125. ${CMake_BINARY_DIR}/Tests/Testing
  126. testing
  127. ${CMake_BINARY_DIR}/Tests/Testing/bin)
  128. ADD_TEST(wrapping ${CMake_BINARY_DIR}/Source/cmaketest
  129. ${CMake_SOURCE_DIR}/Tests/Wrapping
  130. ${CMake_BINARY_DIR}/Tests/Wrapping
  131. wrapping
  132. ${CMake_BINARY_DIR}/Tests/Wrapping/bin)
  133. ADD_TEST(testdriver1 ${CMake_BINARY_DIR}/Source/cmaketest
  134. ${CMake_SOURCE_DIR}/Tests/TestDriver
  135. ${CMake_BINARY_DIR}/Tests/TestDriver
  136. TestDriverTest
  137. ${CMake_BINARY_DIR}/Tests/Wrapping/bin
  138. TestDriverTest test1)
  139. ADD_TEST(testdriver2 ${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 test2)
  145. ADD_TEST(testdriver3 ${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 subdir/test3)
  151. ADD_TEST(dependency_w_libout ${CMake_BINARY_DIR}/Source/cmaketest
  152. ${CMake_SOURCE_DIR}/Tests/Dependency
  153. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  154. exec
  155. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec
  156. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  157. ADD_TEST(dependency_wo_lib_out ${CMake_BINARY_DIR}/Source/cmaketest
  158. ${CMake_SOURCE_DIR}/Tests/Dependency
  159. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut
  160. exec
  161. ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec
  162. Dependency)
  163. ADD_TEST(dependency2 ${CMake_BINARY_DIR}/Source/cmaketest
  164. ${CMake_SOURCE_DIR}/Tests/Dependency
  165. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  166. exec2
  167. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec2
  168. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  169. ADD_TEST(dependency3 ${CMake_BINARY_DIR}/Source/cmaketest
  170. ${CMake_SOURCE_DIR}/Tests/Dependency
  171. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  172. exec3
  173. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec3
  174. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  175. ADD_TEST(dependency4 ${CMake_BINARY_DIR}/Source/cmaketest
  176. ${CMake_SOURCE_DIR}/Tests/Dependency
  177. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
  178. exec4
  179. ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec4
  180. Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)
  181. ADD_TEST(linkline ${CMake_BINARY_DIR}/Source/cmaketest
  182. ${CMake_SOURCE_DIR}/Tests/LinkLine
  183. ${CMake_BINARY_DIR}/Tests/LinkLine
  184. Exec
  185. ${CMake_BINARY_DIR}/Tests/LinkLine
  186. LinkLine)
  187. ENDIF (DART_ROOT)
  188. ENDIF(BUILD_TESTING)
  189. INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  190. INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  191. INSTALL_TARGETS(/bin cmake)
  192. INSTALL_TARGETS(/bin ctest)
  193. INSTALL_TARGETS(/bin cmaketest)