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, next has been updated via b70bfe6d97d3756f58fba12534888286958fe454 (commit) via 227b84afda678b61b7742496df44b63def26bfc1 (commit) via f4da1c240ba93c3f966a7ee3c4f566a70ec60290 (commit) via 6463d8b97ac00072a5ce2d427815208f1edf1a8a (commit) via 2dfb517f7382a24961ba75028eeec4827e3c526f (commit) from 29c45433c4ce11f6b1ddb561001b00598f1be6d0 (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=b70bfe6d97d3756f58fba12534888286958fe454 commit b70bfe6d97d3756f58fba12534888286958fe454 Merge: 29c4543 227b84a Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Jan 28 10:45:21 2014 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue Jan 28 10:45:21 2014 -0500 Merge topic 'doc-release-tarball' into next 227b84af Utilities/Release: Pass pre-built docs tarball f4da1c24 Utilities/Release: Fix for spaces in host path 6463d8b9 Utilities/Release: Generate docs on dash2win64 cygwin 2dfb517f CMake Nightly Date Stamp http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=227b84afda678b61b7742496df44b63def26bfc1 commit 227b84afda678b61b7742496df44b63def26bfc1 Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Jan 28 10:41:56 2014 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Tue Jan 28 10:45:09 2014 -0500 Utilities/Release: Pass pre-built docs tarball Avoid requiring all build machines for the upstream packaging process to have Python and Sphinx installed. Instead create a way to build the documentation once on the host machine and copy it to each build machine as a tarball with content to include in the installation tree for packaging. diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt index 410f37a..8b3e325 100644 --- a/Utilities/CMakeLists.txt +++ b/Utilities/CMakeLists.txt @@ -11,4 +11,25 @@ #============================================================================= subdirs(Doxygen KWStyle) -add_subdirectory(Sphinx) +if(CMAKE_DOC_TARBALL) + # Undocumented option to extract and install pre-built documentation. + # This is intended for use during packaging of CMake itself. + if(CMAKE_DOC_TARBALL MATCHES "/([^/]+)\\.tar\\.gz$") + set(dir "${CMAKE_MATCH_1}") + else() + message(FATAL_ERROR "CMAKE_DOC_TARBALL must end in .tar.gz") + endif() + add_custom_command( + OUTPUT ${dir}.stamp + COMMAND cmake -E remove_directory ${dir} + COMMAND cmake -E tar xf ${CMAKE_DOC_TARBALL} + COMMAND cmake -E touch ${dir}.stamp + DEPENDS ${CMAKE_DOC_TARBALL} + ) + add_custom_target(documentation ALL DEPENDS ${dir}.stamp) + install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${dir}/ + DESTINATION . USE_SOURCE_PERMISSIONS) +else() + # Normal documentation build. + add_subdirectory(Sphinx) +endif() diff --git a/Utilities/Release/create-cmake-release.cmake b/Utilities/Release/create-cmake-release.cmake index f4789a7..d83566c 100644 --- a/Utilities/Release/create-cmake-release.cmake +++ b/Utilities/Release/create-cmake-release.cmake @@ -28,7 +28,7 @@ function(write_batch_shell_script filename) math(EXPR y "160*(${i}%4)") file(APPEND ${filename} " -\"${CMAKE_COMMAND}\" -DCMAKE_CREATE_VERSION=${CMAKE_CREATE_VERSION} -P \"${CMAKE_ROOT}/Utilities/Release/${f}\" < /dev/null >& \"${CMAKE_CURRENT_SOURCE_DIR}/logs/${f}-${CMAKE_CREATE_VERSION}.log\" & +\"${CMAKE_COMMAND}\" -DCMAKE_CREATE_VERSION=${CMAKE_CREATE_VERSION} -DCMAKE_DOC_TARBALL=\"${CMAKE_DOC_TARBALL}\" -P \"${CMAKE_ROOT}/Utilities/Release/${f}\" < /dev/null >& \"${CMAKE_CURRENT_SOURCE_DIR}/logs/${f}-${CMAKE_CREATE_VERSION}.log\" & xterm -geometry 64x6+${x}+${y} -sb -sl 2000 -T ${f}-${CMAKE_CREATE_VERSION}.log -e tail -f \"${CMAKE_CURRENT_SOURCE_DIR}/logs/${f}-${CMAKE_CREATE_VERSION}.log\" & ") math(EXPR i "${i}+1") @@ -36,7 +36,45 @@ xterm -geometry 64x6+${x}+${y} -sb -sl 2000 -T ${f}-${CMAKE_CREATE_VERSION}.log execute_process(COMMAND chmod a+x ${filename}) endfunction() +function(write_docs_shell_script filename) + find_program(SPHINX_EXECUTABLE + NAMES sphinx-build sphinx-build.py + DOC "Sphinx Documentation Builder (sphinx-doc.org)" + ) + if(NOT SPHINX_EXECUTABLE) + message(FATAL_ERROR "SPHINX_EXECUTABLE (sphinx-build) is not found!") + endif() + + set(name cmake-${CMAKE_CREATE_VERSION}-docs) + file(WRITE "${filename}" "#!/usr/bin/env bash + +name=${name} && +inst=\"\$PWD/\$name\" +git archive --prefix=\${name}-src/ ${CMAKE_CREATE_VERSION} | tar x && +rm -rf \${name}-build && +mkdir \${name}-build && +cd \${name}-build && +\"${CMAKE_COMMAND}\" ../\${name}-src/Utilities/Sphinx \\ + -DCMAKE_INSTALL_PREFIX=\"\$inst/\" \\ + -DSPHINX_EXECUTABLE=\"${SPHINX_EXECUTABLE}\" \\ + -DSPHINX_HTML=ON -DSPHINX_MAN=ON && +make install && +cd .. && +tar czf \${name}.tar.gz \${name} || +echo 'Failed to create \${name}.tar.gz' +") + execute_process(COMMAND chmod a+x ${filename}) + set(CMAKE_DOC_TARBALL "${name}.tar.gz" PARENT_SCOPE) +endfunction() + +write_docs_shell_script("create-${CMAKE_CREATE_VERSION}-docs.sh") write_batch_shell_script("create-${CMAKE_CREATE_VERSION}-batch1.sh" ${RELEASE_SCRIPTS_BATCH_1}) +unset(CMAKE_DOC_TARBALL) # No pre-built docs in second batch. write_batch_shell_script("create-${CMAKE_CREATE_VERSION}-batch2.sh" ${RELEASE_SCRIPTS_BATCH_2}) -message("Run ./create-${CMAKE_CREATE_VERSION}-batch1.sh, then after all those builds complete, run ./create-${CMAKE_CREATE_VERSION}-batch2.sh") +message("Run one at a time: + ./create-${CMAKE_CREATE_VERSION}-docs.sh && + ./create-${CMAKE_CREATE_VERSION}-batch1.sh && + ./create-${CMAKE_CREATE_VERSION}-batch2.sh && + echo done +") diff --git a/Utilities/Release/release_cmake.cmake b/Utilities/Release/release_cmake.cmake index f351ac8..630f54f 100644 --- a/Utilities/Release/release_cmake.cmake +++ b/Utilities/Release/release_cmake.cmake @@ -66,6 +66,17 @@ macro(remote_command comment command) endif() endmacro() +if(CMAKE_DOC_TARBALL) + message("scp '${CMAKE_DOC_TARBALL}' '${HOST}:'") + execute_process(COMMAND + scp ${CMAKE_DOC_TARBALL} ${HOST}: + RESULT_VARIABLE result) + if(${result} GREATER 0) + message("error sending doc tarball with scp '${CMAKE_DOC_TARBALL}' '${HOST}:'") + endif() + get_filename_component(CMAKE_DOC_TARBALL_NAME "${CMAKE_DOC_TARBALL}" NAME) +endif() + # set this so configure file will work from script mode # create the script specific for the given host set(SCRIPT_FILE release_cmake-${SCRIPT_NAME}.sh) diff --git a/Utilities/Release/release_cmake.sh.in b/Utilities/Release/release_cmake.sh.in index 82c039b..f41bda8 100755 --- a/Utilities/Release/release_cmake.sh.in +++ b/Utilities/Release/release_cmake.sh.in @@ -15,6 +15,13 @@ check_exit_value() fi } +CMAKE_DOC_TARBALL="" +if [ ! -z "@CMAKE_DOC_TARBALL_NAME@" ] ; then + CMAKE_DOC_TARBALL=@CMAKE_RELEASE_DIRECTORY@/@CMAKE_DOC_TARBALL_NAME@ + mv "$HOME/@CMAKE_DOC_TARBALL_NAME@" "$CMAKE_DOC_TARBALL" + check_exit_value $? "mv doc tarball" || exit 1 +fi + if [ ! -z "@CC@" ]; then export CC="@CC@" check_exit_value $? "set CC compiler env var" || exit 1 @@ -76,6 +83,11 @@ if [ ! -z "@USER_OVERRIDE@" ]; then echo "CMAKE_USER_MAKE_RULES_OVERRIDE:FILEPATH=@CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build/user.txt" >> @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build/CMakeCache.txt fi +# Point build at pre-built documentation tarball, if any. +if [ ! -z "$CMAKE_DOC_TARBALL" ]; then + echo "CMAKE_DOC_TARBALL:FILEPATH=$CMAKE_DOC_TARBALL" >> @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build/CMakeCache.txt +fi + echo "Checkout the source for @CMAKE_CREATE_VERSION@" cd @CMAKE_RELEASE_DIRECTORY@ if [ ! -z "@GIT_COMMAND@" ]; then http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f4da1c240ba93c3f966a7ee3c4f566a70ec60290 commit f4da1c240ba93c3f966a7ee3c4f566a70ec60290 Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Jan 28 10:40:52 2014 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Tue Jan 28 10:45:09 2014 -0500 Utilities/Release: Fix for spaces in host path Quote paths in the generated shell scripts so they work with spaces. diff --git a/Utilities/Release/create-cmake-release.cmake b/Utilities/Release/create-cmake-release.cmake index 37e223d..f4789a7 100644 --- a/Utilities/Release/create-cmake-release.cmake +++ b/Utilities/Release/create-cmake-release.cmake @@ -28,8 +28,8 @@ function(write_batch_shell_script filename) math(EXPR y "160*(${i}%4)") file(APPEND ${filename} " -${CMAKE_COMMAND} -DCMAKE_CREATE_VERSION=${CMAKE_CREATE_VERSION} -P ${CMAKE_ROOT}/Utilities/Release/${f} < /dev/null >& ${CMAKE_CURRENT_SOURCE_DIR}/logs/${f}-${CMAKE_CREATE_VERSION}.log & -xterm -geometry 64x6+${x}+${y} -sb -sl 2000 -T ${f}-${CMAKE_CREATE_VERSION}.log -e tail -f ${CMAKE_CURRENT_SOURCE_DIR}/logs/${f}-${CMAKE_CREATE_VERSION}.log& +\"${CMAKE_COMMAND}\" -DCMAKE_CREATE_VERSION=${CMAKE_CREATE_VERSION} -P \"${CMAKE_ROOT}/Utilities/Release/${f}\" < /dev/null >& \"${CMAKE_CURRENT_SOURCE_DIR}/logs/${f}-${CMAKE_CREATE_VERSION}.log\" & +xterm -geometry 64x6+${x}+${y} -sb -sl 2000 -T ${f}-${CMAKE_CREATE_VERSION}.log -e tail -f \"${CMAKE_CURRENT_SOURCE_DIR}/logs/${f}-${CMAKE_CREATE_VERSION}.log\" & ") math(EXPR i "${i}+1") endforeach() http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6463d8b97ac00072a5ce2d427815208f1edf1a8a commit 6463d8b97ac00072a5ce2d427815208f1edf1a8a Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Jan 28 10:38:12 2014 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Tue Jan 28 10:43:37 2014 -0500 Utilities/Release: Generate docs on dash2win64 cygwin Configure the build on dash2win64 cygwin to run Sphinx and generate our documentation. diff --git a/Utilities/Release/dash2win64_cygwin.cmake b/Utilities/Release/dash2win64_cygwin.cmake index 663c615..77b2699 100644 --- a/Utilities/Release/dash2win64_cygwin.cmake +++ b/Utilities/Release/dash2win64_cygwin.cmake @@ -10,6 +10,9 @@ set(INITIAL_CACHE "CMAKE_BUILD_TYPE:STRING=Release CMAKE_Fortran_COMPILER_FULLPATH:FILEPATH=FALSE CTEST_TEST_TIMEOUT:STRING=7200 DART_TESTING_TIMEOUT:STRING=7200 +SPHINX_EXECUTABLE:FILEPATH=/cygdrive/c/Python26-x86/Scripts/sphinx-build.exe +SPHINX_HTML:BOOL=ON +SPHINX_MAN:BOOL=ON ") set(CXX g++) set(CC gcc) ----------------------------------------------------------------------- Summary of changes: Source/CMakeVersion.cmake | 2 +- Utilities/CMakeLists.txt | 23 +++++++++++++- Utilities/Release/create-cmake-release.cmake | 44 ++++++++++++++++++++++++-- Utilities/Release/dash2win64_cygwin.cmake | 3 ++ Utilities/Release/release_cmake.cmake | 11 +++++++ Utilities/Release/release_cmake.sh.in | 12 +++++++ 6 files changed, 90 insertions(+), 5 deletions(-) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits