add "simple" packaging

to get zip/tgz files with just "bin" and "lib" directories
This commit is contained in:
Johan Holmberg 2017-03-23 15:39:15 +01:00
parent 0ca4391a89
commit 30be1a4460
2 changed files with 65 additions and 27 deletions

View File

@ -1,6 +1,9 @@
cmake_minimum_required(VERSION 3.0)
project(cmdtest)
set( CMDTEST_DATE "" CACHE STRING "date string" )
set( CMDTEST_SIMPLE NO CACHE BOOL "simple packaging" )
execute_process(
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND ruby bin/cmdtest.rb --shortversion
@ -8,16 +11,15 @@ execute_process(
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if( CMDTEST_DATE )
# from command line
else()
execute_process(
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND date +%Y%m%d.%H%M
OUTPUT_VARIABLE CMDTEST_DATE
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set(CPACK_GENERATOR "STGZ;TGZ;TZ;ZIP")
if( ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
set(CPACK_GENERATOR "DEB;${CPACK_GENERATOR}")
endif()
set(CPACK_PACKAGE_VERSION "${CMDTEST_VERSION}.${CMDTEST_DATE}")
@ -29,6 +31,16 @@ set(CPACK_PACKAGE_DESCRIPTION "Cmdtest, xUnit style testing of commands ...")
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "all")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "ruby | ruby-interpreter")
if( CMDTEST_SIMPLE )
set(CPACK_GENERATOR "TGZ;ZIP")
set(CPACK_PACKAGE_FILE_NAME "cmdtest-${CPACK_PACKAGE_VERSION}-SIMPLE")
else()
set(CPACK_GENERATOR "STGZ;TGZ;TZ;ZIP")
if( ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
set(CPACK_GENERATOR "DEB;${CPACK_GENERATOR}")
endif()
endif()
INCLUDE(CPack)
execute_process(
@ -56,8 +68,7 @@ execute_process(
)
install(
FILES
set( LIB_FILES
lib/cmdtest/argumentparser.rb
lib/cmdtest/baselogger.rb
lib/cmdtest/cmdeffects.rb
@ -73,6 +84,24 @@ install(
lib/cmdtest/testcase.rb
lib/cmdtest/util.rb
lib/cmdtest/workdir.rb
)
if( CMDTEST_SIMPLE )
install(
FILES ${LIB_FILES}
DESTINATION lib/cmdtest
)
install(
PROGRAMS
bin/cmdtest.rb.generated
DESTINATION bin
RENAME cmdtest.rb
)
else()
install(
FILES ${LIB_FILES}
DESTINATION lib/ruby/vendor_ruby/cmdtest
)
@ -90,3 +119,6 @@ install(
DESTINATION bin
RENAME cmdtest
)
endif()

View File

@ -19,7 +19,13 @@ end
desc "generate DEB package"
task "generate-debian-package" do
date = ENV["CMDTEST_DATE"] || Time.now.strftime("%Y%m%d.%H%M")
sh "rm -rf build"
sh "mkdir build"
sh "cd build && cmake .. && make package"
sh "cd build && cmake -DCMDTEST_DATE=#{date} .. && make package"
sh "rm -rf build_simple"
sh "mkdir build_simple"
sh "cd build_simple && cmake -DCMDTEST_DATE=#{date} -DCMDTEST_SIMPLE=YES .. && make package"
end