CMakeLists.txt 25 KB

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