# 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/cppmicrohttpd-options.cmake ) Include ( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cppmicrohttpd-const.cmake ) Include ( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cppmicrohttpd-var.cmake ) Project ( ${CPPMICROHTTPD_PROJECT_NAME} DESCRIPTION "${CPPMICROHTTPD_PROJECT_DESCRIPTION}" VERSION "${CPPMICROHTTPD_VERSION}" ) Include ( CTest ) # Subdirectories Add_SubDirectory ( ${CMAKE_CURRENT_SOURCE_DIR}/src ) Add_SubDirectory ( ${CMAKE_CURRENT_SOURCE_DIR}/test ) # Install If ( NOT CPPMICROHTTPD_HAS_EXPORT OR NOT CPPMICROHTTPD_INSTALL_PACKAGE ) Return ( ) EndIf ( ) Include ( CMakePackageConfigHelpers ) Write_Basic_Package_Version_File ( "${CMAKE_CURRENT_BINARY_DIR}/cmake/cppmicrohttpd-config-version.cmake" VERSION ${CPPMICROHTTPD_VERSION} COMPATIBILITY AnyNewerVersion ) Configure_File ( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cppmicrohttpd-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/cmake/cppmicrohttpd-config.cmake" @ONLY ) Set ( ConfigPackageLocation "${CPPMICROHTTPD_INSTALL_DIR_SHARE}/cmake" ) Install ( EXPORT cppmicrohttpd NAMESPACE cppmicrohttpd:: DESTINATION ${ConfigPackageLocation} ) Install ( FILES "${CMAKE_CURRENT_BINARY_DIR}/cmake/cppmicrohttpd-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/cmake/cppmicrohttpd-config-version.cmake" DESTINATION ${ConfigPackageLocation} COMPONENT Devel )