# 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/" ) Set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" ) EndIf ( ) # Project ######################################################################################### Include ( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cpphibernate-var.cmake ) Include ( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cpphibernate-options.cmake ) Project ( cpphibernate DESCRIPTION "A simple library" VERSION "${CPPHIBERNATE_VERSION}" ) Include ( CTest ) Include ( GNUInstallDirs ) # Subdirectories Add_SubDirectory ( ${CMAKE_CURRENT_SOURCE_DIR}/src ) Add_SubDirectory ( ${CMAKE_CURRENT_SOURCE_DIR}/test ) # Install Include ( CMakePackageConfigHelpers ) Write_Basic_Package_Version_File ( "${CMAKE_CURRENT_BINARY_DIR}/cmake/cpphibernate-config-version.cmake" VERSION ${CPPHIBERNATE_VERSION} COMPATIBILITY AnyNewerVersion ) Configure_File ( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cpphibernate-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/cmake/cpphibernate-config.cmake" @ONLY ) Set ( ConfigPackageLocation "${CPPHIBERNATE_INSTALL_DIR_SHARE}/cmake" ) Install ( EXPORT cpphibernate NAMESPACE cpphibernate:: DESTINATION ${ConfigPackageLocation} ) Install ( FILES "${CMAKE_CURRENT_BINARY_DIR}/cmake/cpphibernate-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/cmake/cpphibernate-config-version.cmake" DESTINATION ${ConfigPackageLocation} COMPONENT Devel )