CMake/Utilities/Release/release_cmake.cmake

64 lines
2.4 KiB
CMake
Raw Normal View History

set(CVSROOT ":pserver:anonymous@www.cmake.org:/cvsroot/CMake")
2006-05-03 07:20:02 +04:00
get_filename_component(SCRIPT_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH)
if(NOT DEFINED INSTALLER_SUFFIX)
set(INSTALLER_SUFFIX "*.sh")
endif(NOT DEFINED INSTALLER_SUFFIX)
if(NOT DEFINED PROCESSORS)
set(PROCESSORS 1)
endif(NOT DEFINED PROCESSORS)
if(NOT DEFINED CMAKE_VERSION)
message(FATAL_ERROR "CMAKE_VERSION not defined")
endif(NOT DEFINED CMAKE_VERSION)
2006-05-04 01:08:34 +04:00
if(NOT DEFINED CVS_COMMAND)
set(CVS_COMMAND cvs)
endif(NOT DEFINED CVS_COMMAND)
if("${CMAKE_VERSION}" STREQUAL "CVS")
set( CMAKE_CHECKOUT "${CVS_COMMAND} -q -z3 -d ${CVSROOT} export -D now ")
set( CMAKE_VERSION "CurrentCVS")
else("${CMAKE_VERSION}" STREQUAL "CVS")
set( CMAKE_CHECKOUT "${CVS_COMMAND} -q -z3 -d ${CVSROOT} export -r ${CMAKE_VERSION} ")
endif("${CMAKE_VERSION}" STREQUAL "CVS")
if(NOT HOST)
message(FATAL_ERROR "HOST must be specified with -DHOST=host")
endif(NOT HOST)
if(NOT DEFINED MAKE)
message(FATAL_ERROR "MAKE must be specified with -DMAKE=\"make -j2\"")
endif(NOT DEFINED MAKE)
message("Creating CMake release ${CMAKE_VERSION} on ${HOST} with parallel = ${PROCESSORS}")
# define a macro to run a remote command
macro(remote_command comment command)
message("${comment}")
if(${ARGC} GREATER 2)
2006-05-04 01:22:28 +04:00
execute_process(COMMAND ssh ${HOST} ${EXTRA_HOP} ${command} RESULT_VARIABLE result INPUT_FILE ${ARGV2})
else(${ARGC} GREATER 2)
2006-05-04 01:22:28 +04:00
execute_process(COMMAND ssh ${HOST} ${EXTRA_HOP} ${command} RESULT_VARIABLE result)
endif(${ARGC} GREATER 2)
if(${result} GREATER 0)
message(FATAL_ERROR "Error running command: ${command}, return value = ${result}")
endif(${result} GREATER 0)
endmacro(remote_command)
2006-05-05 16:16:49 +04:00
set(CMAKE_BACKWARDS_COMPATIBILITY 2.4)
configure_file(${SCRIPT_PATH}/release_cmake.sh.in release_cmake.sh)
execute_process(COMMAND
scp release_cmake.sh ${HOST}:release_cmake.sh
RESULT_VARIABLE result)
if(${result} GREATER 0)
message(FATAL_ERROR "Error scp release_cmake.sh to ${HOST}:release_cmake.sh")
endif(${result} GREATER 0)
remote_command("Run release script" "sh release_cmake.sh")
2006-05-03 07:20:02 +04:00
message("copy the .gz file back from the machine")
execute_process(COMMAND scp ${HOST}:CMakeReleaseDirectory/${CMAKE_VERSION}-build/*.gz .
RESULT_VARIABLE result)
2006-05-05 16:16:49 +04:00
2006-05-03 07:20:02 +04:00
message("copy the ${INSTALLER_SUFFIX} file back from the machine")
execute_process(COMMAND scp ${HOST}:CMakeReleaseDirectory/${CMAKE_VERSION}-build/${INSTALLER_SUFFIX} .
RESULT_VARIABLE result)
2006-05-05 16:16:49 +04:00