CMakeLists.txt 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552
  1. cmake_minimum_required(VERSION 2.8)
  2. project(ExternalProjectTest NONE)
  3. include(ExternalProject)
  4. find_package(CVS)
  5. find_package(Subversion)
  6. find_package(Git)
  7. set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER
  8. "CMakePredefinedTargets-in-ExternalProjectTest")
  9. set(base "${CMAKE_BINARY_DIR}/CMakeExternals")
  10. set(binary_base "${base}/Build")
  11. set_property(DIRECTORY PROPERTY EP_BASE ${base})
  12. if(NOT DEFINED can_build_tutorial_step5)
  13. set(can_build_tutorial_step5 1)
  14. # Tutorial Step5 cannot build correctly using Visual Studio 6
  15. # on Windows 98 if the path of its build tree exceeds 72
  16. # characters in length... So don't attempt to build it
  17. # in a long path on Win98:
  18. #
  19. if(CMAKE_SYSTEM STREQUAL "Windows-4.10")
  20. string(LENGTH "${binary_base}/TutorialStep5-Local" n)
  21. if(n GREATER 72)
  22. set(can_build_tutorial_step5 0)
  23. endif()
  24. endif()
  25. # The ExternalProject builds of Tutorial Step5 cannot be built
  26. # correctly 2nd and later times in an in-source build...
  27. # (because the CMakeCache.txt from the real in-source build of
  28. # the Tests/Tutorial/Step5 directory gets copied when we do
  29. # the "source directory copy" step... but it still refers to
  30. # its original path which yields a configure error.) So:
  31. #
  32. if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
  33. set(can_build_tutorial_step5 0)
  34. endif()
  35. endif()
  36. # Empty projects that test all the known ExternalProject_Add argument key words:
  37. #
  38. set(proj AAA-TestAlphabetization)
  39. ExternalProject_Add(${proj}
  40. BUILD_COMMAND ""
  41. CONFIGURE_COMMAND ""
  42. DOWNLOAD_COMMAND ""
  43. INSTALL_COMMAND ""
  44. )
  45. set(proj ZZZ-TestAlphabetization)
  46. ExternalProject_Add(${proj}
  47. BUILD_COMMAND ""
  48. CONFIGURE_COMMAND ""
  49. DOWNLOAD_COMMAND ""
  50. INSTALL_COMMAND ""
  51. )
  52. set(proj MinimalNoOpProject)
  53. ExternalProject_Add(${proj}
  54. BUILD_COMMAND ""
  55. CONFIGURE_COMMAND ""
  56. DOWNLOAD_COMMAND ""
  57. INSTALL_COMMAND ""
  58. )
  59. set(proj EmptyNoOpProject)
  60. ExternalProject_Add(${proj}
  61. BUILD_COMMAND ""
  62. CMAKE_ARGS ""
  63. CONFIGURE_COMMAND ""
  64. CVS_REPOSITORY ""
  65. CVS_MODULE ""
  66. CVS_TAG ""
  67. DEPENDS "MinimalNoOpProject"
  68. DOWNLOAD_COMMAND ""
  69. INSTALL_COMMAND ""
  70. PATCH_COMMAND ""
  71. SVN_REPOSITORY ""
  72. SVN_REVISION ""
  73. TEST_COMMAND ""
  74. TIMEOUT ""
  75. URL ""
  76. URL_MD5 ""
  77. UPDATE_COMMAND ""
  78. )
  79. set_property(TARGET ${proj} PROPERTY FOLDER "")
  80. # Local DIR:
  81. #
  82. if(can_build_tutorial_step5)
  83. set(proj TutorialStep5-Local)
  84. ExternalProject_Add(${proj}
  85. URL "${CMAKE_CURRENT_SOURCE_DIR}/../Tutorial/Step5"
  86. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -G ${CMAKE_GENERATOR} <SOURCE_DIR>
  87. TEST_BEFORE_INSTALL 1
  88. )
  89. set_property(TARGET ${proj} PROPERTY FOLDER "Local")
  90. ExternalProject_Get_Property(${proj} install_dir)
  91. set(TutorialStep5_install_dir ${install_dir})
  92. set(proj TutorialStep5-Local-TestAfterInstall)
  93. ExternalProject_Add(${proj}
  94. URL "${CMAKE_CURRENT_SOURCE_DIR}/../Tutorial/Step5"
  95. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -G ${CMAKE_GENERATOR} <SOURCE_DIR>
  96. TEST_AFTER_INSTALL 1
  97. )
  98. set_property(TARGET ${proj} PROPERTY FOLDER "Local")
  99. endif()
  100. # Local TAR:
  101. #
  102. set(proj TutorialStep1-LocalTAR)
  103. ExternalProject_Add(${proj}
  104. URL "${CMAKE_CURRENT_SOURCE_DIR}/Step1.tar"
  105. URL_MD5 a87c5b47c0201c09ddfe1d5738fdb1e3
  106. LIST_SEPARATOR ::
  107. PATCH_COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/Step1Patch.cmake
  108. CMAKE_GENERATOR "${CMAKE_GENERATOR}"
  109. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
  110. -DTEST_LIST:STRING=A::B::C
  111. INSTALL_COMMAND ""
  112. )
  113. set_property(TARGET ${proj} PROPERTY FOLDER "Local/TAR")
  114. set(proj TutorialStep1-LocalNoDirTAR)
  115. ExternalProject_Add(${proj}
  116. URL "${CMAKE_CURRENT_SOURCE_DIR}/Step1NoDir.tar"
  117. URL_MD5 d09e3d370c5c908fa035c30939ee438e
  118. LIST_SEPARATOR @@
  119. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -G ${CMAKE_GENERATOR} <SOURCE_DIR>
  120. -DTEST_LIST:STRING=1@@2@@3
  121. INSTALL_COMMAND ""
  122. )
  123. set_property(TARGET ${proj} PROPERTY FOLDER "Local/TAR")
  124. ExternalProject_Add_Step(${proj} mypatch
  125. COMMAND ${CMAKE_COMMAND} -E echo "This is a custom external project step."
  126. COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/Step1Patch.cmake
  127. WORKING_DIRECTORY <SOURCE_DIR>
  128. DEPENDEES download
  129. DEPENDERS configure
  130. )
  131. # Local TGZ:
  132. #
  133. set(proj TutorialStep1-LocalTGZ)
  134. ExternalProject_Add(${proj}
  135. URL "${CMAKE_CURRENT_SOURCE_DIR}/Step1.tgz"
  136. URL_MD5 38c648e817339c356f6be00eeed79bd0
  137. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -G ${CMAKE_GENERATOR} <SOURCE_DIR>
  138. INSTALL_COMMAND ""
  139. )
  140. set_property(TARGET ${proj} PROPERTY FOLDER "Local/TGZ")
  141. set(proj TutorialStep1-LocalNoDirTGZ)
  142. ExternalProject_Add(${proj}
  143. URL "${CMAKE_CURRENT_SOURCE_DIR}/Step1NoDir.tgz"
  144. URL_MD5 0b8182edcecdf40bf1c9d71d7d259f78
  145. CMAKE_GENERATOR "${CMAKE_GENERATOR}"
  146. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
  147. INSTALL_COMMAND ""
  148. )
  149. set_property(TARGET ${proj} PROPERTY FOLDER "Local/TGZ")
  150. # Local BZ2:
  151. #
  152. # (The bz2 tests are here just to verify that the bz2 decompression is executed
  153. # during a test suite run... The configure and build commands are set to
  154. # nothing to make the test quicker. To make this more complete, I should add
  155. # a diff between this and the TGZ source tree since that one does build...)
  156. #
  157. set(proj TutorialStep1-LocalBZ2)
  158. ExternalProject_Add(${proj}
  159. URL "${CMAKE_CURRENT_SOURCE_DIR}/Step1.tar.bz2"
  160. CONFIGURE_COMMAND ""
  161. BUILD_COMMAND ""
  162. INSTALL_COMMAND ""
  163. )
  164. set_property(TARGET ${proj} PROPERTY FOLDER "Local/BZ2")
  165. set(proj TutorialStep1-LocalNoDirBZ2)
  166. ExternalProject_Add(${proj}
  167. URL "${CMAKE_CURRENT_SOURCE_DIR}/Step1NoDir.tar.bz2"
  168. CONFIGURE_COMMAND ""
  169. BUILD_COMMAND ""
  170. INSTALL_COMMAND ""
  171. )
  172. set_property(TARGET ${proj} PROPERTY FOLDER "Local/BZ2")
  173. # Local ZIP:
  174. #
  175. # (The zip tests are here just to verify that the zip decompression is executed
  176. # during a test suite run... The configure and build commands are set to
  177. # nothing to make the test quicker. To make this more complete, I should add
  178. # a diff between this and the TGZ source tree since that one does build...)
  179. #
  180. set(proj TutorialStep1-LocalZIP)
  181. ExternalProject_Add(${proj}
  182. URL "${CMAKE_CURRENT_SOURCE_DIR}/Step1.zip"
  183. CONFIGURE_COMMAND ""
  184. BUILD_COMMAND ""
  185. INSTALL_COMMAND ""
  186. )
  187. set_property(TARGET ${proj} PROPERTY FOLDER "Local/ZIP")
  188. set(proj TutorialStep1-LocalNoDirZIP)
  189. ExternalProject_Add(${proj}
  190. URL "${CMAKE_CURRENT_SOURCE_DIR}/Step1NoDir.zip"
  191. CONFIGURE_COMMAND ""
  192. BUILD_COMMAND ""
  193. INSTALL_COMMAND ""
  194. )
  195. set_property(TARGET ${proj} PROPERTY FOLDER "Local/ZIP")
  196. # CVS-based tests:
  197. #
  198. set(do_cvs_tests 0)
  199. if(CVS_EXECUTABLE)
  200. set(do_cvs_tests 1)
  201. endif()
  202. if(do_cvs_tests AND NOT UNIX)
  203. if("${CVS_EXECUTABLE}" MATCHES "cygwin")
  204. message(STATUS "No ExternalProject cvs tests with cygwin cvs.exe outside cygwin!")
  205. set(do_cvs_tests 0)
  206. endif()
  207. endif()
  208. if(do_cvs_tests)
  209. # Unzip/untar the CVS repository in our source folder so that other
  210. # projects below may use it to test CVS args of ExternalProject_Add
  211. #
  212. set(proj SetupLocalCVSRepository)
  213. set(local_cvs_repo "${CMAKE_CURRENT_BINARY_DIR}/LocalRepositories/CVS")
  214. ExternalProject_Add(${proj}
  215. SOURCE_DIR ${local_cvs_repo}
  216. URL ${CMAKE_CURRENT_SOURCE_DIR}/cvsrepo.tgz
  217. URL_MD5 55fc85825ffdd9ed2597123c68b79f7e
  218. BUILD_COMMAND ""
  219. CONFIGURE_COMMAND "${CVS_EXECUTABLE}" --version
  220. INSTALL_COMMAND ""
  221. )
  222. set_property(TARGET ${proj}
  223. PROPERTY FOLDER "SetupRepos/Local/Deeply/Nested/For/Testing")
  224. # CVS by date stamp:
  225. #
  226. set(proj TutorialStep1-CVS-20090626)
  227. ExternalProject_Add(${proj}
  228. CVS_REPOSITORY "${local_cvs_repo}"
  229. CVS_MODULE "TutorialStep1"
  230. CVS_TAG "-D2009-06-26 16:50:00 UTC"
  231. UPDATE_COMMAND ""
  232. CMAKE_GENERATOR "${CMAKE_GENERATOR}"
  233. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
  234. INSTALL_COMMAND ""
  235. DEPENDS "SetupLocalCVSRepository"
  236. )
  237. set_property(TARGET ${proj} PROPERTY FOLDER "CVS")
  238. # CVS by tag:
  239. #
  240. set(proj TutorialStep1-CVS-testtag1)
  241. ExternalProject_Add(${proj}
  242. CVS_REPOSITORY "${local_cvs_repo}"
  243. CVS_MODULE "TutorialStep1"
  244. CVS_TAG -rtesttag1
  245. UPDATE_COMMAND ""
  246. CMAKE_GENERATOR "${CMAKE_GENERATOR}"
  247. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
  248. INSTALL_COMMAND ""
  249. DEPENDS "SetupLocalCVSRepository"
  250. )
  251. set_property(TARGET ${proj} PROPERTY FOLDER "CVS")
  252. # Live CVS / HEAD (no CVS_TAG):
  253. #
  254. set(proj TutorialStep1-CVS-HEAD)
  255. ExternalProject_Add(${proj}
  256. CVS_REPOSITORY "${local_cvs_repo}"
  257. CVS_MODULE "TutorialStep1"
  258. CMAKE_GENERATOR "${CMAKE_GENERATOR}"
  259. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
  260. INSTALL_COMMAND ""
  261. DEPENDS "SetupLocalCVSRepository"
  262. DEPENDS "EmptyNoOpProject"
  263. DEPENDS "TutorialStep1-LocalTAR"
  264. DEPENDS "TutorialStep1-LocalNoDirTAR"
  265. DEPENDS "TutorialStep1-LocalTGZ"
  266. DEPENDS "TutorialStep1-LocalNoDirTGZ"
  267. DEPENDS "TutorialStep1-CVS-20090626"
  268. DEPENDS "TutorialStep1-CVS-testtag1"
  269. )
  270. set_property(TARGET ${proj} PROPERTY FOLDER "CVS")
  271. endif()
  272. # SVN-based tests:
  273. #
  274. set(do_svn_tests 0)
  275. if(Subversion_SVN_EXECUTABLE)
  276. set(do_svn_tests 1)
  277. endif()
  278. # Only do svn tests with svn >= version 1.2
  279. #
  280. if(do_svn_tests)
  281. execute_process(COMMAND ${Subversion_SVN_EXECUTABLE} --version
  282. OUTPUT_VARIABLE Subversion_VERSION_SVN
  283. OUTPUT_STRIP_TRAILING_WHITESPACE)
  284. string(REGEX REPLACE "^(.*\n)?svn, version ([.0-9]+).*"
  285. "\\2" Subversion_VERSION_SVN "${Subversion_VERSION_SVN}")
  286. message(STATUS "Subversion_VERSION_SVN='${Subversion_VERSION_SVN}'")
  287. if(Subversion_VERSION_SVN VERSION_LESS 1.2)
  288. message(STATUS "No ExternalProject svn tests with svn client less than version 1.2")
  289. set(do_svn_tests 0)
  290. endif()
  291. endif()
  292. # Only do svn tests in cygwin/cygwin or not-cygwin/not-cygwin arrangements:
  293. #
  294. if(do_svn_tests)
  295. if(CMAKE_CURRENT_BINARY_DIR MATCHES "cygdrive/" AND
  296. NOT "${Subversion_SVN_EXECUTABLE}" MATCHES "cygwin")
  297. message(STATUS "No ExternalProject svn tests with non-cygwin svn client in a /cygdrive based build")
  298. set(do_svn_tests 0)
  299. endif()
  300. endif()
  301. if(do_svn_tests)
  302. # Unzip/untar the SVN repository in our source folder so that other
  303. # projects below may use it to test SVN args of ExternalProject_Add
  304. #
  305. set(proj SetupLocalSVNRepository)
  306. set(local_svn_repo "${CMAKE_CURRENT_BINARY_DIR}/LocalRepositories/SVN")
  307. set(local_svn_repo_url "file:///${local_svn_repo}/TutorialStep1")
  308. ExternalProject_Add(${proj}
  309. SOURCE_DIR ${local_svn_repo}
  310. URL ${CMAKE_CURRENT_SOURCE_DIR}/svnrepo.tgz
  311. URL_MD5 2f468be4ed1fa96377fca0cc830819c4
  312. BUILD_COMMAND ""
  313. CONFIGURE_COMMAND "${Subversion_SVN_EXECUTABLE}" --version
  314. INSTALL_COMMAND ""
  315. )
  316. set_property(TARGET ${proj}
  317. PROPERTY FOLDER "SetupRepos/Local/Deeply/Nested/For/Testing")
  318. # SVN by date stamp:
  319. #
  320. set(proj TutorialStep1-SVN-20090626)
  321. ExternalProject_Add(${proj}
  322. SVN_REPOSITORY "${local_svn_repo_url}"
  323. SVN_REVISION "-r{2009-06-26 16:50:00 +0000}"
  324. UPDATE_COMMAND ""
  325. CMAKE_GENERATOR "${CMAKE_GENERATOR}"
  326. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
  327. INSTALL_COMMAND ""
  328. DEPENDS "SetupLocalSVNRepository"
  329. )
  330. set_property(TARGET ${proj} PROPERTY FOLDER "SVN")
  331. # SVN by revision number:
  332. #
  333. set(proj TutorialStep1-SVN-r2)
  334. ExternalProject_Add(${proj}
  335. SVN_REPOSITORY "${local_svn_repo_url}"
  336. SVN_REVISION "-r2"
  337. UPDATE_COMMAND ""
  338. CMAKE_GENERATOR "${CMAKE_GENERATOR}"
  339. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
  340. INSTALL_COMMAND ""
  341. DEPENDS "SetupLocalSVNRepository"
  342. )
  343. set_property(TARGET ${proj} PROPERTY FOLDER "SVN")
  344. # Live SVN / trunk (no SVN_REVISION):
  345. #
  346. set(proj TutorialStep1-SVN-trunk)
  347. ExternalProject_Add(${proj}
  348. SVN_REPOSITORY "${local_svn_repo_url}"
  349. CMAKE_GENERATOR "${CMAKE_GENERATOR}"
  350. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
  351. INSTALL_COMMAND ""
  352. DEPENDS "SetupLocalSVNRepository"
  353. )
  354. set_property(TARGET ${proj} PROPERTY FOLDER "SVN")
  355. endif()
  356. set(do_git_tests 0)
  357. if(GIT_EXECUTABLE)
  358. set(do_git_tests 1)
  359. execute_process(
  360. COMMAND "${GIT_EXECUTABLE}" --version
  361. OUTPUT_VARIABLE ov
  362. OUTPUT_STRIP_TRAILING_WHITESPACE
  363. )
  364. string(REGEX REPLACE "^git version (.+)$" "\\1" git_version "${ov}")
  365. message(STATUS "git_version='${git_version}'")
  366. if(git_version VERSION_LESS 1.6.5)
  367. message(STATUS "No ExternalProject git tests with git client less than version 1.6.5")
  368. set(do_git_tests 0)
  369. endif()
  370. endif()
  371. if(do_git_tests)
  372. set(local_git_repo "../../LocalRepositories/GIT")
  373. # Unzip/untar the git repository in our source folder so that other
  374. # projects below may use it to test git args of ExternalProject_Add
  375. #
  376. set(proj SetupLocalGITRepository)
  377. ExternalProject_Add(${proj}
  378. SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/LocalRepositories/GIT
  379. URL ${CMAKE_CURRENT_SOURCE_DIR}/gitrepo.tgz
  380. BUILD_COMMAND ""
  381. CONFIGURE_COMMAND "${GIT_EXECUTABLE}" --version
  382. INSTALL_COMMAND ""
  383. )
  384. set_property(TARGET ${proj}
  385. PROPERTY FOLDER "SetupRepos/Local/Deeply/Nested/For/Testing")
  386. # git by commit id:
  387. #
  388. set(proj TutorialStep1-GIT-byhash)
  389. ExternalProject_Add(${proj}
  390. GIT_REPOSITORY "${local_git_repo}"
  391. GIT_TAG d1970730310fe8bc07e73f15dc570071f9f9654a
  392. UPDATE_COMMAND ""
  393. CMAKE_GENERATOR "${CMAKE_GENERATOR}"
  394. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
  395. INSTALL_COMMAND ""
  396. DEPENDS "SetupLocalGITRepository"
  397. )
  398. set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
  399. # git by explicit branch/tag name:
  400. #
  401. set(proj TutorialStep1-GIT-bytag)
  402. ExternalProject_Add(${proj}
  403. GIT_REPOSITORY "${local_git_repo}"
  404. GIT_TAG "origin/master"
  405. UPDATE_COMMAND ""
  406. CMAKE_GENERATOR "${CMAKE_GENERATOR}"
  407. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
  408. INSTALL_COMMAND ""
  409. DEPENDS "SetupLocalGITRepository"
  410. )
  411. set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
  412. # Live git / master (no GIT_TAG):
  413. #
  414. set(proj TutorialStep1-GIT-master)
  415. ExternalProject_Add(${proj}
  416. GIT_REPOSITORY "${local_git_repo}"
  417. CMAKE_GENERATOR "${CMAKE_GENERATOR}"
  418. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
  419. INSTALL_COMMAND ""
  420. DEPENDS "SetupLocalGITRepository"
  421. )
  422. set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
  423. endif()
  424. # Test the testable built/installed products:
  425. #
  426. enable_testing()
  427. # Do at least a smoke test of a built executable from each
  428. # project's build directory...
  429. #
  430. # BuildTree tests:
  431. #
  432. if(can_build_tutorial_step5)
  433. add_test(TutorialStep5-Local-BuildTreeTest
  434. "${binary_base}/TutorialStep5-Local/Tutorial" 42)
  435. set_property(TEST TutorialStep5-Local-BuildTreeTest
  436. APPEND PROPERTY LABELS Step5 BuildTree)
  437. endif()
  438. add_test(TutorialStep1-LocalTAR-BuildTreeTest
  439. "${binary_base}/TutorialStep1-LocalTAR/EP-Tutorial" 36)
  440. set_property(TEST TutorialStep1-LocalTAR-BuildTreeTest
  441. APPEND PROPERTY LABELS TAR)
  442. add_test(TutorialStep1-LocalNoDirTAR-BuildTreeTest
  443. "${binary_base}/TutorialStep1-LocalNoDirTAR/EP-Tutorial" 25)
  444. add_test(TutorialStep1-LocalTGZ-BuildTreeTest
  445. "${binary_base}/TutorialStep1-LocalTGZ/Tutorial" 16)
  446. set_property(TEST TutorialStep1-LocalTGZ-BuildTreeTest
  447. APPEND PROPERTY LABELS TGZ)
  448. add_test(TutorialStep1-LocalNoDirTGZ-BuildTreeTest
  449. "${binary_base}/TutorialStep1-LocalNoDirTGZ/Tutorial" 9)
  450. if(do_cvs_tests)
  451. add_test(TutorialStep1-CVS-20090626-BuildTreeTest
  452. "${binary_base}/TutorialStep1-CVS-20090626/Tutorial" 4)
  453. add_test(TutorialStep1-CVS-testtag1-BuildTreeTest
  454. "${binary_base}/TutorialStep1-CVS-testtag1/Tutorial" 64)
  455. add_test(TutorialStep1-CVS-HEAD-BuildTreeTest
  456. "${binary_base}/TutorialStep1-CVS-HEAD/Tutorial" 81)
  457. endif()
  458. if(do_svn_tests)
  459. add_test(TutorialStep1-SVN-20090626-BuildTreeTest
  460. "${binary_base}/TutorialStep1-SVN-20090626/Tutorial" 100)
  461. add_test(TutorialStep1-SVN-r2-BuildTreeTest
  462. "${binary_base}/TutorialStep1-SVN-r2/Tutorial" 99)
  463. add_test(TutorialStep1-SVN-trunk-BuildTreeTest
  464. "${binary_base}/TutorialStep1-SVN-trunk/Tutorial" 98)
  465. endif()
  466. # InstallTree tests:
  467. #
  468. if(can_build_tutorial_step5)
  469. add_test(TutorialStep5-InstallTreeTest
  470. "${TutorialStep5_install_dir}/bin/Tutorial" 49)
  471. set_property(TEST TutorialStep5-InstallTreeTest
  472. APPEND PROPERTY LABELS Step5 InstallTree)
  473. endif()
  474. message(STATUS "can_build_tutorial_step5='${can_build_tutorial_step5}'")
  475. message(STATUS "do_cvs_tests='${do_cvs_tests}'")
  476. message(STATUS "do_svn_tests='${do_svn_tests}'")
  477. message(STATUS "do_git_tests='${do_git_tests}'")
  478. message(STATUS "GIT_EXECUTABLE='${GIT_EXECUTABLE}'")