]> git.ipfire.org Git - thirdparty/snapper.git/commitdiff
skeleton
authorMichael Andres <ma@suse.de>
Wed, 15 Dec 2010 11:57:45 +0000 (12:57 +0100)
committerMichael Andres <ma@suse.de>
Wed, 15 Dec 2010 11:57:45 +0000 (12:57 +0100)
CMakeLists.txt
cmake/modules/SnapperCommon.cmake

index 4bfa29fc1f32c6a265d30d7788ed300ed11d34f7..0c649c9db24efa9164ffe7a932c90d5efb02eedb 100644 (file)
@@ -26,8 +26,9 @@ set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -O3" )
 ADD_DEFINITIONS( -D_FILE_OFFSET_BITS=64 )
 
 ####################################################################
+# make package based on git archive
 
-#INCLUDE(CPack)
+GENERATE_PACKAGING(${PACKAGE} ${VERSION})
 #INCLUDE(CTest)
 #ENABLE_TESTING()
 
index ce567d383b12623af8f267532a030569ede7221b..052781344e71dfb86b0131a5685517a48b6f2dd4 100644 (file)
@@ -72,3 +72,28 @@ MACRO(PKGCONFGFILE)
   CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/lib${PACKAGE}.pc.cmake ${CMAKE_BINARY_DIR}/lib${PACKAGE}.pc @ONLY)
   INSTALL( FILES ${CMAKE_BINARY_DIR}/lib${PACKAGE}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig )
 ENDMACRO(PKGCONFGFILE)
+
+####################################################################
+# make package                                                          #
+####################################################################
+
+MACRO(GENERATE_PACKAGING PACKAGE VERSION)
+
+  SPECFILE()
+
+  ADD_CUSTOM_TARGET( svncheck
+    # git ls-files -t -d -m
+    COMMAND cd $(CMAKE_SOURCE_DIR) && LC_ALL=C git status || true
+    #| grep -q "nothing to commit .working directory clean."
+  )
+
+  SET( AUTOBUILD_COMMAND
+    COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/package/*.tar.bz2
+    COMMAND cd $(CMAKE_SOURCE_DIR) && git archive --format=tar --prefix="${PACKAGE}-${VERSION}/" HEAD | bzip2 -9 > ${CMAKE_BINARY_DIR}/package/"${PACKAGE}-${VERSION}".tar.bz2
+  )
+
+  ADD_CUSTOM_TARGET( package
+    COMMAND ${CMAKE_MAKE_PROGRAM} svncheck
+    ${AUTOBUILD_COMMAND}
+  )
+ENDMACRO(GENERATE_PACKAGING)