From 30be1a4460cf37f4ba3f55a213059897346c22f7 Mon Sep 17 00:00:00 2001 From: Johan Holmberg <holmberg556@gmail.com> Date: Thu, 23 Mar 2017 15:39:15 +0100 Subject: [PATCH] add "simple" packaging to get zip/tgz files with just "bin" and "lib" directories --- CMakeLists.txt | 84 ++++++++++++++++++++++++++++++++++---------------- Rakefile | 8 ++++- 2 files changed, 65 insertions(+), 27 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b4ae58..ad9a40f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 ) -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}") +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 + ) 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,20 +84,41 @@ install( lib/cmdtest/testcase.rb lib/cmdtest/util.rb lib/cmdtest/workdir.rb - DESTINATION lib/ruby/vendor_ruby/cmdtest ) -install( - FILES - doc/cmdtest.html - COPYING.txt - README.html - DESTINATION share/doc/cmdtest - ) +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 + ) + + install( + FILES + doc/cmdtest.html + COPYING.txt + README.html + DESTINATION share/doc/cmdtest + ) + + install( + PROGRAMS + bin/cmdtest.rb.generated + DESTINATION bin + RENAME cmdtest + ) + +endif() -install( - PROGRAMS - bin/cmdtest.rb.generated - DESTINATION bin - RENAME cmdtest - ) diff --git a/Rakefile b/Rakefile index 3e75201..cac124a 100644 --- a/Rakefile +++ b/Rakefile @@ -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