1
0
Fork 0

CMake: Use in-tree dynstr if not available

This commit is contained in:
Xavier Del Campo Romero 2023-10-16 00:53:28 +02:00
parent 584de479cb
commit 280d400877
Signed by untrusted user: xavi
GPG Key ID: 84FF3612A9BF43F2
2 changed files with 23 additions and 1 deletions

View File

@ -7,7 +7,14 @@ add_library(${PROJECT_NAME}
http.c
server.c
wildcard_cmp.c)
add_subdirectory(dynstr)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_LIST_DIR}/cmake)
find_package(dynstr 0.1.0)
if(NOT DYNSTR_FOUND)
message(STATUS "Using in-tree dynstr")
add_subdirectory(dynstr)
endif()
target_include_directories(${PROJECT_NAME} PUBLIC include)
target_link_libraries(${PROJECT_NAME} PUBLIC dynstr)
install(TARGETS ${PROJECT_NAME})

15
cmake/Finddynstr.cmake Normal file
View File

@ -0,0 +1,15 @@
mark_as_advanced(DYNSTR_LIBRARY DYNSTR_INCLUDE_DIR)
find_library(DYNSTR_LIBRARY NAMES dynstr)
find_path(DYNSTR_INCLUDE_DIR NAMES dynstr PATH_SUFFIXES include)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(dynstr
DEFAULT_MSG DYNSTR_LIBRARY DYNSTR_INCLUDE_DIR)
if(DYNSTR_FOUND)
if(NOT TARGET dynstr)
add_library(dynstr UNKNOWN IMPORTED)
set_target_properties(dynstr PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${DYNSTR_INCLUDE_DIR}"
IMPORTED_LOCATION "${DYNSTR_LIBRARY}")
endif()
endif()