CMakeLists.txt 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712
  1. CMAKE_MINIMUM_REQUIRED(VERSION 1.5)
  2. SET(SRCS
  3. cmake.cxx
  4. cmakewizard.cxx
  5. cmMakeDepend.cxx
  6. cmMakefile.cxx
  7. cmSourceFile.cxx
  8. cmSystemTools.cxx
  9. cmDocumentation.cxx
  10. cmDynamicLoader.cxx
  11. cmCommands.cxx
  12. cmTarget.cxx
  13. cmCustomCommand.cxx
  14. cmCacheManager.cxx
  15. cmSourceGroup.cxx
  16. cmListFileCache.cxx
  17. cmListFileLexer.c
  18. cmGlob.cxx
  19. cmGlobalGenerator.cxx
  20. cmGlobalUnixMakefileGenerator.cxx
  21. cmLocalGenerator.cxx
  22. cmLocalUnixMakefileGenerator.cxx
  23. cmVariableWatch.cxx
  24. cmake.h
  25. cmakewizard.h
  26. cmMakeDepend.h
  27. cmMakefile.h
  28. cmSourceFile.h
  29. cmSystemTools.h
  30. cmDynamicLoader.h
  31. cmCommands.h
  32. cmTarget.h
  33. cmCustomCommand.h
  34. cmCacheManager.h
  35. cmSourceGroup.h
  36. cmListFileCache.h
  37. cmGlobalGenerator.h
  38. cmGlobalUnixMakefileGenerator.h
  39. cmLocalGenerator.h
  40. cmLocalUnixMakefileGenerator.h
  41. cmVariableWatch.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 (APPLE)
  53. SET(SRCS ${SRCS}
  54. cmGlobalCodeWarriorGenerator.cxx
  55. cmLocalCodeWarriorGenerator.cxx
  56. cmGlobalCodeWarriorGenerator.h
  57. cmLocalCodeWarriorGenerator.h
  58. )
  59. ENDIF (APPLE)
  60. IF (WIN32)
  61. IF(NOT UNIX)
  62. SET(SRCS ${SRCS}
  63. cmGlobalBorlandMakefileGenerator.cxx
  64. cmGlobalNMakeMakefileGenerator.cxx
  65. cmGlobalVisualStudio6Generator.cxx
  66. cmLocalVisualStudio6Generator.cxx
  67. cmGlobalBorlandMakefileGenerator.h
  68. cmGlobalNMakeMakefileGenerator.h
  69. cmGlobalVisualStudio6Generator.h
  70. cmLocalVisualStudio6Generator.h
  71. cmWin32ProcessExecution.cxx
  72. cmWin32ProcessExecution.h
  73. )
  74. IF(NOT MINGW)
  75. SET(SRCS ${SRCS}
  76. cmGlobalVisualStudio71Generator.h
  77. cmGlobalVisualStudio8Generator.h
  78. cmGlobalVisualStudio7Generator.h
  79. cmLocalVisualStudio7Generator.h
  80. cmGlobalVisualStudio8Generator.cxx
  81. cmGlobalVisualStudio71Generator.cxx
  82. cmGlobalVisualStudio7Generator.cxx
  83. cmLocalVisualStudio7Generator.cxx)
  84. ENDIF(NOT MINGW)
  85. ENDIF(NOT UNIX)
  86. ENDIF (WIN32)
  87. # create a library used by the command line and the GUI
  88. ADD_LIBRARY(CMakeLib ${SRCS})
  89. TARGET_LINK_LIBRARIES(CMakeLib cmsys)
  90. # always link in the library
  91. # the library is found here
  92. LINK_DIRECTORIES(${CMake_BINARY_DIR}/Source)
  93. IF(CMAKE_BUILD_MFC_DIALOG)
  94. LINK_LIBRARIES( rpcrt4.lib )
  95. ADD_EXECUTABLE(cmw9xcom cmw9xcom.cxx)
  96. TARGET_LINK_LIBRARIES(cmw9xcom CMakeLib)
  97. SUBDIRS(MFCDialog)
  98. ENDIF(CMAKE_BUILD_MFC_DIALOG)
  99. ADD_EXECUTABLE(cmake cmakemain.cxx)
  100. ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
  101. SET(CMTEST_SRCS ctest.cxx cmCTest.cxx
  102. CTest/cmCTestBuildHandler.cxx
  103. CTest/cmCTestConfigureHandler.cxx
  104. CTest/cmCTestCoverageHandler.cxx
  105. CTest/cmCTestScriptHandler.cxx
  106. CTest/cmCTestTestHandler.cxx
  107. CTest/cmCTestUpdateHandler.cxx
  108. )
  109. INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/Source/CTest)
  110. IF (UNIX)
  111. TARGET_LINK_LIBRARIES(CMakeLib ${CMAKE_DL_LIBS})
  112. ENDIF (UNIX)
  113. TARGET_LINK_LIBRARIES(cmake CMakeLib)
  114. TARGET_LINK_LIBRARIES(DumpDocumentation CMakeLib)
  115. IF(CMAKE_BUILD_WITH_CURL)
  116. # Don't even look for this as we don't use that part of curl
  117. # and linking in the the library can cause problems.
  118. SET(HAVE_LIBCRYPTO 0)
  119. SUBDIRS(CTest)
  120. SET(CMTEST_SRCS ${CMTEST_SRCS} CTest/cmCTestSubmit.cxx)
  121. ADD_DEFINITIONS(-DHAVE_CURL)
  122. INCLUDE_DIRECTORIES(
  123. ${CMAKE_SOURCE_DIR}/Source/CTest/Curl
  124. )
  125. ENDIF(CMAKE_BUILD_WITH_CURL)
  126. ADD_EXECUTABLE(ctest ${CMTEST_SRCS})
  127. TARGET_LINK_LIBRARIES(ctest CMakeLib)
  128. IF(CMAKE_BUILD_WITH_CURL)
  129. TARGET_LINK_LIBRARIES(ctest Curl)
  130. ENDIF(CMAKE_BUILD_WITH_CURL)
  131. IF (UNIX)
  132. INCLUDE (${CMake_SOURCE_DIR}/Modules/FindCurses.cmake OPTIONAL)
  133. IF (CURSES_LIBRARY)
  134. INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
  135. ENDIF (CURSES_LIBRARY)
  136. ENDIF (UNIX)
  137. OPTION(CMAKE_BUILD_WX_DIALOG "Build wxWindows dialog for CMake" FALSE)
  138. MARK_AS_ADVANCED(CMAKE_BUILD_WX_DIALOG)
  139. IF(CMAKE_BUILD_WX_DIALOG)
  140. SUBDIRS(WXDialog)
  141. ENDIF(CMAKE_BUILD_WX_DIALOG)
  142. IF (NOT DART_ROOT)
  143. SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
  144. ENDIF (NOT DART_ROOT)
  145. IF(BUILD_TESTING)
  146. # This variable is set by cmake, however to
  147. # test cmake we want to make sure that
  148. # the ctest from this cmake is used for testing
  149. # and not the ctest from the cmake building and testing
  150. # cmake.
  151. SET(CMAKE_CTEST_COMMAND "${EXECUTABLE_OUTPUT_PATH}/ctest")
  152. ADD_TEST(CommandLineTest ${CMAKE_CTEST_COMMAND}
  153. --build-and-test
  154. "${CMake_SOURCE_DIR}/Tests/CommandLineTest"
  155. "${CMake_BINARY_DIR}/Tests/CommandLineTest"
  156. --build-two-config
  157. --build-generator ${CMAKE_GENERATOR}
  158. --build-makeprogram ${MAKEPROGRAM}
  159. --build-project CommandLineTest
  160. --test-command CommandLineTest)
  161. ADD_TEST(CustomCommand ${CMAKE_CTEST_COMMAND}
  162. --build-and-test
  163. "${CMake_SOURCE_DIR}/Tests/CustomCommand"
  164. "${CMake_BINARY_DIR}/Tests/CustomCommand"
  165. --build-two-config
  166. --build-generator ${CMAKE_GENERATOR}
  167. --build-project CustomCommand
  168. --build-makeprogram ${MAKEPROGRAM}
  169. --build-exe-dir "${CMake_BINARY_DIR}/Tests/CustomCommand/bin"
  170. --test-command CustomCommand
  171. )
  172. ADD_TEST(FindPackageTest ${CMAKE_CTEST_COMMAND}
  173. --build-and-test
  174. "${CMake_SOURCE_DIR}/Tests/FindPackageTest"
  175. "${CMake_BINARY_DIR}/Tests/FindPackageTest"
  176. --build-two-config
  177. --build-generator ${CMAKE_GENERATOR}
  178. --build-project FindPackageTest
  179. --build-makeprogram ${MAKEPROGRAM}
  180. --test-command FindPackageTest)
  181. ADD_TEST(SystemInformation ${CMAKE_CTEST_COMMAND}
  182. --build-and-test
  183. "${CMake_SOURCE_DIR}/Tests/SystemInformation"
  184. "${CMake_BINARY_DIR}/Tests/SystemInformation"
  185. --build-two-config
  186. --build-generator ${CMAKE_GENERATOR}
  187. --build-project DumpInformation
  188. --build-makeprogram ${MAKEPROGRAM}
  189. --test-command DumpInformation)
  190. ADD_TEST(StringFileTest ${CMAKE_CTEST_COMMAND}
  191. --build-and-test
  192. "${CMake_SOURCE_DIR}/Tests/StringFileTest"
  193. "${CMake_BINARY_DIR}/Tests/StringFileTest"
  194. --build-two-config
  195. --build-generator ${CMAKE_GENERATOR}
  196. --build-project StringFileTest
  197. --build-makeprogram ${MAKEPROGRAM}
  198. --test-command StringFileTest)
  199. ADD_TEST(TryCompile ${CMAKE_CTEST_COMMAND}
  200. --build-and-test
  201. "${CMake_SOURCE_DIR}/Tests/TryCompile"
  202. "${CMake_BINARY_DIR}/Tests/TryCompile"
  203. --build-generator ${CMAKE_GENERATOR}
  204. --build-project TryCompile
  205. --build-makeprogram ${MAKEPROGRAM}
  206. --build-two-config
  207. --test-command TryCompile)
  208. ADD_TEST(simple ${CMAKE_CTEST_COMMAND}
  209. --build-and-test
  210. "${CMake_SOURCE_DIR}/Tests/Simple"
  211. "${CMake_BINARY_DIR}/Tests/Simple"
  212. --build-generator ${CMAKE_GENERATOR}
  213. --build-project Simple
  214. --build-makeprogram ${MAKEPROGRAM}
  215. --build-two-config
  216. --test-command simple)
  217. ADD_TEST(PreOrder ${CMAKE_CTEST_COMMAND}
  218. --build-and-test
  219. "${CMake_SOURCE_DIR}/Tests/PreOrder"
  220. "${CMake_BINARY_DIR}/Tests/PreOrder"
  221. --build-generator ${CMAKE_GENERATOR}
  222. --build-project PreOrder
  223. --build-makeprogram ${MAKEPROGRAM}
  224. --build-two-config
  225. --test-command simple)
  226. ADD_TEST(conly ${CMAKE_CTEST_COMMAND}
  227. --build-and-test
  228. "${CMake_SOURCE_DIR}/Tests/COnly"
  229. "${CMake_BINARY_DIR}/Tests/COnly"
  230. --build-generator ${CMAKE_GENERATOR}
  231. --build-project conly
  232. --build-makeprogram ${MAKEPROGRAM}
  233. --build-two-config
  234. --test-command conly)
  235. SET(SimpleInstallInstallDir
  236. "${CMake_BINARY_DIR}/Tests/SimpleInstall/InstallDirectory")
  237. ADD_TEST(SimpleInstall ${CMAKE_CTEST_COMMAND}
  238. --build-and-test
  239. "${CMake_SOURCE_DIR}/Tests/SimpleInstall"
  240. "${CMake_BINARY_DIR}/Tests/SimpleInstall"
  241. --build-generator ${CMAKE_GENERATOR}
  242. --build-project TestSimpleInstall
  243. --build-makeprogram ${MAKEPROGRAM}
  244. --build-two-config
  245. --build-options
  246. "-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
  247. --test-command ${SimpleInstallInstallDir}/bin/SimpleInstall)
  248. ADD_TEST(SimpleInstall-Stage2 ${CMAKE_CTEST_COMMAND}
  249. --build-and-test
  250. "${CMake_SOURCE_DIR}/Tests/SimpleInstallS2"
  251. "${CMake_BINARY_DIR}/Tests/SimpleInstallS2"
  252. --build-generator ${CMAKE_GENERATOR}
  253. --build-project TestSimpleInstall
  254. --build-makeprogram ${MAKEPROGRAM}
  255. --build-two-config
  256. --build-options
  257. "-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
  258. "-DSTAGE2:BOOL=1"
  259. --test-command ${SimpleInstallInstallDir}/bin/SimpleInstallS2)
  260. ADD_TEST(X11 ${CMAKE_CTEST_COMMAND}
  261. --build-and-test
  262. "${CMake_SOURCE_DIR}/Tests/X11"
  263. "${CMake_BINARY_DIR}/Tests/X11"
  264. --build-generator ${CMAKE_GENERATOR}
  265. --build-project UseX11
  266. --build-makeprogram ${MAKEPROGRAM}
  267. --build-two-config
  268. --test-command UseX11)
  269. ADD_TEST(LoadedCommand ${CMAKE_CTEST_COMMAND}
  270. --build-and-test
  271. "${CMake_SOURCE_DIR}/Tests/LoadCommand"
  272. "${CMake_BINARY_DIR}/Tests/LoadCommand"
  273. --build-generator ${CMAKE_GENERATOR}
  274. --build-project LoadedCommand
  275. --build-makeprogram ${MAKEPROGRAM}
  276. --build-two-config
  277. --test-command LoadedCommand)
  278. ADD_TEST(LoadedCommandOneConfig ${CMAKE_CTEST_COMMAND}
  279. --build-and-test
  280. "${CMake_SOURCE_DIR}/Tests/LoadCommandOneConfig"
  281. "${CMake_BINARY_DIR}/Tests/LoadCommandOneConfig"
  282. --build-generator ${CMAKE_GENERATOR}
  283. --build-project LoadedCommand
  284. --build-makeprogram ${MAKEPROGRAM}
  285. --test-command LoadedCommand
  286. )
  287. # Como does not seem to support shared libraries.
  288. GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_CXX_COMPILER} NAME_WE)
  289. IF(CMAKE_BASE_NAME MATCHES "^como$")
  290. SET(COMPILER_IS_COMO 1)
  291. ENDIF(CMAKE_BASE_NAME MATCHES "^como$")
  292. IF(NOT COMPILER_IS_COMO)
  293. ADD_TEST(complex ${CMAKE_CTEST_COMMAND}
  294. --build-and-test
  295. "${CMake_SOURCE_DIR}/Tests/Complex"
  296. "${CMake_BINARY_DIR}/Tests/Complex"
  297. --build-two-config
  298. --build-generator ${CMAKE_GENERATOR}
  299. --build-project complex
  300. --build-makeprogram ${MAKEPROGRAM}
  301. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Complex/bin"
  302. --test-command complex
  303. )
  304. ADD_TEST(complexOneConfig ${CMAKE_CTEST_COMMAND}
  305. --build-and-test
  306. "${CMake_SOURCE_DIR}/Tests/ComplexOneConfig"
  307. "${CMake_BINARY_DIR}/Tests/ComplexOneConfig"
  308. --build-generator ${CMAKE_GENERATOR}
  309. --build-project complex
  310. --build-makeprogram ${MAKEPROGRAM}
  311. --build-exe-dir "${CMake_BINARY_DIR}/Tests/ComplexOneConfig/bin"
  312. --test-command complex)
  313. ADD_TEST(complexRelativePaths ${CMAKE_CTEST_COMMAND}
  314. --build-and-test
  315. "${CMake_SOURCE_DIR}/Tests/ComplexRelativePaths"
  316. "${CMake_BINARY_DIR}/Tests/ComplexRelativePaths"
  317. --build-generator ${CMAKE_GENERATOR}
  318. --build-project complex
  319. --build-makeprogram ${MAKEPROGRAM}
  320. --build-exe-dir "${CMake_BINARY_DIR}/Tests/ComplexRelativePaths/bin"
  321. --build-options -DCMAKE_USE_RELATIVE_PATHS:BOOL=ON
  322. --test-command complex)
  323. ENDIF(NOT COMPILER_IS_COMO)
  324. ADD_TEST(Example ${CMAKE_CTEST_COMMAND}
  325. --build-and-test
  326. "${CMake_SOURCE_DIR}/Example"
  327. "${CMake_BINARY_DIR}/Example"
  328. --build-generator ${CMAKE_GENERATOR}
  329. --build-project HELLO
  330. --build-makeprogram ${MAKEPROGRAM}
  331. --build-exe-dir "${CMake_BINARY_DIR}/Example/Demo"
  332. --test-command helloDemo
  333. )
  334. ADD_TEST(testing ${CMAKE_CTEST_COMMAND}
  335. --build-and-test
  336. "${CMake_SOURCE_DIR}/Tests/Testing"
  337. "${CMake_BINARY_DIR}/Tests/Testing"
  338. --build-generator ${CMAKE_GENERATOR}
  339. --build-project testing
  340. --build-makeprogram ${MAKEPROGRAM}
  341. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Testing/bin"
  342. --test-command testing
  343. )
  344. ADD_TEST(wrapping ${CMAKE_CTEST_COMMAND}
  345. --build-and-test
  346. "${CMake_SOURCE_DIR}/Tests/Wrapping"
  347. "${CMake_BINARY_DIR}/Tests/Wrapping"
  348. --build-generator ${CMAKE_GENERATOR}
  349. --build-project wrapping
  350. --build-makeprogram ${MAKEPROGRAM}
  351. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  352. --test-command wrapping
  353. )
  354. INCLUDE ( ${CMAKE_ROOT}/Modules/FindQt.cmake )
  355. MARK_AS_ADVANCED(
  356. QT_INCLUDE_PATH
  357. QT_MOC_EXE
  358. QT_QT_LIBRARY
  359. QT_UIC_EXE)
  360. IF (QT_FOUND)
  361. ADD_TEST(qtwrapping ${CMAKE_CTEST_COMMAND}
  362. --build-and-test
  363. "${CMake_SOURCE_DIR}/Tests/Wrapping"
  364. "${CMake_BINARY_DIR}/Tests/Wrapping"
  365. --build-generator ${CMAKE_GENERATOR}
  366. --build-project Wrapping
  367. --build-makeprogram ${MAKEPROGRAM}
  368. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  369. --test-command qtwrapping
  370. )
  371. ENDIF (QT_FOUND)
  372. ADD_TEST(testdriver1 ${CMAKE_CTEST_COMMAND}
  373. --build-and-test
  374. "${CMake_SOURCE_DIR}/Tests/TestDriver"
  375. "${CMake_BINARY_DIR}/Tests/TestDriver"
  376. --build-generator ${CMAKE_GENERATOR}
  377. --build-makeprogram ${MAKEPROGRAM}
  378. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  379. --build-project TestDriverTest
  380. --test-command TestDriverTest test1
  381. )
  382. ADD_TEST(testdriver2 ${CMAKE_CTEST_COMMAND}
  383. --build-and-test
  384. "${CMake_SOURCE_DIR}/Tests/TestDriver"
  385. "${CMake_BINARY_DIR}/Tests/TestDriver"
  386. --build-generator ${CMAKE_GENERATOR}
  387. --build-makeprogram ${MAKEPROGRAM}
  388. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  389. --build-project TestDriverTest
  390. --test-command TestDriverTest test2
  391. )
  392. ADD_TEST(testdriver3 ${CMAKE_CTEST_COMMAND}
  393. --build-and-test
  394. "${CMake_SOURCE_DIR}/Tests/TestDriver"
  395. "${CMake_BINARY_DIR}/Tests/TestDriver"
  396. --build-generator ${CMAKE_GENERATOR}
  397. --build-makeprogram ${MAKEPROGRAM}
  398. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  399. --build-project TestDriverTest
  400. --test-command TestDriverTest subdir/test3
  401. )
  402. ADD_TEST(dependency_w_libout ${CMAKE_CTEST_COMMAND}
  403. --build-and-test
  404. "${CMake_SOURCE_DIR}/Tests/Dependency"
  405. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  406. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec"
  407. --build-project Dependency
  408. --build-generator ${CMAKE_GENERATOR}
  409. --build-makeprogram ${MAKEPROGRAM}
  410. --build-options
  411. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  412. --test-command exec
  413. )
  414. ADD_TEST(dependency_wo_lib_out ${CMAKE_CTEST_COMMAND}
  415. --build-and-test
  416. "${CMake_SOURCE_DIR}/Tests/Dependency"
  417. "${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut"
  418. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec"
  419. --build-generator ${CMAKE_GENERATOR}
  420. --build-makeprogram ${MAKEPROGRAM}
  421. --build-project Dependency
  422. --test-command exec
  423. )
  424. ADD_TEST(dependency2 ${CMAKE_CTEST_COMMAND}
  425. --build-and-test
  426. "${CMake_SOURCE_DIR}/Tests/Dependency"
  427. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  428. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec2"
  429. --build-generator ${CMAKE_GENERATOR}
  430. --build-makeprogram ${MAKEPROGRAM}
  431. --build-project Dependency
  432. --build-options
  433. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  434. --test-command exec2
  435. )
  436. ADD_TEST(dependency3 ${CMAKE_CTEST_COMMAND}
  437. --build-and-test
  438. "${CMake_SOURCE_DIR}/Tests/Dependency"
  439. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  440. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec3"
  441. --build-generator ${CMAKE_GENERATOR}
  442. --build-makeprogram ${MAKEPROGRAM}
  443. --build-project Dependency
  444. --build-options
  445. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  446. --test-command exec3)
  447. ADD_TEST(dependency4 ${CMAKE_CTEST_COMMAND}
  448. --build-and-test
  449. "${CMake_SOURCE_DIR}/Tests/Dependency"
  450. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  451. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec4"
  452. --build-generator ${CMAKE_GENERATOR}
  453. --build-makeprogram ${MAKEPROGRAM}
  454. --build-project Dependency
  455. --build-options
  456. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  457. --test-command exec4
  458. )
  459. ADD_TEST(JumpWithLibOut ${CMAKE_CTEST_COMMAND}
  460. --build-and-test
  461. "${CMake_SOURCE_DIR}/Tests/Jump"
  462. "${CMake_BINARY_DIR}/Tests/Jump/WithLibOut"
  463. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Executable"
  464. --build-project Jump
  465. --build-generator ${CMAKE_GENERATOR}
  466. --build-makeprogram ${MAKEPROGRAM}
  467. --build-options
  468. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Lib
  469. --test-command jumpExecutable
  470. )
  471. ADD_TEST(JumpNoLibOut ${CMAKE_CTEST_COMMAND}
  472. --build-and-test
  473. "${CMake_SOURCE_DIR}/Tests/Jump"
  474. "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut"
  475. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable"
  476. --build-run-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable"
  477. --build-project Jump
  478. --build-generator ${CMAKE_GENERATOR}
  479. --build-makeprogram ${MAKEPROGRAM}
  480. --test-command jumpExecutable
  481. )
  482. ADD_TEST(linkline ${CMAKE_CTEST_COMMAND}
  483. --build-and-test
  484. "${CMake_SOURCE_DIR}/Tests/LinkLine"
  485. "${CMake_BINARY_DIR}/Tests/LinkLine"
  486. --build-exe-dir "${CMake_BINARY_DIR}/Tests/LinkLine"
  487. --build-generator ${CMAKE_GENERATOR}
  488. --build-makeprogram ${MAKEPROGRAM}
  489. --build-project Linkline
  490. --test-command Exec
  491. )
  492. ADD_TEST(linkorder1 ${CMAKE_CTEST_COMMAND}
  493. --build-and-test
  494. "${CMake_SOURCE_DIR}/Tests/LinkLineOrder"
  495. "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  496. --build-generator ${CMAKE_GENERATOR}
  497. --build-makeprogram ${MAKEPROGRAM}
  498. --build-exe-dir "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  499. --build-project LinkLineOrder
  500. --test-command Exec1
  501. )
  502. ADD_TEST(linkorder2 ${CMAKE_CTEST_COMMAND}
  503. --build-and-test
  504. "${CMake_SOURCE_DIR}/Tests/LinkLineOrder"
  505. "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  506. --build-exe-dir "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  507. --build-generator ${CMAKE_GENERATOR}
  508. --build-makeprogram ${MAKEPROGRAM}
  509. --build-project LinkLineOrder
  510. --test-command Exec2
  511. )
  512. ADD_TEST(curl ${CMAKE_CTEST_COMMAND}
  513. --build-and-test
  514. "${CMake_SOURCE_DIR}/Source/CTest/Curl"
  515. "${CMake_BINARY_DIR}/Tests/Curl"
  516. --build-generator ${CMAKE_GENERATOR}
  517. --build-makeprogram ${MAKEPROGRAM}
  518. --build-project LIBCURL
  519. --test-command LIBCURL)
  520. ADD_TEST(kwsys ${CMAKE_CTEST_COMMAND}
  521. --build-and-test
  522. "${CMake_SOURCE_DIR}/Source/kwsys"
  523. "${CMake_BINARY_DIR}/Tests/kwsys"
  524. --build-exe-dir "${CMake_BINARY_DIR}/Tests/kwsys"
  525. --build-generator ${CMAKE_GENERATOR}
  526. --build-makeprogram ${MAKEPROGRAM}
  527. --build-project kwsys
  528. --test-command test1
  529. )
  530. ADD_TEST(SubDir ${CMAKE_CTEST_COMMAND}
  531. --build-and-test
  532. "${CMake_SOURCE_DIR}/Tests/SubDir"
  533. "${CMake_BINARY_DIR}/Tests/SubDir"
  534. --build-exe-dir "${CMake_BINARY_DIR}/Tests/SubDir/Executable"
  535. --build-generator ${CMAKE_GENERATOR}
  536. --build-makeprogram ${MAKEPROGRAM}
  537. --build-project SUBDIR
  538. --test-command test
  539. "${CMake_BINARY_DIR}/Tests/SubDir/ShouldBeHere"
  540. "${CMake_BINARY_DIR}/Tests/SubDir/testfromsubdir.o"
  541. )
  542. IF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
  543. ADD_TEST(VSExternalInclude ${CMAKE_CTEST_COMMAND}
  544. --build-and-test
  545. "${CMake_SOURCE_DIR}/Tests/VSExternalInclude"
  546. "${CMake_BINARY_DIR}/Tests/VSExternalInclude"
  547. --build-two-config
  548. --build-generator ${CMAKE_GENERATOR}
  549. --build-project VSExternalInclude
  550. --build-makeprogram ${MAKEPROGRAM}
  551. --test-command VSExternalInclude)
  552. ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
  553. IF (APPLE)
  554. ADD_TEST(objc++ ${CMAKE_CTEST_COMMAND}
  555. --build-and-test
  556. "${CMake_SOURCE_DIR}/Tests/Objc++"
  557. "${CMake_BINARY_DIR}/Tests/Objc++"
  558. --build-generator ${CMAKE_GENERATOR}
  559. --build-makeprogram ${MAKEPROGRAM}
  560. --build-project objc++
  561. --test-command objc++
  562. )
  563. ENDIF (APPLE)
  564. IF (CTEST_TEST_CTEST)
  565. ADD_TEST(CTestTest ${CMAKE_CTEST_COMMAND} --force-new-ctest-process
  566. --build-and-test
  567. "${CMake_SOURCE_DIR}/Tests/CTestTest"
  568. "${CMake_BINARY_DIR}/Tests/CTestTest"
  569. --build-generator ${CMAKE_GENERATOR}
  570. --build-makeprogram ${MAKEPROGRAM}
  571. --build-project CTestTest
  572. --test-command ${CMAKE_CTEST_COMMAND} --force-new-ctest-process
  573. -S "${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" -V
  574. )
  575. ENDIF (CTEST_TEST_CTEST)
  576. IF(CMAKE_GENERATOR MATCHES "Makefiles")
  577. # see if we can find a fortran compiler on the machine
  578. # if so, add the fortran test and see if it works.
  579. SET(CMAKE_Fortran_COMPILER_LIST ifort ifc efc f95 pgf95
  580. lf95 xlf95 fort gfortran f90 pgf90 xlf90
  581. epcf90 f77 fort77 frt pgf77 xlf fl32 af77 g77 )
  582. FIND_PROGRAM(CMAKE_Fortran_COMPILER_FULLPATH NAMES ${CMAKE_Fortran_COMPILER_LIST} )
  583. MARK_AS_ADVANCED(CMAKE_Fortran_COMPILER_FULLPATH)
  584. IF(CMAKE_Fortran_COMPILER_FULLPATH)
  585. ADD_TEST(Fortran ${CMAKE_CTEST_COMMAND}
  586. --build-and-test
  587. "${CMake_SOURCE_DIR}/Tests/Fortran"
  588. "${CMake_BINARY_DIR}/Tests/Fortran"
  589. --build-generator ${CMAKE_GENERATOR}
  590. --build-project testf
  591. --build-makeprogram ${MAKEPROGRAM}
  592. --build-two-config
  593. --test-command testf)
  594. ENDIF(CMAKE_Fortran_COMPILER_FULLPATH)
  595. INCLUDE(FindJava)
  596. IF(JAVA_COMPILE)
  597. ADD_TEST(Java ${CMAKE_CTEST_COMMAND}
  598. --build-and-test
  599. "${CMake_SOURCE_DIR}/Tests/Java"
  600. "${CMake_BINARY_DIR}/Tests/Java"
  601. --build-generator ${CMAKE_GENERATOR}
  602. --build-project hello
  603. --build-makeprogram ${MAKEPROGRAM}
  604. --build-two-config
  605. --build-run-dir "${CMake_BINARY_DIR}/Tests/Java/"
  606. --test-command ${JAVA_RUNTIME} -classpath hello.jar HelloWorld)
  607. ENDIF(JAVA_COMPILE)
  608. ENDIF(CMAKE_GENERATOR MATCHES "Makefiles")
  609. IF (CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE OR WXWINDOWS_INCLUDE_DIR)
  610. # Will be set if the wxwindows gui is on
  611. ADD_TEST(UseWX ${CMAKE_CTEST_COMMAND}
  612. --build-and-test
  613. "${CMake_SOURCE_DIR}/Tests/UseWX"
  614. "${CMake_BINARY_DIR}/Tests/UseWX"
  615. --build-generator ${CMAKE_GENERATOR}
  616. --build-makeprogram ${MAKEPROGRAM}
  617. --build-exe-dir ${CMake_BINARY_DIR}/Tests/UseWX
  618. --build-project UsewxWindows
  619. --build-options -DCMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE:FILEPATH=${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE}
  620. --test-command UseWX
  621. )
  622. ENDIF (CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE OR WXWINDOWS_INCLUDE_DIR)
  623. IF(UNIX)
  624. STRING(COMPARE EQUAL "${CMAKE_INSTALL_PREFIX}" "${CMake_BINARY_DIR}/Tests/TestShellInstall/Prefix"
  625. PREFIX_IS_FOR_TEST)
  626. IF(PREFIX_IS_FOR_TEST)
  627. CONFIGURE_FILE(
  628. ${CMake_SOURCE_DIR}/Tests/TestInstall.sh.in
  629. ${CMake_BINARY_DIR}/Tests/TestShellInstall/TestInstall.sh
  630. @ONLY IMMEDIATE
  631. )
  632. ADD_TEST(ShellInstall /bin/sh ${CMake_BINARY_DIR}/Tests/TestShellInstall/TestShellInstall.sh)
  633. ENDIF(PREFIX_IS_FOR_TEST)
  634. ENDIF(UNIX)
  635. ENDIF(BUILD_TESTING)
  636. INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  637. INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  638. INSTALL_TARGETS(/bin cmake)
  639. INSTALL_TARGETS(/bin ctest)
  640. INSTALL_FILES(${CMAKE_DATA_DIR}/include cmCPluginAPI.h)