[Cmake-commits] CMake branch, next, updated. v2.8.12.1-7307-gb70bfe6
Brad King
brad.king at kitware.com
Tue Jan 28 10:45:22 EST 2014
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.king at kitware.com>
AuthorDate: Tue Jan 28 10:45:21 2014 -0500
Commit: CMake Topic Stage <kwrobot at 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.king at kitware.com>
AuthorDate: Tue Jan 28 10:41:56 2014 -0500
Commit: Brad King <brad.king at 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 at -build/user.txt" >> @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION at -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 at -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.king at kitware.com>
AuthorDate: Tue Jan 28 10:40:52 2014 -0500
Commit: Brad King <brad.king at 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.king at kitware.com>
AuthorDate: Tue Jan 28 10:38:12 2014 -0500
Commit: Brad King <brad.king at 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
More information about the Cmake-commits
mailing list