1 cmake_minimum_required(VERSION 2.8)
2 project(ExternalProjectTest NONE)
4 include(ExternalProject)
6 # Test ExternalProject, especially with checkouts from VCS
9 find_package(Subversion)
13 option(ExternalProjectTest_USE_FOLDERS "Enable folder grouping in IDEs." ON)
14 if(ExternalProjectTest_USE_FOLDERS)
15 set_property(GLOBAL PROPERTY USE_FOLDERS ON)
17 set_property(GLOBAL PROPERTY USE_FOLDERS OFF)
20 set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER
21 "CMakePredefinedTargets-in-ExternalProjectTest")
23 set(base "${CMAKE_BINARY_DIR}/CMakeExternals")
24 set(binary_base "${base}/Build")
25 set_property(DIRECTORY PROPERTY EP_BASE ${base})
26 set_property(DIRECTORY PROPERTY EP_STEP_TARGETS configure build test)
28 add_custom_target(NonExternalProjectTarget
29 COMMAND ${CMAKE_COMMAND} -E echo NonExternalProjectTarget)
31 # Empty projects that test all the known ExternalProject_Add argument key words:
33 set(proj AAA-TestAlphabetization)
34 ExternalProject_Add(${proj}
41 set(proj ZZZ-TestAlphabetization)
42 ExternalProject_Add(${proj}
49 set(proj TargetNameSameAsFolder)
50 ExternalProject_Add(${proj}
56 set_property(TARGET ${proj} PROPERTY FOLDER "${proj}")
58 set(proj MinimalNoOpProject)
59 ExternalProject_Add(${proj}
66 set(proj EmptyNoOpProject)
67 ExternalProject_Add(${proj}
74 DEPENDS "MinimalNoOpProject" NonExternalProjectTarget
76 DOWNLOAD_NO_PROGRESS 1
79 STEP_TARGETS install update
91 set_property(TARGET ${proj} PROPERTY FOLDER "")
93 set(proj NoExtractLogDownload)
94 ExternalProject_Add(${proj}
95 URL ${CMAKE_CURRENT_SOURCE_DIR}/gitrepo.tgz
112 if(do_cvs_tests AND NOT UNIX)
113 if("${CVS_EXECUTABLE}" MATCHES "cygwin")
114 message(STATUS "No ExternalProject cvs tests with cygwin cvs.exe outside cygwin!")
120 # Unzip/untar the CVS repository in our source folder so that other
121 # projects below may use it to test CVS args of ExternalProject_Add
123 set(proj SetupLocalCVSRepository)
124 set(local_cvs_repo "${CMAKE_CURRENT_BINARY_DIR}/LocalRepositories/CVS")
125 ExternalProject_Add(${proj}
126 SOURCE_DIR ${local_cvs_repo}
127 URL ${CMAKE_CURRENT_SOURCE_DIR}/cvsrepo.tgz
128 URL_MD5 55fc85825ffdd9ed2597123c68b79f7e
130 CONFIGURE_COMMAND "${CVS_EXECUTABLE}" --version
133 set_property(TARGET ${proj}
134 PROPERTY FOLDER "SetupRepos/Local/Deeply/Nested/For/Testing")
136 # The MSYS cvs tool interprets "c:/" as a "machine:" name for SSH.
137 # Detect the MSYS cvs and convert the repo path to an MSYS path.
139 if(EXISTS "${CVS_EXECUTABLE}")
140 file(STRINGS "${CVS_EXECUTABLE}" cvs_is_msys LIMIT_COUNT 1 REGEX "[Mm][Ss][Yy][Ss]")
142 message(STATUS "'${CVS_EXECUTABLE}' is from MSYS (contains '${cvs_is_msys}')")
143 string(REGEX REPLACE "^([A-Za-z]):" "/\\1" local_cvs_repo "${local_cvs_repo}")
150 set(proj TutorialStep1-CVS-20090626)
151 ExternalProject_Add(${proj}
152 CVS_REPOSITORY "${local_cvs_repo}"
153 CVS_MODULE "TutorialStep1"
154 CVS_TAG "-D2009-06-26 16:50:00 UTC"
156 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
157 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
159 DEPENDS "SetupLocalCVSRepository"
161 set_property(TARGET ${proj} PROPERTY FOLDER "CVS")
165 set(proj TutorialStep1-CVS-testtag1)
166 ExternalProject_Add(${proj}
167 CVS_REPOSITORY "${local_cvs_repo}"
168 CVS_MODULE "TutorialStep1"
171 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
172 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
174 DEPENDS "SetupLocalCVSRepository"
176 set_property(TARGET ${proj} PROPERTY FOLDER "CVS")
178 # Live CVS / HEAD (no CVS_TAG):
180 set(proj TutorialStep1-CVS-HEAD)
181 ExternalProject_Add(${proj}
182 CVS_REPOSITORY "${local_cvs_repo}"
183 CVS_MODULE "TutorialStep1"
184 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
185 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
187 DEPENDS "SetupLocalCVSRepository"
188 DEPENDS "EmptyNoOpProject"
189 DEPENDS "TutorialStep1-CVS-20090626"
190 DEPENDS "TutorialStep1-CVS-testtag1"
192 set_property(TARGET ${proj} PROPERTY FOLDER "CVS")
200 if(Subversion_SVN_EXECUTABLE)
204 # Only do svn tests with svn >= version 1.2
207 if(Subversion_VERSION_SVN VERSION_LESS 1.2)
208 message(STATUS "No ExternalProject svn tests with svn client less than version 1.2")
213 # Only do svn tests in cygwin/cygwin or not-cygwin/not-cygwin arrangements:
216 if(CMAKE_CURRENT_BINARY_DIR MATCHES "cygdrive/" AND
217 NOT "${Subversion_SVN_EXECUTABLE}" MATCHES "cygwin")
218 message(STATUS "No ExternalProject svn tests with non-cygwin svn client in a /cygdrive based build")
224 # Unzip/untar the SVN repository in our source folder so that other
225 # projects below may use it to test SVN args of ExternalProject_Add
227 set(proj SetupLocalSVNRepository)
228 set(local_svn_repo "${CMAKE_CURRENT_BINARY_DIR}/LocalRepositories/SVN")
229 set(local_svn_repo_url "file:///${local_svn_repo}/TutorialStep1")
230 ExternalProject_Add(${proj}
231 SOURCE_DIR ${local_svn_repo}
232 URL ${CMAKE_CURRENT_SOURCE_DIR}/svnrepo.tgz
233 URL_MD5 2f468be4ed1fa96377fca0cc830819c4
235 CONFIGURE_COMMAND "${Subversion_SVN_EXECUTABLE}" --version
238 set_property(TARGET ${proj}
239 PROPERTY FOLDER "SetupRepos/Local/Deeply/Nested/For/Testing")
243 set(proj TutorialStep1-SVN-20090626)
244 ExternalProject_Add(${proj}
245 SVN_REPOSITORY "${local_svn_repo_url}"
246 SVN_REVISION "-r{2009-06-26 16:50:00 +0000}"
248 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
249 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
251 DEPENDS "SetupLocalSVNRepository"
253 set_property(TARGET ${proj} PROPERTY FOLDER "SVN")
255 # SVN by revision number:
257 set(proj TutorialStep1-SVN-r2)
258 ExternalProject_Add(${proj}
259 SVN_REPOSITORY "${local_svn_repo_url}"
262 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
263 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
265 DEPENDS "SetupLocalSVNRepository"
267 set_property(TARGET ${proj} PROPERTY FOLDER "SVN")
269 # Live SVN / trunk (no SVN_REVISION):
271 set(proj TutorialStep1-SVN-trunk)
272 ExternalProject_Add(${proj}
273 SVN_REPOSITORY "${local_svn_repo_url}"
274 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
275 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
277 DEPENDS "SetupLocalSVNRepository"
280 set_property(TARGET ${proj} PROPERTY FOLDER "SVN")
290 COMMAND "${GIT_EXECUTABLE}" --version
292 OUTPUT_STRIP_TRAILING_WHITESPACE
294 string(REGEX REPLACE "^git version (.+)$" "\\1" git_version "${ov}")
295 message(STATUS "git_version='${git_version}'")
297 if(git_version VERSION_LESS 1.6.5)
298 message(STATUS "No ExternalProject git tests with git client less than version 1.6.5")
305 set(local_git_repo "../../LocalRepositories/GIT")
307 # Unzip/untar the git repository in our source folder so that other
308 # projects below may use it to test git args of ExternalProject_Add
310 set(proj SetupLocalGITRepository)
311 ExternalProject_Add(${proj}
312 SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/LocalRepositories/GIT
313 URL ${CMAKE_CURRENT_SOURCE_DIR}/gitrepo.tgz
315 CONFIGURE_COMMAND "${GIT_EXECUTABLE}" --version
318 set_property(TARGET ${proj}
319 PROPERTY FOLDER "SetupRepos/Local/Deeply/Nested/For/Testing")
323 set(proj TutorialStep1-GIT-byhash)
324 ExternalProject_Add(${proj}
325 GIT_REPOSITORY "${local_git_repo}"
326 GIT_TAG d1970730310fe8bc07e73f15dc570071f9f9654a
328 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
329 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
331 DEPENDS "SetupLocalGITRepository"
333 set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
335 # git by explicit branch/tag name:
337 set(proj TutorialStep1-GIT-bytag)
338 ExternalProject_Add(${proj}
339 GIT_REPOSITORY "${local_git_repo}"
340 GIT_TAG "origin/master"
342 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
343 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
345 DEPENDS "SetupLocalGITRepository"
347 set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
349 # Live git / master (no GIT_TAG):
351 set(proj TutorialStep1-GIT-master)
352 ExternalProject_Add(${proj}
353 GIT_REPOSITORY "${local_git_repo}"
354 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
355 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
357 DEPENDS "SetupLocalGITRepository"
360 set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
362 # Live git / master (no GIT_TAG), but shallow
364 set(proj TutorialStep1-GIT-shallow-master)
365 ExternalProject_Add(${proj}
366 GIT_REPOSITORY "${local_git_repo}"
368 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
369 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
371 DEPENDS "SetupLocalGITRepository"
374 set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
376 # Live git / master (no GIT_TAG), but git config flags
378 # The `git clone --config` parameter has been introduced in Git 1.7.7
379 if(NOT git_version VERSION_LESS 1.7.7)
380 set(proj TutorialStep1-GIT-config)
381 ExternalProject_Add(${proj}
382 GIT_REPOSITORY "${local_git_repo}"
383 GIT_CONFIG core.eol=lf
385 "http.extraheader=AUTHORIZATION: bearer --unsupportedOption"
386 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
387 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
389 DEPENDS "SetupLocalGITRepository"
392 set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
395 # git by explicit branch/tag with empty submodule list
397 set(proj TutorialStep1-GIT-bytag-withsubmodules)
398 ExternalProject_Add(${proj}
399 GIT_REPOSITORY "${local_git_repo}"
400 GIT_TAG "origin/master"
403 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
404 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
406 DEPENDS "SetupLocalGITRepository"
408 set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
410 # Unzip/untar the git repository in our source folder so that other
411 # projects below may use it to test git args of ExternalProject_Add
413 set(proj SetupLocalGITRepositoryWithSubmodules)
414 ExternalProject_Add(${proj}
415 SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/LocalRepositories/GIT-with-submodules
416 URL ${CMAKE_CURRENT_SOURCE_DIR}/gitrepo-sub.tgz
418 CONFIGURE_COMMAND "${GIT_EXECUTABLE}" --version
421 set_property(TARGET ${proj}
422 PROPERTY FOLDER "SetupRepos/Local/Deeply/Nested/For/Testing")
424 set(local_git_repo "../../LocalRepositories/GIT-with-submodules")
426 set(proj TS1-GIT-all-GIT_SUBMODULES)
427 ExternalProject_Add(${proj}
428 GIT_REPOSITORY "${local_git_repo}"
429 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
430 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
435 DEPENDS "SetupLocalGITRepository"
436 "SetupLocalGITRepositoryWithSubmodules"
438 set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
440 set(proj TS1-GIT-all-GIT_SUBMODULES-via-CMP0097-OLD)
441 cmake_policy(SET CMP0097 OLD)
442 ExternalProject_Add(${proj}
443 GIT_REPOSITORY "${local_git_repo}"
445 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
446 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
451 DEPENDS "SetupLocalGITRepository"
452 "SetupLocalGITRepositoryWithSubmodules"
454 set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
456 set(proj TS1-GIT-no-GIT_SUBMODULES)
457 cmake_policy(SET CMP0097 NEW)
458 ExternalProject_Add(${proj}
459 GIT_REPOSITORY "${local_git_repo}"
461 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
462 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
467 DEPENDS "SetupLocalGITRepository"
468 "SetupLocalGITRepositoryWithSubmodules"
470 set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
472 set(proj TS1-GIT-some-GIT_SUBMODULES)
473 ExternalProject_Add(${proj}
474 GIT_REPOSITORY "${local_git_repo}"
475 GIT_SUBMODULES "m/m1"
476 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
477 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
482 DEPENDS "SetupLocalGITRepository"
483 "SetupLocalGITRepositoryWithSubmodules"
485 set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
487 # Unzip/untar the git repository in our source folder so that other
488 # projects below may use it to test git args of ExternalProject_Add
490 set(proj SetupLocalGITRepositoryWithRecursiveSubmodules)
491 ExternalProject_Add(${proj}
492 SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/LocalRepositories/GIT-with-recursive-submodules
493 URL ${CMAKE_CURRENT_SOURCE_DIR}/gitrepo-sub-rec.tgz
495 CONFIGURE_COMMAND "${GIT_EXECUTABLE}" --version
498 set_property(TARGET ${proj}
499 PROPERTY FOLDER "SetupRepos/Local/Deeply/Nested/For/Testing")
501 set(local_git_repo "../../LocalRepositories/GIT-with-recursive-submodules")
503 set(proj TS1-GIT-RECURSIVE_SUBMODULES-default)
504 ExternalProject_Add(${proj}
505 GIT_REPOSITORY "${local_git_repo}"
506 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
507 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
508 -DWITH_RECURSIVE:BOOL=ON
511 DEPENDS "SetupLocalGITRepository"
512 "SetupLocalGITRepositoryWithSubmodules"
513 "SetupLocalGITRepositoryWithRecursiveSubmodules"
515 set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
517 set(proj TS1-GIT-RECURSIVE_SUBMODULES-exclusive)
518 ExternalProject_Add(${proj}
519 GIT_REPOSITORY "${local_git_repo}"
520 GIT_SUBMODULES_RECURSE TRUE
521 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
522 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
523 -DWITH_RECURSIVE:BOOL=ON
526 DEPENDS "SetupLocalGITRepository"
527 "SetupLocalGITRepositoryWithSubmodules"
528 "SetupLocalGITRepositoryWithRecursiveSubmodules"
530 set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
532 set(proj TS1-GIT-RECURSIVE_SUBMODULES-off)
533 ExternalProject_Add(${proj}
534 GIT_REPOSITORY "${local_git_repo}"
535 GIT_SUBMODULES_RECURSE FALSE
536 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
537 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
538 -DWITH_RECURSIVE:BOOL=OFF
541 DEPENDS "SetupLocalGITRepository"
542 "SetupLocalGITRepositoryWithSubmodules"
543 "SetupLocalGITRepositoryWithRecursiveSubmodules"
545 set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
555 if(do_hg_tests AND NOT UNIX)
556 if("${HG_EXECUTABLE}" MATCHES "cygwin")
557 message(STATUS "No ExternalProject hg tests with cygwin hg outside cygwin!")
563 set(local_hg_repo "../../LocalRepositories/HG")
565 # Unzip/untar the hg repository in our source folder so that other
566 # projects below may use it to test hg args of ExternalProject_Add
568 set(proj SetupLocalHGRepository)
569 ExternalProject_Add(${proj}
570 SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/LocalRepositories/HG
571 URL ${CMAKE_CURRENT_SOURCE_DIR}/hgrepo.tgz
573 CONFIGURE_COMMAND "${HG_EXECUTABLE}" --version
576 set_property(TARGET ${proj}
577 PROPERTY FOLDER "SetupRepos/Local/Deeply/Nested/For/Testing")
582 set(proj TutorialStep1-HG-byhash)
583 ExternalProject_Add(${proj}
584 HG_REPOSITORY "${local_hg_repo}"
587 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
588 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
590 DEPENDS "SetupLocalHGRepository"
592 set_property(TARGET ${proj} PROPERTY FOLDER "HG")
594 # hg by explicit branch/tag name:
596 set(proj TutorialStep1-HG-bytag)
597 ExternalProject_Add(${proj}
598 HG_REPOSITORY "${local_hg_repo}"
601 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
602 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
604 DEPENDS "SetupLocalHGRepository"
606 set_property(TARGET ${proj} PROPERTY FOLDER "HG")
608 # Live hg / tip (no HG_TAG):
610 # Mercurial 2.1 does not distinguish an empty pull from a failed pull,
611 # so do not run the test with that version.
612 if(NOT "${HG_VERSION_STRING}" STREQUAL "2.1")
613 set(proj TutorialStep1-HG-tip)
614 ExternalProject_Add(${proj}
615 HG_REPOSITORY "${local_hg_repo}"
616 CMAKE_GENERATOR "${CMAKE_GENERATOR}"
617 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
619 DEPENDS "SetupLocalHGRepository"
622 set_property(TARGET ${proj} PROPERTY FOLDER "HG")
627 # Test the testable built/installed products:
632 # Do at least a smoke test of a built executable from each
633 # project's build directory...
638 add_test(TutorialStep1-CVS-20090626-BuildTreeTest
639 "${binary_base}/TutorialStep1-CVS-20090626/Tutorial" 4)
641 add_test(TutorialStep1-CVS-testtag1-BuildTreeTest
642 "${binary_base}/TutorialStep1-CVS-testtag1/Tutorial" 64)
644 add_test(TutorialStep1-CVS-HEAD-BuildTreeTest
645 "${binary_base}/TutorialStep1-CVS-HEAD/Tutorial" 81)
649 add_test(TutorialStep1-SVN-20090626-BuildTreeTest
650 "${binary_base}/TutorialStep1-SVN-20090626/Tutorial" 100)
652 add_test(TutorialStep1-SVN-r2-BuildTreeTest
653 "${binary_base}/TutorialStep1-SVN-r2/Tutorial" 99)
655 add_test(TutorialStep1-SVN-trunk-BuildTreeTest
656 "${binary_base}/TutorialStep1-SVN-trunk/Tutorial" 98)
660 add_test(TutorialStep1-GIT-byhash
661 "${binary_base}/TutorialStep1-GIT-byhash/Tutorial" 100)
663 add_test(TutorialStep1-GIT-bytag
664 "${binary_base}/TutorialStep1-GIT-bytag/Tutorial" 99)
666 add_test(TutorialStep1-GIT-bytag-withsubmodules
667 "${binary_base}/TutorialStep1-GIT-bytag-withsubmodules/Tutorial" 99)
669 add_test(TutorialStep1-GIT-shallow-master
670 "${binary_base}/TutorialStep1-GIT-shallow-master/Tutorial" 98)
672 add_test(TutorialStep1-GIT-master
673 "${binary_base}/TutorialStep1-GIT-master/Tutorial" 98)
675 if(NOT git_version VERSION_LESS 1.7.7)
676 add_test(TutorialStep1-GIT-config
677 "${binary_base}/TutorialStep1-GIT-config/Tutorial" 98)
682 message(STATUS "do_cvs_tests='${do_cvs_tests}'")
683 message(STATUS "do_svn_tests='${do_svn_tests}'")
684 message(STATUS "do_git_tests='${do_git_tests}' GIT_EXECUTABLE='${GIT_EXECUTABLE}'")
685 message(STATUS "do_hg_tests='${do_hg_tests}' HG_EXECUTABLE='${HG_EXECUTABLE}'")
688 # Test if log works when the first arguments of *_COMMAND is "COMMAND".
689 set(proj ExternalProject-no-log)
693 set(configure_cmd "")
697 ExternalProject_Add(${proj}
698 DOWNLOAD_COMMAND "${download_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "download"
699 PATCH_COMMAND "${patch_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "patch"
700 UPDATE_COMMAND "${update_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "update"
701 CONFIGURE_COMMAND "${configure_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "configure"
702 BUILD_COMMAND "${build_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "build"
703 INSTALL_COMMAND "${install_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "install"
706 set(proj ExternalProject-log)
707 ExternalProject_Add(${proj}
708 DOWNLOAD_COMMAND "${download_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "download"
709 PATCH_COMMAND "${patch_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "patch"
710 UPDATE_COMMAND "${update_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "update"
711 CONFIGURE_COMMAND "${configure_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "configure"
712 BUILD_COMMAND "${build_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "build"
713 INSTALL_COMMAND "${install_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "install"
722 set(proj ExternalProject-log-dir)
723 ExternalProject_Add(${proj}
724 DOWNLOAD_COMMAND "${download_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "download"
725 PATCH_COMMAND "${patch_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "patch"
726 UPDATE_COMMAND "${update_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "update"
727 CONFIGURE_COMMAND "${configure_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "configure"
728 BUILD_COMMAND "${build_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "build"
729 INSTALL_COMMAND "${install_cmd}" COMMAND "${CMAKE_COMMAND}" -E echo "install"
730 LOG_MERGED_STDOUTERR 1
731 LOG_DIR ${CMAKE_CURRENT_BINARY_DIR}/different_log