-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathCMakeLists.txt
32 lines (25 loc) · 1.17 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
cmake_minimum_required(VERSION 3.12.4)
project(urlrequest)
set(CMAKE_CXX_STANDARD 17)
set(BENCHMARK_ENABLE_TESTING "OFF")
if (${CMAKE_PROJECT_NAME} STREQUAL "urlrequest")
find_package(benchmark CONFIG REQUIRED)
find_package(GTest CONFIG REQUIRED)
find_package(CURL CONFIG REQUIRED)
find_package(nlohmann_json CONFIG REQUIRED)
find_package(httplib CONFIG REQUIRED)
endif (${CMAKE_PROJECT_NAME} STREQUAL "urlrequest")
file(GLOB URL_REQUEST_SRC src/*.cpp)
add_library(urlrequest ${URL_REQUEST_SRC})
target_link_libraries(urlrequest CURL::libcurl)
target_include_directories(urlrequest PUBLIC ${CMAKE_CURRENT_LIST_DIR}/include PRIVATE ${CMAKE_CURRENT_LIST_DIR}/shared)
if (${CMAKE_PROJECT_NAME} STREQUAL "urlrequest")
# Enable testing only if compiling this repository.
# Always set enable_testing() before add_subdirectory.
enable_testing()
add_library(urlrequest_test INTERFACE)
target_include_directories(urlrequest_test INTERFACE ${CMAKE_CURRENT_LIST_DIR}/src ${CMAKE_CURRENT_LIST_DIR}/shared)
add_library(urlrequest_test::test ALIAS urlrequest_test)
add_subdirectory(test)
add_subdirectory(test_tool)
endif (${CMAKE_PROJECT_NAME} STREQUAL "urlrequest")