[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