diff --git a/CMakeLists.txt b/CMakeLists.txt index 82aa85747..68170f488 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,45 +1,48 @@ # Copyright (c) 2017 The Bitcoin developers cmake_minimum_required(VERSION 3.12) project(bitcoin-abc VERSION 0.20.5 DESCRIPTION "Bitcoin ABC is a full node implementation of the Bitcoin Cash protocol." HOMEPAGE_URL "https://www.bitcoinabc.org" ) # Add path for custom modules set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ) # Make contrib script accessible. set(CONTRIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/contrib) # If ccache is available, then use it. find_program(CCACHE ccache) if(CCACHE) set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ${CCACHE}) set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ${CCACHE}) endif(CCACHE) # Default to RelWithDebInfo configuration if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Select the configuration for the build" FORCE) endif() # Find the python interpreter. This is required for several targets. find_package(PythonInterp 3.4 REQUIRED) # Add the magic targets `check-*` add_custom_target(check-all) add_custom_target(check) add_custom_target(check-symbols) add_custom_target(check-security) add_subdirectory(src) add_subdirectory(test) add_subdirectory(contrib/devtools) add_subdirectory(doc) + +include(PackageOptions) +include(CPack) diff --git a/cmake/modules/PackageOptions.cmake b/cmake/modules/PackageOptions.cmake new file mode 100644 index 000000000..4e55395aa --- /dev/null +++ b/cmake/modules/PackageOptions.cmake @@ -0,0 +1,19 @@ +# Package options +set(CPACK_PACKAGE_VENDOR "The Bitcoin developers") +set(CPACK_PACKAGE_DESCRIPTION "Bitcoin ABC is a Bitcoin Cash full node implementation.") +set(CPACK_PACKAGE_HOMEPAGE_URL "${PROJECT_HOMEPAGE_URL}") + +set(CPACK_PACKAGE_INSTALL_DIRECTORY "Bitcoin-abc") +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING") + +if(CMAKE_CROSSCOMPILING) + set(CPACK_SYSTEM_NAME "${TOOLCHAIN_PREFIX}") +endif() + +if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/share/pixmaps/nsis-header.bmp") + set(CPACK_GENERATOR "ZIP") +else() + set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/share/pixmaps/bitcoin-abc128.png") + set(CPACK_GENERATOR "TGZ") +endif()