summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: c6cd35d68b82aaba548a4c789ebf990482ab6691 (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
cmake_minimum_required(VERSION 3.2)
project(honeysuckle
  VERSION 0.1.0
  DESCRIPTION "A zero-dependency static site generator")

find_package(Lua51 REQUIRED)

set(SRC_ROOT ${CMAKE_SOURCE_DIR}/src)
include_directories(
  ${LUA_INCLUDE_DIR}
  ${SRC_ROOT}/markdown
  ${SRC_ROOT}/tinydir
  ${SRC_ROOT}/honeysuckle)

set(MD4C_SOURCES
  ${SRC_ROOT}/markdown/md4c.c
  ${SRC_ROOT}/markdown/md4c-html.c
  ${SRC_ROOT}/markdown/entity.c)

set(HONEYSUCKLE_SOURCES
  ${SRC_ROOT}/honeysuckle/hs_create_table.c
  ${SRC_ROOT}/honeysuckle/hs_parse_args.c
  ${SRC_ROOT}/honeysuckle/hs_process_table.c
  ${SRC_ROOT}/honeysuckle/hs_pushstring.c
  ${SRC_ROOT}/honeysuckle/hs_throw_error.c
  ${SRC_ROOT}/honeysuckle/hs_traceback.c
  ${SRC_ROOT}/honeysuckle/hs_type_to_string.c)

add_executable(argent
  ${SRC_ROOT}/argent.c
  ${SRC_ROOT}/options.c
  ${SRC_ROOT}/bindings.c
  ${SRC_ROOT}/logging.c
  ${MD4C_SOURCES}
  ${HONEYSUCKLE_SOURCES})
set_target_properties(argent PROPERTIES
  C_STANDARD 99
  CMAKE_C_FLAGS "-Wall -Wextra -Werror -Wfatal-errors -Wpedantic")
target_link_libraries(argent ${LUA_LIBRARIES})