X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=cmake%2Fmodules%2FZyppCommon.cmake;h=8b3ec777d53e774be6957a5dc04de655f3e6d61d;hb=83ae0a03ba583b177a13e092f34d715b42c17d45;hp=652ee1ca568dd4e90ac1e6ca7c37b73815696612;hpb=53edfa0d72381850377346980d7a7be8def4bac5;p=platform%2Fupstream%2Flibzypp.git diff --git a/cmake/modules/ZyppCommon.cmake b/cmake/modules/ZyppCommon.cmake index 652ee1c..8b3ec77 100644 --- a/cmake/modules/ZyppCommon.cmake +++ b/cmake/modules/ZyppCommon.cmake @@ -8,6 +8,13 @@ ELSE ( DEFINED LIB ) 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 ) @@ -38,43 +45,13 @@ MESSAGE( "** Manual files will be installed in ${MANDIR}" ) # 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 # @@ -90,7 +67,7 @@ INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR} ${CMAKE_CUR 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) @@ -107,23 +84,63 @@ ENDMACRO(PKGCONFGFILE) # 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)