-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
38 lines (29 loc) · 1022 Bytes
/
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
33
34
35
36
37
38
cmake_minimum_required(VERSION 3.20)
project(SYLINTERI)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "-Wall -Wextra -pedantic -g")
set(CMAKE_CXX_FLAGS_DEBUG "-Werror -Og")
include(FetchContent)
find_package(CURL 7.81.0 EXACT REQUIRED)
message("curl libs: ${CURL_LIBRARIES}")
message("curl dirs: ${CURL_INCLUDE_DIRS}")
FetchContent_Declare(json
GIT_REPOSITORY https://github.com/nlohmann/json
GIT_TAG v3.11.3
)
FetchContent_MakeAvailable(json)
set (JSON_LIBRARIES "${CMAKE_BINARY_DIR}/_deps/json-src/include")
FetchContent_Declare(
spdlog
GIT_REPOSITORY https://github.com/gabime/spdlog.git
GIT_TAG v1.14.1 # or the version you want to use
)
FetchContent_MakeAvailable(spdlog)
set (SPDLOG_LIBRARIES "${CMAKE_BINARY_DIR}/_deps/spdlog-src/include")
set(SRC
src/main.cpp
)
add_executable(SYLINTERI "${SRC}")
target_include_directories(SYLINTERI PRIVATE ${JSON_LIBRARIES})
target_include_directories(SYLINTERI PRIVATE ${SPDLOG_LIBRARIES})
target_link_libraries(SYLINTERI PRIVATE ${CURL_LIBRARIES})