summaryrefslogtreecommitdiff
path: root/web/CMakeLists.txt
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)