-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
39 lines (31 loc) · 986 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
39
cmake_minimum_required(VERSION 3.1)
project(bel
LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 11)
option(BEL_BUILD_RANG "A small library that colorizes your terminal." ON)
option(BEL_BUILD_CURL "cURL" ON)
find_package(bia REQUIRED)
add_library(bel)
if(BEL_BUILD_RANG)
list(APPEND BEL_HEADER_FILES "bel/rang/module.hpp")
list(APPEND BEL_SOURCE_FILES "bel/rang/module.cpp")
target_include_directories(bel
PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/3rd_party/rang/include")
endif()
if(BEL_BUILD_CURL)
find_package(CURL REQUIRED)
list(APPEND BEL_HEADER_FILES "bel/curl/module.hpp")
list(APPEND BEL_SOURCE_FILES "bel/curl/module.cpp")
target_include_directories(bel
PUBLIC "${CURL_INCLUDE_DIRS}")
target_link_libraries(bel
PUBLIC "${CURL_LIBRARIES}")
endif()
target_sources(bel
PRIVATE
"${BEL_HEADER_FILES}"
"${BEL_SOURCE_FILES}")
target_link_libraries(bel PUBLIC bia::bia)
add_library(bia::bel ALIAS bel)
add_executable(main "main.cpp")
target_link_libraries(main PRIVATE bel)