# Initialize CMake ################################################################################ CMake_Minimum_Required ( VERSION 3.12.0 FATAL_ERROR ) # Set CMAKE_BUILD_TYPE If ( NOT CMAKE_BUILD_TYPE ) Set ( CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build!" FORCE ) EndIf ( NOT CMAKE_BUILD_TYPE ) Set_Property ( CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Debug Release RelWithDebInfo MinSizeRel ) # Set CMAKE_MODULE_PATH If ( EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/cmake/" ) Set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/" ) EndIf ( ) If ( EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/cmake" ) Set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/cmake" ) EndIf ( ) # Project ######################################################################################### Include ( GNUInstallDirs ) Include ( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cppcurl-options.cmake ) Include ( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cppcurl-const.cmake ) Include ( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cppcurl-var.cmake ) Project ( ${CPPCURL_PROJECT_NAME} DESCRIPTION "${CPPCURL_PROJECT_DESCRIPTION}" VERSION "${CPPCURL_VERSION}" ) Include ( CTest ) # Subdirectories Add_SubDirectory ( ${CMAKE_CURRENT_SOURCE_DIR}/src ) Add_SubDirectory ( ${CMAKE_CURRENT_SOURCE_DIR}/test ) # Install If ( NOT CPPCURL_HAS_EXPORT OR NOT CPPCURL_INSTALL_PACKAGE ) Return ( ) EndIf ( ) Include ( CMakePackageConfigHelpers ) Write_Basic_Package_Version_File ( "${CMAKE_CURRENT_BINARY_DIR}/cmake/cppcurl-config-version.cmake" VERSION ${CPPCURL_VERSION} COMPATIBILITY AnyNewerVersion ) Configure_File ( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cppcurl-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/cmake/cppcurl-config.cmake" @ONLY ) Set ( ConfigPackageLocation "${CPPCURL_INSTALL_DIR_SHARE}/cmake" ) Install ( EXPORT cppcurl NAMESPACE cppcurl:: DESTINATION ${ConfigPackageLocation} ) Install ( FILES "${CMAKE_CURRENT_BINARY_DIR}/cmake/cppcurl-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/cmake/cppcurl-config-version.cmake" DESTINATION ${ConfigPackageLocation} COMPONENT Devel )