X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=CPack.txt;h=92ea450381c2646d49ae231dab1b1eff220479cf;hb=655b5d099259708de52db9d1e5d0861e0ea99852;hp=97221b621a8ee4c981e28d480394550f318b9f29;hpb=c0f50dec5334f54cf060b1f9c4250c72649b4ff2;p=m6w6%2Flibmemcached diff --git a/CPack.txt b/CPack.txt index 97221b62..92ea4503 100644 --- a/CPack.txt +++ b/CPack.txt @@ -1,13 +1,12 @@ # default options +set(CPACK_ARCHIVE_COMPONENT_INSTALL ${CPACK_COMPONENT_INSTALL}) +set(CPACK_SOURCE_IGNORE_FILES "/[.]git/;/[.](idea|settings|c?project);~$;[.]log$;[.]bak$") + macro(cpack_include_if GENERATOR) message(STATUS "Checking ${GENERATOR} package configuration ...") - if(EXISTS ${CMAKE_SOURCE_DIR}/CPack${GENERATOR}.txt) - message(STATUS " Sourcing ${CMAKE_SOURCE_DIR}/CPack${GENERATOR}.txt") - include(${CMAKE_SOURCE_DIR}/CPack${GENERATOR}.txt) - elseif(EXISTS ${CMAKE_BINARY_DIR}/CPack${GENERATOR}.txt) - message(STATUS " Sourcing ${CMAKE_BINARY_DIR}/CPack${GENERATOR}.txt") - include(${CMAKE_BINARY_DIR}/CPack${GENERATOR}.txt) + if(EXISTS ${CMAKE_SOURCE_DIR}/CPack/${GENERATOR}.txt) + include(${CMAKE_SOURCE_DIR}/CPack/${GENERATOR}.txt) endif() endmacro() @@ -21,7 +20,7 @@ set(CPACK_BINARY_TXZ 0) set(CPACK_BINARY_TZ 0) set(CPACK_BINARY_ZIP ${WIN32}) set(CPACK_BINARY_NSIS ${WIN32}) -set(CPACK_BINARY_NUGET ${WIN32}) +set(CPACK_BINARY_NUGET 0) # source archive set(CPACK_SOURCE_TBZ2 0) @@ -39,18 +38,30 @@ set(CPACK_PACKAGE_DESCRIPTION memcached server (http://memcached.org/). It has been designed to be light on memory usage, thread safe, and provide full access to server side methods.") -set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}") -#set(CPACK_PACKAGE_CHECKSUM SHA1) +list(JOIN PROJECT_CONFIG "-" CPACK_PACKAGE_DIRECTORY) +set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_SOURCE_DIR}/CPack/ProjectConfig.txt") +set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md") +set(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME}/${PROJECT_VERSION}") +set(CPACK_PACKAGE_CHECKSUM SHA1) set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE") set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md") set(CPACK_CHANGELOG_FILE "${CMAKE_SOURCE_DIR}/ChangeLog-1.1.md") -set(CPACK_SOURCE_IGNORE_FILES "/[.]git/;/[.](idea|settings|c?project);~$;[.]log$;[.]bak$") - -set(CPACK_PACKAGE_FILE_NAME - "${CMAKE_PROJECT_NAME}-${CMAKE_PROJECT_VERSION}-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}") - -set(CPACK_ARCHIVE_COMPONENT_INSTALL ${CPACK_COMPONENT_INSTALL}) +execute_process( + COMMAND git describe --tags --match [0-9]*.* + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE PROJECT_TAG + ERROR_VARIABLE GIT_ERROR_OUTPUT +) +if(ERROR_OUTPUT) + message(NOTICE "git describe: ${GIT_ERROR_OUTPUT}") +endif() +string(STRIP "${PROJECT_TAG}" PROJECT_TAG) +if(PROJECT_TAG) + set(CPACK_PACKAGE_FILE_NAME ${PROJECT_NAME}-${PROJECT_TAG}) +else() + set(CPACK_PACKAGE_FILE_NAME ${PROJECT_NAME}-${PROJECT_VERSION}) +endif() # dependencies if(HAVE_LIBSASL) @@ -63,24 +74,29 @@ if(HAVE_LIBEVENT) string(APPEND CPACK_PACKAGE_DEPENDS " libevent") endif() - # DEBs -if(EXISTS /usr/bin/dpkg) +find_program(DPKG dpkg) +if(DPKG) cpack_include_if(DEB) endif() -if(APPLE) -endif() - -# BSDs -if(CMAKE_SYSTEM_NAME MATCHES BSD) - cpack_include_if(BSD) +# WIN +if(WIN32) + cpack_include_if(NSIS) endif() # RPMs -if(EXISTS /usr/bin/dnf OR EXISTS /usr/bin/yum OR EXISTS /usr/bin/rpmbuild) +find_program(RPMBUILD rpmbuild) +if(RPMBUILD) cpack_include_if(RPM) endif() # keep last include(CPack) + +add_custom_target(push-artifacts + COMMAND + bash ${CMAKE_SOURCE_DIR}/scripts/push-artifacts.sh "${CPACK_PACKAGE_DIRECTORY}/" + WORKING_DIRECTORY ${CPACK_BINARY_DIR} + ) +