externals: allow users to use system cpp-httplib (#7034)
This commit is contained in:
parent
b28ade1ee8
commit
0ce956ba00
|
@ -95,6 +95,7 @@ option(USE_SYSTEM_OPENSSL "Use the system OpenSSL libs (instead of the bundled L
|
|||
option(USE_SYSTEM_LIBUSB "Use the system libusb (instead of the bundled libusb)" OFF)
|
||||
option(USE_SYSTEM_CPP_JWT "Use the system cpp-jwt (instead of the bundled one)" OFF)
|
||||
option(USE_SYSTEM_SOUNDTOUCH "Use the system SoundTouch (instead of the bundled one)" OFF)
|
||||
option(USE_SYSTEM_CPP_HTTPLIB "Use the system cpp-httplib (instead of the bundled one)" OFF)
|
||||
|
||||
if (CITRA_USE_PRECOMPILED_HEADERS)
|
||||
message(STATUS "Using Precompiled Headers.")
|
||||
|
|
|
@ -199,7 +199,12 @@ endif()
|
|||
|
||||
# httplib
|
||||
add_library(httplib INTERFACE)
|
||||
target_include_directories(httplib INTERFACE ./httplib)
|
||||
if(USE_SYSTEM_CPP_HTTPLIB)
|
||||
find_package(CppHttp REQUIRED)
|
||||
target_link_libraries(httplib INTERFACE cpp-httplib::cpp-httplib)
|
||||
else()
|
||||
target_include_directories(httplib INTERFACE ./httplib)
|
||||
endif()
|
||||
target_compile_options(httplib INTERFACE -DCPPHTTPLIB_OPENSSL_SUPPORT)
|
||||
target_link_libraries(httplib INTERFACE ${OPENSSL_LIBRARIES})
|
||||
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
if(NOT CppHttp_FOUND)
|
||||
pkg_check_modules(HTTP_TMP cpp-httplib)
|
||||
|
||||
find_path(CPP-HTTP_INCLUDE_DIR NAMES httplib.h
|
||||
PATHS
|
||||
${HTTP_TMP_INCLUDE_DIRS}
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
)
|
||||
|
||||
find_library(CPP-HTTP_LIBRARIES NAMES cpp-httplib
|
||||
PATHS
|
||||
${HTTP_TMP_LIBRARY_DIRS}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
)
|
||||
|
||||
if(CPP-HTTP_INCLUDE_DIR AND CPP-HTTP_LIBRARIES)
|
||||
set(CppHttp_FOUND TRUE CACHE INTERNAL "cpp-httplib found")
|
||||
message(STATUS "Found cpp-httplib: ${CPP-HTTP_INCLUDE_DIR}, ${CPP-HTTP_LIBRARIES}")
|
||||
else()
|
||||
set(CppHttp_FOUND FALSE CACHE INTERNAL "cpp-httplib found")
|
||||
message(STATUS "Cpp-httplib not found.")
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
if(CppHttp_FOUND AND NOT TARGET cpp-httplib::cpp-httplib)
|
||||
add_library(cpp-httplib::cpp-httplib INTERFACE IMPORTED)
|
||||
set_target_properties(cpp-httplib::cpp-httplib PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${CPP-HTTP_INCLUDE_DIR}"
|
||||
INTERFACE_LINK_LIBRARIES "${CPP-HTTP_LIBRARIES}"
|
||||
IMPORTED_LOCATION "${CPP-HTTP_LIBRARIES}"
|
||||
)
|
||||
endif()
|
Reference in New Issue