1
0

CMakeLists.txt 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928
  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. cmLocalXCodeGenerator.cxx
  146. cmLocalXCodeGenerator.h)
  147. ENDIF(APPLE)
  148. IF (WIN32)
  149. IF(NOT UNIX)
  150. SET(SRCS ${SRCS}
  151. cmGlobalBorlandMakefileGenerator.cxx
  152. cmGlobalNMakeMakefileGenerator.cxx
  153. cmGlobalVisualStudio6Generator.cxx
  154. cmLocalVisualStudio6Generator.cxx
  155. cmGlobalBorlandMakefileGenerator.h
  156. cmGlobalNMakeMakefileGenerator.h
  157. cmGlobalVisualStudio6Generator.h
  158. cmLocalVisualStudio6Generator.h
  159. cmWin32ProcessExecution.cxx
  160. cmWin32ProcessExecution.h
  161. )
  162. IF(NOT MINGW)
  163. SET(SRCS ${SRCS}
  164. cmGlobalVisualStudio71Generator.h
  165. cmGlobalVisualStudio8Generator.h
  166. cmGlobalVisualStudio7Generator.h
  167. cmLocalVisualStudio7Generator.h
  168. cmGlobalVisualStudio8Generator.cxx
  169. cmGlobalVisualStudio71Generator.cxx
  170. cmGlobalVisualStudio7Generator.cxx
  171. cmLocalVisualStudio7Generator.cxx)
  172. ENDIF(NOT MINGW)
  173. ENDIF(NOT UNIX)
  174. ENDIF (WIN32)
  175. # create a library used by the command line and the GUI
  176. ADD_LIBRARY(CMakeLib ${SRCS})
  177. TARGET_LINK_LIBRARIES(CMakeLib cmsys ${CMAKE_EXPAT_LIBRARIES} ${CMAKE_ZLIB_LIBRARIES})
  178. IF (UNIX)
  179. TARGET_LINK_LIBRARIES(CMakeLib ${CMAKE_DL_LIBS})
  180. ENDIF (UNIX)
  181. IF(CMAKE_BUILD_ON_VISUAL_STUDIO)
  182. # On Visual Studio we need rpcrt4.lib for cmVisualStudio7 generator.
  183. TARGET_LINK_LIBRARIES(CMakeLib rpcrt4.lib)
  184. ENDIF(CMAKE_BUILD_ON_VISUAL_STUDIO)
  185. #
  186. # CTestLib
  187. #
  188. INCLUDE_DIRECTORIES(
  189. "${CMAKE_SOURCE_DIR}/Source/CTest"
  190. ${CMAKE_XMLRPC_INCLUDES}
  191. )
  192. #
  193. # Sources for CTestLib
  194. #
  195. SET(CMTEST_SRCS cmCTest.cxx
  196. CTest/cmCTestBuildAndTestHandler.cxx
  197. CTest/cmCTestBuildCommand.cxx
  198. CTest/cmCTestBuildHandler.cxx
  199. CTest/cmCTestConfigureCommand.cxx
  200. CTest/cmCTestConfigureHandler.cxx
  201. CTest/cmCTestCoverageCommand.cxx
  202. CTest/cmCTestCoverageHandler.cxx
  203. CTest/cmCTestEmptyBinaryDirectoryCommand.cxx
  204. CTest/cmCTestGenericHandler.cxx
  205. CTest/cmCTestHandlerCommand.cxx
  206. CTest/cmCTestMemCheckCommand.cxx
  207. CTest/cmCTestMemCheckHandler.cxx
  208. CTest/cmCTestRunScriptCommand.cxx
  209. CTest/cmCTestScriptHandler.cxx
  210. CTest/cmCTestSleepCommand.cxx
  211. CTest/cmCTestStartCommand.cxx
  212. CTest/cmCTestSubmitCommand.cxx
  213. CTest/cmCTestSubmitHandler.cxx
  214. CTest/cmCTestTestCommand.cxx
  215. CTest/cmCTestTestHandler.cxx
  216. CTest/cmCTestUpdateCommand.cxx
  217. CTest/cmCTestUpdateHandler.cxx
  218. )
  219. # Build CTestLib
  220. ADD_LIBRARY(CTestLib ${CMTEST_SRCS})
  221. TARGET_LINK_LIBRARIES(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES})
  222. # Build CMake executable
  223. ADD_EXECUTABLE(cmake cmakemain.cxx)
  224. TARGET_LINK_LIBRARIES(cmake CMakeLib)
  225. ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
  226. TARGET_LINK_LIBRARIES(DumpDocumentation CMakeLib)
  227. # Build special executable for running programs on Windows 98
  228. IF(WIN32)
  229. IF(NOT UNIX)
  230. ADD_EXECUTABLE(cmw9xcom cmw9xcom.cxx)
  231. TARGET_LINK_LIBRARIES(cmw9xcom CMakeLib)
  232. ENDIF(NOT UNIX)
  233. ENDIF(WIN32)
  234. # Build CTest executable
  235. ADD_EXECUTABLE(ctest ctest.cxx)
  236. TARGET_LINK_LIBRARIES(ctest CTestLib)
  237. # Curses GUI
  238. IF (UNIX)
  239. INCLUDE (${CMake_SOURCE_DIR}/Modules/FindCurses.cmake OPTIONAL)
  240. IF (CURSES_LIBRARY)
  241. INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
  242. ENDIF (CURSES_LIBRARY)
  243. ENDIF (UNIX)
  244. # MFC GUI
  245. # MFC libraries are only available on Visual Studio
  246. IF(CMAKE_BUILD_ON_VISUAL_STUDIO)
  247. SUBDIRS(MFCDialog)
  248. ENDIF(CMAKE_BUILD_ON_VISUAL_STUDIO)
  249. # WX Widgets GUI
  250. OPTION(CMAKE_BUILD_WX_DIALOG "Build wxWidgets dialog for CMake" FALSE)
  251. MARK_AS_ADVANCED(CMAKE_BUILD_WX_DIALOG)
  252. IF(CMAKE_BUILD_WX_DIALOG)
  253. SUBDIRS(WXDialog)
  254. ENDIF(CMAKE_BUILD_WX_DIALOG)
  255. # Testing
  256. IF (NOT DART_ROOT)
  257. SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
  258. ENDIF (NOT DART_ROOT)
  259. IF(BUILD_TESTING)
  260. # This variable is set by cmake, however to
  261. # test cmake we want to make sure that
  262. # the ctest from this cmake is used for testing
  263. # and not the ctest from the cmake building and testing
  264. # cmake.
  265. SET(CMAKE_CTEST_COMMAND "${EXECUTABLE_OUTPUT_PATH}/ctest")
  266. # Should the long tests be run?
  267. OPTION(CMAKE_RUN_LONG_TESTS "Should the long tests be run (such as Bootstrap)." ON)
  268. MARK_AS_ADVANCED(CMAKE_RUN_LONG_TESTS)
  269. ADD_TEST(CommandLineTest ${CMAKE_CTEST_COMMAND}
  270. --build-and-test
  271. "${CMake_SOURCE_DIR}/Tests/CommandLineTest"
  272. "${CMake_BINARY_DIR}/Tests/CommandLineTest"
  273. --build-two-config
  274. --build-generator ${CMAKE_GENERATOR}
  275. --build-makeprogram ${MAKEPROGRAM}
  276. --build-project CommandLineTest
  277. --test-command CommandLineTest)
  278. ADD_TEST(CustomCommand ${CMAKE_CTEST_COMMAND}
  279. --build-and-test
  280. "${CMake_SOURCE_DIR}/Tests/CustomCommand"
  281. "${CMake_BINARY_DIR}/Tests/CustomCommand"
  282. --build-two-config
  283. --build-generator ${CMAKE_GENERATOR}
  284. --build-project CustomCommand
  285. --build-makeprogram ${MAKEPROGRAM}
  286. --build-exe-dir "${CMake_BINARY_DIR}/Tests/CustomCommand/bin"
  287. --test-command CustomCommand
  288. )
  289. ADD_TEST(FindPackageTest ${CMAKE_CTEST_COMMAND}
  290. --build-and-test
  291. "${CMake_SOURCE_DIR}/Tests/FindPackageTest"
  292. "${CMake_BINARY_DIR}/Tests/FindPackageTest"
  293. --build-two-config
  294. --build-generator ${CMAKE_GENERATOR}
  295. --build-project FindPackageTest
  296. --build-makeprogram ${MAKEPROGRAM}
  297. --test-command FindPackageTest)
  298. ADD_TEST(SystemInformation ${CMAKE_CTEST_COMMAND}
  299. --build-and-test
  300. "${CMake_SOURCE_DIR}/Tests/SystemInformation"
  301. "${CMake_BINARY_DIR}/Tests/SystemInformation"
  302. --build-two-config
  303. --build-generator ${CMAKE_GENERATOR}
  304. --build-project DumpInformation
  305. --build-makeprogram ${MAKEPROGRAM}
  306. --test-command DumpInformation)
  307. ADD_TEST(StringFileTest ${CMAKE_CTEST_COMMAND}
  308. --build-and-test
  309. "${CMake_SOURCE_DIR}/Tests/StringFileTest"
  310. "${CMake_BINARY_DIR}/Tests/StringFileTest"
  311. --build-two-config
  312. --build-generator ${CMAKE_GENERATOR}
  313. --build-project StringFileTest
  314. --build-makeprogram ${MAKEPROGRAM}
  315. --test-command StringFileTest)
  316. ADD_TEST(TryCompile ${CMAKE_CTEST_COMMAND}
  317. --build-and-test
  318. "${CMake_SOURCE_DIR}/Tests/TryCompile"
  319. "${CMake_BINARY_DIR}/Tests/TryCompile"
  320. --build-generator ${CMAKE_GENERATOR}
  321. --build-project TryCompile
  322. --build-makeprogram ${MAKEPROGRAM}
  323. --build-two-config
  324. --test-command TryCompile)
  325. ADD_TEST(simple ${CMAKE_CTEST_COMMAND}
  326. --build-and-test
  327. "${CMake_SOURCE_DIR}/Tests/Simple"
  328. "${CMake_BINARY_DIR}/Tests/Simple"
  329. --build-generator ${CMAKE_GENERATOR}
  330. --build-project Simple
  331. --build-makeprogram ${MAKEPROGRAM}
  332. --build-two-config
  333. --test-command simple)
  334. # ADD_TEST(SameName ${CMAKE_CTEST_COMMAND}
  335. # --build-and-test
  336. # "${CMake_SOURCE_DIR}/Tests/SameName"
  337. # "${CMake_BINARY_DIR}/Tests/SameName"
  338. # --build-generator ${CMAKE_GENERATOR}
  339. # --build-project SameName
  340. # --build-makeprogram ${MAKEPROGRAM}
  341. # --build-two-config
  342. # --test-command
  343. # "${CMake_BINARY_DIR}/Tests/SameName/Exe1/mytest2")
  344. ADD_TEST(OutOfSource ${CMAKE_CTEST_COMMAND}
  345. --build-and-test
  346. "${CMake_SOURCE_DIR}/Tests/OutOfSource"
  347. "${CMake_BINARY_DIR}/Tests/OutOfSource"
  348. --build-generator ${CMAKE_GENERATOR}
  349. --build-project OutOfSource
  350. --build-makeprogram ${MAKEPROGRAM}
  351. --build-two-config
  352. --test-command
  353. "${CMake_BINARY_DIR}/Tests/OutOfSource/SubDir/OutOfSourceSubdir/simple")
  354. ADD_TEST(PreOrder ${CMAKE_CTEST_COMMAND}
  355. --build-and-test
  356. "${CMake_SOURCE_DIR}/Tests/PreOrder"
  357. "${CMake_BINARY_DIR}/Tests/PreOrder"
  358. --build-generator ${CMAKE_GENERATOR}
  359. --build-project PreOrder
  360. --build-makeprogram ${MAKEPROGRAM}
  361. --build-two-config
  362. --test-command simple)
  363. ADD_TEST(conly ${CMAKE_CTEST_COMMAND}
  364. --build-and-test
  365. "${CMake_SOURCE_DIR}/Tests/COnly"
  366. "${CMake_BINARY_DIR}/Tests/COnly"
  367. --build-generator ${CMAKE_GENERATOR}
  368. --build-project conly
  369. --build-makeprogram ${MAKEPROGRAM}
  370. --build-two-config
  371. --test-command conly)
  372. ADD_TEST(MacroTest ${CMAKE_CTEST_COMMAND}
  373. --build-and-test
  374. "${CMake_SOURCE_DIR}/Tests/MacroTest"
  375. "${CMake_BINARY_DIR}/Tests/MacroTest"
  376. --build-generator ${CMAKE_GENERATOR}
  377. --build-project littleMacroTest
  378. --build-makeprogram ${MAKEPROGRAM}
  379. --build-two-config
  380. --test-command miniMacroTest)
  381. SET(SimpleInstallInstallDir
  382. "${CMake_BINARY_DIR}/Tests/SimpleInstall/InstallDirectory")
  383. ADD_TEST(SimpleInstall ${CMAKE_CTEST_COMMAND}
  384. --build-and-test
  385. "${CMake_SOURCE_DIR}/Tests/SimpleInstall"
  386. "${CMake_BINARY_DIR}/Tests/SimpleInstall"
  387. --build-generator ${CMAKE_GENERATOR}
  388. --build-project TestSimpleInstall
  389. --build-makeprogram ${MAKEPROGRAM}
  390. --build-two-config
  391. --build-options
  392. "-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
  393. --test-command ${SimpleInstallInstallDir}/bin/SimpleInstall)
  394. ADD_TEST(SimpleInstall-Stage2 ${CMAKE_CTEST_COMMAND}
  395. --build-and-test
  396. "${CMake_SOURCE_DIR}/Tests/SimpleInstallS2"
  397. "${CMake_BINARY_DIR}/Tests/SimpleInstallS2"
  398. --build-generator ${CMAKE_GENERATOR}
  399. --build-project TestSimpleInstall
  400. --build-makeprogram ${MAKEPROGRAM}
  401. --build-two-config
  402. --build-options
  403. "-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
  404. "-DSTAGE2:BOOL=1"
  405. --test-command ${SimpleInstallInstallDir}/bin/SimpleInstallS2)
  406. ADD_TEST(X11 ${CMAKE_CTEST_COMMAND}
  407. --build-and-test
  408. "${CMake_SOURCE_DIR}/Tests/X11"
  409. "${CMake_BINARY_DIR}/Tests/X11"
  410. --build-generator ${CMAKE_GENERATOR}
  411. --build-project UseX11
  412. --build-makeprogram ${MAKEPROGRAM}
  413. --build-two-config
  414. --test-command UseX11)
  415. ADD_TEST(LoadedCommand ${CMAKE_CTEST_COMMAND}
  416. --build-and-test
  417. "${CMake_SOURCE_DIR}/Tests/LoadCommand"
  418. "${CMake_BINARY_DIR}/Tests/LoadCommand"
  419. --build-generator ${CMAKE_GENERATOR}
  420. --build-project LoadedCommand
  421. --build-makeprogram ${MAKEPROGRAM}
  422. --build-two-config
  423. --test-command LoadedCommand)
  424. ADD_TEST(LoadedCommandOneConfig ${CMAKE_CTEST_COMMAND}
  425. --build-and-test
  426. "${CMake_SOURCE_DIR}/Tests/LoadCommandOneConfig"
  427. "${CMake_BINARY_DIR}/Tests/LoadCommandOneConfig"
  428. --build-generator ${CMAKE_GENERATOR}
  429. --build-project LoadedCommand
  430. --build-makeprogram ${MAKEPROGRAM}
  431. --test-command LoadedCommand
  432. )
  433. # Como does not seem to support shared libraries.
  434. GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_CXX_COMPILER} NAME_WE)
  435. IF(CMAKE_BASE_NAME MATCHES "^como$")
  436. SET(COMPILER_IS_COMO 1)
  437. ENDIF(CMAKE_BASE_NAME MATCHES "^como$")
  438. IF(NOT COMPILER_IS_COMO)
  439. ADD_TEST(complex ${CMAKE_CTEST_COMMAND}
  440. --build-and-test
  441. "${CMake_SOURCE_DIR}/Tests/Complex"
  442. "${CMake_BINARY_DIR}/Tests/Complex"
  443. --build-two-config
  444. --build-generator ${CMAKE_GENERATOR}
  445. --build-project complex
  446. --build-makeprogram ${MAKEPROGRAM}
  447. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Complex/bin"
  448. --test-command complex
  449. )
  450. ADD_TEST(complexOneConfig ${CMAKE_CTEST_COMMAND}
  451. --build-and-test
  452. "${CMake_SOURCE_DIR}/Tests/ComplexOneConfig"
  453. "${CMake_BINARY_DIR}/Tests/ComplexOneConfig"
  454. --build-generator ${CMAKE_GENERATOR}
  455. --build-project complex
  456. --build-makeprogram ${MAKEPROGRAM}
  457. --build-exe-dir "${CMake_BINARY_DIR}/Tests/ComplexOneConfig/bin"
  458. --test-command complex)
  459. # ADD_TEST(complexRelativePaths ${CMAKE_CTEST_COMMAND}
  460. # --build-and-test
  461. # "${CMake_SOURCE_DIR}/Tests/ComplexRelativePaths"
  462. # "${CMake_BINARY_DIR}/Tests/ComplexRelativePaths"
  463. # --build-generator ${CMAKE_GENERATOR}
  464. # --build-project complex
  465. # --build-makeprogram ${MAKEPROGRAM}
  466. # --build-exe-dir "${CMake_BINARY_DIR}/Tests/ComplexRelativePaths/bin"
  467. # --build-options -DCMAKE_USE_RELATIVE_PATHS:BOOL=ON
  468. # --test-command complex)
  469. ENDIF(NOT COMPILER_IS_COMO)
  470. ADD_TEST(Example ${CMAKE_CTEST_COMMAND}
  471. --build-and-test
  472. "${CMake_SOURCE_DIR}/Example"
  473. "${CMake_BINARY_DIR}/Example"
  474. --build-generator ${CMAKE_GENERATOR}
  475. --build-project HELLO
  476. --build-makeprogram ${MAKEPROGRAM}
  477. --build-exe-dir "${CMake_BINARY_DIR}/Example/Demo"
  478. --test-command helloDemo
  479. )
  480. ADD_TEST(testing ${CMAKE_CTEST_COMMAND}
  481. --build-and-test
  482. "${CMake_SOURCE_DIR}/Tests/Testing"
  483. "${CMake_BINARY_DIR}/Tests/Testing"
  484. --build-generator ${CMAKE_GENERATOR}
  485. --build-project testing
  486. --build-makeprogram ${MAKEPROGRAM}
  487. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Testing/bin"
  488. --test-command testing
  489. )
  490. ADD_TEST(wrapping ${CMAKE_CTEST_COMMAND}
  491. --build-and-test
  492. "${CMake_SOURCE_DIR}/Tests/Wrapping"
  493. "${CMake_BINARY_DIR}/Tests/Wrapping"
  494. --build-generator ${CMAKE_GENERATOR}
  495. --build-project wrapping
  496. --build-makeprogram ${MAKEPROGRAM}
  497. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  498. --test-command wrapping
  499. )
  500. INCLUDE ( ${CMAKE_ROOT}/Modules/FindQt.cmake )
  501. MARK_AS_ADVANCED(
  502. QT_INCLUDE_PATH
  503. QT_MOC_EXE
  504. QT_QT_LIBRARY
  505. QT_UIC_EXE)
  506. IF (QT_FOUND AND QT_UIC_EXECUTABLE)
  507. ADD_TEST(qtwrapping ${CMAKE_CTEST_COMMAND}
  508. --build-and-test
  509. "${CMake_SOURCE_DIR}/Tests/Wrapping"
  510. "${CMake_BINARY_DIR}/Tests/Wrapping"
  511. --build-generator ${CMAKE_GENERATOR}
  512. --build-project Wrapping
  513. --build-makeprogram ${MAKEPROGRAM}
  514. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  515. --test-command qtwrapping
  516. )
  517. ENDIF (QT_FOUND AND QT_UIC_EXECUTABLE)
  518. ADD_TEST(testdriver1 ${CMAKE_CTEST_COMMAND}
  519. --build-and-test
  520. "${CMake_SOURCE_DIR}/Tests/TestDriver"
  521. "${CMake_BINARY_DIR}/Tests/TestDriver"
  522. --build-generator ${CMAKE_GENERATOR}
  523. --build-makeprogram ${MAKEPROGRAM}
  524. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  525. --build-project TestDriverTest
  526. --test-command TestDriverTest test1
  527. )
  528. ADD_TEST(testdriver2 ${CMAKE_CTEST_COMMAND}
  529. --build-and-test
  530. "${CMake_SOURCE_DIR}/Tests/TestDriver"
  531. "${CMake_BINARY_DIR}/Tests/TestDriver"
  532. --build-generator ${CMAKE_GENERATOR}
  533. --build-makeprogram ${MAKEPROGRAM}
  534. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  535. --build-project TestDriverTest
  536. --test-command TestDriverTest test2
  537. )
  538. ADD_TEST(testdriver3 ${CMAKE_CTEST_COMMAND}
  539. --build-and-test
  540. "${CMake_SOURCE_DIR}/Tests/TestDriver"
  541. "${CMake_BINARY_DIR}/Tests/TestDriver"
  542. --build-generator ${CMAKE_GENERATOR}
  543. --build-makeprogram ${MAKEPROGRAM}
  544. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  545. --build-project TestDriverTest
  546. --test-command TestDriverTest subdir/test3
  547. )
  548. ADD_TEST(dependency_w_libout ${CMAKE_CTEST_COMMAND}
  549. --build-and-test
  550. "${CMake_SOURCE_DIR}/Tests/Dependency"
  551. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  552. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec"
  553. --build-project Dependency
  554. --build-generator ${CMAKE_GENERATOR}
  555. --build-makeprogram ${MAKEPROGRAM}
  556. --build-options
  557. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  558. --test-command exec
  559. )
  560. ADD_TEST(dependency_wo_lib_out ${CMAKE_CTEST_COMMAND}
  561. --build-and-test
  562. "${CMake_SOURCE_DIR}/Tests/Dependency"
  563. "${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut"
  564. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec"
  565. --build-generator ${CMAKE_GENERATOR}
  566. --build-makeprogram ${MAKEPROGRAM}
  567. --build-project Dependency
  568. --test-command exec
  569. )
  570. ADD_TEST(dependency2 ${CMAKE_CTEST_COMMAND}
  571. --build-and-test
  572. "${CMake_SOURCE_DIR}/Tests/Dependency"
  573. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  574. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec2"
  575. --build-generator ${CMAKE_GENERATOR}
  576. --build-makeprogram ${MAKEPROGRAM}
  577. --build-project Dependency
  578. --build-options
  579. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  580. --test-command exec2
  581. )
  582. ADD_TEST(dependency3 ${CMAKE_CTEST_COMMAND}
  583. --build-and-test
  584. "${CMake_SOURCE_DIR}/Tests/Dependency"
  585. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  586. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec3"
  587. --build-generator ${CMAKE_GENERATOR}
  588. --build-makeprogram ${MAKEPROGRAM}
  589. --build-project Dependency
  590. --build-options
  591. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  592. --test-command exec3)
  593. ADD_TEST(dependency4 ${CMAKE_CTEST_COMMAND}
  594. --build-and-test
  595. "${CMake_SOURCE_DIR}/Tests/Dependency"
  596. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  597. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec4"
  598. --build-generator ${CMAKE_GENERATOR}
  599. --build-makeprogram ${MAKEPROGRAM}
  600. --build-project Dependency
  601. --build-options
  602. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  603. --test-command exec4
  604. )
  605. ADD_TEST(JumpWithLibOut ${CMAKE_CTEST_COMMAND}
  606. --build-and-test
  607. "${CMake_SOURCE_DIR}/Tests/Jump"
  608. "${CMake_BINARY_DIR}/Tests/Jump/WithLibOut"
  609. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Executable"
  610. --build-project Jump
  611. --build-generator ${CMAKE_GENERATOR}
  612. --build-makeprogram ${MAKEPROGRAM}
  613. --build-options
  614. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Lib
  615. --test-command jumpExecutable
  616. )
  617. ADD_TEST(JumpNoLibOut ${CMAKE_CTEST_COMMAND}
  618. --build-and-test
  619. "${CMake_SOURCE_DIR}/Tests/Jump"
  620. "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut"
  621. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable"
  622. --build-run-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable"
  623. --build-project Jump
  624. --build-generator ${CMAKE_GENERATOR}
  625. --build-makeprogram ${MAKEPROGRAM}
  626. --test-command jumpExecutable
  627. )
  628. ADD_TEST(linkline ${CMAKE_CTEST_COMMAND}
  629. --build-and-test
  630. "${CMake_SOURCE_DIR}/Tests/LinkLine"
  631. "${CMake_BINARY_DIR}/Tests/LinkLine"
  632. --build-exe-dir "${CMake_BINARY_DIR}/Tests/LinkLine"
  633. --build-generator ${CMAKE_GENERATOR}
  634. --build-makeprogram ${MAKEPROGRAM}
  635. --build-project Linkline
  636. --test-command Exec
  637. )
  638. ADD_TEST(linkorder1 ${CMAKE_CTEST_COMMAND}
  639. --build-and-test
  640. "${CMake_SOURCE_DIR}/Tests/LinkLineOrder"
  641. "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  642. --build-generator ${CMAKE_GENERATOR}
  643. --build-makeprogram ${MAKEPROGRAM}
  644. --build-exe-dir "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  645. --build-project LinkLineOrder
  646. --test-command Exec1
  647. )
  648. ADD_TEST(linkorder2 ${CMAKE_CTEST_COMMAND}
  649. --build-and-test
  650. "${CMake_SOURCE_DIR}/Tests/LinkLineOrder"
  651. "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  652. --build-exe-dir "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  653. --build-generator ${CMAKE_GENERATOR}
  654. --build-makeprogram ${MAKEPROGRAM}
  655. --build-project LinkLineOrder
  656. --test-command Exec2
  657. )
  658. ADD_TEST(ExternalOBJ ${CMAKE_CTEST_COMMAND}
  659. --build-and-test
  660. "${CMake_SOURCE_DIR}/Tests/ExternalOBJ"
  661. "${CMake_BINARY_DIR}/Tests/ExternalOBJ"
  662. --build-generator ${CMAKE_GENERATOR}
  663. --build-project ExternalOBJ
  664. --build-makeprogram ${MAKEPROGRAM}
  665. --build-exe-dir "${CMake_BINARY_DIR}/ExternalOBJ"
  666. --test-command executable
  667. )
  668. ADD_TEST(kwsys ${CMAKE_CTEST_COMMAND}
  669. --build-and-test
  670. "${CMake_SOURCE_DIR}/Source/kwsys"
  671. "${CMake_BINARY_DIR}/Tests/kwsys"
  672. --build-exe-dir "${CMake_BINARY_DIR}/Tests/kwsys"
  673. --build-generator ${CMAKE_GENERATOR}
  674. --build-makeprogram ${MAKEPROGRAM}
  675. --build-project kwsys
  676. --test-command testIOS
  677. )
  678. IF (WIN32)
  679. ADD_TEST(SubDir ${CMAKE_CTEST_COMMAND}
  680. --build-and-test
  681. "${CMake_SOURCE_DIR}/Tests/SubDir"
  682. "${CMake_BINARY_DIR}/Tests/SubDir"
  683. --build-exe-dir "${CMake_BINARY_DIR}/Tests/SubDir/Executable"
  684. --build-generator ${CMAKE_GENERATOR}
  685. --build-makeprogram ${MAKEPROGRAM}
  686. --build-project SUBDIR
  687. --test-command test
  688. "${CMake_BINARY_DIR}/Tests/SubDir/ShouldBeHere"
  689. "${CMake_BINARY_DIR}/Tests/SubDir/testfromsubdir.obj"
  690. )
  691. ELSE (WIN32)
  692. ADD_TEST(SubDir ${CMAKE_CTEST_COMMAND}
  693. --build-and-test
  694. "${CMake_SOURCE_DIR}/Tests/SubDir"
  695. "${CMake_BINARY_DIR}/Tests/SubDir"
  696. --build-exe-dir "${CMake_BINARY_DIR}/Tests/SubDir/Executable"
  697. --build-generator ${CMAKE_GENERATOR}
  698. --build-makeprogram ${MAKEPROGRAM}
  699. --build-project SUBDIR
  700. --test-command test
  701. "${CMake_BINARY_DIR}/Tests/SubDir/ShouldBeHere"
  702. "${CMake_BINARY_DIR}/Tests/SubDir/testfromsubdir.o"
  703. )
  704. ENDIF (WIN32)
  705. IF("${CMAKE_GENERATOR}" MATCHES "Makefile")
  706. ADD_TEST(MakeClean ${CMAKE_CTEST_COMMAND}
  707. --build-and-test
  708. "${CMake_SOURCE_DIR}/Tests/MakeClean"
  709. "${CMake_BINARY_DIR}/Tests/MakeClean"
  710. --build-generator ${CMAKE_GENERATOR}
  711. --build-project MakeClean
  712. --build-makeprogram ${MAKEPROGRAM}
  713. --build-exe-dir "${CMake_BINARY_DIR}/MakeClean"
  714. --test-command check_clean
  715. )
  716. ENDIF("${CMAKE_GENERATOR}" MATCHES "Makefile")
  717. IF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
  718. ADD_TEST(VSExternalInclude ${CMAKE_CTEST_COMMAND}
  719. --build-and-test
  720. "${CMake_SOURCE_DIR}/Tests/VSExternalInclude"
  721. "${CMake_BINARY_DIR}/Tests/VSExternalInclude"
  722. --build-two-config
  723. --build-generator ${CMAKE_GENERATOR}
  724. --build-project VSExternalInclude
  725. --build-makeprogram ${MAKEPROGRAM}
  726. --test-command VSExternalInclude)
  727. ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
  728. IF (APPLE AND CMAKE_COMPILER_IS_GNUCXX)
  729. ADD_TEST(objc++ ${CMAKE_CTEST_COMMAND}
  730. --build-and-test
  731. "${CMake_SOURCE_DIR}/Tests/Objc++"
  732. "${CMake_BINARY_DIR}/Tests/Objc++"
  733. --build-generator ${CMAKE_GENERATOR}
  734. --build-makeprogram ${MAKEPROGRAM}
  735. --build-project objc++
  736. --test-command objc++
  737. )
  738. ENDIF (APPLE AND CMAKE_COMPILER_IS_GNUCXX)
  739. IF (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS)
  740. CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest/test.cmake.in"
  741. "${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" @ONLY ESCAPE_QUOTES)
  742. ADD_TEST(CTestTest ${CMAKE_CTEST_COMMAND}
  743. -S "${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" -V
  744. --output-log "${CMake_BINARY_DIR}/Tests/CTestTest/testOutput.log"
  745. )
  746. CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest2/test.cmake.in"
  747. "${CMake_BINARY_DIR}/Tests/CTestTest2/test.cmake" @ONLY ESCAPE_QUOTES)
  748. ADD_TEST(CTestTest2 ${CMAKE_CTEST_COMMAND}
  749. -S "${CMake_BINARY_DIR}/Tests/CTestTest2/test.cmake" -V
  750. --output-log "${CMake_BINARY_DIR}/Tests/CTestTest2/testOutput.log"
  751. )
  752. CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest3/test.cmake.in"
  753. "${CMake_BINARY_DIR}/Tests/CTestTest3/test.cmake" @ONLY ESCAPE_QUOTES)
  754. ADD_TEST(CTestTest3 ${CMAKE_CTEST_COMMAND}
  755. -S "${CMake_BINARY_DIR}/Tests/CTestTest3/test.cmake" -V
  756. --output-log "${CMake_BINARY_DIR}/Tests/CTestTest3/testOutput.log"
  757. )
  758. ENDIF (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS)
  759. IF("${CMAKE_GENERATOR}" MATCHES XCode)
  760. SET(CMAKE_SKIP_BOOTSTRAP_TEST 1)
  761. ENDIF("${CMAKE_GENERATOR}" MATCHES XCode)
  762. IF(EXISTS "${CMAKE_BINARY_DIR}/CMakeLists.txt")
  763. # If there is CMakeLists.txt in the binary tree, assume in-source build
  764. SET(CMAKE_SKIP_BOOTSTRAP_TEST 1)
  765. ENDIF(EXISTS "${CMAKE_BINARY_DIR}/CMakeLists.txt")
  766. IF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
  767. ADD_TEST(BootstrapTest ${CMAKE_CTEST_COMMAND}
  768. --build-and-test
  769. ${CMake_SOURCE_DIR}
  770. ${CMake_BINARY_DIR}/Tests/BootstrapTest
  771. --build-nocmake
  772. --build-noclean
  773. --build-makeprogram ${CMake_SOURCE_DIR}/bootstrap
  774. --build-generator "${CMAKE_GENERATOR}"
  775. --test-command ${CMake_BINARY_DIR}/Tests/BootstrapTest/Bootstrap.cmk/cmake)
  776. ENDIF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
  777. IF(CMAKE_GENERATOR MATCHES "Makefiles")
  778. # see if we can find a fortran compiler on the machine
  779. # if so, add the fortran test and see if it works.
  780. SET(CMAKE_Fortran_COMPILER_LIST ifort ifc efc f95 pgf95
  781. lf95 xlf95 fort gfortran f90 pgf90 xlf90
  782. epcf90 f77 fort77 frt pgf77 xlf fl32 af77 g77 )
  783. FIND_PROGRAM(CMAKE_Fortran_COMPILER_FULLPATH NAMES ${CMAKE_Fortran_COMPILER_LIST} )
  784. MARK_AS_ADVANCED(CMAKE_Fortran_COMPILER_FULLPATH)
  785. IF(CMAKE_Fortran_COMPILER_FULLPATH)
  786. ADD_TEST(Fortran ${CMAKE_CTEST_COMMAND}
  787. --build-and-test
  788. "${CMake_SOURCE_DIR}/Tests/Fortran"
  789. "${CMake_BINARY_DIR}/Tests/Fortran"
  790. --build-generator ${CMAKE_GENERATOR}
  791. --build-project testf
  792. --build-makeprogram ${MAKEPROGRAM}
  793. --build-two-config
  794. --test-command testf)
  795. ENDIF(CMAKE_Fortran_COMPILER_FULLPATH)
  796. INCLUDE(FindJava)
  797. IF(JAVA_COMPILE AND JAVA_RUNTIME AND JAVA_ARCHIVE)
  798. GET_FILENAME_COMPONENT(JNIPATH ${JAVA_COMPILE} PATH)
  799. FIND_FILE(JNI_H jni.h
  800. "${JNIPATH}/../include"
  801. "${JNIPATH}/../java/include")
  802. IF(JNI_H)
  803. FILE(READ "${JNI_H}" JNI_FILE)
  804. IF("${JNI_FILE}" MATCHES "JDK1_2")
  805. ADD_TEST(Java ${CMAKE_CTEST_COMMAND}
  806. --build-and-test
  807. "${CMake_SOURCE_DIR}/Tests/Java"
  808. "${CMake_BINARY_DIR}/Tests/Java"
  809. --build-generator ${CMAKE_GENERATOR}
  810. --build-project hello
  811. --build-makeprogram ${MAKEPROGRAM}
  812. --build-two-config
  813. --build-run-dir "${CMake_BINARY_DIR}/Tests/Java/"
  814. --test-command ${JAVA_RUNTIME} -classpath hello.jar HelloWorld)
  815. ELSE("${JNI_FILE}" MATCHES "JDK1_2")
  816. MESSAGE(STATUS "No Java Test because ${JNI_H} does not contain JDK1_2 define")
  817. ENDIF("${JNI_FILE}" MATCHES "JDK1_2")
  818. ELSE(JNI_H)
  819. MESSAGE(STATUS "No Java Test because jni.h could not be found. tried:\n${JNIPATH}/../include and ${JNIPATH}/../java/include")
  820. ENDIF(JNI_H)
  821. ENDIF(JAVA_COMPILE AND JAVA_RUNTIME AND JAVA_ARCHIVE)
  822. ENDIF(CMAKE_GENERATOR MATCHES "Makefiles")
  823. IF (CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE OR WXWINDOWS_INCLUDE_DIR)
  824. # Will be set if the wxwindows gui is on
  825. ADD_TEST(UseWX ${CMAKE_CTEST_COMMAND}
  826. --build-and-test
  827. "${CMake_SOURCE_DIR}/Tests/UseWX"
  828. "${CMake_BINARY_DIR}/Tests/UseWX"
  829. --build-generator ${CMAKE_GENERATOR}
  830. --build-makeprogram ${MAKEPROGRAM}
  831. --build-exe-dir ${CMake_BINARY_DIR}/Tests/UseWX
  832. --build-project UsewxWindows
  833. --build-options -DCMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE:FILEPATH=${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE}
  834. --test-command UseWX
  835. )
  836. ENDIF (CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE OR WXWINDOWS_INCLUDE_DIR)
  837. IF(UNIX)
  838. STRING(COMPARE EQUAL "${CMAKE_INSTALL_PREFIX}" "${CMake_BINARY_DIR}/Tests/TestShellInstall/Prefix"
  839. PREFIX_IS_FOR_TEST)
  840. IF(PREFIX_IS_FOR_TEST)
  841. CONFIGURE_FILE(
  842. ${CMake_SOURCE_DIR}/Tests/TestInstall.sh.in
  843. ${CMake_BINARY_DIR}/Tests/TestShellInstall/TestInstall.sh
  844. @ONLY IMMEDIATE
  845. )
  846. ADD_TEST(ShellInstall /bin/sh ${CMake_BINARY_DIR}/Tests/TestShellInstall/TestShellInstall.sh)
  847. ENDIF(PREFIX_IS_FOR_TEST)
  848. ENDIF(UNIX)
  849. ENDIF(BUILD_TESTING)
  850. INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  851. INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  852. INSTALL_TARGETS(/bin cmake)
  853. INSTALL_TARGETS(/bin ctest)
  854. INSTALL_FILES(${CMAKE_DATA_DIR}/include cmCPluginAPI.h)