| @@ -1,3 +1,3 @@ | |||||
| [submodule "cmake/modules"] | [submodule "cmake/modules"] | ||||
| path = cmake/modules | path = cmake/modules | ||||
| url = b3rgmann@git.bergmann89.de:cpp/CmakeModules.git | |||||
| url = b3rgmann@git.bergmann89.de:cpp/CMakeModules.git | |||||
| @@ -1,63 +1,63 @@ | |||||
| # Initialize CMake ################################################################################ | # Initialize CMake ################################################################################ | ||||
| CMake_Minimum_Required ( VERSION 3.12.0 FATAL_ERROR ) | |||||
| CMake_Minimum_Required ( VERSION 3.12.0 FATAL_ERROR ) | |||||
| # Set CMAKE_BUILD_TYPE | # 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 ) | |||||
| 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 | # 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 ( ) | |||||
| 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 ######################################################################################### | # Project ######################################################################################### | ||||
| Include ( CTest ) | |||||
| 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 ( 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 | # Subdirectories | ||||
| Add_SubDirectory ( ${CMAKE_CURRENT_SOURCE_DIR}/src ) | |||||
| Add_SubDirectory ( ${CMAKE_CURRENT_SOURCE_DIR}/test ) | |||||
| Add_SubDirectory ( ${CMAKE_CURRENT_SOURCE_DIR}/src ) | |||||
| Add_SubDirectory ( ${CMAKE_CURRENT_SOURCE_DIR}/test ) | |||||
| # Install | # 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 | |||||
| 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" | "${CMAKE_CURRENT_BINARY_DIR}/cmake/cppmicrohttpd-config.cmake" | ||||
| "${CMAKE_CURRENT_BINARY_DIR}/cmake/cppmicrohttpd-config-version.cmake" | |||||
| DESTINATION | |||||
| ${ConfigPackageLocation} | |||||
| COMPONENT | |||||
| Devel ) | |||||
| @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 ) | |||||
| @@ -0,0 +1,3 @@ | |||||
| # cppmicrohttpd | |||||
| C++ warpper library for libmicrohttpd. | |||||
| @@ -1,28 +1,28 @@ | |||||
| # This file contains constant variables that are fixed to this project | # This file contains constant variables that are fixed to this project | ||||
| # Version | # Version | ||||
| Set ( CPPMICROHTTPD_VERSION_MAJOR 1 ) | |||||
| Set ( CPPMICROHTTPD_VERSION_MINOR 0 ) | |||||
| Set ( CPPMICROHTTPD_VERSION_PATCH 0 ) | |||||
| Set ( CPPMICROHTTPD_VERSION_BUILD 0 ) | |||||
| Set ( CPPMICROHTTPD_VERSION_HASH "" ) | |||||
| Set ( CPPMICROHTTPD_VERSION_BEHIND 0 ) | |||||
| Set ( CPPMICROHTTPD_VERSION_DIRTY 0 ) | |||||
| Set ( CPPMICROHTTPD_VERSION_MAJOR 1 ) | |||||
| Set ( CPPMICROHTTPD_VERSION_MINOR 0 ) | |||||
| Set ( CPPMICROHTTPD_VERSION_PATCH 0 ) | |||||
| Set ( CPPMICROHTTPD_VERSION_BUILD 0 ) | |||||
| Set ( CPPMICROHTTPD_VERSION_HASH "" ) | |||||
| Set ( CPPMICROHTTPD_VERSION_BEHIND 0 ) | |||||
| Set ( CPPMICROHTTPD_VERSION_DIRTY 0 ) | |||||
| # Names | # Names | ||||
| Set ( CPPMICROHTTPD_PROJECT_NAME "cppmicrohttpd" ) | |||||
| Set ( CPPMICROHTTPD_PROJECT_DESCRIPTION "A simple hello world library" ) | |||||
| Set ( CPPMICROHTTPD_PROJECT_NAME "cppmicrohttpd" ) | |||||
| Set ( CPPMICROHTTPD_PROJECT_DESCRIPTION "C++ wrapper library for libmicrohttpd" ) | |||||
| # Include generated variables for further usage | # Include generated variables for further usage | ||||
| Include ( ${CMAKE_CURRENT_LIST_DIR}/cppmicrohttpd-var.cmake ) | |||||
| Include ( ${CMAKE_CURRENT_LIST_DIR}/cppmicrohttpd-var.cmake ) | |||||
| # Install directories | # Install directories | ||||
| Set ( CPPMICROHTTPD_INSTALL_DIR_INCLUDE "${CMAKE_INSTALL_INCLUDEDIR}/${CPPMICROHTTPD_NAME}" ) | |||||
| Set ( CPPMICROHTTPD_INSTALL_DIR_LIB "${CMAKE_INSTALL_LIBDIR}" ) | |||||
| Set ( CPPMICROHTTPD_INSTALL_DIR_SHARE "${CMAKE_INSTALL_DATAROOTDIR}/${CPPMICROHTTPD_NAME}" ) | |||||
| Set ( CPPMICROHTTPD_INSTALL_DIR_INCLUDE "${CMAKE_INSTALL_INCLUDEDIR}/${CPPMICROHTTPD_NAME}" ) | |||||
| Set ( CPPMICROHTTPD_INSTALL_DIR_LIB "${CMAKE_INSTALL_LIBDIR}" ) | |||||
| Set ( CPPMICROHTTPD_INSTALL_DIR_SHARE "${CMAKE_INSTALL_DATAROOTDIR}/${CPPMICROHTTPD_NAME}" ) | |||||
| # C Standard | # C Standard | ||||
| Set ( CMAKE_C_STANDARD 11 ) | |||||
| Set ( CMAKE_CXX_STANDARD 17 ) | |||||
| Set ( CMAKE_C_STANDARD_REQUIRED ON ) | |||||
| Set ( CMAKE_CXX_STANDARD_REQUIRED ON ) | |||||
| Set ( CMAKE_C_STANDARD 11 ) | |||||
| Set ( CMAKE_CXX_STANDARD 17 ) | |||||
| Set ( CMAKE_C_STANDARD_REQUIRED ON ) | |||||
| Set ( CMAKE_CXX_STANDARD_REQUIRED ON ) | |||||
| @@ -1,29 +1,29 @@ | |||||
| # This file contains options that can be passed to the cmake command | # This file contains options that can be passed to the cmake command | ||||
| Option ( CPPMICROHTTPD_INSTALL_HEADER | |||||
| "Install headers of cppmicrohttpd." | |||||
| ON ) | |||||
| Option ( CPPMICROHTTPD_INSTALL_STATIC | |||||
| "Install static library of cppmicrohttpd." | |||||
| ON ) | |||||
| Option ( CPPMICROHTTPD_INSTALL_SHARED | |||||
| "Install shared library of cppmicrohttpd." | |||||
| ON ) | |||||
| Option ( CPPMICROHTTPD_INSTALL_DEBUG | |||||
| "Install the stripped debug informations of cppmicrohttpd." | |||||
| OFF ) | |||||
| Option ( CPPMICROHTTPD_INSTALL_PACKAGE | |||||
| "Install the cmake package of cppmicrohttpd." | |||||
| ON ) | |||||
| Option ( CPPMICROHTTPD_NO_STRIP | |||||
| "Do not strip debug symbols from binary." | |||||
| OFF ) | |||||
| Option ( CPPMICROHTTPD_USE_GIT_VERSION | |||||
| "Read the git tags to get the version of cppmicrohttpd" | |||||
| ON ) | |||||
| If ( NOT CPPMICROHTTPD_LOGGING ) | |||||
| Set ( CPPMICROHTTPD_LOGGING none | |||||
| CACHE STRING "Specify how cppmicrohttpd should write log entries." ) | |||||
| Set_Property ( CACHE CPPMICROHTTPD_LOGGING | |||||
| PROPERTY STRINGS none stdout cpplogging ) | |||||
| EndIf ( ) | |||||
| Option ( CPPMICROHTTPD_INSTALL_HEADER | |||||
| "Install headers of cppmicrohttpd." | |||||
| ON ) | |||||
| Option ( CPPMICROHTTPD_INSTALL_STATIC | |||||
| "Install static library of cppmicrohttpd." | |||||
| ON ) | |||||
| Option ( CPPMICROHTTPD_INSTALL_SHARED | |||||
| "Install shared library of cppmicrohttpd." | |||||
| ON ) | |||||
| Option ( CPPMICROHTTPD_INSTALL_DEBUG | |||||
| "Install the stripped debug informations of cppmicrohttpd." | |||||
| OFF ) | |||||
| Option ( CPPMICROHTTPD_INSTALL_PACKAGE | |||||
| "Install the cmake package of cppmicrohttpd." | |||||
| ON ) | |||||
| Option ( CPPMICROHTTPD_NO_STRIP | |||||
| "Do not strip debug symbols from binary." | |||||
| OFF ) | |||||
| Option ( CPPMICROHTTPD_USE_GIT_VERSION | |||||
| "Read the git tags to get the version of cppmicrohttpd" | |||||
| ON ) | |||||
| If ( NOT CPPMICROHTTPD_LOGGING ) | |||||
| Set ( CPPMICROHTTPD_LOGGING none | |||||
| CACHE STRING "Specify how cppmicrohttpd should write log entries." ) | |||||
| Set_Property ( CACHE CPPMICROHTTPD_LOGGING | |||||
| PROPERTY STRINGS none stdout cpplogging ) | |||||
| EndIf ( ) | |||||
| @@ -1,26 +1,32 @@ | |||||
| # This file contains generated variables that are needed for the project | # This file contains generated variables that are needed for the project | ||||
| # Git Version | # Git Version | ||||
| If ( CPPMICROHTTPD_USE_GIT_VERSION ) | |||||
| Include ( git_helper OPTIONAL RESULT_VARIABLE HAS_GIT_HELPER ) | |||||
| If ( HAS_GIT_HELPER ) | |||||
| GitGetVersion ( ${CMAKE_CURRENT_LIST_DIR}/.. | |||||
| CPPMICROHTTPD_VERSION_MAJOR | |||||
| CPPMICROHTTPD_VERSION_MINOR | |||||
| CPPMICROHTTPD_VERSION_PATCH | |||||
| CPPMICROHTTPD_VERSION_BUILD | |||||
| CPPMICROHTTPD_VERSION_HASH | |||||
| CPPMICROHTTPD_VERSION_BEHIND | |||||
| CPPMICROHTTPD_VERSION_DIRTY ) | |||||
| EndIf ( ) | |||||
| EndIf ( ) | |||||
| If ( CPPMICROHTTPD_USE_GIT_VERSION ) | |||||
| Include ( git_helper OPTIONAL RESULT_VARIABLE HAS_GIT_HELPER ) | |||||
| If ( HAS_GIT_HELPER ) | |||||
| GitGetVersion ( ${CMAKE_CURRENT_LIST_DIR}/.. | |||||
| CPPMICROHTTPD_VERSION_MAJOR | |||||
| CPPMICROHTTPD_VERSION_MINOR | |||||
| CPPMICROHTTPD_VERSION_PATCH | |||||
| CPPMICROHTTPD_VERSION_BUILD | |||||
| CPPMICROHTTPD_VERSION_HASH | |||||
| CPPMICROHTTPD_VERSION_BEHIND | |||||
| CPPMICROHTTPD_VERSION_DIRTY ) | |||||
| EndIf ( ) | |||||
| EndIf ( ) | |||||
| # Strings | # Strings | ||||
| Set ( CPPMICROHTTPD_VERSION_SHORT "${CPPMICROHTTPD_VERSION_MAJOR}.${CPPMICROHTTPD_VERSION_MINOR}" ) | |||||
| Set ( CPPMICROHTTPD_VERSION "${CPPMICROHTTPD_VERSION_SHORT}.${CPPMICROHTTPD_VERSION_PATCH}.${CPPMICROHTTPD_VERSION_BUILD}" ) | |||||
| Set ( CPPMICROHTTPD_VERSION_COMPLETE "${CPPMICROHTTPD_VERSION}" ) | |||||
| Set ( CPPMICROHTTPD_NAME "${CPPMICROHTTPD_PROJECT_NAME}-${CPPMICROHTTPD_VERSION_SHORT}" ) | |||||
| Set ( CPPMICROHTTPD_OUTPUTNAME "${CPPMICROHTTPD_PROJECT_NAME}" ) | |||||
| If ( CPPMICROHTTPD_VERSION_BEHIND ) | |||||
| Set ( CPPMICROHTTPD_VERSION_COMPLETE "${CPPMICROHTTPD_VERSION_COMPLETE}+${CPPMICROHTTPD_VERSION_BEHIND}" ) | |||||
| EndIf ( ) | |||||
| Set ( CPPMICROHTTPD_VERSION_SHORT | |||||
| "${CPPMICROHTTPD_VERSION_MAJOR}.${CPPMICROHTTPD_VERSION_MINOR}" ) | |||||
| Set ( CPPMICROHTTPD_VERSION | |||||
| "${CPPMICROHTTPD_VERSION_SHORT}.${CPPMICROHTTPD_VERSION_PATCH}.${CPPMICROHTTPD_VERSION_BUILD}" ) | |||||
| Set ( CPPMICROHTTPD_VERSION_COMPLETE | |||||
| "${CPPMICROHTTPD_VERSION}" ) | |||||
| Set ( CPPMICROHTTPD_NAME | |||||
| "${CPPMICROHTTPD_PROJECT_NAME}-${CPPMICROHTTPD_VERSION_SHORT}" ) | |||||
| Set ( CPPMICROHTTPD_OUTPUTNAME | |||||
| "${CPPMICROHTTPD_PROJECT_NAME}" ) | |||||
| If ( CPPMICROHTTPD_VERSION_BEHIND ) | |||||
| Set ( CPPMICROHTTPD_VERSION_COMPLETE | |||||
| "${CPPMICROHTTPD_VERSION_COMPLETE}+${CPPMICROHTTPD_VERSION_BEHIND}" ) | |||||
| EndIf ( ) | |||||
| @@ -1 +1 @@ | |||||
| Subproject commit ebbae4fbb42d671331b4c6e9d1d142f41dcacc1b | |||||
| Subproject commit 94b9877d65e46c9d8169ebc46f163d02e4d9dcf3 | |||||
| @@ -1,150 +1,159 @@ | |||||
| # Initialize ###################################################################################### | # Initialize ###################################################################################### | ||||
| Include ( cotire OPTIONAL RESULT_VARIABLE HAS_COTIRE ) | |||||
| Include ( pedantic OPTIONAL RESULT_VARIABLE HAS_PEDANTIC ) | |||||
| Include ( strip_symbols OPTIONAL RESULT_VARIABLE HAS_STRIP_SYMBOLS ) | |||||
| Find_Package ( cppcore REQUIRED ) | |||||
| Find_Package ( libmicrohttpd REQUIRED ) | |||||
| If ( CPPMICROHTTPD_LOGGING MATCHES none ) | |||||
| Set ( CPPMICROHTTPD_LOGGING_NONE true ) | |||||
| ElseIf ( CPPMICROHTTPD_LOGGING MATCHES stdcout ) | |||||
| Set ( CPPMICROHTTPD_LOGGING_STDCOUT true ) | |||||
| ElseIf ( CPPMICROHTTPD_LOGGING MATCHES cpplogging ) | |||||
| Find_Package ( cpplogging QUIET ) | |||||
| If ( cpplogging_FOUND ) | |||||
| Set ( CPPMICROHTTPD_LOGGING_CPPLOGGING true ) | |||||
| Else ( ) | |||||
| Set ( CPPMICROHTTPD_LOGGING_STDCOUT true ) | |||||
| EndIf ( ) | |||||
| EndIf ( ) | |||||
| Include ( cotire OPTIONAL RESULT_VARIABLE HAS_COTIRE ) | |||||
| Include ( pedantic OPTIONAL RESULT_VARIABLE HAS_PEDANTIC ) | |||||
| Include ( strip_symbols OPTIONAL RESULT_VARIABLE HAS_STRIP_SYMBOLS ) | |||||
| Find_Package ( Sanitizers QUIET ) | |||||
| Find_Package ( cppcore REQUIRED ) | |||||
| Find_Package ( libmicrohttpd REQUIRED ) | |||||
| If ( CPPMICROHTTPD_LOGGING MATCHES none ) | |||||
| Set ( CPPMICROHTTPD_LOGGING_NONE true ) | |||||
| ElseIf ( CPPMICROHTTPD_LOGGING MATCHES stdcout ) | |||||
| Set ( CPPMICROHTTPD_LOGGING_STDCOUT true ) | |||||
| ElseIf ( CPPMICROHTTPD_LOGGING MATCHES cpplogging ) | |||||
| Find_Package ( cpplogging QUIET ) | |||||
| If ( cpplogging_FOUND ) | |||||
| Set ( CPPMICROHTTPD_LOGGING_CPPLOGGING true ) | |||||
| Else ( ) | |||||
| Set ( CPPMICROHTTPD_LOGGING_STDCOUT true ) | |||||
| EndIf ( ) | |||||
| EndIf ( ) | |||||
| # Object Library ################################################################################## | # Object Library ################################################################################## | ||||
| Set ( CMAKE_POSITION_INDEPENDENT_CODE ON ) | |||||
| Set ( CPPMICROHTTPD_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../include ) | |||||
| Set ( CPPMICROHTTPD_GENERATED_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/generated/include ) | |||||
| Configure_File ( ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/config.h.in | |||||
| ${CPPMICROHTTPD_GENERATED_INCLUDE_DIR}/cppmicrohttpd/config.h ) | |||||
| File ( GLOB_RECURSE CPPMICROHTTPD_HEADER_FILES ${CPPMICROHTTPD_INCLUDE_DIR}/*.h ) | |||||
| File ( GLOB_RECURSE CPPMICROHTTPD_INLINE_FILES ${CPPMICROHTTPD_INCLUDE_DIR}/*.inl ) | |||||
| File ( GLOB_RECURSE CPPMICROHTTPD_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp ) | |||||
| Add_Library ( cppmicrohttpd-objects | |||||
| OBJECT | |||||
| ${CPPMICROHTTPD_HEADER_FILES} | |||||
| ${CPPMICROHTTPD_INLINE_FILES} | |||||
| ${CPPMICROHTTPD_SOURCE_FILES} ) | |||||
| Target_Include_Directories ( cppmicrohttpd-objects | |||||
| PUBLIC | |||||
| $<BUILD_INTERFACE:${CPPMICROHTTPD_INCLUDE_DIR}> | |||||
| $<BUILD_INTERFACE:${CPPMICROHTTPD_GENERATED_INCLUDE_DIR}> | |||||
| $<INSTALL_INTERFACE:${CPPMICROHTTPD_INSTALL_DIR_INCLUDE}> ) | |||||
| Target_Link_Libraries ( cppmicrohttpd-objects | |||||
| PUBLIC | |||||
| cppcore::cppcore ) | |||||
| If ( CPPMICROHTTPD_LOGGING_CPPLOGGING ) | |||||
| Target_Link_Libraries ( cppmicrohttpd-objects | |||||
| PUBLIC | |||||
| cpplogging::cpplogging-shared ) | |||||
| EndIf ( ) | |||||
| Set ( CPPMICROHTTPD_GENERATED_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/generated/include ) | |||||
| Configure_File ( ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/config.h.in | |||||
| ${CPPMICROHTTPD_GENERATED_INCLUDE_DIR}/cppmicrohttpd/config.h ) | |||||
| Set ( CMAKE_POSITION_INDEPENDENT_CODE ON ) | |||||
| Set ( CPPMICROHTTPD_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../include ) | |||||
| File ( GLOB_RECURSE CPPMICROHTTPD_HEADER_FILES ${CPPMICROHTTPD_INCLUDE_DIR}/*.h ) | |||||
| File ( GLOB_RECURSE CPPMICROHTTPD_INLINE_FILES ${CPPMICROHTTPD_INCLUDE_DIR}/*.inl ) | |||||
| File ( GLOB_RECURSE CPPMICROHTTPD_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp ) | |||||
| Add_Library ( cppmicrohttpd-objects | |||||
| OBJECT | |||||
| ${CPPMICROHTTPD_HEADER_FILES} | |||||
| ${CPPMICROHTTPD_INLINE_FILES} | |||||
| ${CPPMICROHTTPD_SOURCE_FILES} ) | |||||
| Target_Include_Directories ( cppmicrohttpd-objects | |||||
| PUBLIC | |||||
| $<BUILD_INTERFACE:${CPPMICROHTTPD_INCLUDE_DIR}> | |||||
| $<BUILD_INTERFACE:${CPPMICROHTTPD_GENERATED_INCLUDE_DIR}> | |||||
| $<INSTALL_INTERFACE:${CPPMICROHTTPD_INSTALL_DIR_INCLUDE}> ) | |||||
| Target_Link_Libraries ( cppmicrohttpd-objects | |||||
| PUBLIC | |||||
| cppcore::cppcore ) | |||||
| If ( CPPMICROHTTPD_LOGGING_CPPLOGGING ) | |||||
| Target_Link_Libraries ( cppmicrohttpd-objects | |||||
| PUBLIC | |||||
| cpplogging::cpplogging-shared ) | |||||
| EndIf ( ) | |||||
| # Static Library ################################################################################## | # Static Library ################################################################################## | ||||
| Add_Library ( cppmicrohttpd-static STATIC $<TARGET_OBJECTS:cppmicrohttpd-objects> ) | |||||
| Set_Target_Properties ( cppmicrohttpd-static | |||||
| PROPERTIES | |||||
| OUTPUT_NAME "${CPPMICROHTTPD_OUTPUTNAME}" | |||||
| VERSION ${CPPMICROHTTPD_VERSION} ) | |||||
| Target_Include_Directories ( cppmicrohttpd-static | |||||
| PUBLIC | |||||
| $<BUILD_INTERFACE:${CPPMICROHTTPD_INCLUDE_DIR}> | |||||
| $<BUILD_INTERFACE:${CPPMICROHTTPD_GENERATED_INCLUDE_DIR}> | |||||
| $<INSTALL_INTERFACE:${CPPMICROHTTPD_INSTALL_DIR_INCLUDE}> ) | |||||
| Target_Link_Libraries ( cppmicrohttpd-static | |||||
| PUBLIC | |||||
| cppcore::cppcore | |||||
| libmicrohttpd::libmicrohttpd-static ) | |||||
| If ( CPPMICROHTTPD_LOGGING_CPPLOGGING ) | |||||
| Target_Link_Libraries ( cppmicrohttpd-static | |||||
| PUBLIC | |||||
| cpplogging::cpplogging-static ) | |||||
| EndIf ( ) | |||||
| Add_Library ( cppmicrohttpd-static STATIC $<TARGET_OBJECTS:cppmicrohttpd-objects> ) | |||||
| Set_Target_Properties ( cppmicrohttpd-static | |||||
| PROPERTIES | |||||
| OUTPUT_NAME "${CPPMICROHTTPD_OUTPUTNAME}" | |||||
| VERSION ${CPPMICROHTTPD_VERSION} ) | |||||
| Target_Include_Directories ( cppmicrohttpd-static | |||||
| PUBLIC | |||||
| $<BUILD_INTERFACE:${CPPMICROHTTPD_INCLUDE_DIR}> | |||||
| $<BUILD_INTERFACE:${CPPMICROHTTPD_GENERATED_INCLUDE_DIR}> | |||||
| $<INSTALL_INTERFACE:${CPPMICROHTTPD_INSTALL_DIR_INCLUDE}> ) | |||||
| Target_Link_Libraries ( cppmicrohttpd-static | |||||
| PUBLIC | |||||
| cppcore::cppcore | |||||
| libmicrohttpd::libmicrohttpd-static ) | |||||
| If ( CPPMICROHTTPD_LOGGING_CPPLOGGING ) | |||||
| Target_Link_Libraries ( cppmicrohttpd-static | |||||
| PUBLIC | |||||
| cpplogging::cpplogging-static ) | |||||
| EndIf ( ) | |||||
| # Shared Library ################################################################################## | # Shared Library ################################################################################## | ||||
| Add_Library ( cppmicrohttpd-shared SHARED $<TARGET_OBJECTS:cppmicrohttpd-objects> ) | |||||
| Set_Target_Properties ( cppmicrohttpd-shared | |||||
| PROPERTIES | |||||
| OUTPUT_NAME "${CPPMICROHTTPD_OUTPUTNAME}" | |||||
| VERSION ${CPPMICROHTTPD_VERSION} | |||||
| SOVERSION ${CPPMICROHTTPD_VERSION_SHORT} ) | |||||
| Target_Include_Directories ( cppmicrohttpd-shared | |||||
| PUBLIC | |||||
| $<BUILD_INTERFACE:${CPPMICROHTTPD_INCLUDE_DIR}> | |||||
| $<BUILD_INTERFACE:${CPPMICROHTTPD_GENERATED_INCLUDE_DIR}> | |||||
| $<INSTALL_INTERFACE:${CPPMICROHTTPD_INSTALL_DIR_INCLUDE}> ) | |||||
| Target_Link_Libraries ( cppmicrohttpd-shared | |||||
| PUBLIC | |||||
| cppcore::cppcore | |||||
| libmicrohttpd::libmicrohttpd-shared ) | |||||
| If ( CPPMICROHTTPD_LOGGING_CPPLOGGING ) | |||||
| Target_Link_Libraries ( cppmicrohttpd-shared | |||||
| PUBLIC | |||||
| cpplogging::cpplogging-shared ) | |||||
| EndIf ( ) | |||||
| Add_Library ( cppmicrohttpd-shared SHARED $<TARGET_OBJECTS:cppmicrohttpd-objects> ) | |||||
| Set_Target_Properties ( cppmicrohttpd-shared | |||||
| PROPERTIES | |||||
| OUTPUT_NAME "${CPPMICROHTTPD_OUTPUTNAME}" | |||||
| VERSION ${CPPMICROHTTPD_VERSION} | |||||
| SOVERSION ${CPPMICROHTTPD_VERSION_SHORT} ) | |||||
| Target_Include_Directories ( cppmicrohttpd-shared | |||||
| PUBLIC | |||||
| $<BUILD_INTERFACE:${CPPMICROHTTPD_INCLUDE_DIR}> | |||||
| $<BUILD_INTERFACE:${CPPMICROHTTPD_GENERATED_INCLUDE_DIR}> | |||||
| $<INSTALL_INTERFACE:${CPPMICROHTTPD_INSTALL_DIR_INCLUDE}> ) | |||||
| Target_Link_Libraries ( cppmicrohttpd-shared | |||||
| PUBLIC | |||||
| cppcore::cppcore | |||||
| libmicrohttpd::libmicrohttpd-shared ) | |||||
| If ( CPPMICROHTTPD_LOGGING_CPPLOGGING ) | |||||
| Target_Link_Libraries ( cppmicrohttpd-shared | |||||
| PUBLIC | |||||
| cpplogging::cpplogging-shared ) | |||||
| EndIf ( ) | |||||
| # Optimization #################################################################################### | # Optimization #################################################################################### | ||||
| # sanitizers | |||||
| If ( Sanitizers_FOUND ) | |||||
| Add_Sanitizers ( cppmicrohttpd-objects ) | |||||
| EndIf ( ) | |||||
| # pedantic | # pedantic | ||||
| If ( HAS_PEDANTIC ) | |||||
| Pedantic_Apply_Flags_Target ( cppmicrohttpd-objects ALL ) | |||||
| Pedantic_Apply_Flags_Target ( cppmicrohttpd-static ALL ) | |||||
| Pedantic_Apply_Flags_Target ( cppmicrohttpd-shared ALL ) | |||||
| EndIf ( ) | |||||
| If ( HAS_PEDANTIC ) | |||||
| Pedantic_Apply_Flags_Target ( cppmicrohttpd-objects ALL ) | |||||
| Pedantic_Apply_Flags_Target ( cppmicrohttpd-static ALL ) | |||||
| Pedantic_Apply_Flags_Target ( cppmicrohttpd-shared ALL ) | |||||
| EndIf ( ) | |||||
| # cotire | # cotire | ||||
| If ( HAS_COTIRE ) | |||||
| Cotire ( cppmicrohttpd-objects ) | |||||
| Cotire ( cppmicrohttpd-static ) | |||||
| Cotire ( cppmicrohttpd-shared ) | |||||
| EndIf ( ) | |||||
| If ( HAS_COTIRE ) | |||||
| Cotire ( cppmicrohttpd-objects ) | |||||
| Cotire ( cppmicrohttpd-static ) | |||||
| Cotire ( cppmicrohttpd-shared ) | |||||
| EndIf ( ) | |||||
| # Install ######################################################################################### | # Install ######################################################################################### | ||||
| Set ( CPPMICROHTTPD_HAS_EXPORT False PARENT_SCOPE ) | |||||
| Set ( CPPMICROHTTPD_HAS_EXPORT False PARENT_SCOPE ) | |||||
| # Header | # Header | ||||
| If ( CPPMICROHTTPD_INSTALL_HEADER ) | |||||
| Install ( FILES ${CPPMICROHTTPD_INCLUDE_DIR}/cppmicrohttpd.h | |||||
| DESTINATION ${CPPMICROHTTPD_INSTALL_DIR_INCLUDE} ) | |||||
| Install ( DIRECTORY ${CPPMICROHTTPD_INCLUDE_DIR}/cppmicrohttpd | |||||
| DESTINATION ${CPPMICROHTTPD_INSTALL_DIR_INCLUDE} ) | |||||
| Install ( DIRECTORY ${CPPMICROHTTPD_GENERATED_INCLUDE_DIR}/cppmicrohttpd | |||||
| DESTINATION ${CPPMICROHTTPD_INSTALL_DIR_INCLUDE} ) | |||||
| EndIf ( ) | |||||
| If ( CPPMICROHTTPD_INSTALL_HEADER ) | |||||
| Install ( FILES ${CPPMICROHTTPD_INCLUDE_DIR}/cppmicrohttpd.h | |||||
| DESTINATION ${CPPMICROHTTPD_INSTALL_DIR_INCLUDE} ) | |||||
| Install ( DIRECTORY ${CPPMICROHTTPD_INCLUDE_DIR}/cppmicrohttpd | |||||
| DESTINATION ${CPPMICROHTTPD_INSTALL_DIR_INCLUDE} ) | |||||
| Install ( DIRECTORY ${CPPMICROHTTPD_GENERATED_INCLUDE_DIR}/cppmicrohttpd | |||||
| DESTINATION ${CPPMICROHTTPD_INSTALL_DIR_INCLUDE} ) | |||||
| EndIf ( ) | |||||
| # Static | # Static | ||||
| If ( CPPMICROHTTPD_INSTALL_STATIC ) | |||||
| Set ( CPPMICROHTTPD_HAS_EXPORT True PARENT_SCOPE ) | |||||
| Install ( TARGETS cppmicrohttpd-static | |||||
| EXPORT cppmicrohttpd | |||||
| DESTINATION ${CPPMICROHTTPD_INSTALL_DIR_LIB} ) | |||||
| EndIf ( ) | |||||
| If ( CPPMICROHTTPD_INSTALL_STATIC ) | |||||
| Set ( CPPMICROHTTPD_HAS_EXPORT True PARENT_SCOPE ) | |||||
| Install ( TARGETS cppmicrohttpd-static | |||||
| EXPORT cppmicrohttpd | |||||
| DESTINATION ${CPPMICROHTTPD_INSTALL_DIR_LIB} ) | |||||
| EndIf ( ) | |||||
| # Shared | # Shared | ||||
| If ( CPPMICROHTTPD_INSTALL_SHARED ) | |||||
| Set ( CPPMICROHTTPD_HAS_EXPORT True PARENT_SCOPE ) | |||||
| Install ( TARGETS cppmicrohttpd-shared | |||||
| EXPORT cppmicrohttpd | |||||
| DESTINATION ${CPPMICROHTTPD_INSTALL_DIR_LIB} ) | |||||
| EndIf ( ) | |||||
| If ( CPPMICROHTTPD_INSTALL_SHARED ) | |||||
| Set ( CPPMICROHTTPD_HAS_EXPORT True PARENT_SCOPE ) | |||||
| Install ( TARGETS cppmicrohttpd-shared | |||||
| EXPORT cppmicrohttpd | |||||
| DESTINATION ${CPPMICROHTTPD_INSTALL_DIR_LIB} ) | |||||
| EndIf ( ) | |||||
| # Debug | # Debug | ||||
| If ( HAS_STRIP_SYMBOLS AND NOT CPPMICROHTTPD_NO_STRIP ) | |||||
| Strip_Symbols ( cppmicrohttpd-shared CPPMICROHTTPD_DBG_FILE ) | |||||
| If ( CPPMICROHTTPD_INSTALL_DEBUG ) | |||||
| Install ( FILES ${CPPMICROHTTPD_DBG_FILE} | |||||
| DESTINATION ${CPPMICROHTTPD_INSTALL_DIR_LIB} ) | |||||
| EndIf ( ) | |||||
| EndIf ( ) | |||||
| If ( HAS_STRIP_SYMBOLS AND NOT CPPMICROHTTPD_NO_STRIP ) | |||||
| Strip_Symbols ( cppmicrohttpd-shared CPPMICROHTTPD_DBG_FILE ) | |||||
| If ( CPPMICROHTTPD_INSTALL_DEBUG ) | |||||
| Install ( FILES ${CPPMICROHTTPD_DBG_FILE} | |||||
| DESTINATION ${CPPMICROHTTPD_INSTALL_DIR_LIB} ) | |||||
| EndIf ( ) | |||||
| EndIf ( ) | |||||
| @@ -1,68 +1,75 @@ | |||||
| # Initialize ###################################################################################### | # Initialize ###################################################################################### | ||||
| Include ( cotire OPTIONAL RESULT_VARIABLE HAS_COTIRE ) | |||||
| Include ( pedantic OPTIONAL RESULT_VARIABLE HAS_PEDANTIC ) | |||||
| Include ( cmake_tests OPTIONAL RESULT_VARIABLE HAS_CMAKE_TESTS ) | |||||
| Include ( cotire OPTIONAL RESULT_VARIABLE HAS_COTIRE ) | |||||
| Include ( pedantic OPTIONAL RESULT_VARIABLE HAS_PEDANTIC ) | |||||
| Include ( cmake_tests OPTIONAL RESULT_VARIABLE HAS_CMAKE_TESTS ) | |||||
| Find_Package ( GTest ) | |||||
| If ( NOT "${GTest_FOUND}" ) | |||||
| Return ( ) | |||||
| EndIf ( ) | |||||
| Find_Package ( Sanitizers QUIET ) | |||||
| Find_Package ( GTest ) | |||||
| If ( NOT "${GTest_FOUND}" ) | |||||
| Return ( ) | |||||
| EndIf ( ) | |||||
| # Test Helper ##################################################################################### | # Test Helper ##################################################################################### | ||||
| File ( GLOB_RECURSE SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/helper/*.cpp ) | |||||
| Add_Library ( cppmicrohttpd-test-helper STATIC ${SOURCE_FILES} ) | |||||
| Target_Include_Directories ( cppmicrohttpd-test-helper | |||||
| PUBLIC | |||||
| $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/helper> | |||||
| $<INSTALL_INTERFACE:${CPPMICROHTTPD_INSTALL_DIR_INCLUDE}> ) | |||||
| Target_Include_Directories ( cppmicrohttpd-test-helper | |||||
| SYSTEM PUBLIC | |||||
| ${MICROHTTPD_INCLUDE_DIRS} ) | |||||
| Target_Link_Libraries ( cppmicrohttpd-test-helper | |||||
| PUBLIC | |||||
| cppmicrohttpd-objects | |||||
| GMock::GMock ) | |||||
| File ( GLOB_RECURSE SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/helper/*.cpp ) | |||||
| Add_Library ( cppmicrohttpd-test-helper STATIC ${SOURCE_FILES} ) | |||||
| Target_Include_Directories ( cppmicrohttpd-test-helper | |||||
| PUBLIC | |||||
| $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/helper> | |||||
| $<INSTALL_INTERFACE:${CPPMICROHTTPD_INSTALL_DIR_INCLUDE}> ) | |||||
| Target_Include_Directories ( cppmicrohttpd-test-helper | |||||
| SYSTEM PUBLIC | |||||
| ${MICROHTTPD_INCLUDE_DIRS} ) | |||||
| Target_Link_Libraries ( cppmicrohttpd-test-helper | |||||
| PUBLIC | |||||
| cppmicrohttpd-objects | |||||
| GMock::GMock ) | |||||
| # Test ############################################################################################ | # Test ############################################################################################ | ||||
| File ( GLOB_RECURSE CPPMICROHTTPD_TEST_HEADER_FILES | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/*.h ) | |||||
| File ( GLOB_RECURSE CPPMICROHTTPD_TEST_INLINE_FILES | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/*.inl ) | |||||
| File ( GLOB_RECURSE CPPMICROHTTPD_TEST_SOURCE_FILES | |||||
| RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/cppmicrohttpd/*.cpp ) | |||||
| File ( GLOB_RECURSE CPPMICROHTTPD_TEST_HEADER_FILES | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/*.h ) | |||||
| File ( GLOB_RECURSE CPPMICROHTTPD_TEST_INLINE_FILES | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/*.inl ) | |||||
| File ( GLOB_RECURSE CPPMICROHTTPD_TEST_SOURCE_FILES | |||||
| RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp ) | |||||
| ForEach ( FILE IN LISTS CPPMICROHTTPD_TEST_SOURCE_FILES ) | |||||
| ForEach ( FILE IN LISTS CPPMICROHTTPD_TEST_SOURCE_FILES ) | |||||
| # add test | # add test | ||||
| Get_Filename_Component ( TEST_DIR ${FILE} DIRECTORY ) | |||||
| Get_Filename_Component ( TEST_NAME ${FILE} NAME_WE ) | |||||
| Set ( TEST_NAME "${TEST_DIR}/${TEST_NAME}" ) | |||||
| String ( REPLACE "\\" "-" TEST_NAME "${TEST_NAME}" ) | |||||
| String ( REPLACE "/" "-" TEST_NAME "${TEST_NAME}" ) | |||||
| String ( REPLACE "_" "-" TEST_NAME "${TEST_NAME}" ) | |||||
| Set ( TEST_NAME "test-${TEST_NAME}" ) | |||||
| Add_Executable ( ${TEST_NAME} | |||||
| EXCLUDE_FROM_ALL | |||||
| ${CPPMICROHTTPD_TEST_HEADER_FILES} | |||||
| ${CPPMICROHTTPD_TEST_INLINE_FILES} | |||||
| ${FILE} ) | |||||
| Target_Link_Libraries ( ${TEST_NAME} | |||||
| PUBLIC | |||||
| cppmicrohttpd-test-helper | |||||
| GMock::Main ) | |||||
| Get_Filename_Component ( TEST_DIR ${FILE} DIRECTORY ) | |||||
| Get_Filename_Component ( TEST_NAME ${FILE} NAME_WE ) | |||||
| Set ( TEST_NAME "${TEST_DIR}/${TEST_NAME}" ) | |||||
| String ( REPLACE "\\" "-" TEST_NAME "${TEST_NAME}" ) | |||||
| String ( REPLACE "/" "-" TEST_NAME "${TEST_NAME}" ) | |||||
| String ( REPLACE "_" "-" TEST_NAME "${TEST_NAME}" ) | |||||
| Set ( TEST_NAME "test-${TEST_NAME}" ) | |||||
| Add_Executable ( ${TEST_NAME} | |||||
| EXCLUDE_FROM_ALL | |||||
| ${CPPMICROHTTPD_TEST_HEADER_FILES} | |||||
| ${CPPMICROHTTPD_TEST_INLINE_FILES} | |||||
| ${FILE} ) | |||||
| Target_Link_Libraries ( ${TEST_NAME} | |||||
| PUBLIC | |||||
| cppmicrohttpd-test-helper | |||||
| GMock::Main ) | |||||
| # Sanitizers | |||||
| If ( Sanitizers_FOUND ) | |||||
| Add_Sanitizers ( ${TEST_NAME} ) | |||||
| EndIf ( ) | |||||
| # pedantic | # pedantic | ||||
| If ( HAS_PEDANTIC ) | |||||
| Pedantic_Apply_Flags_Target ( ${TEST_NAME} ALL ) | |||||
| EndIf ( ) | |||||
| If ( HAS_PEDANTIC ) | |||||
| Pedantic_Apply_Flags_Target ( ${TEST_NAME} ALL ) | |||||
| EndIf ( ) | |||||
| # test | # test | ||||
| If ( HAS_CMAKE_TESTS ) | |||||
| Add_CMake_Test ( NAME ${TEST_NAME} TARGET ${TEST_NAME} GROUP cppmicrohttpd ) | |||||
| Else ( ) | |||||
| Add_Test ( NAME ${TEST_NAME} COMMAND ${TEST_NAME} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) | |||||
| EndIf ( ) | |||||
| EndForEach ( ) | |||||
| If ( HAS_CMAKE_TESTS ) | |||||
| Add_CMake_Test ( NAME ${TEST_NAME} TARGET ${TEST_NAME} GROUP cppmicrohttpd ) | |||||
| Else ( ) | |||||
| Add_Test ( NAME ${TEST_NAME} COMMAND ${TEST_NAME} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) | |||||
| EndIf ( ) | |||||
| EndForEach ( ) | |||||