summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/wave/CMakeLists.txt
blob: 4bb022cbb268fab83f795eb4c43cbd3c4dac5a28 (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
65
66
67
68
# Generated by `boostdep --cmake wave`
# Copyright 2020 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# https://www.boost.org/LICENSE_1_0.txt

cmake_minimum_required(VERSION 3.5...3.16)

project(boost_wave VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)

add_library(boost_wave
  src/instantiate_cpp_exprgrammar.cpp
  src/instantiate_cpp_grammar.cpp
  src/instantiate_cpp_literalgrs.cpp
  src/instantiate_defined_grammar.cpp
  src/instantiate_has_include_grammar.cpp
  src/instantiate_predef_macros.cpp
  src/instantiate_re2c_lexer.cpp
  src/instantiate_re2c_lexer_str.cpp
  src/token_ids.cpp
  src/wave_config_constant.cpp

  src/cpplexer/re2clex/aq.cpp
  src/cpplexer/re2clex/cpp_re.cpp
)

add_library(Boost::wave ALIAS boost_wave)

target_include_directories(boost_wave PUBLIC include)

target_link_libraries(boost_wave
  PUBLIC
    Boost::assert
    Boost::concept_check
    Boost::config
    Boost::core
    Boost::filesystem
    Boost::iterator
    Boost::lexical_cast
    Boost::mpl
    Boost::multi_index
    Boost::optional
    Boost::pool
    Boost::preprocessor
    Boost::serialization
    Boost::smart_ptr
    Boost::spirit
    Boost::static_assert
    Boost::throw_exception
    Boost::type_traits
)

target_compile_definitions(boost_wave
  PUBLIC BOOST_WAVE_NO_LIB
  PRIVATE BOOST_WAVE_SOURCE
)

if(BUILD_SHARED_LIBS)
  target_compile_definitions(boost_wave PUBLIC BOOST_WAVE_DYN_LINK)
else()
  target_compile_definitions(boost_wave PUBLIC BOOST_WAVE_STATIC_LINK)
endif()

if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")

  add_subdirectory(test)

endif()