mirror of
https://github.com/yhirose/cpp-httplib
synced 2024-11-21 14:29:10 -07:00
Add HTTPLIB_INSTALL CMake option (#1575)
* Add HTTPLIB_INSTALL CMake option * Proper formatting of HTTPLIB_INSTALL block Co-authored-by: Jiwoo Park <jiwoo_90@naver.com> --------- Co-authored-by: Niccolò Iardella <niccolo.iardella@doriansrl.it> Co-authored-by: Jiwoo Park <jiwoo_90@naver.com>
This commit is contained in:
parent
3409c00e6f
commit
c54c71a3e5
1 changed files with 22 additions and 17 deletions
|
@ -9,6 +9,7 @@
|
||||||
* HTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN (default on)
|
* HTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN (default on)
|
||||||
* HTTPLIB_REQUIRE_BROTLI (default off)
|
* HTTPLIB_REQUIRE_BROTLI (default off)
|
||||||
* HTTPLIB_COMPILE (default off)
|
* HTTPLIB_COMPILE (default off)
|
||||||
|
* HTTPLIB_INSTALL (default on)
|
||||||
* HTTPLIB_TEST (default off)
|
* HTTPLIB_TEST (default off)
|
||||||
* BROTLI_USE_STATIC_LIBS - tells Cmake to use the static Brotli libs (only works if you have them installed).
|
* BROTLI_USE_STATIC_LIBS - tells Cmake to use the static Brotli libs (only works if you have them installed).
|
||||||
* OPENSSL_USE_STATIC_LIBS - tells Cmake to use the static OpenSSL libs (only works if you have them installed).
|
* OPENSSL_USE_STATIC_LIBS - tells Cmake to use the static OpenSSL libs (only works if you have them installed).
|
||||||
|
@ -87,6 +88,8 @@ option(HTTPLIB_USE_OPENSSL_IF_AVAILABLE "Uses OpenSSL (if available) to enable H
|
||||||
option(HTTPLIB_USE_ZLIB_IF_AVAILABLE "Uses ZLIB (if available) to enable Zlib compression support." ON)
|
option(HTTPLIB_USE_ZLIB_IF_AVAILABLE "Uses ZLIB (if available) to enable Zlib compression support." ON)
|
||||||
# Lets you compile the program as a regular library instead of header-only
|
# Lets you compile the program as a regular library instead of header-only
|
||||||
option(HTTPLIB_COMPILE "If ON, uses a Python script to split the header into a compilable header & source file (requires Python v3)." OFF)
|
option(HTTPLIB_COMPILE "If ON, uses a Python script to split the header into a compilable header & source file (requires Python v3)." OFF)
|
||||||
|
# Lets you disable the installation (useful when fetched from another CMake project)
|
||||||
|
option(HTTPLIB_INSTALL "Enables the installation target" ON)
|
||||||
# Just setting this variable here for people building in-tree
|
# Just setting this variable here for people building in-tree
|
||||||
if(HTTPLIB_COMPILE)
|
if(HTTPLIB_COMPILE)
|
||||||
set(HTTPLIB_IS_COMPILED TRUE)
|
set(HTTPLIB_IS_COMPILED TRUE)
|
||||||
|
@ -262,31 +265,33 @@ else()
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Creates the export httplibTargets.cmake
|
if(HTTPLIB_INSTALL)
|
||||||
# This is strictly what holds compilation requirements
|
# Creates the export httplibTargets.cmake
|
||||||
# and linkage information (doesn't find deps though).
|
# This is strictly what holds compilation requirements
|
||||||
install(TARGETS ${PROJECT_NAME}
|
# and linkage information (doesn't find deps though).
|
||||||
EXPORT httplibTargets
|
install(TARGETS ${PROJECT_NAME}
|
||||||
)
|
EXPORT httplibTargets
|
||||||
|
)
|
||||||
|
|
||||||
install(FILES "${_httplib_build_includedir}/httplib.h" TYPE INCLUDE)
|
install(FILES "${_httplib_build_includedir}/httplib.h" TYPE INCLUDE)
|
||||||
|
|
||||||
install(FILES
|
install(FILES
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
|
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
|
||||||
# Install it so it can be used later by the httplibConfig.cmake file.
|
# Install it so it can be used later by the httplibConfig.cmake file.
|
||||||
# Put it in the same dir as our config file instead of a global path so we don't potentially stomp on other packages.
|
# Put it in the same dir as our config file instead of a global path so we don't potentially stomp on other packages.
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindBrotli.cmake"
|
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindBrotli.cmake"
|
||||||
DESTINATION ${_TARGET_INSTALL_CMAKEDIR}
|
DESTINATION ${_TARGET_INSTALL_CMAKEDIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
# NOTE: This path changes depending on if it's on Windows or Linux
|
# NOTE: This path changes depending on if it's on Windows or Linux
|
||||||
install(EXPORT httplibTargets
|
install(EXPORT httplibTargets
|
||||||
# Puts the targets into the httplib namespace
|
# Puts the targets into the httplib namespace
|
||||||
# So this makes httplib::httplib linkable after doing find_package(httplib)
|
# So this makes httplib::httplib linkable after doing find_package(httplib)
|
||||||
NAMESPACE ${PROJECT_NAME}::
|
NAMESPACE ${PROJECT_NAME}::
|
||||||
DESTINATION ${_TARGET_INSTALL_CMAKEDIR}
|
DESTINATION ${_TARGET_INSTALL_CMAKEDIR}
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(HTTPLIB_TEST)
|
if(HTTPLIB_TEST)
|
||||||
include(CTest)
|
include(CTest)
|
||||||
|
|
Loading…
Reference in a new issue