CMakeLists.txt 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938
  1. CMAKE_MINIMUM_REQUIRED(VERSION 1.5)
  2. # configure the .h file
  3. CONFIGURE_FILE(
  4. "${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in"
  5. "${CMake_BINARY_DIR}/Source/cmConfigure.h"
  6. )
  7. # add the include path to find the .h
  8. INCLUDE_DIRECTORIES(
  9. "${CMake_BINARY_DIR}/Source"
  10. "${CMake_SOURCE_DIR}/Source"
  11. ${CMAKE_ZLIB_INCLUDES}
  12. ${CMAKE_EXPAT_INCLUDES}
  13. )
  14. # let cmake know it is supposed to use it
  15. ADD_DEFINITIONS(-DCMAKE_BUILD_WITH_CMAKE)
  16. OPTION(CMAKE_REGENERATE_YACCLEX
  17. "Regenerate YACC and LEXX files" OFF)
  18. MARK_AS_ADVANCED(CMAKE_REGENERATE_YACCLEX)
  19. IF(CMAKE_REGENERATE_YACCLEX)
  20. FIND_PROGRAM(YACC_EXECUTABLE
  21. NAMES yacc bison
  22. PATHS /usr/bin
  23. DOC "Yacc or Bison executable")
  24. FIND_PROGRAM(FLEX_EXECUTABLE
  25. NAMES flex
  26. PATHS /usr/bin
  27. DOC "Flex executable")
  28. MARK_AS_ADVANCED(YACC_EXECUTABLE FLEX_EXECUTABLE)
  29. IF(YACC_EXECUTABLE)
  30. SET(BISON_FLAGS)
  31. IF(YACC_EXECUTABLE MATCHES "bison")
  32. SET(BISON_FLAGS "--yacc")
  33. ENDIF(YACC_EXECUTABLE MATCHES "bison")
  34. SET(yacc_files)
  35. FOREACH(name cmCommandArgument)
  36. SET(src "${CMAKE_CURRENT_SOURCE_DIR}/${name}Parser.y")
  37. SET(dst "${CMAKE_CURRENT_BINARY_DIR}/${name}Parser.cxx")
  38. SET(hdr "${CMAKE_CURRENT_BINARY_DIR}/${name}ParserTokens.h")
  39. ADD_CUSTOM_COMMAND(
  40. OUTPUT "${dst}"
  41. DEPENDS "${src}"
  42. COMMAND ${YACC_EXECUTABLE}
  43. ARGS --name-prefix=${name}_yy --defines="${hdr}" -o"${dst}" "${src}")
  44. SET(yacc_files ${yacc_files} "${dst}")
  45. ENDFOREACH(name)
  46. ADD_CUSTOM_TARGET(RerunYacc DEPENDS ${yacc_files})
  47. ENDIF(YACC_EXECUTABLE)
  48. IF(FLEX_EXECUTABLE)
  49. SET(lex_files)
  50. FOREACH(name cmCommandArgument)
  51. SET(src "${CMAKE_CURRENT_SOURCE_DIR}/${name}Lexer.in.l")
  52. SET(dst "${CMAKE_CURRENT_BINARY_DIR}/${name}Lexer.cxx")
  53. SET(hdr "${CMAKE_CURRENT_BINARY_DIR}/${name}Lexer.h")
  54. ADD_CUSTOM_COMMAND(
  55. OUTPUT "${dst}"
  56. DEPENDS "${src}"
  57. COMMAND ${FLEX_EXECUTABLE}
  58. ARGS --prefix=${name}_yy --header-file="${hdr}" -o"${dst}" "${src}")
  59. SET(lex_files ${lex_files} "${dst}")
  60. ENDFOREACH(name)
  61. ADD_CUSTOM_TARGET(RerunLex DEPENDS ${lex_files})
  62. ENDIF(FLEX_EXECUTABLE)
  63. ENDIF(CMAKE_REGENERATE_YACCLEX)
  64. #
  65. # Sources for CMakeLib
  66. #
  67. SET(SRCS
  68. cmBootstrapCommands.cxx
  69. cmCacheManager.cxx
  70. cmCacheManager.h
  71. cmCommands.cxx
  72. cmCommands.h
  73. cmCommandArgumentLexer.cxx
  74. cmCommandArgumentParser.cxx
  75. cmCommandArgumentParserHelper.cxx
  76. cmCustomCommand.cxx
  77. cmCustomCommand.h
  78. cmDepends.cxx
  79. cmDepends.h
  80. cmDependsC.cxx
  81. cmDependsC.h
  82. cmDependsFortran.cxx
  83. cmDependsFortran.h
  84. cmDependsFortranLexer.cxx
  85. cmDependsFortranParser.cxx
  86. cmDependsFortranParser.h
  87. cmDependsJava.cxx
  88. cmDependsJava.h
  89. cmDependsJavaLexer.cxx
  90. cmDependsJavaParser.cxx
  91. cmDependsJavaParserHelper.cxx
  92. cmDependsJavaParserHelper.h
  93. cmDocumentation.cxx
  94. cmDynamicLoader.cxx
  95. cmDynamicLoader.h
  96. cmGeneratedFileStream.cxx
  97. cmGlob.cxx
  98. cmGlobalGenerator.cxx
  99. cmGlobalGenerator.h
  100. cmGlobalUnixMakefileGenerator3.cxx
  101. cmGlobalUnixMakefileGenerator3.h
  102. cmListFileCache.cxx
  103. cmListFileCache.h
  104. cmListFileLexer.c
  105. cmLocalGenerator.cxx
  106. cmLocalGenerator.h
  107. cmLocalUnixMakefileGenerator3.cxx
  108. cmMakeDepend.cxx
  109. cmMakeDepend.h
  110. cmMakefile.cxx
  111. cmMakefile.h
  112. cmOrderLinkDirectories.cxx
  113. cmSourceFile.cxx
  114. cmSourceFile.h
  115. cmSourceGroup.cxx
  116. cmSourceGroup.h
  117. cmSystemTools.cxx
  118. cmSystemTools.h
  119. cmTarget.cxx
  120. cmTarget.h
  121. cmTest.cxx
  122. cmTest.h
  123. cmVariableWatch.cxx
  124. cmVariableWatch.h
  125. cmVersion.cxx
  126. cmVersion.h
  127. cmXMLParser.cxx
  128. cmXMLParser.h
  129. cmake.cxx
  130. cmake.h
  131. cmakewizard.cxx
  132. cmakewizard.h
  133. )
  134. # Kdevelop only works on UNIX and not windows
  135. IF(UNIX)
  136. SET(SRCS ${SRCS}
  137. cmGlobalKdevelopGenerator.cxx
  138. cmLocalKdevelopGenerator.cxx)
  139. ENDIF(UNIX)
  140. # XCode only works on apple
  141. IF(APPLE)
  142. SET(SRCS ${SRCS}
  143. cmXCodeObject.cxx
  144. cmGlobalXCodeGenerator.cxx
  145. cmGlobalXCodeGenerator.h
  146. cmGlobalXCode21Generator.cxx
  147. cmGlobalXCode21Generator.h
  148. cmLocalXCodeGenerator.cxx
  149. cmLocalXCodeGenerator.h)
  150. ENDIF(APPLE)
  151. IF (WIN32)
  152. IF(NOT UNIX)
  153. SET(SRCS ${SRCS}
  154. cmGlobalBorlandMakefileGenerator.cxx
  155. cmGlobalNMakeMakefileGenerator.cxx
  156. cmGlobalVisualStudio6Generator.cxx
  157. cmLocalVisualStudio6Generator.cxx
  158. cmGlobalBorlandMakefileGenerator.h
  159. cmGlobalNMakeMakefileGenerator.h
  160. cmGlobalVisualStudio6Generator.h
  161. cmLocalVisualStudio6Generator.h
  162. cmWin32ProcessExecution.cxx
  163. cmWin32ProcessExecution.h
  164. )
  165. IF(NOT MINGW)
  166. SET(SRCS ${SRCS}
  167. cmGlobalVisualStudio71Generator.h
  168. cmGlobalVisualStudio8Generator.h
  169. cmGlobalVisualStudio7Generator.h
  170. cmLocalVisualStudio7Generator.h
  171. cmGlobalVisualStudio8Generator.cxx
  172. cmGlobalVisualStudio71Generator.cxx
  173. cmGlobalVisualStudio7Generator.cxx
  174. cmLocalVisualStudio7Generator.cxx)
  175. ENDIF(NOT MINGW)
  176. ENDIF(NOT UNIX)
  177. ENDIF (WIN32)
  178. # create a library used by the command line and the GUI
  179. ADD_LIBRARY(CMakeLib ${SRCS})
  180. TARGET_LINK_LIBRARIES(CMakeLib cmsys ${CMAKE_EXPAT_LIBRARIES} ${CMAKE_ZLIB_LIBRARIES})
  181. IF (UNIX)
  182. TARGET_LINK_LIBRARIES(CMakeLib ${CMAKE_DL_LIBS})
  183. ENDIF (UNIX)
  184. IF(CMAKE_BUILD_ON_VISUAL_STUDIO)
  185. # On Visual Studio we need rpcrt4.lib for cmVisualStudio7 generator.
  186. TARGET_LINK_LIBRARIES(CMakeLib rpcrt4.lib)
  187. ENDIF(CMAKE_BUILD_ON_VISUAL_STUDIO)
  188. #
  189. # CTestLib
  190. #
  191. INCLUDE_DIRECTORIES(
  192. "${CMAKE_SOURCE_DIR}/Source/CTest"
  193. ${CMAKE_XMLRPC_INCLUDES}
  194. ${CMAKE_CURL_INCLUDES}
  195. )
  196. #
  197. # Sources for CTestLib
  198. #
  199. SET(CMTEST_SRCS cmCTest.cxx
  200. CTest/cmCTestBuildAndTestHandler.cxx
  201. CTest/cmCTestBuildCommand.cxx
  202. CTest/cmCTestBuildHandler.cxx
  203. CTest/cmCTestConfigureCommand.cxx
  204. CTest/cmCTestConfigureHandler.cxx
  205. CTest/cmCTestCoverageCommand.cxx
  206. CTest/cmCTestCoverageHandler.cxx
  207. CTest/cmCTestEmptyBinaryDirectoryCommand.cxx
  208. CTest/cmCTestGenericHandler.cxx
  209. CTest/cmCTestHandlerCommand.cxx
  210. CTest/cmCTestMemCheckCommand.cxx
  211. CTest/cmCTestMemCheckHandler.cxx
  212. CTest/cmCTestRunScriptCommand.cxx
  213. CTest/cmCTestScriptHandler.cxx
  214. CTest/cmCTestSleepCommand.cxx
  215. CTest/cmCTestStartCommand.cxx
  216. CTest/cmCTestSubmitCommand.cxx
  217. CTest/cmCTestSubmitHandler.cxx
  218. CTest/cmCTestTestCommand.cxx
  219. CTest/cmCTestTestHandler.cxx
  220. CTest/cmCTestUpdateCommand.cxx
  221. CTest/cmCTestUpdateHandler.cxx
  222. )
  223. # Build CTestLib
  224. ADD_LIBRARY(CTestLib ${CMTEST_SRCS})
  225. TARGET_LINK_LIBRARIES(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES})
  226. # Build CMake executable
  227. ADD_EXECUTABLE(cmake cmakemain.cxx)
  228. TARGET_LINK_LIBRARIES(cmake CMakeLib)
  229. ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
  230. TARGET_LINK_LIBRARIES(DumpDocumentation CMakeLib)
  231. # Build special executable for running programs on Windows 98
  232. IF(WIN32)
  233. IF(NOT UNIX)
  234. ADD_EXECUTABLE(cmw9xcom cmw9xcom.cxx)
  235. TARGET_LINK_LIBRARIES(cmw9xcom CMakeLib)
  236. ENDIF(NOT UNIX)
  237. ENDIF(WIN32)
  238. # Build CTest executable
  239. ADD_EXECUTABLE(ctest ctest.cxx)
  240. TARGET_LINK_LIBRARIES(ctest CTestLib)
  241. # Curses GUI
  242. IF (UNIX)
  243. INCLUDE (${CMake_SOURCE_DIR}/Modules/FindCurses.cmake OPTIONAL)
  244. IF (CURSES_LIBRARY)
  245. INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
  246. ENDIF (CURSES_LIBRARY)
  247. ENDIF (UNIX)
  248. # MFC GUI
  249. # MFC libraries are only available on Visual Studio
  250. IF(CMAKE_BUILD_ON_VISUAL_STUDIO)
  251. SUBDIRS(MFCDialog)
  252. ENDIF(CMAKE_BUILD_ON_VISUAL_STUDIO)
  253. # WX Widgets GUI
  254. OPTION(CMAKE_BUILD_WX_DIALOG "Build wxWidgets dialog for CMake" FALSE)
  255. MARK_AS_ADVANCED(CMAKE_BUILD_WX_DIALOG)
  256. IF(CMAKE_BUILD_WX_DIALOG)
  257. SUBDIRS(WXDialog)
  258. ENDIF(CMAKE_BUILD_WX_DIALOG)
  259. # Testing
  260. IF (NOT DART_ROOT)
  261. SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
  262. ENDIF (NOT DART_ROOT)
  263. IF(BUILD_TESTING)
  264. # This variable is set by cmake, however to
  265. # test cmake we want to make sure that
  266. # the ctest from this cmake is used for testing
  267. # and not the ctest from the cmake building and testing
  268. # cmake.
  269. SET(CMAKE_CTEST_COMMAND "${EXECUTABLE_OUTPUT_PATH}/ctest")
  270. # Should the long tests be run?
  271. OPTION(CMAKE_RUN_LONG_TESTS "Should the long tests be run (such as Bootstrap)." ON)
  272. MARK_AS_ADVANCED(CMAKE_RUN_LONG_TESTS)
  273. ADD_TEST(CommandLineTest ${CMAKE_CTEST_COMMAND}
  274. --build-and-test
  275. "${CMake_SOURCE_DIR}/Tests/CommandLineTest"
  276. "${CMake_BINARY_DIR}/Tests/CommandLineTest"
  277. --build-two-config
  278. --build-generator ${CMAKE_GENERATOR}
  279. --build-makeprogram ${MAKEPROGRAM}
  280. --build-project CommandLineTest
  281. --test-command CommandLineTest)
  282. ADD_TEST(CustomCommand ${CMAKE_CTEST_COMMAND}
  283. --build-and-test
  284. "${CMake_SOURCE_DIR}/Tests/CustomCommand"
  285. "${CMake_BINARY_DIR}/Tests/CustomCommand"
  286. --build-two-config
  287. --build-generator ${CMAKE_GENERATOR}
  288. --build-project CustomCommand
  289. --build-makeprogram ${MAKEPROGRAM}
  290. --build-exe-dir "${CMake_BINARY_DIR}/Tests/CustomCommand/bin"
  291. --test-command CustomCommand
  292. )
  293. ADD_TEST(FindPackageTest ${CMAKE_CTEST_COMMAND}
  294. --build-and-test
  295. "${CMake_SOURCE_DIR}/Tests/FindPackageTest"
  296. "${CMake_BINARY_DIR}/Tests/FindPackageTest"
  297. --build-two-config
  298. --build-generator ${CMAKE_GENERATOR}
  299. --build-project FindPackageTest
  300. --build-makeprogram ${MAKEPROGRAM}
  301. --test-command FindPackageTest)
  302. ADD_TEST(SystemInformation ${CMAKE_CTEST_COMMAND}
  303. --build-and-test
  304. "${CMake_SOURCE_DIR}/Tests/SystemInformation"
  305. "${CMake_BINARY_DIR}/Tests/SystemInformation"
  306. --build-two-config
  307. --build-generator ${CMAKE_GENERATOR}
  308. --build-project DumpInformation
  309. --build-makeprogram ${MAKEPROGRAM}
  310. --test-command DumpInformation)
  311. ADD_TEST(StringFileTest ${CMAKE_CTEST_COMMAND}
  312. --build-and-test
  313. "${CMake_SOURCE_DIR}/Tests/StringFileTest"
  314. "${CMake_BINARY_DIR}/Tests/StringFileTest"
  315. --build-two-config
  316. --build-generator ${CMAKE_GENERATOR}
  317. --build-project StringFileTest
  318. --build-makeprogram ${MAKEPROGRAM}
  319. --test-command StringFileTest)
  320. ADD_TEST(TryCompile ${CMAKE_CTEST_COMMAND}
  321. --build-and-test
  322. "${CMake_SOURCE_DIR}/Tests/TryCompile"
  323. "${CMake_BINARY_DIR}/Tests/TryCompile"
  324. --build-generator ${CMAKE_GENERATOR}
  325. --build-project TryCompile
  326. --build-makeprogram ${MAKEPROGRAM}
  327. --build-two-config
  328. --test-command TryCompile)
  329. ADD_TEST(simple ${CMAKE_CTEST_COMMAND}
  330. --build-and-test
  331. "${CMake_SOURCE_DIR}/Tests/Simple"
  332. "${CMake_BINARY_DIR}/Tests/Simple"
  333. --build-generator ${CMAKE_GENERATOR}
  334. --build-project Simple
  335. --build-makeprogram ${MAKEPROGRAM}
  336. --build-two-config
  337. --test-command simple)
  338. # ADD_TEST(SameName ${CMAKE_CTEST_COMMAND}
  339. # --build-and-test
  340. # "${CMake_SOURCE_DIR}/Tests/SameName"
  341. # "${CMake_BINARY_DIR}/Tests/SameName"
  342. # --build-generator ${CMAKE_GENERATOR}
  343. # --build-project SameName
  344. # --build-makeprogram ${MAKEPROGRAM}
  345. # --build-two-config
  346. # --test-command
  347. # "${CMake_BINARY_DIR}/Tests/SameName/Exe1/mytest2")
  348. ADD_TEST(OutOfSource ${CMAKE_CTEST_COMMAND}
  349. --build-and-test
  350. "${CMake_SOURCE_DIR}/Tests/OutOfSource"
  351. "${CMake_BINARY_DIR}/Tests/OutOfSource"
  352. --build-generator ${CMAKE_GENERATOR}
  353. --build-project OutOfSource
  354. --build-makeprogram ${MAKEPROGRAM}
  355. --build-two-config
  356. --test-command
  357. "${CMake_BINARY_DIR}/Tests/OutOfSource/SubDir/OutOfSourceSubdir/simple")
  358. ADD_TEST(PreOrder ${CMAKE_CTEST_COMMAND}
  359. --build-and-test
  360. "${CMake_SOURCE_DIR}/Tests/PreOrder"
  361. "${CMake_BINARY_DIR}/Tests/PreOrder"
  362. --build-generator ${CMAKE_GENERATOR}
  363. --build-project PreOrder
  364. --build-makeprogram ${MAKEPROGRAM}
  365. --build-two-config
  366. --test-command simple)
  367. ADD_TEST(conly ${CMAKE_CTEST_COMMAND}
  368. --build-and-test
  369. "${CMake_SOURCE_DIR}/Tests/COnly"
  370. "${CMake_BINARY_DIR}/Tests/COnly"
  371. --build-generator ${CMAKE_GENERATOR}
  372. --build-project conly
  373. --build-makeprogram ${MAKEPROGRAM}
  374. --build-two-config
  375. --test-command conly)
  376. ADD_TEST(MacroTest ${CMAKE_CTEST_COMMAND}
  377. --build-and-test
  378. "${CMake_SOURCE_DIR}/Tests/MacroTest"
  379. "${CMake_BINARY_DIR}/Tests/MacroTest"
  380. --build-generator ${CMAKE_GENERATOR}
  381. --build-project littleMacroTest
  382. --build-makeprogram ${MAKEPROGRAM}
  383. --build-two-config
  384. --test-command miniMacroTest)
  385. SET(SimpleInstallInstallDir
  386. "${CMake_BINARY_DIR}/Tests/SimpleInstall/InstallDirectory")
  387. ADD_TEST(SimpleInstall ${CMAKE_CTEST_COMMAND}
  388. --build-and-test
  389. "${CMake_SOURCE_DIR}/Tests/SimpleInstall"
  390. "${CMake_BINARY_DIR}/Tests/SimpleInstall"
  391. --build-generator ${CMAKE_GENERATOR}
  392. --build-project TestSimpleInstall
  393. --build-makeprogram ${MAKEPROGRAM}
  394. --build-two-config
  395. --build-options
  396. "-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
  397. --test-command ${SimpleInstallInstallDir}/bin/SimpleInstallExe)
  398. ADD_TEST(SimpleInstall-Stage2 ${CMAKE_CTEST_COMMAND}
  399. --build-and-test
  400. "${CMake_SOURCE_DIR}/Tests/SimpleInstallS2"
  401. "${CMake_BINARY_DIR}/Tests/SimpleInstallS2"
  402. --build-generator ${CMAKE_GENERATOR}
  403. --build-project TestSimpleInstall
  404. --build-makeprogram ${MAKEPROGRAM}
  405. --build-two-config
  406. --build-options
  407. "-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
  408. "-DSTAGE2:BOOL=1"
  409. --test-command ${SimpleInstallInstallDir}/bin/SimpleInstallS2)
  410. ADD_TEST(X11 ${CMAKE_CTEST_COMMAND}
  411. --build-and-test
  412. "${CMake_SOURCE_DIR}/Tests/X11"
  413. "${CMake_BINARY_DIR}/Tests/X11"
  414. --build-generator ${CMAKE_GENERATOR}
  415. --build-project UseX11
  416. --build-makeprogram ${MAKEPROGRAM}
  417. --build-two-config
  418. --test-command UseX11)
  419. ADD_TEST(LoadedCommand ${CMAKE_CTEST_COMMAND}
  420. --build-and-test
  421. "${CMake_SOURCE_DIR}/Tests/LoadCommand"
  422. "${CMake_BINARY_DIR}/Tests/LoadCommand"
  423. --build-generator ${CMAKE_GENERATOR}
  424. --build-project LoadedCommand
  425. --build-makeprogram ${MAKEPROGRAM}
  426. --build-two-config
  427. --test-command LoadedCommand)
  428. ADD_TEST(LoadedCommandOneConfig ${CMAKE_CTEST_COMMAND}
  429. --build-and-test
  430. "${CMake_SOURCE_DIR}/Tests/LoadCommandOneConfig"
  431. "${CMake_BINARY_DIR}/Tests/LoadCommandOneConfig"
  432. --build-generator ${CMAKE_GENERATOR}
  433. --build-project LoadedCommand
  434. --build-makeprogram ${MAKEPROGRAM}
  435. --test-command LoadedCommand
  436. )
  437. # Como does not seem to support shared libraries.
  438. GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_CXX_COMPILER} NAME_WE)
  439. IF(CMAKE_BASE_NAME MATCHES "^como$")
  440. SET(COMPILER_IS_COMO 1)
  441. ENDIF(CMAKE_BASE_NAME MATCHES "^como$")
  442. IF(NOT COMPILER_IS_COMO)
  443. ADD_TEST(complex ${CMAKE_CTEST_COMMAND}
  444. --build-and-test
  445. "${CMake_SOURCE_DIR}/Tests/Complex"
  446. "${CMake_BINARY_DIR}/Tests/Complex"
  447. --build-two-config
  448. --build-generator ${CMAKE_GENERATOR}
  449. --build-project complex
  450. --build-makeprogram ${MAKEPROGRAM}
  451. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Complex/bin"
  452. --test-command complex
  453. )
  454. ADD_TEST(complexOneConfig ${CMAKE_CTEST_COMMAND}
  455. --build-and-test
  456. "${CMake_SOURCE_DIR}/Tests/ComplexOneConfig"
  457. "${CMake_BINARY_DIR}/Tests/ComplexOneConfig"
  458. --build-generator ${CMAKE_GENERATOR}
  459. --build-project complex
  460. --build-makeprogram ${MAKEPROGRAM}
  461. --build-exe-dir "${CMake_BINARY_DIR}/Tests/ComplexOneConfig/bin"
  462. --test-command complex)
  463. # ADD_TEST(complexRelativePaths ${CMAKE_CTEST_COMMAND}
  464. # --build-and-test
  465. # "${CMake_SOURCE_DIR}/Tests/ComplexRelativePaths"
  466. # "${CMake_BINARY_DIR}/Tests/ComplexRelativePaths"
  467. # --build-generator ${CMAKE_GENERATOR}
  468. # --build-project complex
  469. # --build-makeprogram ${MAKEPROGRAM}
  470. # --build-exe-dir "${CMake_BINARY_DIR}/Tests/ComplexRelativePaths/bin"
  471. # --build-options -DCMAKE_USE_RELATIVE_PATHS:BOOL=ON
  472. # --test-command complex)
  473. ENDIF(NOT COMPILER_IS_COMO)
  474. ADD_TEST(Example ${CMAKE_CTEST_COMMAND}
  475. --build-and-test
  476. "${CMake_SOURCE_DIR}/Example"
  477. "${CMake_BINARY_DIR}/Example"
  478. --build-generator ${CMAKE_GENERATOR}
  479. --build-project HELLO
  480. --build-makeprogram ${MAKEPROGRAM}
  481. --build-exe-dir "${CMake_BINARY_DIR}/Example/Demo"
  482. --test-command helloDemo
  483. )
  484. ADD_TEST(testing ${CMAKE_CTEST_COMMAND}
  485. --build-and-test
  486. "${CMake_SOURCE_DIR}/Tests/Testing"
  487. "${CMake_BINARY_DIR}/Tests/Testing"
  488. --build-generator ${CMAKE_GENERATOR}
  489. --build-project testing
  490. --build-makeprogram ${MAKEPROGRAM}
  491. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Testing/bin"
  492. --test-command testing
  493. )
  494. ADD_TEST(wrapping ${CMAKE_CTEST_COMMAND}
  495. --build-and-test
  496. "${CMake_SOURCE_DIR}/Tests/Wrapping"
  497. "${CMake_BINARY_DIR}/Tests/Wrapping"
  498. --build-generator ${CMAKE_GENERATOR}
  499. --build-project wrapping
  500. --build-makeprogram ${MAKEPROGRAM}
  501. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  502. --test-command wrapping
  503. )
  504. INCLUDE ( ${CMAKE_ROOT}/Modules/FindQt.cmake )
  505. MARK_AS_ADVANCED(
  506. QT_INCLUDE_PATH
  507. QT_MOC_EXE
  508. QT_QT_LIBRARY
  509. QT_UIC_EXE)
  510. IF (QT_FOUND AND QT_UIC_EXECUTABLE)
  511. ADD_TEST(qtwrapping ${CMAKE_CTEST_COMMAND}
  512. --build-and-test
  513. "${CMake_SOURCE_DIR}/Tests/Wrapping"
  514. "${CMake_BINARY_DIR}/Tests/Wrapping"
  515. --build-generator ${CMAKE_GENERATOR}
  516. --build-project Wrapping
  517. --build-makeprogram ${MAKEPROGRAM}
  518. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  519. --test-command qtwrapping
  520. )
  521. ENDIF (QT_FOUND AND QT_UIC_EXECUTABLE)
  522. ADD_TEST(testdriver1 ${CMAKE_CTEST_COMMAND}
  523. --build-and-test
  524. "${CMake_SOURCE_DIR}/Tests/TestDriver"
  525. "${CMake_BINARY_DIR}/Tests/TestDriver"
  526. --build-generator ${CMAKE_GENERATOR}
  527. --build-makeprogram ${MAKEPROGRAM}
  528. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  529. --build-project TestDriverTest
  530. --test-command TestDriverTest test1
  531. )
  532. ADD_TEST(testdriver2 ${CMAKE_CTEST_COMMAND}
  533. --build-and-test
  534. "${CMake_SOURCE_DIR}/Tests/TestDriver"
  535. "${CMake_BINARY_DIR}/Tests/TestDriver"
  536. --build-generator ${CMAKE_GENERATOR}
  537. --build-makeprogram ${MAKEPROGRAM}
  538. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  539. --build-project TestDriverTest
  540. --test-command TestDriverTest test2
  541. )
  542. ADD_TEST(testdriver3 ${CMAKE_CTEST_COMMAND}
  543. --build-and-test
  544. "${CMake_SOURCE_DIR}/Tests/TestDriver"
  545. "${CMake_BINARY_DIR}/Tests/TestDriver"
  546. --build-generator ${CMAKE_GENERATOR}
  547. --build-makeprogram ${MAKEPROGRAM}
  548. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  549. --build-project TestDriverTest
  550. --test-command TestDriverTest subdir/test3
  551. )
  552. ADD_TEST(dependency_w_libout ${CMAKE_CTEST_COMMAND}
  553. --build-and-test
  554. "${CMake_SOURCE_DIR}/Tests/Dependency"
  555. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  556. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec"
  557. --build-project Dependency
  558. --build-generator ${CMAKE_GENERATOR}
  559. --build-makeprogram ${MAKEPROGRAM}
  560. --build-options
  561. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  562. --test-command exec
  563. )
  564. ADD_TEST(dependency_wo_lib_out ${CMAKE_CTEST_COMMAND}
  565. --build-and-test
  566. "${CMake_SOURCE_DIR}/Tests/Dependency"
  567. "${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut"
  568. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec"
  569. --build-generator ${CMAKE_GENERATOR}
  570. --build-makeprogram ${MAKEPROGRAM}
  571. --build-project Dependency
  572. --test-command exec
  573. )
  574. ADD_TEST(dependency2 ${CMAKE_CTEST_COMMAND}
  575. --build-and-test
  576. "${CMake_SOURCE_DIR}/Tests/Dependency"
  577. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  578. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec2"
  579. --build-generator ${CMAKE_GENERATOR}
  580. --build-makeprogram ${MAKEPROGRAM}
  581. --build-project Dependency
  582. --build-options
  583. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  584. --test-command exec2
  585. )
  586. ADD_TEST(dependency3 ${CMAKE_CTEST_COMMAND}
  587. --build-and-test
  588. "${CMake_SOURCE_DIR}/Tests/Dependency"
  589. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  590. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec3"
  591. --build-generator ${CMAKE_GENERATOR}
  592. --build-makeprogram ${MAKEPROGRAM}
  593. --build-project Dependency
  594. --build-options
  595. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  596. --test-command exec3)
  597. ADD_TEST(dependency4 ${CMAKE_CTEST_COMMAND}
  598. --build-and-test
  599. "${CMake_SOURCE_DIR}/Tests/Dependency"
  600. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  601. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec4"
  602. --build-generator ${CMAKE_GENERATOR}
  603. --build-makeprogram ${MAKEPROGRAM}
  604. --build-project Dependency
  605. --build-options
  606. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  607. --test-command exec4
  608. )
  609. ADD_TEST(JumpWithLibOut ${CMAKE_CTEST_COMMAND}
  610. --build-and-test
  611. "${CMake_SOURCE_DIR}/Tests/Jump"
  612. "${CMake_BINARY_DIR}/Tests/Jump/WithLibOut"
  613. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Executable"
  614. --build-project Jump
  615. --build-generator ${CMAKE_GENERATOR}
  616. --build-makeprogram ${MAKEPROGRAM}
  617. --build-options
  618. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Lib
  619. --test-command jumpExecutable
  620. )
  621. ADD_TEST(JumpNoLibOut ${CMAKE_CTEST_COMMAND}
  622. --build-and-test
  623. "${CMake_SOURCE_DIR}/Tests/Jump"
  624. "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut"
  625. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable"
  626. --build-run-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable"
  627. --build-project Jump
  628. --build-generator ${CMAKE_GENERATOR}
  629. --build-makeprogram ${MAKEPROGRAM}
  630. --test-command jumpExecutable
  631. )
  632. ADD_TEST(linkline ${CMAKE_CTEST_COMMAND}
  633. --build-and-test
  634. "${CMake_SOURCE_DIR}/Tests/LinkLine"
  635. "${CMake_BINARY_DIR}/Tests/LinkLine"
  636. --build-exe-dir "${CMake_BINARY_DIR}/Tests/LinkLine"
  637. --build-generator ${CMAKE_GENERATOR}
  638. --build-makeprogram ${MAKEPROGRAM}
  639. --build-project Linkline
  640. --test-command Exec
  641. )
  642. ADD_TEST(linkorder1 ${CMAKE_CTEST_COMMAND}
  643. --build-and-test
  644. "${CMake_SOURCE_DIR}/Tests/LinkLineOrder"
  645. "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  646. --build-generator ${CMAKE_GENERATOR}
  647. --build-makeprogram ${MAKEPROGRAM}
  648. --build-exe-dir "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  649. --build-project LinkLineOrder
  650. --test-command Exec1
  651. )
  652. ADD_TEST(linkorder2 ${CMAKE_CTEST_COMMAND}
  653. --build-and-test
  654. "${CMake_SOURCE_DIR}/Tests/LinkLineOrder"
  655. "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  656. --build-exe-dir "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  657. --build-generator ${CMAKE_GENERATOR}
  658. --build-makeprogram ${MAKEPROGRAM}
  659. --build-project LinkLineOrder
  660. --test-command Exec2
  661. )
  662. ADD_TEST(ExternalOBJ ${CMAKE_CTEST_COMMAND}
  663. --build-and-test
  664. "${CMake_SOURCE_DIR}/Tests/ExternalOBJ"
  665. "${CMake_BINARY_DIR}/Tests/ExternalOBJ"
  666. --build-generator ${CMAKE_GENERATOR}
  667. --build-project ExternalOBJ
  668. --build-makeprogram ${MAKEPROGRAM}
  669. --build-exe-dir "${CMake_BINARY_DIR}/ExternalOBJ"
  670. --test-command executable
  671. )
  672. ADD_TEST(kwsys ${CMAKE_CTEST_COMMAND}
  673. --build-and-test
  674. "${CMake_SOURCE_DIR}/Source/kwsys"
  675. "${CMake_BINARY_DIR}/Tests/kwsys"
  676. --build-exe-dir "${CMake_BINARY_DIR}/Tests/kwsys"
  677. --build-generator ${CMAKE_GENERATOR}
  678. --build-makeprogram ${MAKEPROGRAM}
  679. --build-project kwsys
  680. --test-command testIOS
  681. )
  682. IF (WIN32)
  683. ADD_TEST(SubDir ${CMAKE_CTEST_COMMAND}
  684. --build-and-test
  685. "${CMake_SOURCE_DIR}/Tests/SubDir"
  686. "${CMake_BINARY_DIR}/Tests/SubDir"
  687. --build-exe-dir "${CMake_BINARY_DIR}/Tests/SubDir/Executable"
  688. --build-generator ${CMAKE_GENERATOR}
  689. --build-makeprogram ${MAKEPROGRAM}
  690. --build-project SUBDIR
  691. --test-command test
  692. "${CMake_BINARY_DIR}/Tests/SubDir/ShouldBeHere"
  693. "${CMake_BINARY_DIR}/Tests/SubDir/testfromsubdir.obj"
  694. )
  695. ELSE (WIN32)
  696. ADD_TEST(SubDir ${CMAKE_CTEST_COMMAND}
  697. --build-and-test
  698. "${CMake_SOURCE_DIR}/Tests/SubDir"
  699. "${CMake_BINARY_DIR}/Tests/SubDir"
  700. --build-exe-dir "${CMake_BINARY_DIR}/Tests/SubDir/Executable"
  701. --build-generator ${CMAKE_GENERATOR}
  702. --build-makeprogram ${MAKEPROGRAM}
  703. --build-project SUBDIR
  704. --test-command test
  705. "${CMake_BINARY_DIR}/Tests/SubDir/ShouldBeHere"
  706. "${CMake_BINARY_DIR}/Tests/SubDir/testfromsubdir.o"
  707. )
  708. ENDIF (WIN32)
  709. IF("${CMAKE_GENERATOR}" MATCHES "Makefile")
  710. ADD_TEST(MakeClean ${CMAKE_CTEST_COMMAND}
  711. --build-and-test
  712. "${CMake_SOURCE_DIR}/Tests/MakeClean"
  713. "${CMake_BINARY_DIR}/Tests/MakeClean"
  714. --build-generator ${CMAKE_GENERATOR}
  715. --build-project MakeClean
  716. --build-makeprogram ${MAKEPROGRAM}
  717. --build-exe-dir "${CMake_BINARY_DIR}/MakeClean"
  718. --test-command check_clean
  719. )
  720. ENDIF("${CMAKE_GENERATOR}" MATCHES "Makefile")
  721. IF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
  722. ADD_TEST(VSExternalInclude ${CMAKE_CTEST_COMMAND}
  723. --build-and-test
  724. "${CMake_SOURCE_DIR}/Tests/VSExternalInclude"
  725. "${CMake_BINARY_DIR}/Tests/VSExternalInclude"
  726. --build-two-config
  727. --build-generator ${CMAKE_GENERATOR}
  728. --build-project VSExternalInclude
  729. --build-makeprogram ${MAKEPROGRAM}
  730. --test-command VSExternalInclude)
  731. ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
  732. IF (APPLE AND CMAKE_COMPILER_IS_GNUCXX)
  733. ADD_TEST(BundleTest ${CMAKE_CTEST_COMMAND}
  734. --build-and-test
  735. "${CMake_SOURCE_DIR}/Tests/BundleTest"
  736. "${CMake_BINARY_DIR}/Tests/BundleTest"
  737. --build-two-config
  738. --build-generator ${CMAKE_GENERATOR}
  739. --build-makeprogram ${MAKEPROGRAM}
  740. --build-project BundleTest
  741. --test-command BundleTest.app/Contents/MacOS/BundleTest)
  742. ADD_TEST(objc++ ${CMAKE_CTEST_COMMAND}
  743. --build-and-test
  744. "${CMake_SOURCE_DIR}/Tests/Objc++"
  745. "${CMake_BINARY_DIR}/Tests/Objc++"
  746. --build-generator ${CMAKE_GENERATOR}
  747. --build-makeprogram ${MAKEPROGRAM}
  748. --build-project objc++
  749. --test-command objc++
  750. )
  751. ENDIF (APPLE AND CMAKE_COMPILER_IS_GNUCXX)
  752. IF (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS)
  753. CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest/test.cmake.in"
  754. "${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" @ONLY ESCAPE_QUOTES)
  755. ADD_TEST(CTestTest ${CMAKE_CTEST_COMMAND}
  756. -S "${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" -V
  757. --output-log "${CMake_BINARY_DIR}/Tests/CTestTest/testOutput.log"
  758. )
  759. CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest2/test.cmake.in"
  760. "${CMake_BINARY_DIR}/Tests/CTestTest2/test.cmake" @ONLY ESCAPE_QUOTES)
  761. ADD_TEST(CTestTest2 ${CMAKE_CTEST_COMMAND}
  762. -S "${CMake_BINARY_DIR}/Tests/CTestTest2/test.cmake" -V
  763. --output-log "${CMake_BINARY_DIR}/Tests/CTestTest2/testOutput.log"
  764. )
  765. CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest3/test.cmake.in"
  766. "${CMake_BINARY_DIR}/Tests/CTestTest3/test.cmake" @ONLY ESCAPE_QUOTES)
  767. ADD_TEST(CTestTest3 ${CMAKE_CTEST_COMMAND}
  768. -S "${CMake_BINARY_DIR}/Tests/CTestTest3/test.cmake" -V
  769. --output-log "${CMake_BINARY_DIR}/Tests/CTestTest3/testOutput.log"
  770. )
  771. ENDIF (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS)
  772. IF("${CMAKE_GENERATOR}" MATCHES Xcode)
  773. SET(CMAKE_SKIP_BOOTSTRAP_TEST 1)
  774. ENDIF("${CMAKE_GENERATOR}" MATCHES Xcode)
  775. IF(EXISTS "${CMAKE_BINARY_DIR}/CMakeLists.txt")
  776. # If there is CMakeLists.txt in the binary tree, assume in-source build
  777. SET(CMAKE_SKIP_BOOTSTRAP_TEST 1)
  778. ENDIF(EXISTS "${CMAKE_BINARY_DIR}/CMakeLists.txt")
  779. IF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
  780. ADD_TEST(BootstrapTest ${CMAKE_CTEST_COMMAND}
  781. --build-and-test
  782. ${CMake_SOURCE_DIR}
  783. ${CMake_BINARY_DIR}/Tests/BootstrapTest
  784. --build-nocmake
  785. --build-noclean
  786. --build-makeprogram ${CMake_SOURCE_DIR}/bootstrap
  787. --build-generator "${CMAKE_GENERATOR}"
  788. --test-command ${CMake_BINARY_DIR}/Tests/BootstrapTest/Bootstrap.cmk/cmake)
  789. ENDIF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
  790. IF(CMAKE_GENERATOR MATCHES "Makefiles")
  791. # see if we can find a fortran compiler on the machine
  792. # if so, add the fortran test and see if it works.
  793. SET(CMAKE_Fortran_COMPILER_LIST ifort ifc efc f95 pgf95
  794. lf95 xlf95 fort gfortran f90 pgf90 xlf90
  795. epcf90 f77 fort77 frt pgf77 xlf fl32 af77 g77 )
  796. FIND_PROGRAM(CMAKE_Fortran_COMPILER_FULLPATH NAMES ${CMAKE_Fortran_COMPILER_LIST} )
  797. MARK_AS_ADVANCED(CMAKE_Fortran_COMPILER_FULLPATH)
  798. IF(CMAKE_Fortran_COMPILER_FULLPATH)
  799. ADD_TEST(Fortran ${CMAKE_CTEST_COMMAND}
  800. --build-and-test
  801. "${CMake_SOURCE_DIR}/Tests/Fortran"
  802. "${CMake_BINARY_DIR}/Tests/Fortran"
  803. --build-generator ${CMAKE_GENERATOR}
  804. --build-project testf
  805. --build-makeprogram ${MAKEPROGRAM}
  806. --build-two-config
  807. --test-command testf)
  808. ENDIF(CMAKE_Fortran_COMPILER_FULLPATH)
  809. INCLUDE(FindJava)
  810. IF(JAVA_COMPILE AND JAVA_RUNTIME AND JAVA_ARCHIVE AND NOT MINGW)
  811. GET_FILENAME_COMPONENT(JNIPATH ${JAVA_COMPILE} PATH)
  812. FIND_FILE(JNI_H jni.h
  813. "${JNIPATH}/../include"
  814. "${JNIPATH}/../java/include")
  815. IF(JNI_H)
  816. FILE(READ "${JNI_H}" JNI_FILE)
  817. IF("${JNI_FILE}" MATCHES "JDK1_2")
  818. ADD_TEST(Java ${CMAKE_CTEST_COMMAND}
  819. --build-and-test
  820. "${CMake_SOURCE_DIR}/Tests/Java"
  821. "${CMake_BINARY_DIR}/Tests/Java"
  822. --build-generator ${CMAKE_GENERATOR}
  823. --build-project hello
  824. --build-makeprogram ${MAKEPROGRAM}
  825. --build-two-config
  826. --build-run-dir "${CMake_BINARY_DIR}/Tests/Java/"
  827. --test-command ${JAVA_RUNTIME} -classpath hello.jar HelloWorld)
  828. ENDIF("${JNI_FILE}" MATCHES "JDK1_2")
  829. ENDIF(JNI_H)
  830. ENDIF(JAVA_COMPILE AND JAVA_RUNTIME AND JAVA_ARCHIVE AND NOT MINGW)
  831. ENDIF(CMAKE_GENERATOR MATCHES "Makefiles")
  832. IF (CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE OR WXWINDOWS_INCLUDE_DIR)
  833. # Will be set if the wxwindows gui is on
  834. ADD_TEST(UseWX ${CMAKE_CTEST_COMMAND}
  835. --build-and-test
  836. "${CMake_SOURCE_DIR}/Tests/UseWX"
  837. "${CMake_BINARY_DIR}/Tests/UseWX"
  838. --build-generator ${CMAKE_GENERATOR}
  839. --build-makeprogram ${MAKEPROGRAM}
  840. --build-exe-dir ${CMake_BINARY_DIR}/Tests/UseWX
  841. --build-project UsewxWindows
  842. --build-options -DCMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE:FILEPATH=${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE}
  843. --test-command UseWX
  844. )
  845. ENDIF (CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE OR WXWINDOWS_INCLUDE_DIR)
  846. IF(UNIX)
  847. STRING(COMPARE EQUAL "${CMAKE_INSTALL_PREFIX}" "${CMake_BINARY_DIR}/Tests/TestShellInstall/Prefix"
  848. PREFIX_IS_FOR_TEST)
  849. IF(PREFIX_IS_FOR_TEST)
  850. CONFIGURE_FILE(
  851. ${CMake_SOURCE_DIR}/Tests/TestInstall.sh.in
  852. ${CMake_BINARY_DIR}/Tests/TestShellInstall/TestInstall.sh
  853. @ONLY IMMEDIATE
  854. )
  855. ADD_TEST(ShellInstall /bin/sh ${CMake_BINARY_DIR}/Tests/TestShellInstall/TestShellInstall.sh)
  856. ENDIF(PREFIX_IS_FOR_TEST)
  857. ENDIF(UNIX)
  858. ENDIF(BUILD_TESTING)
  859. INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  860. INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  861. INSTALL_TARGETS(/bin cmake)
  862. INSTALL_TARGETS(/bin ctest)
  863. INSTALL_FILES(${CMAKE_DATA_DIR}/include cmCPluginAPI.h)