[Cmake-commits] CMake branch, master, updated. v2.8.1-1294-g755df44
Brad King
brad.king at kitware.com
Mon Jun 7 15:20:26 EDT 2010
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, master has been updated
via 755df4468a7edacd30f5bffd3de8f763e413d25a (commit)
via 6cf1ccd63270ab1a8ee790ff8faad17154870b5c (commit)
via 608406bf55ad6aa33acff382c15038e95314a587 (commit)
via 69292eacfa0b8e61e3ae446984eef5a387bdc9d6 (commit)
via 6f96e32bfd2dcd6fd94e65083da90be99b4f0316 (commit)
via efffb7b9791fd19842a745ef09890b0c45a7974f (commit)
via ec66c9db8c89edc037cf4b79cfa7ff9cc1233703 (commit)
via 1af9bfd82779238b141520981be8004bf30c19b5 (commit)
via 9ed98d880266f41eeeffccffb2df5e33c0b92b65 (commit)
via d868ec94068603f3a9702d027c3943bad792af19 (commit)
via 0d07e4379eba849bd438cc605fc09d76a8dc5408 (commit)
via a03e85f13c1e1e649eae7db62c500b7ec0b692ae (commit)
via 79f01660c922db5683a65c4c1efbc767dc817b6b (commit)
via 33b59ee8ddedefab6156ef1468ec8e31647af9c3 (commit)
via 2bc82e07bdf6ebd9aad5ebcad170637519cea990 (commit)
via ba38f0925ced696a905bf625aaead5b69cc105aa (commit)
via cbd0fa301391514d032e35bde75a8ef458b82d54 (commit)
via 378c33480e5f68434e41383dbe73dcd86c8f112c (commit)
via 6068651cf7cafd0b868f4c8f62d10d729bf1d42a (commit)
via bbd528c8007c03d35868461f3db679a157a3cca6 (commit)
via d06a547a78ff2e8b4b3380a39bead5408aabdac6 (commit)
via d0a1b9efd00ae2a6125f46dc7a4a8114e5afc61a (commit)
via fdb5f78705f1a603d176a0976c931dd197567ff9 (commit)
via ef491f78218e255339278656bf6dc26073fef264 (commit)
via f6909a69ece83851dd9c08a17e08b6c4fb34f308 (commit)
via 29383b4b85fc0f728a166a9d4e8abf123f862212 (commit)
via d569b48b7adaf59a0df54f45c998a591ba51637e (commit)
via d093abef7e1b965cd6bc8a347852905d6c2b0913 (commit)
via cae85c9f65c87bfa05376077f70cb05c26b2bc66 (commit)
via 85cbdaade22c7ba6dac7a806c0b88ebc32caa4c1 (commit)
via c8b13ecc380e38eda475974bc7ab515a65fe90cc (commit)
via e73ad22e384b392834614ab63c3d65543e78829a (commit)
via 670e16af2d76d5a75ed03b895562ac5923fdda56 (commit)
via a9b24af25c8206c5041e2d3e44a9dd3d52fbfe92 (commit)
via 6a009280fd38380f5d00dc073d63e51737ceb293 (commit)
via 9622fe5e9a2d9315426121643c17fd569b7f6907 (commit)
via 2deba1b9119e6a3dd40931606e08b70744735650 (commit)
via aa4daa528e76494b25e7fd1e5960af7a806c5bdc (commit)
via 5c49aa0c8622b5253b6041e85ba32a5b5ce26d74 (commit)
via fe971d97cae4df94d3643c5203b79336cfd31e05 (commit)
via d3303dbc8130988be63b9dda913eb9af9770edeb (commit)
via 159606c3667e006bba59490c2cae82871f25d773 (commit)
via 7458d465dde88a5e85b51d32b7b37f9dcfb9d216 (commit)
via c943ccdbfaa4ed04baab6d1237c6e6219e0fe58a (commit)
via 806eaa290ca4fa6a5aa623068974118c889a7c12 (commit)
via 1dd316563a7bd7dc97aeb3f9632f232bf7267e57 (commit)
via 0efa5f3747d604b117119561949b3e70548ba478 (commit)
via cd3a4f00255d0000ccf0310793f39010666d7021 (commit)
via f67139ae6fdf964218a93e5506722a367e781c6f (commit)
via f5e8ce522e5b37f29d5ef89aa79e1b82e192466f (commit)
via ea6260cb188f1ab1982f88504d5fb1017a233144 (commit)
via 672d9ba78cad1dabdf903596fdfc15d41bc5f341 (commit)
via 1d4e121d9cdb0b250c49a9d0d8d5f726ed7c69d4 (commit)
via 45d7200a73edc947b6e3672bc7cff65143b82179 (commit)
via fa3c1817b13362ef10e332e384553df33fb21d97 (commit)
via 571dc7489111893355deba710feee5990bce92e4 (commit)
from 2847d86c68590f8b330bd97b3f78f7033a3c87e0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=755df4468a7edacd30f5bffd3de8f763e413d25a
commit 755df4468a7edacd30f5bffd3de8f763e413d25a
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:53:26 2010 -0400
ChangeLog: Update for today's topic merges
diff --git a/ChangeLog.manual b/ChangeLog.manual
index a2af9e4..44181a9 100644
--- a/ChangeLog.manual
+++ b/ChangeLog.manual
@@ -4,15 +4,18 @@ Changes since CMake 2.8.1
- Build on old Sun (#10550, #10543)
- CPack: Add native BZip2 support
- CPack: Set compression type in RPM spec (#10363)
+- CPack: Try harder to initialize staging directory (#10793)
- CTest: Add --stop-time argument
- CTest: Cost data with '-j'
- CTest: Fix memory report
- CTest: Glob for uncovered files during coverage tests
- CTest: Option to specify cdash server
+- CTest: PHP Coverage support
- CTest: Process tree kill for OpenBSD, FreeBSD, kFreeBSD, GNU/Hurd
- CTest: Report failure in Update.xml
- CTest: Submit author email in Update.xml
- CTest: Teach ctest_update about Git submodules
+- Cygwin: Export all symbols with ENABLE_EXPORTS (#10122)
- Do not list file names during 'cmake -E tar xz'
- Documentation: Comply with "XHTML 1.0 Strict"
- Documentation: Fix typo in CMAKE_LIBRARY_PATH (#10291)
@@ -20,6 +23,9 @@ Changes since CMake 2.8.1
- Documentation: More consistent command signatures
- Eclipse: Do not add INCLUDE to environment twice
- Enable extra CodeBlocks generator on Cygwin
+- ExternalProject: Support .zip and .bz2 archives, MD5 verification
+- ExternalProject: Reconfigure when args change (#10258)
+- ExternalProject: Support Git, SVN username/password
- FindCurses: Fix for cygwin ncurses package
- FindHSPELL: Version support
- FindJava: Error if version is not found only when REQUIRED
@@ -37,6 +43,7 @@ Changes since CMake 2.8.1
- Fix cross-compiling from Linux to iPhone (#10526)
- Fix documentation typos
- Fix g95 Fortran compiler support
+- Fix uname masking in file(WRITE) and write_file (#10789)
- GetPrerequisites: Provide an override hook
- Handle non-ASCII terminators in file(STRINGS)
- Module fixes: FindPythonLibs, FindQt4, FindX11, FindwxWidgets
@@ -44,11 +51,13 @@ Changes since CMake 2.8.1
- Qt4 OpenGL framework fix
- Qt4ConfigDependentSettings.cmake Qt4Macros.cmake UseQt4.cmake
- Recognize ARM ABI/EABI with GNU compilers
+- Recognize Clang compiler
- Search basic directories on "Generic" platform
- Set MSVC* variables consistently on all generators, and test
- Support VS 10 Express (related to #10670)
- Support compression with 'cmake -E tar'
- Support multiple arguments in CC,CXX,FC environment variables
+- Support per-configuration librarian flags (#10768)
- Support per-platform initial ASM language flags (#10577)
- Use Fortran ABI detection results conservatively
- Use libarchive to replace the unmaintained libtar
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6cf1ccd63270ab1a8ee790ff8faad17154870b5c
commit 6cf1ccd63270ab1a8ee790ff8faad17154870b5c
Merge: 608406b c8b13ec
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:36:28 2010 -0400
Merge branch 'per-config-link-flags'
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=608406bf55ad6aa33acff382c15038e95314a587
commit 608406bf55ad6aa33acff382c15038e95314a587
Merge: 69292ea d0a1b9e
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:34:28 2010 -0400
Merge branch 'ctest-update-git-submodule'
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=69292eacfa0b8e61e3ae446984eef5a387bdc9d6
commit 69292eacfa0b8e61e3ae446984eef5a387bdc9d6
Merge: 6f96e32 f6909a6
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:33:57 2010 -0400
Merge branch 'fix-large-output-test'
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6f96e32bfd2dcd6fd94e65083da90be99b4f0316
commit 6f96e32bfd2dcd6fd94e65083da90be99b4f0316
Merge: efffb7b fdb5f78
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:33:38 2010 -0400
Merge branch 'cpack-remove-temp-dir'
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=efffb7b9791fd19842a745ef09890b0c45a7974f
commit efffb7b9791fd19842a745ef09890b0c45a7974f
Merge: ec66c9d cae85c9
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:30:33 2010 -0400
Merge branch 'file-write-umask'
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ec66c9db8c89edc037cf4b79cfa7ff9cc1233703
commit ec66c9db8c89edc037cf4b79cfa7ff9cc1233703
Merge: 1af9bfd cd3a4f0
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:30:21 2010 -0400
Merge branch 'cygwin-exe-export-all'
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1af9bfd82779238b141520981be8004bf30c19b5
commit 1af9bfd82779238b141520981be8004bf30c19b5
Merge: 9ed98d8 d06a547
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:29:39 2010 -0400
Merge branch 'verbose_failed_tests_releases'
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9ed98d880266f41eeeffccffb2df5e33c0b92b65
commit 9ed98d880266f41eeeffccffb2df5e33c0b92b65
Merge: d868ec9 aa4daa5
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:29:37 2010 -0400
Merge branch 'update_release_scripts'
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d868ec94068603f3a9702d027c3943bad792af19
commit d868ec94068603f3a9702d027c3943bad792af19
Merge: 0d07e43 c943ccd
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:28:45 2010 -0400
Merge branch 'add-git-to-CheckSourceTreeTest'
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0d07e4379eba849bd438cc605fc09d76a8dc5408
commit 0d07e4379eba849bd438cc605fc09d76a8dc5408
Merge: a03e85f ef491f7
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:26:24 2010 -0400
Merge branch 'improve-file-download'
Conflicts:
Modules/ExternalProject.cmake
diff --cc Modules/ExternalProject.cmake
index cdd2eff,ff04fa7..15749f2
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@@ -16,11 -16,8 +16,12 @@@
# [CVS_TAG tag] # Tag to checkout from CVS repo
# [SVN_REPOSITORY url] # URL of Subversion repo
# [SVN_REVISION rev] # Revision to checkout from Subversion repo
+# [SVN_USERNAME john ] # Username for Subversion checkout and update
+# [SVN_PASSWORD doe ] # Password for Subversion checkout and update
+# [GIT_REPOSITORY url] # URL of git repo
+# [GIT_TAG tag] # Git branch name, commit id or tag
# [URL /.../src.tgz] # Full path or URL of source
+ # [URL_MD5 md5] # MD5 checksum of file at URL
# [TIMEOUT seconds] # Time allowed for file download operations
# #--Update/Patch step----------
# [UPDATE_COMMAND cmd...] # Source work-tree update command
@@@ -208,63 -204,7 +209,63 @@@ define_property(DIRECTORY PROPERTY "EP_
)
+function(_ep_write_gitclone_script script_filename source_dir git_EXECUTABLE git_repository git_tag src_name work_dir)
+ file(WRITE ${script_filename}
+"if(\"${git_tag}\" STREQUAL \"\")
+ message(FATAL_ERROR \"Tag for git checkout should not be empty.\")
+endif()
+
+execute_process(
+ COMMAND \${CMAKE_COMMAND} -E remove_directory \"${source_dir}\"
+ RESULT_VARIABLE error_code
+ )
+if(error_code)
+ message(FATAL_ERROR \"Failed to remove directory: '${source_dir}'\")
+endif()
+
+execute_process(
+ COMMAND \"${git_EXECUTABLE}\" clone \"${git_repository}\" \"${src_name}\"
+ WORKING_DIRECTORY \"${work_dir}\"
+ RESULT_VARIABLE error_code
+ )
+if(error_code)
+ message(FATAL_ERROR \"Failed to clone repository: '${git_repository}'\")
+endif()
+
+execute_process(
+ COMMAND \"${git_EXECUTABLE}\" checkout ${git_tag}
+ WORKING_DIRECTORY \"${work_dir}/${src_name}\"
+ RESULT_VARIABLE error_code
+ )
+if(error_code)
+ message(FATAL_ERROR \"Failed to checkout tag: '${git_tag}'\")
+endif()
+
+execute_process(
+ COMMAND \"${git_EXECUTABLE}\" submodule init
+ WORKING_DIRECTORY \"${work_dir}/${src_name}\"
+ RESULT_VARIABLE error_code
+ )
+if(error_code)
+ message(FATAL_ERROR \"Failed to init submodules in: '${work_dir}/${src_name}'\")
+endif()
+
+execute_process(
+ COMMAND \"${git_EXECUTABLE}\" submodule update --recursive
+ WORKING_DIRECTORY \"${work_dir}/${src_name}\"
+ RESULT_VARIABLE error_code
+ )
+if(error_code)
+ message(FATAL_ERROR \"Failed to update submodules in: '${work_dir}/${src_name}'\")
+endif()
+
+"
+)
+
+endfunction(_ep_write_gitclone_script)
+
+
- function(_ep_write_downloadfile_script script_filename remote local timeout)
+ function(_ep_write_downloadfile_script script_filename remote local timeout md5)
if(timeout)
set(timeout_args TIMEOUT ${timeout})
set(timeout_msg "${timeout} seconds")
@@@ -304,10 -252,59 +313,55 @@@ message(STATUS \"downloading... done\"
endfunction(_ep_write_downloadfile_script)
+ function(_ep_write_verifyfile_script script_filename local md5)
+ file(WRITE ${script_filename}
+ "message(STATUS \"verifying file...
+ file='${local}'\")
+
+ set(verified 0)
+
+ # If an expected md5 checksum exists, compare against it:
+ #
+ if(NOT \"${md5}\" STREQUAL \"\")
+ execute_process(COMMAND \${CMAKE_COMMAND} -E md5sum \"${local}\"
+ OUTPUT_VARIABLE ov
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ RESULT_VARIABLE rv)
+
+ if(NOT rv EQUAL 0)
+ message(FATAL_ERROR \"error: computing md5sum of '${local}' failed\")
+ endif()
+
+ string(REGEX MATCH \"^([0-9A-Fa-f]+)\" md5_actual \"\${ov}\")
+
+ string(TOLOWER \"\${md5_actual}\" md5_actual)
+ string(TOLOWER \"${md5}\" md5)
+
+ if(NOT \"\${md5}\" STREQUAL \"\${md5_actual}\")
+ message(FATAL_ERROR \"error: md5sum of '${local}' does not match expected value
+ md5_expected: \${md5}
+ md5_actual: \${md5_actual}
+ \")
+ endif()
+
+ set(verified 1)
+ endif()
+
+ if(verified)
+ message(STATUS \"verifying file... done\")
+ else()
+ message(STATUS \"verifying file... warning: did not verify file - no URL_MD5 checksum argument? corrupt file?\")
+ endif()
+ "
+ )
+
+ endfunction(_ep_write_verifyfile_script)
+
+
-function(_ep_write_extractfile_script script_filename filename tmp directory)
+function(_ep_write_extractfile_script script_filename filename directory)
set(args "")
- if(filename MATCHES ".tar$")
- set(args xf)
- endif()
-
- if(filename MATCHES ".tgz$")
+ if(filename MATCHES "(\\.bz2|\\.tar\\.gz|\\.tgz|\\.zip)$")
set(args xfz)
endif()
@@@ -752,54 -728,14 +806,55 @@@ function(_ep_add_download_command name
get_filename_component(src_name "${source_dir}" NAME)
get_filename_component(work_dir "${source_dir}" PATH)
set(comment "Performing download step (SVN checkout) for '${name}'")
- set(cmd ${Subversion_SVN_EXECUTABLE} co ${svn_repository} ${svn_revision} ${src_name})
+ set(cmd ${Subversion_SVN_EXECUTABLE} co ${svn_repository} ${svn_revision}
+ --username=${svn_username} --password=${svn_password} ${src_name})
list(APPEND depends ${stamp_dir}/${name}-svninfo.txt)
+ elseif(git_repository)
+ find_package(Git)
+ if(NOT GIT_EXECUTABLE)
+ message(FATAL_ERROR "error: could not find git for clone of ${name}")
+ endif()
+
+ # The git submodule update '--recursive' flag requires git >= v1.6.5
+ #
+ _ep_get_git_version("${GIT_EXECUTABLE}" git_version)
+ if(git_version VERSION_LESS 1.6.5)
+ message(FATAL_ERROR "error: git version 1.6.5 or later required for 'git submodule update --recursive': git_version='${git_version}'")
+ endif()
+
+ get_property(git_tag TARGET ${name} PROPERTY _EP_GIT_TAG)
+ if(NOT git_tag)
+ set(git_tag "master")
+ endif()
+
+ set(repository ${git_repository})
+ set(module)
+ set(tag ${git_tag})
+ configure_file(
+ "${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
+ "${stamp_dir}/${name}-gitinfo.txt"
+ @ONLY
+ )
+
+ get_filename_component(src_name "${source_dir}" NAME)
+ get_filename_component(work_dir "${source_dir}" PATH)
+
+ # Since git clone doesn't succeed if the non-empty source_dir exists,
+ # create a cmake script to invoke as download command.
+ # The script will delete the source directory and then call git clone.
+ #
+ _ep_write_gitclone_script(${tmp_dir}/${name}-gitclone.cmake ${source_dir}
+ ${GIT_EXECUTABLE} ${git_repository} ${git_tag} ${src_name} ${work_dir}
+ )
+ set(comment "Performing download step (git clone) for '${name}'")
+ set(cmd ${CMAKE_COMMAND} -P ${tmp_dir}/${name}-gitclone.cmake)
+ list(APPEND depends ${stamp_dir}/${name}-gitinfo.txt)
elseif(url)
get_filename_component(work_dir "${source_dir}" PATH)
+ get_property(md5 TARGET ${name} PROPERTY _EP_URL_MD5)
set(repository "external project URL")
set(module "${url}")
- set(tag "")
+ set(tag "${md5}")
configure_file(
"${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
"${stamp_dir}/${name}-urlinfo.txt"
@@@ -820,16 -756,18 +875,18 @@@
endif()
set(file ${download_dir}/${fname})
get_property(timeout TARGET ${name} PROPERTY _EP_TIMEOUT)
- _ep_write_downloadfile_script("${stamp_dir}/download-${name}.cmake" "${url}" "${file}" "${timeout}")
+ _ep_write_downloadfile_script("${stamp_dir}/download-${name}.cmake" "${url}" "${file}" "${timeout}" "${md5}")
set(cmd ${CMAKE_COMMAND} -P ${stamp_dir}/download-${name}.cmake
COMMAND)
- set(comment "Performing download step (download and extract) for '${name}'")
+ set(comment "Performing download step (download, verify and extract) for '${name}'")
else()
set(file "${url}")
- set(comment "Performing download step (extract) for '${name}'")
+ set(comment "Performing download step (verify and extract) for '${name}'")
endif()
+ _ep_write_verifyfile_script("${stamp_dir}/verify-${name}.cmake" "${file}" "${md5}")
+ list(APPEND cmd ${CMAKE_COMMAND} -P ${stamp_dir}/verify-${name}.cmake)
# TODO: Support other archive formats.
- _ep_write_extractfile_script("${stamp_dir}/extract-${name}.cmake" "${file}" "${tmp_dir}" "${source_dir}")
+ _ep_write_extractfile_script("${stamp_dir}/extract-${name}.cmake" "${file}" "${source_dir}")
list(APPEND cmd ${CMAKE_COMMAND} -P ${stamp_dir}/extract-${name}.cmake)
endif()
else()
diff --cc Tests/ExternalProject/CMakeLists.txt
index 2f1f49d,4ae04d3..99da9c4
--- a/Tests/ExternalProject/CMakeLists.txt
+++ b/Tests/ExternalProject/CMakeLists.txt
@@@ -210,8 -167,9 +216,9 @@@ if(do_cvs_tests
ExternalProject_Add(${proj}
SOURCE_DIR ${local_cvs_repo}
URL ${CMAKE_CURRENT_SOURCE_DIR}/cvsrepo.tgz
+ URL_MD5 55fc85825ffdd9ed2597123c68b79f7e
BUILD_COMMAND ""
- CONFIGURE_COMMAND ${CVS_EXECUTABLE} --version
+ CONFIGURE_COMMAND "${CVS_EXECUTABLE}" --version
INSTALL_COMMAND ""
)
@@@ -308,8 -264,9 +315,9 @@@ if(do_svn_tests
ExternalProject_Add(${proj}
SOURCE_DIR ${local_svn_repo}
URL ${CMAKE_CURRENT_SOURCE_DIR}/svnrepo.tgz
+ URL_MD5 2f468be4ed1fa96377fca0cc830819c4
BUILD_COMMAND ""
- CONFIGURE_COMMAND ${Subversion_SVN_EXECUTABLE} --version
+ CONFIGURE_COMMAND "${Subversion_SVN_EXECUTABLE}" --version
INSTALL_COMMAND ""
)
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a03e85f13c1e1e649eae7db62c500b7ec0b692ae
commit a03e85f13c1e1e649eae7db62c500b7ec0b692ae
Merge: 79f0166 29383b4
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:23:45 2010 -0400
Merge branch 'add-git-to-ExternalProject'
Conflicts:
Modules/ExternalProject.cmake
diff --cc Modules/ExternalProject.cmake
index d96f005,15db793..cdd2eff
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@@ -16,8 -16,8 +16,10 @@@
# [CVS_TAG tag] # Tag to checkout from CVS repo
# [SVN_REPOSITORY url] # URL of Subversion repo
# [SVN_REVISION rev] # Revision to checkout from Subversion repo
+# [SVN_USERNAME john ] # Username for Subversion checkout and update
+# [SVN_PASSWORD doe ] # Password for Subversion checkout and update
+ # [GIT_REPOSITORY url] # URL of git repo
+ # [GIT_TAG tag] # Git branch name, commit id or tag
# [URL /.../src.tgz] # Full path or URL of source
# [TIMEOUT seconds] # Time allowed for file download operations
# #--Update/Patch step----------
@@@ -680,9 -746,48 +752,49 @@@ function(_ep_add_download_command name
get_filename_component(src_name "${source_dir}" NAME)
get_filename_component(work_dir "${source_dir}" PATH)
set(comment "Performing download step (SVN checkout) for '${name}'")
- set(cmd ${Subversion_SVN_EXECUTABLE} co ${svn_repository} ${svn_revision} ${src_name})
+ set(cmd ${Subversion_SVN_EXECUTABLE} co ${svn_repository} ${svn_revision}
+ --username=${svn_username} --password=${svn_password} ${src_name})
list(APPEND depends ${stamp_dir}/${name}-svninfo.txt)
+ elseif(git_repository)
+ find_package(Git)
+ if(NOT GIT_EXECUTABLE)
+ message(FATAL_ERROR "error: could not find git for clone of ${name}")
+ endif()
+
+ # The git submodule update '--recursive' flag requires git >= v1.6.5
+ #
+ _ep_get_git_version("${GIT_EXECUTABLE}" git_version)
+ if(git_version VERSION_LESS 1.6.5)
+ message(FATAL_ERROR "error: git version 1.6.5 or later required for 'git submodule update --recursive': git_version='${git_version}'")
+ endif()
+
+ get_property(git_tag TARGET ${name} PROPERTY _EP_GIT_TAG)
+ if(NOT git_tag)
+ set(git_tag "master")
+ endif()
+
+ set(repository ${git_repository})
+ set(module)
+ set(tag ${git_tag})
+ configure_file(
+ "${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
+ "${stamp_dir}/${name}-gitinfo.txt"
+ @ONLY
+ )
+
+ get_filename_component(src_name "${source_dir}" NAME)
+ get_filename_component(work_dir "${source_dir}" PATH)
+
+ # Since git clone doesn't succeed if the non-empty source_dir exists,
+ # create a cmake script to invoke as download command.
+ # The script will delete the source directory and then call git clone.
+ #
+ _ep_write_gitclone_script(${tmp_dir}/${name}-gitclone.cmake ${source_dir}
+ ${GIT_EXECUTABLE} ${git_repository} ${git_tag} ${src_name} ${work_dir}
+ )
+ set(comment "Performing download step (git clone) for '${name}'")
+ set(cmd ${CMAKE_COMMAND} -P ${tmp_dir}/${name}-gitclone.cmake)
+ list(APPEND depends ${stamp_dir}/${name}-gitinfo.txt)
elseif(url)
get_filename_component(work_dir "${source_dir}" PATH)
set(repository "external project URL")
@@@ -764,11 -870,23 +877,26 @@@ function(_ep_add_update_command name
set(work_dir ${source_dir})
set(comment "Performing update step (SVN update) for '${name}'")
get_property(svn_revision TARGET ${name} PROPERTY _EP_SVN_REVISION)
- set(cmd ${Subversion_SVN_EXECUTABLE} up ${svn_revision})
+ get_property(svn_username TARGET ${name} PROPERTY _EP_SVN_USERNAME)
+ get_property(svn_password TARGET ${name} PROPERTY _EP_SVN_PASSWORD)
+ set(cmd ${Subversion_SVN_EXECUTABLE} up ${svn_revision}
+ --username=${svn_username} --password=${svn_password})
set(always 1)
+ elseif(git_repository)
+ if(NOT GIT_EXECUTABLE)
+ message(FATAL_ERROR "error: could not find git for fetch of ${name}")
+ endif()
+ set(work_dir ${source_dir})
+ set(comment "Performing update step (git fetch) for '${name}'")
+ get_property(git_tag TARGET ${name} PROPERTY _EP_GIT_TAG)
+ if(NOT git_tag)
+ set(git_tag "master")
+ endif()
+ set(cmd ${GIT_EXECUTABLE} fetch
+ COMMAND ${GIT_EXECUTABLE} checkout ${git_tag}
+ COMMAND ${GIT_EXECUTABLE} submodule update --recursive
+ )
+ set(always 1)
endif()
ExternalProject_Add_Step(${name} update
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=79f01660c922db5683a65c4c1efbc767dc817b6b
commit 79f01660c922db5683a65c4c1efbc767dc817b6b
Merge: 33b59ee 2deba1b
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:22:26 2010 -0400
Merge branch 'more-formats-in-ExternalProject'
diff --cc Modules/ExternalProject.cmake
index ddb4ece,c926ef1..d96f005
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@@ -246,14 -243,10 +246,10 @@@ message(STATUS \"downloading... done\"
endfunction(_ep_write_downloadfile_script)
-function(_ep_write_extractfile_script script_filename filename tmp directory)
+function(_ep_write_extractfile_script script_filename filename directory)
set(args "")
- if(filename MATCHES ".tar$")
- set(args xf)
- endif()
-
- if(filename MATCHES ".tgz$")
+ if(filename MATCHES "(\\.bz2|\\.tar\\.gz|\\.tgz|\\.zip)$")
set(args xfz)
endif()
@@@ -276,13 -270,17 +272,17 @@@ message(STATUS \"extracting..
src='\${filename}'
dst='\${directory}'\")
+ if(NOT EXISTS \"\${filename}\")
+ message(FATAL_ERROR \"error: file to extract does not exist: '\${filename}'\")
+ endif()
+
# Prepare a space for extracting:
#
-set(i 1)
-while(EXISTS \"\${tmp}/extract\${i}\")
+set(i 1234)
+while(EXISTS \"\${directory}/../ex\${i}\")
math(EXPR i \"\${i} + 1\")
endwhile()
-set(ut_dir \"\${tmp}/extract\${i}\")
+set(ut_dir \"\${directory}/../ex\${i}\")
file(MAKE_DIRECTORY \"\${ut_dir}\")
# Extract it:
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=33b59ee8ddedefab6156ef1468ec8e31647af9c3
commit 33b59ee8ddedefab6156ef1468ec8e31647af9c3
Merge: 2bc82e0 f5e8ce5
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:22:02 2010 -0400
Merge branch 'use-rename-not-copy-ExternalProject'
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2bc82e07bdf6ebd9aad5ebcad170637519cea990
commit 2bc82e07bdf6ebd9aad5ebcad170637519cea990
Merge: ba38f09 ea6260c
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:21:49 2010 -0400
Merge branch 'ExternalProject-fixes'
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ba38f0925ced696a905bf625aaead5b69cc105aa
commit ba38f0925ced696a905bf625aaead5b69cc105aa
Merge: cbd0fa3 672d9ba
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:21:43 2010 -0400
Merge branch 'add-svn-user-to-ExternalProject'
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cbd0fa301391514d032e35bde75a8ef458b82d54
commit cbd0fa301391514d032e35bde75a8ef458b82d54
Merge: 378c334 1d4e121
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:19:56 2010 -0400
Merge branch 'php-coverage'
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=378c33480e5f68434e41383dbe73dcd86c8f112c
commit 378c33480e5f68434e41383dbe73dcd86c8f112c
Merge: 6068651 45d7200
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:19:14 2010 -0400
Merge branch 'qtdialog'
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6068651cf7cafd0b868f4c8f62d10d729bf1d42a
commit 6068651cf7cafd0b868f4c8f62d10d729bf1d42a
Merge: bbd528c fa3c181
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:18:30 2010 -0400
Merge branch 'CTestScheduler'
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bbd528c8007c03d35868461f3db679a157a3cca6
commit bbd528c8007c03d35868461f3db679a157a3cca6
Merge: 2847d86 571dc74
Author: Brad King <brad.king at kitware.com>
Date: Mon Jun 7 14:17:58 2010 -0400
Merge branch 'clang'
-----------------------------------------------------------------------
Summary of changes:
ChangeLog.manual | 9 +
Modules/CMakeCCompilerId.c.in | 3 +
Modules/CMakeCXXCompilerId.cpp.in | 3 +
Modules/Compiler/Clang-C.cmake | 1 +
Modules/Compiler/Clang-CXX.cmake | 1 +
Modules/ExternalProject.cmake | 269 +++++++++++++++++---
Modules/FindGit.cmake | 46 ++++
Modules/Platform/CYGWIN-GNU.cmake | 1 +
Modules/Platform/Linux-Clang-C.cmake | 1 +
Modules/Platform/Linux-Clang-CXX.cmake | 1 +
Modules/Platform/Windows-wcl386.cmake | 6 +-
Source/CMakeLists.txt | 2 +-
Source/CPack/cmCPackGenerator.cxx | 4 +-
Source/CTest/cmCTestCoverageHandler.cxx | 34 ++-
Source/CTest/cmCTestCoverageHandler.h | 60 +----
Source/CTest/cmCTestGIT.cxx | 2 +-
Source/CTest/cmCTestMultiProcessHandler.cxx | 21 +-
Source/CTest/cmParsePHPCoverage.cxx | 252 ++++++++++++++++++
Source/CTest/cmParsePHPCoverage.h | 48 ++++
Source/QtDialog/CMakeSetup.cxx | 2 +-
Source/cmFileCommand.cxx | 280 ++++++++++++++++++--
Source/cmFileCommand.h | 10 +-
Source/cmGlobalXCodeGenerator.cxx | 12 +-
Source/cmLocalUnixMakefileGenerator3.cxx | 22 ++
Source/cmLocalVisualStudio6Generator.cxx | 114 ++++++--
Source/cmLocalVisualStudio7Generator.cxx | 15 +-
Source/cmMakefileLibraryTargetGenerator.cxx | 4 +
Source/cmSystemTools.cxx | 15 +
Source/cmSystemTools.h | 3 +
Source/cmTarget.cxx | 5 +
Source/cmVisualStudio10TargetGenerator.cxx | 29 ++-
Source/cmWriteFileCommand.cxx | 21 +-
Templates/staticLibHeader.dsptemplate | 8 +-
Tests/CMakeLists.txt | 35 +++-
Tests/CMakeTests/CMakeLists.txt | 10 +-
Tests/CMakeTests/CheckSourceTreeTest.cmake.in | 224 ++++++++++++----
.../CMakeTests/FileDownloadInput.png | Bin 358 -> 358 bytes
Tests/CMakeTests/FileDownloadTest.cmake.in | 41 +++
Tests/CTestSubmitLargeOutput/test.cmake.in | 1 +
Tests/ExternalProject/CMakeLists.txt | 150 ++++++++++-
Tests/ExternalProject/Example/CMakeLists.txt | 11 +
Tests/ExternalProject/Step1.tar.bz2 | Bin 0 -> 904 bytes
Tests/ExternalProject/Step1.zip | Bin 0 -> 1074 bytes
Tests/ExternalProject/Step1NoDir.tar.bz2 | Bin 0 -> 852 bytes
Tests/ExternalProject/Step1NoDir.zip | Bin 0 -> 1038 bytes
Tests/ExternalProject/gitrepo.tgz | Bin 0 -> 1934 bytes
Tests/LinkFlags/CMakeLists.txt | 28 ++
Tests/LinkFlags/LinkFlags.c | 1 +
Tests/LinkFlags/LinkFlagsExe.c | 6 +
Tests/LinkFlags/LinkFlagsLib.c | 6 +
Utilities/Release/dash2win64_release.cmake | 2 +-
Utilities/Release/release_cmake.sh.in | 2 +-
52 files changed, 1569 insertions(+), 252 deletions(-)
create mode 100644 Modules/Compiler/Clang-C.cmake
create mode 100644 Modules/Compiler/Clang-CXX.cmake
create mode 100644 Modules/FindGit.cmake
create mode 100644 Modules/Platform/Linux-Clang-C.cmake
create mode 100644 Modules/Platform/Linux-Clang-CXX.cmake
create mode 100644 Source/CTest/cmParsePHPCoverage.cxx
create mode 100644 Source/CTest/cmParsePHPCoverage.h
copy Source/QtDialog/CMakeSetup32.png => Tests/CMakeTests/FileDownloadInput.png (100%)
create mode 100644 Tests/CMakeTests/FileDownloadTest.cmake.in
create mode 100644 Tests/ExternalProject/Example/CMakeLists.txt
create mode 100644 Tests/ExternalProject/Step1.tar.bz2
create mode 100644 Tests/ExternalProject/Step1.zip
create mode 100644 Tests/ExternalProject/Step1NoDir.tar.bz2
create mode 100644 Tests/ExternalProject/Step1NoDir.zip
create mode 100644 Tests/ExternalProject/gitrepo.tgz
create mode 100644 Tests/LinkFlags/CMakeLists.txt
create mode 100644 Tests/LinkFlags/LinkFlags.c
create mode 100644 Tests/LinkFlags/LinkFlagsExe.c
create mode 100644 Tests/LinkFlags/LinkFlagsLib.c
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list