aboutsummaryrefslogtreecommitdiff
path: root/lib/mstch/src/CMakeLists.txt
blob: 6517fc4235c6ba7e3d74a621af576a474ff63c9d (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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
find_package(Boost 1.54 REQUIRED)

set(mstch_INCLUDE_DIR
    ${PROJECT_SOURCE_DIR}/include CACHE STRING "mstch include directory")

include_directories(
    ${mstch_INCLUDE_DIR}
    ${Boost_INCLUDE_DIR})

set(SRC
    state/in_section.cpp
    state/outside_section.cpp
    state/render_state.hpp
    visitor/get_token.hpp
    visitor/has_token.hpp
    visitor/is_node_empty.hpp
    visitor/render_node.hpp
    visitor/render_section.hpp
    mstch.cpp
    render_context.cpp
    template_type.cpp
    token.cpp
    utils.cpp)

add_library(mstch STATIC ${SRC})

set_property(TARGET mstch PROPERTY VERSION ${mstch_VERSION})

install(
    TARGETS mstch EXPORT mstchTargets
    LIBRARY DESTINATION lib
    ARCHIVE DESTINATION lib)

install(
    FILES "${PROJECT_SOURCE_DIR}/include/mstch/mstch.hpp"
    DESTINATION include/mstch
    COMPONENT Devel)

include(CMakePackageConfigHelpers)
write_basic_package_version_file(
    "${CMAKE_CURRENT_BINARY_DIR}/mstch/mstch-config-version.cmake"
    VERSION ${mstch_VERSION}
    COMPATIBILITY AnyNewerVersion)

export(
    EXPORT mstchTargets
    FILE "${CMAKE_CURRENT_BINARY_DIR}/mstch/mstch-targets.cmake"
    NAMESPACE mstch::)

configure_file(
    "${PROJECT_SOURCE_DIR}/cmake/mstch-config.cmake"
    "${CMAKE_CURRENT_BINARY_DIR}/mstch/mstch-config.cmake")

install(
    EXPORT mstchTargets
    FILE mstch-targets.cmake
    NAMESPACE mstch::
    DESTINATION lib/cmake/mstch)

install(FILES
    "${PROJECT_SOURCE_DIR}/cmake/mstch-config.cmake"
    "${CMAKE_CURRENT_BINARY_DIR}/mstch/mstch-config-version.cmake"
    DESTINATION lib/cmake/mstch
    COMPONENT Devel)