CMakeLists.txt 45 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319
  1. CMAKE_MINIMUM_REQUIRED(VERSION 1.5)
  2. INCLUDE_REGULAR_EXPRESSION("^.*$")
  3. # configure the .h file
  4. CONFIGURE_FILE(
  5. "${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in"
  6. "${CMake_BINARY_DIR}/Source/cmConfigure.h"
  7. )
  8. CONFIGURE_FILE(
  9. "${CMake_SOURCE_DIR}/Source/CPack/cmCPackConfigure.h.in"
  10. "${CMake_BINARY_DIR}/Source/CPack/cmCPackConfigure.h"
  11. )
  12. # add the include path to find the .h
  13. INCLUDE_DIRECTORIES(
  14. "${CMake_BINARY_DIR}/Source"
  15. "${CMake_SOURCE_DIR}/Source"
  16. ${CMAKE_ZLIB_INCLUDES}
  17. ${CMAKE_EXPAT_INCLUDES}
  18. ${CMAKE_TAR_INCLUDES}
  19. ${CMAKE_COMPRESS_INCLUDES}
  20. )
  21. # let cmake know it is supposed to use it
  22. ADD_DEFINITIONS(-DCMAKE_BUILD_WITH_CMAKE)
  23. OPTION(CMAKE_REGENERATE_YACCLEX
  24. "Regenerate YACC and LEXX files" OFF)
  25. MARK_AS_ADVANCED(CMAKE_REGENERATE_YACCLEX)
  26. IF(CMAKE_REGENERATE_YACCLEX)
  27. SET(parsersLexers cmCommandArgument cmExpr)
  28. FIND_PROGRAM(YACC_EXECUTABLE
  29. NAMES yacc bison
  30. PATHS /usr/bin
  31. DOC "Yacc or Bison executable")
  32. FIND_PROGRAM(FLEX_EXECUTABLE
  33. NAMES flex
  34. PATHS /usr/bin
  35. DOC "Flex executable")
  36. MARK_AS_ADVANCED(YACC_EXECUTABLE FLEX_EXECUTABLE)
  37. IF(YACC_EXECUTABLE)
  38. SET(BISON_FLAGS)
  39. IF(YACC_EXECUTABLE MATCHES "bison")
  40. SET(BISON_FLAGS "--yacc")
  41. ENDIF(YACC_EXECUTABLE MATCHES "bison")
  42. SET(yacc_files)
  43. FOREACH(name ${parsersLexers})
  44. SET(src "${CMAKE_CURRENT_SOURCE_DIR}/${name}Parser.y")
  45. SET(dst "${CMAKE_CURRENT_BINARY_DIR}/${name}Parser.cxx")
  46. SET(hdr "${CMAKE_CURRENT_BINARY_DIR}/${name}ParserTokens.h")
  47. ADD_CUSTOM_COMMAND(
  48. OUTPUT "${dst}"
  49. DEPENDS "${src}"
  50. COMMAND ${YACC_EXECUTABLE}
  51. ARGS --name-prefix=${name}_yy --defines="${hdr}" -o"${dst}" "${src}")
  52. SET(yacc_files ${yacc_files} "${dst}")
  53. ENDFOREACH(name)
  54. ADD_CUSTOM_TARGET(RerunYacc DEPENDS ${yacc_files})
  55. ENDIF(YACC_EXECUTABLE)
  56. IF(FLEX_EXECUTABLE)
  57. SET(lex_files)
  58. FOREACH(name ${parsersLexers})
  59. SET(src "${CMAKE_CURRENT_SOURCE_DIR}/${name}Lexer.in.l")
  60. SET(dst "${CMAKE_CURRENT_BINARY_DIR}/${name}Lexer.cxx")
  61. SET(hdr "${CMAKE_CURRENT_BINARY_DIR}/${name}Lexer.h")
  62. ADD_CUSTOM_COMMAND(
  63. OUTPUT "${dst}"
  64. DEPENDS "${src}"
  65. COMMAND ${FLEX_EXECUTABLE}
  66. ARGS --prefix=${name}_yy --header-file="${hdr}" -o"${dst}" "${src}")
  67. SET(lex_files ${lex_files} "${dst}")
  68. ENDFOREACH(name)
  69. ADD_CUSTOM_TARGET(RerunLex DEPENDS ${lex_files})
  70. ENDIF(FLEX_EXECUTABLE)
  71. ENDIF(CMAKE_REGENERATE_YACCLEX)
  72. #
  73. # Sources for CMakeLib
  74. #
  75. SET(SRCS
  76. cmBootstrapCommands.cxx
  77. cmCacheManager.cxx
  78. cmCacheManager.h
  79. cmCommands.cxx
  80. cmCommands.h
  81. cmCommandArgumentLexer.cxx
  82. cmCommandArgumentParser.cxx
  83. cmCommandArgumentParserHelper.cxx
  84. cmCustomCommand.cxx
  85. cmCustomCommand.h
  86. cmDepends.cxx
  87. cmDepends.h
  88. cmDependsC.cxx
  89. cmDependsC.h
  90. cmDependsFortran.cxx
  91. cmDependsFortran.h
  92. cmDependsFortranLexer.cxx
  93. cmDependsFortranParser.cxx
  94. cmDependsFortranParser.h
  95. cmDependsJava.cxx
  96. cmDependsJava.h
  97. cmDependsJavaLexer.cxx
  98. cmDependsJavaParser.cxx
  99. cmDependsJavaParserHelper.cxx
  100. cmDependsJavaParserHelper.h
  101. cmDocumentation.cxx
  102. cmDynamicLoader.cxx
  103. cmDynamicLoader.h
  104. cmExprLexer.cxx
  105. cmExprParser.cxx
  106. cmExprParserHelper.cxx
  107. cmFileTimeComparison.cxx
  108. cmFileTimeComparison.h
  109. cmGeneratedFileStream.cxx
  110. cmGlobalGenerator.cxx
  111. cmGlobalGenerator.h
  112. cmGlobalUnixMakefileGenerator3.cxx
  113. cmGlobalUnixMakefileGenerator3.h
  114. cmInstallGenerator.h
  115. cmInstallGenerator.cxx
  116. cmInstallFilesGenerator.h
  117. cmInstallFilesGenerator.cxx
  118. cmInstallScriptGenerator.h
  119. cmInstallScriptGenerator.cxx
  120. cmInstallTargetGenerator.h
  121. cmInstallTargetGenerator.cxx
  122. cmInstallDirectoryGenerator.h
  123. cmInstallDirectoryGenerator.cxx
  124. cmListFileCache.cxx
  125. cmListFileCache.h
  126. cmListFileLexer.c
  127. cmLocalGenerator.cxx
  128. cmLocalGenerator.h
  129. cmLocalUnixMakefileGenerator3.cxx
  130. cmMakeDepend.cxx
  131. cmMakeDepend.h
  132. cmMakefile.cxx
  133. cmMakefile.h
  134. cmMakefileTargetGenerator.cxx
  135. cmMakefileExecutableTargetGenerator.cxx
  136. cmMakefileLibraryTargetGenerator.cxx
  137. cmMakefileUtilityTargetGenerator.cxx
  138. cmOrderLinkDirectories.cxx
  139. cmProperty.cxx
  140. cmProperty.h
  141. cmPropertyDefinition.cxx
  142. cmPropertyDefinition.h
  143. cmPropertyDefinitionMap.cxx
  144. cmPropertyDefinitionMap.h
  145. cmPropertyMap.cxx
  146. cmPropertyMap.h
  147. cmSourceFile.cxx
  148. cmSourceFile.h
  149. cmSourceGroup.cxx
  150. cmSourceGroup.h
  151. cmSystemTools.cxx
  152. cmSystemTools.h
  153. cmTarget.cxx
  154. cmTarget.h
  155. cmTest.cxx
  156. cmTest.h
  157. cmVariableWatch.cxx
  158. cmVariableWatch.h
  159. cmVersion.cxx
  160. cmVersion.h
  161. cmXMLParser.cxx
  162. cmXMLParser.h
  163. cmake.cxx
  164. cmake.h
  165. cmakewizard.cxx
  166. cmakewizard.h
  167. )
  168. # Kdevelop only works on UNIX and not windows
  169. IF(UNIX)
  170. SET(SRCS ${SRCS}
  171. cmGlobalKdevelopGenerator.cxx)
  172. ENDIF(UNIX)
  173. # XCode only works on apple
  174. IF(APPLE)
  175. SET(SRCS ${SRCS}
  176. cmXCodeObject.cxx
  177. cmXCode21Object.cxx
  178. cmGlobalXCodeGenerator.cxx
  179. cmGlobalXCodeGenerator.h
  180. cmGlobalXCode21Generator.cxx
  181. cmGlobalXCode21Generator.h
  182. cmLocalXCodeGenerator.cxx
  183. cmLocalXCodeGenerator.h)
  184. ENDIF(APPLE)
  185. IF (WIN32)
  186. IF(NOT UNIX)
  187. SET(SRCS ${SRCS}
  188. cmGlobalBorlandMakefileGenerator.cxx
  189. cmGlobalBorlandMakefileGenerator.h
  190. cmGlobalMSYSMakefileGenerator.cxx
  191. cmGlobalMinGWMakefileGenerator.cxx
  192. cmGlobalNMakeMakefileGenerator.cxx
  193. cmGlobalNMakeMakefileGenerator.h
  194. cmGlobalVisualStudio6Generator.cxx
  195. cmGlobalVisualStudio6Generator.h
  196. cmGlobalVisualStudio71Generator.cxx
  197. cmGlobalVisualStudio71Generator.h
  198. cmGlobalVisualStudio7Generator.cxx
  199. cmGlobalVisualStudio7Generator.h
  200. cmGlobalVisualStudio8Generator.cxx
  201. cmGlobalVisualStudio8Generator.h
  202. cmGlobalVisualStudio8Win64Generator.cxx
  203. cmGlobalVisualStudio8Win64Generator.h
  204. cmGlobalWatcomWMakeGenerator.cxx
  205. cmLocalVisualStudio6Generator.cxx
  206. cmLocalVisualStudio6Generator.h
  207. cmLocalVisualStudio7Generator.cxx
  208. cmLocalVisualStudio7Generator.h
  209. cmLocalVisualStudioGenerator.cxx
  210. cmLocalVisualStudioGenerator.h
  211. cmWin32ProcessExecution.cxx
  212. cmWin32ProcessExecution.h
  213. )
  214. ENDIF(NOT UNIX)
  215. ENDIF (WIN32)
  216. # create a library used by the command line and the GUI
  217. ADD_LIBRARY(CMakeLib ${SRCS})
  218. TARGET_LINK_LIBRARIES(CMakeLib cmsys
  219. ${CMAKE_EXPAT_LIBRARIES} ${CMAKE_ZLIB_LIBRARIES}
  220. ${CMAKE_TAR_LIBRARIES} ${CMAKE_COMPRESS_LIBRARIES})
  221. # On Apple we need Carbon
  222. IF(APPLE)
  223. TARGET_LINK_LIBRARIES(CMakeLib "-framework CoreFoundation")
  224. ENDIF(APPLE)
  225. # On some platforms we need the rpcrt4 library for the VS 7 generators.
  226. IF(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW)
  227. TARGET_LINK_LIBRARIES(CMakeLib rpcrt4)
  228. ENDIF(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW)
  229. #
  230. # CTestLib
  231. #
  232. INCLUDE_DIRECTORIES(
  233. "${CMAKE_SOURCE_DIR}/Source/CTest"
  234. ${CMAKE_XMLRPC_INCLUDES}
  235. ${CMAKE_CURL_INCLUDES}
  236. )
  237. #
  238. # Sources for CTestLib
  239. #
  240. SET(CMTEST_SRCS cmCTest.cxx
  241. CTest/cmCTestBuildAndTestHandler.cxx
  242. CTest/cmCTestBuildCommand.cxx
  243. CTest/cmCTestBuildHandler.cxx
  244. CTest/cmCTestConfigureCommand.cxx
  245. CTest/cmCTestConfigureHandler.cxx
  246. CTest/cmCTestCoverageCommand.cxx
  247. CTest/cmCTestCoverageHandler.cxx
  248. CTest/cmCTestEmptyBinaryDirectoryCommand.cxx
  249. CTest/cmCTestGenericHandler.cxx
  250. CTest/cmCTestHandlerCommand.cxx
  251. CTest/cmCTestMemCheckCommand.cxx
  252. CTest/cmCTestMemCheckHandler.cxx
  253. CTest/cmCTestReadCustomFilesCommand.cxx
  254. CTest/cmCTestRunScriptCommand.cxx
  255. CTest/cmCTestScriptHandler.cxx
  256. CTest/cmCTestSleepCommand.cxx
  257. CTest/cmCTestStartCommand.cxx
  258. CTest/cmCTestSubmitCommand.cxx
  259. CTest/cmCTestSubmitHandler.cxx
  260. CTest/cmCTestTestCommand.cxx
  261. CTest/cmCTestTestHandler.cxx
  262. CTest/cmCTestUpdateCommand.cxx
  263. CTest/cmCTestUpdateHandler.cxx
  264. )
  265. # Build CTestLib
  266. ADD_LIBRARY(CTestLib ${CMTEST_SRCS})
  267. TARGET_LINK_LIBRARIES(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES})
  268. #
  269. # Sources for CPack
  270. #
  271. SET(CPACK_SRCS
  272. CPack/cmCPackGenerators.cxx
  273. CPack/cmCPackGenericGenerator.cxx
  274. CPack/cmCPackLog.cxx
  275. CPack/cmCPackNSISGenerator.cxx
  276. CPack/cmCPackOSXX11Generator.cxx
  277. CPack/cmCPackPackageMakerGenerator.cxx
  278. CPack/cmCPackSTGZGenerator.cxx
  279. CPack/cmCPackTGZGenerator.cxx
  280. CPack/cmCPackTarBZip2Generator.cxx
  281. CPack/cmCPackTarCompressGenerator.cxx
  282. CPack/cmCPackZIPGenerator.cxx
  283. CPack/cmCPackCygwinBinaryGenerator.cxx
  284. CPack/cmCPackCygwinSourceGenerator.cxx
  285. )
  286. # Build CPackLib
  287. ADD_LIBRARY(CPackLib ${CPACK_SRCS})
  288. TARGET_LINK_LIBRARIES(CPackLib CMakeLib)
  289. IF(APPLE)
  290. ADD_EXECUTABLE(cmakexbuild cmakexbuild.cxx)
  291. TARGET_LINK_LIBRARIES(cmakexbuild CMakeLib)
  292. ADD_EXECUTABLE(OSXScriptLauncher
  293. CPack/OSXScriptLauncher.cxx)
  294. TARGET_LINK_LIBRARIES(OSXScriptLauncher cmsys)
  295. TARGET_LINK_LIBRARIES(OSXScriptLauncher "-framework Carbon")
  296. ENDIF(APPLE)
  297. # Build CMake executable
  298. ADD_EXECUTABLE(cmake cmakemain.cxx)
  299. TARGET_LINK_LIBRARIES(cmake CMakeLib)
  300. ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
  301. TARGET_LINK_LIBRARIES(DumpDocumentation CMakeLib)
  302. # Build special executable for running programs on Windows 98
  303. IF(WIN32)
  304. IF(NOT UNIX)
  305. ADD_EXECUTABLE(cmw9xcom cmw9xcom.cxx)
  306. TARGET_LINK_LIBRARIES(cmw9xcom CMakeLib)
  307. INSTALL_TARGETS(/bin cmw9xcom)
  308. ENDIF(NOT UNIX)
  309. ENDIF(WIN32)
  310. # Build CTest executable
  311. ADD_EXECUTABLE(ctest ctest.cxx)
  312. TARGET_LINK_LIBRARIES(ctest CTestLib)
  313. # Build CPack executable
  314. ADD_EXECUTABLE(cpack CPack/cpack.cxx)
  315. TARGET_LINK_LIBRARIES(cpack CPackLib)
  316. # Curses GUI
  317. IF(BUILD_CursesDialog)
  318. INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
  319. ENDIF(BUILD_CursesDialog)
  320. # MFC GUI
  321. # MFC libraries are only available on Visual Studio
  322. IF(BUILD_MFCDialog)
  323. SUBDIRS(MFCDialog)
  324. ENDIF(BUILD_MFCDialog)
  325. # WX Widgets GUI
  326. OPTION(BUILD_WXDialog "Build wxWidgets dialog for CMake" FALSE)
  327. MARK_AS_ADVANCED(BUILD_WXDialog)
  328. IF(BUILD_WXDialog)
  329. SUBDIRS(WXDialog)
  330. ENDIF(BUILD_WXDialog)
  331. # Testing
  332. IF (NOT DART_ROOT)
  333. SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
  334. ENDIF (NOT DART_ROOT)
  335. IF(BUILD_TESTING)
  336. SET(CMAKE_TEST_GENERATOR "" CACHE STRING "Generator used when running tests")
  337. SET(CMAKE_TEST_MAKEPROGRAM "" CACHE FILEPATH "Generator used when running tests")
  338. IF(NOT CMAKE_TEST_GENERATOR)
  339. SET(CMAKE_TEST_GENERATOR "${CMAKE_GENERATOR}")
  340. SET(CMAKE_TEST_MAKEPROGRAM "${MAKEPROGRAM}")
  341. ELSE(NOT CMAKE_TEST_GENERATOR)
  342. SET(CMAKE_TEST_DIFFERENT_GENERATOR TRUE)
  343. ENDIF(NOT CMAKE_TEST_GENERATOR)
  344. # Are we testing with the MSVC compiler?
  345. SET(CMAKE_TEST_MSVC 0)
  346. IF(MSVC AND NOT CMAKE_TEST_DIFFERENT_GENERATOR)
  347. SET(CMAKE_TEST_MSVC 1)
  348. ELSE(MSVC AND NOT CMAKE_TEST_DIFFERENT_GENERATOR)
  349. IF("${CMAKE_TEST_GENERATOR}" MATCHES "NMake" OR
  350. "${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio")
  351. SET(CMAKE_TEST_MSVC 1)
  352. ENDIF("${CMAKE_TEST_GENERATOR}" MATCHES "NMake" OR
  353. "${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio")
  354. ENDIF(MSVC AND NOT CMAKE_TEST_DIFFERENT_GENERATOR)
  355. SET(CMAKE_TEST_SYSTEM_LIBRARIES 0)
  356. FOREACH(util CURL EXPAT XMLRPC ZLIB)
  357. IF(CMAKE_USE_SYSTEM_${util})
  358. SET(CMAKE_TEST_SYSTEM_LIBRARIES 1)
  359. ENDIF(CMAKE_USE_SYSTEM_${util})
  360. ENDFOREACH(util)
  361. # This variable is set by cmake, however to
  362. # test cmake we want to make sure that
  363. # the ctest from this cmake is used for testing
  364. # and not the ctest from the cmake building and testing
  365. # cmake.
  366. SET(CMAKE_CTEST_COMMAND "${EXECUTABLE_OUTPUT_PATH}/ctest")
  367. SET(CMAKE_CMAKE_COMMAND "${EXECUTABLE_OUTPUT_PATH}/cmake")
  368. # Should the long tests be run?
  369. OPTION(CMAKE_RUN_LONG_TESTS "Should the long tests be run (such as Bootstrap)." ON)
  370. MARK_AS_ADVANCED(CMAKE_RUN_LONG_TESTS)
  371. IF (CMAKE_RUN_LONG_TESTS)
  372. OPTION(CTEST_TEST_CTEST
  373. "Should the tests that run a full sub ctest process be run?"
  374. OFF)
  375. MARK_AS_ADVANCED(CTEST_TEST_CTEST)
  376. ENDIF (CMAKE_RUN_LONG_TESTS)
  377. ADD_TEST(CommandLineTest ${CMAKE_CTEST_COMMAND}
  378. --build-and-test
  379. "${CMake_SOURCE_DIR}/Tests/CommandLineTest"
  380. "${CMake_BINARY_DIR}/Tests/CommandLineTest"
  381. --build-two-config
  382. --build-generator ${CMAKE_TEST_GENERATOR}
  383. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  384. --build-project CommandLineTest
  385. --test-command CommandLineTest)
  386. ADD_TEST(TarTest ${CMAKE_CTEST_COMMAND}
  387. --build-and-test
  388. "${CMake_SOURCE_DIR}/Tests/TarTest"
  389. "${CMake_BINARY_DIR}/Tests/TarTest"
  390. --build-two-config
  391. --build-generator ${CMAKE_TEST_GENERATOR}
  392. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  393. --build-project TestTar
  394. --test-command TestTarExec)
  395. ADD_TEST(TargetName ${CMAKE_CTEST_COMMAND}
  396. --build-and-test
  397. "${CMake_SOURCE_DIR}/Tests/TargetName"
  398. "${CMake_BINARY_DIR}/Tests/TargetName"
  399. --build-two-config
  400. --build-generator ${CMAKE_TEST_GENERATOR}
  401. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  402. --build-project TargetName
  403. --test-command ${CMAKE_CMAKE_COMMAND} -E compare_files
  404. ${CMake_SOURCE_DIR}/Tests/TargetName/scripts/hello_world
  405. ${CMake_BINARY_DIR}/Tests/TargetName/scripts/hello_world)
  406. ADD_TEST(LibName ${CMAKE_CTEST_COMMAND}
  407. --build-and-test
  408. "${CMake_SOURCE_DIR}/Tests/LibName"
  409. "${CMake_BINARY_DIR}/Tests/LibName"
  410. --build-two-config
  411. --build-generator ${CMAKE_TEST_GENERATOR}
  412. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  413. --build-project LibName
  414. --build-exe-dir "${CMake_BINARY_DIR}/Tests/LibName/lib"
  415. --test-command foobar
  416. )
  417. ADD_TEST(CustComDepend ${CMAKE_CTEST_COMMAND}
  418. --build-and-test
  419. "${CMake_SOURCE_DIR}/Tests/CustComDepend"
  420. "${CMake_BINARY_DIR}/Tests/CustComDepend"
  421. --build-two-config
  422. --build-generator ${CMAKE_TEST_GENERATOR}
  423. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  424. --build-project CustComDepend
  425. --build-exe-dir "${CMake_BINARY_DIR}/Tests/CustComDepend/bin"
  426. --test-command foo bar.c
  427. )
  428. ADD_TEST(CustomCommand ${CMAKE_CTEST_COMMAND}
  429. --build-and-test
  430. "${CMake_SOURCE_DIR}/Tests/CustomCommand"
  431. "${CMake_BINARY_DIR}/Tests/CustomCommand"
  432. --build-two-config
  433. --build-generator ${CMAKE_TEST_GENERATOR}
  434. --build-project CustomCommand
  435. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  436. --build-exe-dir "${CMake_BINARY_DIR}/Tests/CustomCommand/bin"
  437. --test-command CustomCommand
  438. )
  439. ADD_TEST(CustomCommandWorkingDirectory ${CMAKE_CTEST_COMMAND}
  440. --build-and-test
  441. "${CMake_SOURCE_DIR}/Tests/CustomCommandWorkingDirectory"
  442. "${CMake_BINARY_DIR}/Tests/CustomCommandWorkingDirectory"
  443. --build-two-config
  444. --build-generator ${CMAKE_TEST_GENERATOR}
  445. --build-project TestWorkingDir
  446. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  447. --build-exe-dir "${CMake_BINARY_DIR}/Tests/CustomCommandWorkingDirectory"
  448. --test-command working
  449. )
  450. ADD_TEST(FindPackageTest ${CMAKE_CTEST_COMMAND}
  451. --build-and-test
  452. "${CMake_SOURCE_DIR}/Tests/FindPackageTest"
  453. "${CMake_BINARY_DIR}/Tests/FindPackageTest"
  454. --build-two-config
  455. --build-generator ${CMAKE_TEST_GENERATOR}
  456. --build-project FindPackageTest
  457. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  458. --test-command FindPackageTest)
  459. ADD_TEST(SystemInformation ${CMAKE_CTEST_COMMAND}
  460. --build-and-test
  461. "${CMake_SOURCE_DIR}/Tests/SystemInformation"
  462. "${CMake_BINARY_DIR}/Tests/SystemInformation"
  463. --build-two-config
  464. --build-generator ${CMAKE_TEST_GENERATOR}
  465. --build-project DumpInformation
  466. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  467. --test-command DumpInformation)
  468. ADD_TEST(SystemInformationNew
  469. ${CMAKE_CMAKE_COMMAND} -E chdir "${CMake_BINARY_DIR}"
  470. ${CMAKE_CMAKE_COMMAND} --system-information
  471. )
  472. ADD_TEST(StringFileTest ${CMAKE_CTEST_COMMAND}
  473. --build-and-test
  474. "${CMake_SOURCE_DIR}/Tests/StringFileTest"
  475. "${CMake_BINARY_DIR}/Tests/StringFileTest"
  476. --build-two-config
  477. --build-generator ${CMAKE_TEST_GENERATOR}
  478. --build-project StringFileTest
  479. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  480. --test-command StringFileTest)
  481. ADD_TEST(MathTest ${CMAKE_CTEST_COMMAND}
  482. --build-and-test
  483. "${CMake_SOURCE_DIR}/Tests/MathTest"
  484. "${CMake_BINARY_DIR}/Tests/MathTest"
  485. --build-two-config
  486. --build-generator ${CMAKE_TEST_GENERATOR}
  487. --build-project MathTest
  488. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  489. --test-command MathTestExec)
  490. ADD_TEST(TryCompile ${CMAKE_CTEST_COMMAND}
  491. --build-and-test
  492. "${CMake_SOURCE_DIR}/Tests/TryCompile"
  493. "${CMake_BINARY_DIR}/Tests/TryCompile"
  494. --build-generator ${CMAKE_TEST_GENERATOR}
  495. --build-project TryCompile
  496. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  497. --build-two-config
  498. --test-command TryCompile)
  499. ADD_TEST(simple ${CMAKE_CTEST_COMMAND}
  500. --build-and-test
  501. "${CMake_SOURCE_DIR}/Tests/Simple"
  502. "${CMake_BINARY_DIR}/Tests/Simple"
  503. --build-generator ${CMAKE_TEST_GENERATOR}
  504. --build-project Simple
  505. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  506. --build-two-config
  507. --test-command simple)
  508. #ADD_TEST(SimpleExclude ${CMAKE_CTEST_COMMAND}
  509. # --build-and-test
  510. # "${CMake_SOURCE_DIR}/Tests/SimpleExclude"
  511. # "${CMake_BINARY_DIR}/Tests/SimpleExclude"
  512. # --build-generator ${CMAKE_TEST_GENERATOR}
  513. # --build-project SimpleExclude
  514. # --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  515. # --build-two-config
  516. # --test-command t4
  517. # #--test-command "${CMAKE_COMMAND}"
  518. # #"-DCONFIGURATION=\${CTEST_CONFIGURATION_TYPE}"
  519. # #-P "${CMAKE_BINARY_DIR}/Tests/SimpleExclude/run.cmake"
  520. # )
  521. # ADD_TEST(SameName ${CMAKE_CTEST_COMMAND}
  522. # --build-and-test
  523. # "${CMake_SOURCE_DIR}/Tests/SameName"
  524. # "${CMake_BINARY_DIR}/Tests/SameName"
  525. # --build-generator ${CMAKE_TEST_GENERATOR}
  526. # --build-project SameName
  527. # --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  528. # --build-two-config
  529. # --test-command
  530. # "${CMake_BINARY_DIR}/Tests/SameName/Exe1/mytest2")
  531. ADD_TEST(OutOfSource ${CMAKE_CTEST_COMMAND}
  532. --build-and-test
  533. "${CMake_SOURCE_DIR}/Tests/OutOfSource"
  534. "${CMake_BINARY_DIR}/Tests/OutOfSource"
  535. --build-generator ${CMAKE_TEST_GENERATOR}
  536. --build-project OutOfSource
  537. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  538. --build-two-config
  539. --test-command
  540. "${CMake_BINARY_DIR}/Tests/OutOfSource/SubDir/OutOfSourceSubdir/simple")
  541. ADD_TEST(PreOrder ${CMAKE_CTEST_COMMAND}
  542. --build-and-test
  543. "${CMake_SOURCE_DIR}/Tests/PreOrder"
  544. "${CMake_BINARY_DIR}/Tests/PreOrder"
  545. --build-generator ${CMAKE_TEST_GENERATOR}
  546. --build-project PreOrder
  547. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  548. --build-two-config
  549. --test-command simple)
  550. ADD_TEST(conly ${CMAKE_CTEST_COMMAND}
  551. --build-and-test
  552. "${CMake_SOURCE_DIR}/Tests/COnly"
  553. "${CMake_BINARY_DIR}/Tests/COnly"
  554. --build-generator ${CMAKE_TEST_GENERATOR}
  555. --build-project conly
  556. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  557. --build-two-config
  558. --test-command conly)
  559. ADD_TEST(CxxOnly ${CMAKE_CTEST_COMMAND}
  560. --build-and-test
  561. "${CMake_SOURCE_DIR}/Tests/CxxOnly"
  562. "${CMake_BINARY_DIR}/Tests/CxxOnly"
  563. --build-generator ${CMAKE_TEST_GENERATOR}
  564. --build-project cxxonly
  565. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  566. --build-two-config
  567. --test-command cxxonly)
  568. ADD_TEST(MacroTest ${CMAKE_CTEST_COMMAND}
  569. --build-and-test
  570. "${CMake_SOURCE_DIR}/Tests/MacroTest"
  571. "${CMake_BINARY_DIR}/Tests/MacroTest"
  572. --build-generator ${CMAKE_TEST_GENERATOR}
  573. --build-project littleMacroTest
  574. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  575. --build-two-config
  576. --test-command miniMacroTest)
  577. SET(SimpleInstallInstallDir
  578. "${CMake_BINARY_DIR}/Tests/SimpleInstall/InstallDirectory")
  579. ADD_TEST(SimpleInstall ${CMAKE_CTEST_COMMAND}
  580. --build-and-test
  581. "${CMake_SOURCE_DIR}/Tests/SimpleInstall"
  582. "${CMake_BINARY_DIR}/Tests/SimpleInstall"
  583. --build-generator ${CMAKE_TEST_GENERATOR}
  584. --build-project TestSimpleInstall
  585. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  586. --build-two-config
  587. --build-options
  588. "-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
  589. --test-command ${SimpleInstallInstallDir}/MyTest/bin/SimpleInstallExe)
  590. ADD_TEST(SimpleInstall-Stage2 ${CMAKE_CTEST_COMMAND}
  591. --build-and-test
  592. "${CMake_SOURCE_DIR}/Tests/SimpleInstallS2"
  593. "${CMake_BINARY_DIR}/Tests/SimpleInstallS2"
  594. --build-generator ${CMAKE_TEST_GENERATOR}
  595. --build-project TestSimpleInstall
  596. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  597. --build-two-config
  598. --build-options
  599. "-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
  600. "-DSTAGE2:BOOL=1"
  601. --test-command ${SimpleInstallInstallDir}/MyTest/bin/SimpleInstallS2)
  602. ADD_TEST(X11 ${CMAKE_CTEST_COMMAND}
  603. --build-and-test
  604. "${CMake_SOURCE_DIR}/Tests/X11"
  605. "${CMake_BINARY_DIR}/Tests/X11"
  606. --build-generator ${CMAKE_TEST_GENERATOR}
  607. --build-project UseX11
  608. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  609. --build-two-config
  610. --test-command UseX11)
  611. ADD_TEST(LoadedCommand ${CMAKE_CTEST_COMMAND}
  612. --build-and-test
  613. "${CMake_SOURCE_DIR}/Tests/LoadCommand"
  614. "${CMake_BINARY_DIR}/Tests/LoadCommand"
  615. --build-generator ${CMAKE_TEST_GENERATOR}
  616. --build-project LoadedCommand
  617. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  618. --build-two-config
  619. --test-command LoadedCommand)
  620. ADD_TEST(LoadedCommandOneConfig ${CMAKE_CTEST_COMMAND}
  621. --build-and-test
  622. "${CMake_SOURCE_DIR}/Tests/LoadCommandOneConfig"
  623. "${CMake_BINARY_DIR}/Tests/LoadCommandOneConfig"
  624. --build-generator ${CMAKE_TEST_GENERATOR}
  625. --build-project LoadedCommand
  626. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  627. --test-command LoadedCommand
  628. )
  629. # Como does not seem to support shared libraries.
  630. GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_CXX_COMPILER} NAME_WE)
  631. IF(CMAKE_BASE_NAME MATCHES "^como$")
  632. SET(COMPILER_IS_COMO 1)
  633. ENDIF(CMAKE_BASE_NAME MATCHES "^como$")
  634. IF(NOT COMPILER_IS_COMO)
  635. ADD_TEST(complex ${CMAKE_CTEST_COMMAND}
  636. --build-and-test
  637. "${CMake_SOURCE_DIR}/Tests/Complex"
  638. "${CMake_BINARY_DIR}/Tests/Complex"
  639. --build-two-config
  640. --build-generator ${CMAKE_TEST_GENERATOR}
  641. --build-project Complex
  642. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  643. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Complex/bin"
  644. --build-options
  645. -DCMAKE_TEST_DIFFERENT_GENERATOR:BOOL=${CMAKE_TEST_DIFFERENT_GENERATOR}
  646. -DCMAKE_TEST_SYSTEM_LIBRARIES:BOOL=${CMAKE_TEST_SYSTEM_LIBRARIES}
  647. --test-command complex
  648. )
  649. ADD_TEST(complexOneConfig ${CMAKE_CTEST_COMMAND}
  650. --build-and-test
  651. "${CMake_SOURCE_DIR}/Tests/ComplexOneConfig"
  652. "${CMake_BINARY_DIR}/Tests/ComplexOneConfig"
  653. --build-generator ${CMAKE_TEST_GENERATOR}
  654. --build-project Complex
  655. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  656. --build-exe-dir "${CMake_BINARY_DIR}/Tests/ComplexOneConfig/bin"
  657. --build-options
  658. -DCMAKE_TEST_DIFFERENT_GENERATOR:BOOL=${CMAKE_TEST_DIFFERENT_GENERATOR}
  659. -DCMAKE_TEST_SYSTEM_LIBRARIES:BOOL=${CMAKE_TEST_SYSTEM_LIBRARIES}
  660. --test-command complex)
  661. ADD_TEST(SetLang ${CMAKE_CTEST_COMMAND}
  662. --build-and-test
  663. "${CMake_SOURCE_DIR}/Tests/SetLang"
  664. "${CMake_BINARY_DIR}/Tests/SetLang"
  665. --build-two-config
  666. --build-generator ${CMAKE_TEST_GENERATOR}
  667. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  668. --build-project SetLang
  669. --test-command bar)
  670. # ADD_TEST(ConvLibrary ${CMAKE_CTEST_COMMAND}
  671. # --build-and-test
  672. # "${CMake_SOURCE_DIR}/Tests/ConvLibrary"
  673. # "${CMake_BINARY_DIR}/Tests/ConvLibrary"
  674. # --build-two-config
  675. # --build-generator ${CMAKE_TEST_GENERATOR}
  676. # --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  677. # --build-project ConvLibrary
  678. # --test-command bartest)
  679. # ADD_TEST(complexRelativePaths ${CMAKE_CTEST_COMMAND}
  680. # --build-and-test
  681. # "${CMake_SOURCE_DIR}/Tests/ComplexRelativePaths"
  682. # "${CMake_BINARY_DIR}/Tests/ComplexRelativePaths"
  683. # --build-generator ${CMAKE_TEST_GENERATOR}
  684. # --build-project complex
  685. # --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  686. # --build-exe-dir "${CMake_BINARY_DIR}/Tests/ComplexRelativePaths/bin"
  687. # --build-options -DCMAKE_USE_RELATIVE_PATHS:BOOL=ON
  688. # --test-command complex)
  689. ENDIF(NOT COMPILER_IS_COMO)
  690. ADD_TEST(Example ${CMAKE_CTEST_COMMAND}
  691. --build-and-test
  692. "${CMake_SOURCE_DIR}/Example"
  693. "${CMake_BINARY_DIR}/Example"
  694. --build-generator ${CMAKE_TEST_GENERATOR}
  695. --build-project HELLO
  696. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  697. --build-exe-dir "${CMake_BINARY_DIR}/Example/Demo"
  698. --test-command helloDemo
  699. )
  700. ADD_TEST(TutorialStep1 ${CMAKE_CTEST_COMMAND}
  701. --build-and-test
  702. "${CMake_SOURCE_DIR}/Tests/Tutorial/Step1"
  703. "${CMake_BINARY_DIR}/Tests/Tutorial/Step1"
  704. --build-two-config
  705. --build-generator ${CMAKE_TEST_GENERATOR}
  706. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  707. --build-project Tutorial
  708. --test-command Tutorial 25.0)
  709. ADD_TEST(TutorialStep2 ${CMAKE_CTEST_COMMAND}
  710. --build-and-test
  711. "${CMake_SOURCE_DIR}/Tests/Tutorial/Step2"
  712. "${CMake_BINARY_DIR}/Tests/Tutorial/Step2"
  713. --build-two-config
  714. --build-generator ${CMAKE_TEST_GENERATOR}
  715. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  716. --build-project Tutorial
  717. --test-command Tutorial 25.0)
  718. ADD_TEST(TutorialStep3 ${CMAKE_CTEST_COMMAND}
  719. --build-and-test
  720. "${CMake_SOURCE_DIR}/Tests/Tutorial/Step3"
  721. "${CMake_BINARY_DIR}/Tests/Tutorial/Step3"
  722. --build-two-config
  723. --build-generator ${CMAKE_TEST_GENERATOR}
  724. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  725. --build-project Tutorial
  726. --test-command Tutorial 25.0)
  727. ADD_TEST(TutorialStep4 ${CMAKE_CTEST_COMMAND}
  728. --build-and-test
  729. "${CMake_SOURCE_DIR}/Tests/Tutorial/Step4"
  730. "${CMake_BINARY_DIR}/Tests/Tutorial/Step4"
  731. --build-two-config
  732. --build-generator ${CMAKE_TEST_GENERATOR}
  733. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  734. --build-project Tutorial
  735. --test-command Tutorial 25.0)
  736. ADD_TEST(TutorialStep5 ${CMAKE_CTEST_COMMAND}
  737. --build-and-test
  738. "${CMake_SOURCE_DIR}/Tests/Tutorial/Step5"
  739. "${CMake_BINARY_DIR}/Tests/Tutorial/Step5"
  740. --build-two-config
  741. --build-generator ${CMAKE_TEST_GENERATOR}
  742. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  743. --build-project Tutorial
  744. --test-command Tutorial 25.0)
  745. ADD_TEST(testing ${CMAKE_CTEST_COMMAND}
  746. --build-and-test
  747. "${CMake_SOURCE_DIR}/Tests/Testing"
  748. "${CMake_BINARY_DIR}/Tests/Testing"
  749. --build-generator ${CMAKE_TEST_GENERATOR}
  750. --build-project Testing
  751. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  752. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Testing/bin"
  753. --test-command testing
  754. )
  755. ADD_TEST(wrapping ${CMAKE_CTEST_COMMAND}
  756. --build-and-test
  757. "${CMake_SOURCE_DIR}/Tests/Wrapping"
  758. "${CMake_BINARY_DIR}/Tests/Wrapping"
  759. --build-generator ${CMAKE_TEST_GENERATOR}
  760. --build-project Wrapping
  761. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  762. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  763. --test-command wrapping
  764. )
  765. # use the FindQt3.cmake from this cmake as it may not be in an older version of cmake
  766. INCLUDE (${CMAKE_SOURCE_DIR}/Modules/FindQt3.cmake)
  767. MARK_AS_ADVANCED(
  768. QT_INCLUDE_PATH
  769. QT_MOC_EXE
  770. QT_QT_LIBRARY
  771. QT_UIC_EXE)
  772. IF (QT_FOUND AND QT_WRAP_UI)
  773. ADD_TEST(qtwrapping ${CMAKE_CTEST_COMMAND}
  774. --build-and-test
  775. "${CMake_SOURCE_DIR}/Tests/Wrapping"
  776. "${CMake_BINARY_DIR}/Tests/Wrapping"
  777. --build-generator ${CMAKE_TEST_GENERATOR}
  778. --build-project Wrapping
  779. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  780. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  781. --test-command qtwrapping
  782. )
  783. ENDIF (QT_FOUND AND QT_WRAP_UI)
  784. ADD_TEST(testdriver1 ${CMAKE_CTEST_COMMAND}
  785. --build-and-test
  786. "${CMake_SOURCE_DIR}/Tests/TestDriver"
  787. "${CMake_BINARY_DIR}/Tests/TestDriver"
  788. --build-generator ${CMAKE_TEST_GENERATOR}
  789. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  790. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  791. --build-project TestDriverTest
  792. --test-command TestDriverTest test1
  793. )
  794. ADD_TEST(testdriver2 ${CMAKE_CTEST_COMMAND}
  795. --build-and-test
  796. "${CMake_SOURCE_DIR}/Tests/TestDriver"
  797. "${CMake_BINARY_DIR}/Tests/TestDriver"
  798. --build-generator ${CMAKE_TEST_GENERATOR}
  799. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  800. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  801. --build-project TestDriverTest
  802. --test-command TestDriverTest test2
  803. )
  804. ADD_TEST(testdriver3 ${CMAKE_CTEST_COMMAND}
  805. --build-and-test
  806. "${CMake_SOURCE_DIR}/Tests/TestDriver"
  807. "${CMake_BINARY_DIR}/Tests/TestDriver"
  808. --build-generator ${CMAKE_TEST_GENERATOR}
  809. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  810. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
  811. --build-project TestDriverTest
  812. --test-command TestDriverTest subdir/test3
  813. )
  814. ADD_TEST(dependency_w_libout ${CMAKE_CTEST_COMMAND}
  815. --build-and-test
  816. "${CMake_SOURCE_DIR}/Tests/Dependency"
  817. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  818. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec"
  819. --build-project Dependency
  820. --build-generator ${CMAKE_TEST_GENERATOR}
  821. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  822. --build-options
  823. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  824. --test-command exec
  825. )
  826. ADD_TEST(dependency_wo_lib_out ${CMAKE_CTEST_COMMAND}
  827. --build-and-test
  828. "${CMake_SOURCE_DIR}/Tests/Dependency"
  829. "${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut"
  830. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec"
  831. --build-generator ${CMAKE_TEST_GENERATOR}
  832. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  833. --build-project Dependency
  834. --test-command exec
  835. )
  836. ADD_TEST(dependency2 ${CMAKE_CTEST_COMMAND}
  837. --build-and-test
  838. "${CMake_SOURCE_DIR}/Tests/Dependency"
  839. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  840. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec2"
  841. --build-generator ${CMAKE_TEST_GENERATOR}
  842. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  843. --build-project Dependency
  844. --build-options
  845. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  846. --test-command exec2
  847. )
  848. ADD_TEST(dependency3 ${CMAKE_CTEST_COMMAND}
  849. --build-and-test
  850. "${CMake_SOURCE_DIR}/Tests/Dependency"
  851. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  852. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec3"
  853. --build-generator ${CMAKE_TEST_GENERATOR}
  854. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  855. --build-project Dependency
  856. --build-options
  857. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  858. --test-command exec3)
  859. ADD_TEST(dependency4 ${CMAKE_CTEST_COMMAND}
  860. --build-and-test
  861. "${CMake_SOURCE_DIR}/Tests/Dependency"
  862. "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
  863. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec4"
  864. --build-generator ${CMAKE_TEST_GENERATOR}
  865. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  866. --build-project Dependency
  867. --build-options
  868. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
  869. --test-command exec4
  870. )
  871. ADD_TEST(JumpWithLibOut ${CMAKE_CTEST_COMMAND}
  872. --build-and-test
  873. "${CMake_SOURCE_DIR}/Tests/Jump"
  874. "${CMake_BINARY_DIR}/Tests/Jump/WithLibOut"
  875. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Executable"
  876. --build-project Jump
  877. --build-generator ${CMAKE_TEST_GENERATOR}
  878. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  879. --build-options
  880. -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Lib
  881. --test-command jumpExecutable
  882. )
  883. ADD_TEST(JumpNoLibOut ${CMAKE_CTEST_COMMAND}
  884. --build-and-test
  885. "${CMake_SOURCE_DIR}/Tests/Jump"
  886. "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut"
  887. --build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable"
  888. --build-run-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable"
  889. --build-project Jump
  890. --build-generator ${CMAKE_TEST_GENERATOR}
  891. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  892. --test-command jumpExecutable
  893. )
  894. ADD_TEST(linkline ${CMAKE_CTEST_COMMAND}
  895. --build-and-test
  896. "${CMake_SOURCE_DIR}/Tests/LinkLine"
  897. "${CMake_BINARY_DIR}/Tests/LinkLine"
  898. --build-exe-dir "${CMake_BINARY_DIR}/Tests/LinkLine"
  899. --build-generator ${CMAKE_TEST_GENERATOR}
  900. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  901. --build-project LinkLine
  902. --test-command Exec
  903. )
  904. ADD_TEST(linkorder1 ${CMAKE_CTEST_COMMAND}
  905. --build-and-test
  906. "${CMake_SOURCE_DIR}/Tests/LinkLineOrder"
  907. "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  908. --build-generator ${CMAKE_TEST_GENERATOR}
  909. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  910. --build-exe-dir "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  911. --build-project LinkLineOrder
  912. --test-command Exec1
  913. )
  914. ADD_TEST(linkorder2 ${CMAKE_CTEST_COMMAND}
  915. --build-and-test
  916. "${CMake_SOURCE_DIR}/Tests/LinkLineOrder"
  917. "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  918. --build-exe-dir "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
  919. --build-generator ${CMAKE_TEST_GENERATOR}
  920. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  921. --build-project LinkLineOrder
  922. --test-command Exec2
  923. )
  924. ADD_TEST(ExternalOBJ ${CMAKE_CTEST_COMMAND}
  925. --build-and-test
  926. "${CMake_SOURCE_DIR}/Tests/ExternalOBJ"
  927. "${CMake_BINARY_DIR}/Tests/ExternalOBJ"
  928. --build-generator ${CMAKE_TEST_GENERATOR}
  929. --build-project ExternalOBJ
  930. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  931. --build-exe-dir "${CMake_BINARY_DIR}/ExternalOBJ"
  932. --test-command executable
  933. )
  934. IF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
  935. ADD_TEST(kwsys ${CMAKE_CTEST_COMMAND}
  936. --build-and-test
  937. "${CMake_SOURCE_DIR}/Source/kwsys"
  938. "${CMake_BINARY_DIR}/Tests/kwsys"
  939. --build-exe-dir "${CMake_BINARY_DIR}/Tests/kwsys"
  940. --build-generator ${CMAKE_TEST_GENERATOR}
  941. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  942. --build-project kwsys
  943. --test-command testIOS
  944. )
  945. ENDIF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
  946. SET(MAKE_IS_GNU )
  947. IF(COMMAND EXECUTE_PROCESS AND ${CMAKE_TEST_MAKEPROGRAM} MATCHES make)
  948. EXECUTE_PROCESS(COMMAND ${CMAKE_TEST_MAKEPROGRAM} --version
  949. RESULT_VARIABLE res OUTPUT_VARIABLE out
  950. ERROR_QUIET
  951. )
  952. IF("${res}" EQUAL 0)
  953. IF("${out}" MATCHES "GNU")
  954. SET(MAKE_IS_GNU 1)
  955. ENDIF("${out}" MATCHES "GNU")
  956. ENDIF("${res}" EQUAL 0)
  957. ENDIF(COMMAND EXECUTE_PROCESS AND ${CMAKE_TEST_MAKEPROGRAM} MATCHES make)
  958. # only add this test on platforms that support it
  959. # some old versions of make simply cannot handle spaces in paths
  960. IF (MAKE_IS_GNU OR
  961. "${CMAKE_TEST_MAKEPROGRAM}" MATCHES "nmake|gmake|wmake" OR
  962. "${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio|XCode")
  963. ADD_TEST(SubDirSpaces ${CMAKE_CTEST_COMMAND}
  964. --build-and-test
  965. "${CMake_SOURCE_DIR}/Tests/SubDirSpaces"
  966. "${CMake_BINARY_DIR}/Tests/SubDirSpaces"
  967. --build-exe-dir
  968. "${CMake_BINARY_DIR}/Tests/SubDirSpaces/Executable Sources"
  969. --build-generator ${CMAKE_TEST_GENERATOR}
  970. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  971. --build-project SUBDIR
  972. --test-command test
  973. "${CMake_BINARY_DIR}/Tests/SubDirSpaces/ShouldBeHere"
  974. "${CMake_BINARY_DIR}/Tests/SubDirSpaces/testfromsubdir.obj"
  975. )
  976. ENDIF (MAKE_IS_GNU OR
  977. "${CMAKE_TEST_MAKEPROGRAM}" MATCHES "nmake|gmake|wmake" OR
  978. "${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio|XCode")
  979. IF (WIN32)
  980. ADD_TEST(SubDir ${CMAKE_CTEST_COMMAND}
  981. --build-and-test
  982. "${CMake_SOURCE_DIR}/Tests/SubDir"
  983. "${CMake_BINARY_DIR}/Tests/SubDir"
  984. --build-exe-dir "${CMake_BINARY_DIR}/Tests/SubDir/Executable"
  985. --build-generator ${CMAKE_TEST_GENERATOR}
  986. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  987. --build-project SUBDIR
  988. --test-command test
  989. "${CMake_BINARY_DIR}/Tests/SubDir/ShouldBeHere"
  990. "${CMake_BINARY_DIR}/Tests/SubDir/testfromsubdir.obj"
  991. )
  992. ELSE (WIN32)
  993. ADD_TEST(SubDir ${CMAKE_CTEST_COMMAND}
  994. --build-and-test
  995. "${CMake_SOURCE_DIR}/Tests/SubDir"
  996. "${CMake_BINARY_DIR}/Tests/SubDir"
  997. --build-exe-dir "${CMake_BINARY_DIR}/Tests/SubDir/Executable"
  998. --build-generator ${CMAKE_TEST_GENERATOR}
  999. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  1000. --build-project SUBDIR
  1001. --test-command test
  1002. "${CMake_BINARY_DIR}/Tests/SubDir/ShouldBeHere"
  1003. "${CMake_BINARY_DIR}/Tests/SubDir/testfromsubdir.o"
  1004. )
  1005. ENDIF (WIN32)
  1006. IF(CMAKE_TEST_MSVC)
  1007. ADD_TEST(PrecompiledHeader ${CMAKE_CTEST_COMMAND}
  1008. --build-and-test
  1009. "${CMake_SOURCE_DIR}/Tests/PrecompiledHeader"
  1010. "${CMake_BINARY_DIR}/Tests/PrecompiledHeader"
  1011. --build-generator ${CMAKE_TEST_GENERATOR}
  1012. --build-project PrecompiledHeader
  1013. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  1014. --build-two-config
  1015. --test-command foo)
  1016. ENDIF(CMAKE_TEST_MSVC)
  1017. IF("${CMAKE_TEST_GENERATOR}" MATCHES "Makefile")
  1018. ADD_TEST(MakeClean ${CMAKE_CTEST_COMMAND}
  1019. --build-and-test
  1020. "${CMake_SOURCE_DIR}/Tests/MakeClean"
  1021. "${CMake_BINARY_DIR}/Tests/MakeClean"
  1022. --build-generator ${CMAKE_TEST_GENERATOR}
  1023. --build-project MakeClean
  1024. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  1025. --build-exe-dir "${CMake_BINARY_DIR}/MakeClean"
  1026. --test-command check_clean
  1027. )
  1028. ENDIF("${CMAKE_TEST_GENERATOR}" MATCHES "Makefile")
  1029. IF(${CMAKE_TEST_GENERATOR} MATCHES "Visual Studio")
  1030. ADD_TEST(VSExternalInclude ${CMAKE_CTEST_COMMAND}
  1031. --build-and-test
  1032. "${CMake_SOURCE_DIR}/Tests/VSExternalInclude"
  1033. "${CMake_BINARY_DIR}/Tests/VSExternalInclude"
  1034. --build-two-config
  1035. --build-generator ${CMAKE_TEST_GENERATOR}
  1036. --build-project VSExternalInclude
  1037. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  1038. --test-command VSExternalInclude)
  1039. ENDIF(${CMAKE_TEST_GENERATOR} MATCHES "Visual Studio")
  1040. IF (APPLE AND CMAKE_COMPILER_IS_GNUCXX)
  1041. SET(BundleTestInstallDir
  1042. "${CMake_BINARY_DIR}/Tests/BundleTest/InstallDirectory")
  1043. ADD_TEST(BundleTest ${CMAKE_CTEST_COMMAND}
  1044. --build-and-test
  1045. "${CMake_SOURCE_DIR}/Tests/BundleTest"
  1046. "${CMake_BINARY_DIR}/Tests/BundleTest"
  1047. --build-two-config
  1048. --build-generator ${CMAKE_TEST_GENERATOR}
  1049. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  1050. --build-project BundleTest
  1051. --build-target install
  1052. # --build-target package
  1053. --build-options "-DCMAKE_INSTALL_PREFIX:PATH=${BundleTestInstallDir}"
  1054. "-DCMake_SOURCE_DIR:PATH=${CMAKE_SOURCE_DIR}"
  1055. --test-command
  1056. ${BundleTestInstallDir}/Application/SecondBundleExe.app/Contents/MacOS/SecondBundleExe)
  1057. ADD_TEST(objc++ ${CMAKE_CTEST_COMMAND}
  1058. --build-and-test
  1059. "${CMake_SOURCE_DIR}/Tests/ObjC++"
  1060. "${CMake_BINARY_DIR}/Tests/ObjC++"
  1061. --build-generator ${CMAKE_TEST_GENERATOR}
  1062. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  1063. --build-project objc++
  1064. --test-command objc++
  1065. )
  1066. ENDIF (APPLE AND CMAKE_COMPILER_IS_GNUCXX)
  1067. IF (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS)
  1068. CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest/test.cmake.in"
  1069. "${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" @ONLY ESCAPE_QUOTES)
  1070. ADD_TEST(CTestTest ${CMAKE_CTEST_COMMAND}
  1071. -S "${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" -V
  1072. --output-log "${CMake_BINARY_DIR}/Tests/CTestTest/testOutput.log"
  1073. )
  1074. CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest2/test.cmake.in"
  1075. "${CMake_BINARY_DIR}/Tests/CTestTest2/test.cmake" @ONLY ESCAPE_QUOTES)
  1076. ADD_TEST(CTestTest2 ${CMAKE_CTEST_COMMAND}
  1077. -S "${CMake_BINARY_DIR}/Tests/CTestTest2/test.cmake" -V
  1078. --output-log "${CMake_BINARY_DIR}/Tests/CTestTest2/testOutput.log"
  1079. )
  1080. CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest3/test.cmake.in"
  1081. "${CMake_BINARY_DIR}/Tests/CTestTest3/test.cmake" @ONLY ESCAPE_QUOTES)
  1082. ADD_TEST(CTestTest3 ${CMAKE_CTEST_COMMAND}
  1083. -S "${CMake_BINARY_DIR}/Tests/CTestTest3/test.cmake" -V
  1084. --output-log "${CMake_BINARY_DIR}/Tests/CTestTest3/testOutput.log"
  1085. )
  1086. # these tests take a long time, make sure they have it
  1087. IF(COMMAND SET_TESTS_PROPERTIES)
  1088. # if timeouts have not already been set
  1089. GET_TEST_PROPERTY(CTestTest TIMEOUT PREVIOUS_TIMEOUT)
  1090. IF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
  1091. SET_TESTS_PROPERTIES ( CTestTest PROPERTIES TIMEOUT 1500)
  1092. ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
  1093. GET_TEST_PROPERTY(CTestTest2 TIMEOUT PREVIOUS_TIMEOUT)
  1094. IF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
  1095. SET_TESTS_PROPERTIES ( CTestTest2 PROPERTIES TIMEOUT 1500)
  1096. ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
  1097. GET_TEST_PROPERTY(CTestTest3 TIMEOUT PREVIOUS_TIMEOUT)
  1098. IF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
  1099. SET_TESTS_PROPERTIES ( CTestTest3 PROPERTIES TIMEOUT 1500)
  1100. ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
  1101. ENDIF(COMMAND SET_TESTS_PROPERTIES)
  1102. ENDIF (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS)
  1103. IF("${CMAKE_TEST_GENERATOR}" MATCHES Xcode)
  1104. SET(CMAKE_SKIP_BOOTSTRAP_TEST 1)
  1105. ENDIF("${CMAKE_TEST_GENERATOR}" MATCHES Xcode)
  1106. IF(EXISTS "${CMAKE_BINARY_DIR}/CMakeLists.txt")
  1107. # If there is CMakeLists.txt in the binary tree, assume in-source build
  1108. SET(CMAKE_SKIP_BOOTSTRAP_TEST 1)
  1109. ENDIF(EXISTS "${CMAKE_BINARY_DIR}/CMakeLists.txt")
  1110. IF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
  1111. ADD_TEST(BootstrapTest ${CMAKE_CTEST_COMMAND}
  1112. --build-and-test
  1113. ${CMake_SOURCE_DIR}
  1114. ${CMake_BINARY_DIR}/Tests/BootstrapTest
  1115. --build-nocmake
  1116. --build-noclean
  1117. --build-makeprogram ${CMake_SOURCE_DIR}/bootstrap
  1118. --build-generator "${CMAKE_TEST_GENERATOR}"
  1119. --test-command
  1120. ${CMake_BINARY_DIR}/Tests/BootstrapTest/Bootstrap.cmk/cmake)
  1121. # provide more time for the bootstrap test
  1122. IF (COMMAND GET_TEST_PROPERTY)
  1123. GET_TEST_PROPERTY(BootstrapTest TIMEOUT PREVIOUS_TIMEOUT)
  1124. IF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
  1125. SET_TESTS_PROPERTIES ( BootstrapTest PROPERTIES TIMEOUT 1500)
  1126. ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
  1127. ENDIF (COMMAND GET_TEST_PROPERTY)
  1128. ENDIF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
  1129. # fortran does not work for IDE builds because
  1130. # CMAKE_STANDARD_LIBRARIES needs to be per language
  1131. IF(CMAKE_TEST_GENERATOR MATCHES "Makefiles")
  1132. # see if we can find a fortran compiler on the machine
  1133. # if so, add the fortran test and see if it works.
  1134. SET(CMAKE_Fortran_COMPILER_LIST ifort ifc efc f95 pgf95
  1135. lf95 xlf95 fort gfortran f90 pgf90 xlf90
  1136. epcf90 f77 fort77 frt pgf77 xlf fl32 af77 g77 )
  1137. FIND_PROGRAM(CMAKE_Fortran_COMPILER_FULLPATH NAMES ${CMAKE_Fortran_COMPILER_LIST} )
  1138. MARK_AS_ADVANCED(CMAKE_Fortran_COMPILER_FULLPATH)
  1139. IF(CMAKE_Fortran_COMPILER_FULLPATH)
  1140. ADD_TEST(Fortran ${CMAKE_CTEST_COMMAND}
  1141. --build-and-test
  1142. "${CMake_SOURCE_DIR}/Tests/Fortran"
  1143. "${CMake_BINARY_DIR}/Tests/Fortran"
  1144. --build-generator ${CMAKE_TEST_GENERATOR}
  1145. --build-project testf
  1146. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  1147. --build-two-config
  1148. --test-command testf)
  1149. ENDIF(CMAKE_Fortran_COMPILER_FULLPATH)
  1150. ENDIF(CMAKE_TEST_GENERATOR MATCHES "Makefiles")
  1151. IF(NOT CMAKE_TEST_GENERATOR MATCHES "Xcode")
  1152. INCLUDE(FindJava)
  1153. IF(JAVA_COMPILE AND JAVA_RUNTIME AND JAVA_ARCHIVE AND NOT MINGW)
  1154. GET_FILENAME_COMPONENT(JNIPATH ${JAVA_COMPILE} PATH)
  1155. FIND_FILE(JNI_H jni.h
  1156. "${JNIPATH}/../include"
  1157. "${JNIPATH}/../java/include")
  1158. IF(JNI_H)
  1159. FILE(READ "${JNI_H}" JNI_FILE)
  1160. IF("${JNI_FILE}" MATCHES "JDK1_2")
  1161. ADD_TEST(Java ${CMAKE_CTEST_COMMAND}
  1162. --build-and-test
  1163. "${CMake_SOURCE_DIR}/Tests/Java"
  1164. "${CMake_BINARY_DIR}/Tests/Java"
  1165. --build-generator ${CMAKE_TEST_GENERATOR}
  1166. --build-project hello
  1167. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  1168. --build-two-config
  1169. --build-run-dir "${CMake_BINARY_DIR}/Tests/Java/"
  1170. --test-command ${JAVA_RUNTIME} -classpath hello.jar HelloWorld)
  1171. ENDIF("${JNI_FILE}" MATCHES "JDK1_2")
  1172. ENDIF(JNI_H)
  1173. ENDIF(JAVA_COMPILE AND JAVA_RUNTIME AND JAVA_ARCHIVE AND NOT MINGW)
  1174. ENDIF(NOT CMAKE_TEST_GENERATOR MATCHES "Xcode")
  1175. IF(BUILD_WXDialog AND wxWidgets_CONFIG_EXECUTABLE)
  1176. # Will be set if the WX gui is on
  1177. ADD_TEST(UseWX ${CMAKE_CTEST_COMMAND}
  1178. --build-and-test
  1179. "${CMake_SOURCE_DIR}/Tests/UseWX"
  1180. "${CMake_BINARY_DIR}/Tests/UseWX"
  1181. --build-generator ${CMAKE_TEST_GENERATOR}
  1182. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  1183. --build-exe-dir ${CMake_BINARY_DIR}/Tests/UseWX
  1184. --build-project UsewxWidgets
  1185. --build-options -DwxWidgets_CONFIG_EXECUTABLE=${wxWidgets_CONFIG_EXECUTABLE}
  1186. --test-command UseWX
  1187. )
  1188. ENDIF(BUILD_WXDialog AND wxWidgets_CONFIG_EXECUTABLE)
  1189. IF(UNIX)
  1190. STRING(COMPARE EQUAL "${CMAKE_INSTALL_PREFIX}" "${CMake_BINARY_DIR}/Tests/TestShellInstall/Prefix"
  1191. PREFIX_IS_FOR_TEST)
  1192. IF(PREFIX_IS_FOR_TEST)
  1193. CONFIGURE_FILE(
  1194. ${CMake_SOURCE_DIR}/Tests/TestInstall.sh.in
  1195. ${CMake_BINARY_DIR}/Tests/TestShellInstall/TestInstall.sh
  1196. @ONLY IMMEDIATE
  1197. )
  1198. ADD_TEST(ShellInstall /bin/sh ${CMake_BINARY_DIR}/Tests/TestShellInstall/TestShellInstall.sh)
  1199. ENDIF(PREFIX_IS_FOR_TEST)
  1200. ENDIF(UNIX)
  1201. ENDIF(BUILD_TESTING)
  1202. INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  1203. INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
  1204. INSTALL_TARGETS(/bin cmake)
  1205. INSTALL_TARGETS(/bin ctest)
  1206. INSTALL_TARGETS(/bin cpack)
  1207. IF(APPLE)
  1208. INSTALL_TARGETS(/bin cmakexbuild)
  1209. ENDIF(APPLE)
  1210. INSTALL_FILES(${CMAKE_DATA_DIR}/include cmCPluginAPI.h)