blob: 11a11bf0646e90e8230cfc5a6810fe35c6d933ba (
plain)
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
40
|
cmake_minimum_required(VERSION 3.10)
include(FetchContent)
# Creating symbolic links
file(CREATE_LINK "${CMAKE_SOURCE_DIR}/static" "${CMAKE_CURRENT_BINARY_DIR}/static" SYMBOLIC)
file(CREATE_LINK "${CMAKE_SOURCE_DIR}/templates" "${CMAKE_CURRENT_BINARY_DIR}/templates" SYMBOLIC)
file(CREATE_LINK "${CMAKE_SOURCE_DIR}/docs" "${CMAKE_CURRENT_BINARY_DIR}/docs" SYMBOLIC)
if (EXISTS "${CMAKE_SOURCE_DIR}/.env")
file(CREATE_LINK "${CMAKE_SOURCE_DIR}/.env" "${CMAKE_CURRENT_BINARY_DIR}/.env" SYMBOLIC)
endif()
add_executable(Web)
set_target_properties(
Web PROPERTIES
DESCRIPTION ${PROJECT_DESCRIPTION}
OUTPUT_NAME "${PROJECT_NAME}-web"
)
file(GLOB_RECURSE SOURCE_FILES "src/*.cpp" "src/*.h" "src/*.hpp")
target_sources(Web PRIVATE ${SOURCE_FILES})
# web framework
FetchContent_Declare(
crow
GIT_REPOSITORY https://github.com/CrowCpp/Crow
GIT_TAG v1.1.0
)
FetchContent_MakeAvailable(crow)
# markdown parser
FetchContent_Declare(
maddy
GIT_REPOSITORY https://github.com/progsource/maddy.git
GIT_TAG 1.3.0
)
FetchContent_MakeAvailable(maddy)
target_include_directories(Web PRIVATE ${crow_SOURCE_DIR}/include)
target_link_libraries(Web PRIVATE maddy)
|