SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" )
ENDIF ( DEFINED LIB )
MESSAGE(STATUS "Libraries will be installed in ${LIB_INSTALL_DIR}" )
+# Headers
+IF (DEFINED INCLUDE)
+ SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${INCLUDE}")
+else (DEFINED INCLUDE)
+ SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include")
+ENDIF (DEFINED INCLUDE)
+MESSAGE (STATUS "Header files will be installed in ${INCLUDE_INSTALL_DIR}")
# system configuration dir (etc)
IF( NOT DEFINED SYSCONFDIR )
# CONFIGURATION #
####################################################################
-# The following components are regex's to match anywhere (unless anchored)
-# in absolute path + filename to find files or directories to be excluded
-# from source tarball.
-SET (CPACK_SOURCE_IGNORE_FILES
-#svn files
-"\\\\.svn/"
-"\\\\.cvsignore$"
-# temporary files
-"\\\\.swp$"
-# backup files
-"~$"
-# eclipse files
-"\\\\.cdtproject$"
-"\\\\.cproject$"
-"\\\\.project$"
-"\\\\.settings/"
-# others
-"\\\\.#"
-"/#"
-"/build/"
-"/_build/"
-"/\\\\.git/"
-# used before
-"/CVS/"
-"/\\\\.libs/"
-"/\\\\.deps/"
-"\\\\.o$"
-"\\\\.lo$"
-"\\\\.la$"
-"Makefile\\\\.in$"
-)
-
-SET( DOC_INSTALL_DIR
- "${CMAKE_INSTALL_PREFIX}/share/doc/packages/${PACKAGE}"
- CACHE PATH "The install dir for documentation (default prefix/share/doc/packages/${PACKAGE})"
- FORCE
-)
+IF( NOT DEFINED DOC_INSTALL_DIR )
+ SET( DOC_INSTALL_DIR
+ "${CMAKE_INSTALL_PREFIX}/share/doc/packages/${PACKAGE}"
+ CACHE PATH "The install dir for documentation (default prefix/share/doc/packages/${PACKAGE})"
+ FORCE
+ )
+ENDIF( NOT DEFINED DOC_INSTALL_DIR )
####################################################################
# INCLUDES #
MACRO(SPECFILE)
MESSAGE(STATUS "Writing spec file...")
- CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/${PACKAGE}.spec.cmake ${CMAKE_BINARY_DIR}/package/libzypp.spec @ONLY)
+ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/${PACKAGE}.spec.cmake ${CMAKE_BINARY_DIR}/package/${PACKAGE}.spec @ONLY)
MESSAGE(STATUS "I hate you rpm-lint...!!!")
IF (EXISTS ${CMAKE_SOURCE_DIR}/package/${PACKAGE}-rpmlint.cmake)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/package/${PACKAGE}-rpmlint.cmake ${CMAKE_BINARY_DIR}/package/${PACKAGE}-rpmlintrc @ONLY)
# INSTALL #
####################################################################
-ADD_CUSTOM_TARGET( svncheck
- COMMAND cd $(CMAKE_SOURCE_DIR) && ! LC_ALL=C svn status --show-updates --quiet | grep -v '^Status against revision'
-)
-
-SET( AUTOBUILD_COMMAND
- COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/package/*.tar.bz2
- COMMAND ${CMAKE_MAKE_PROGRAM} package_source
- COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2 ${CMAKE_BINARY_DIR}/package
- COMMAND ${CMAKE_COMMAND} -E remove ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2
- COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/package/${PACKAGE}.changes" "${CMAKE_BINARY_DIR}/package/${PACKAGE}.changes"
-)
-
-ADD_CUSTOM_TARGET( srcpackage_local
- ${AUTOBUILD_COMMAND}
-)
-
-ADD_CUSTOM_TARGET( srcpackage
- COMMAND ${CMAKE_MAKE_PROGRAM} svncheck
- ${AUTOBUILD_COMMAND}
-)
+MACRO(GENERATE_PACKAGING PACKAGE VERSION)
+
+ # The following components are regex's to match anywhere (unless anchored)
+ # in absolute path + filename to find files or directories to be excluded
+ # from source tarball.
+ SET (CPACK_SOURCE_IGNORE_FILES
+ # hidden files
+ "/\\\\..+$"
+ # temporary files
+ "\\\\.swp$"
+ # backup files
+ "~$"
+ # others
+ "\\\\.#"
+ "/#"
+ "/build/"
+ "/_build/"
+ # used before
+ "/CVS/"
+ "\\\\.o$"
+ "\\\\.lo$"
+ "\\\\.la$"
+ "Makefile\\\\.in$"
+ )
+
+ #SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Novell's package management core engine.")
+ SET(CPACK_PACKAGE_VENDOR "Novell Inc.")
+ #SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
+ #SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
+ #SET(CPACK_PACKAGE_VERSION_MAJOR ${version_major})
+ #SET(CPACK_PACKAGE_VERSION_MINOR ${version_minor})
+ #SET(CPACK_PACKAGE_VERSION_PATCH ${version_patch})
+ SET( CPACK_GENERATOR "TBZ2")
+ SET( CPACK_SOURCE_GENERATOR "TBZ2")
+ SET( CPACK_SOURCE_PACKAGE_FILE_NAME "${PACKAGE}-${VERSION}" )
+ INCLUDE(CPack)
+
+ SPECFILE()
+
+ ADD_CUSTOM_TARGET( svncheck
+ COMMAND cd ${CMAKE_SOURCE_DIR} && LC_ALL=C git status | grep -q "nothing to commit .working directory clean."
+ )
+
+ SET( AUTOBUILD_COMMAND
+ COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/package/*.tar.bz2
+ COMMAND ${CMAKE_MAKE_PROGRAM} package_source
+ COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2 ${CMAKE_BINARY_DIR}/package
+ COMMAND ${CMAKE_COMMAND} -E remove ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/package/${PACKAGE}.changes" "${CMAKE_BINARY_DIR}/package/${PACKAGE}.changes"
+ )
+
+ ADD_CUSTOM_TARGET( srcpackage_local
+ ${AUTOBUILD_COMMAND}
+ )
+
+ ADD_CUSTOM_TARGET( srcpackage
+ COMMAND ${CMAKE_MAKE_PROGRAM} svncheck
+ ${AUTOBUILD_COMMAND}
+ )
+ENDMACRO(GENERATE_PACKAGING)