]>
Commit | Line | Data |
---|---|---|
1e59de90 TL |
1 | # |
2 | # Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com) | |
3 | # Copyright (c) 2021 Richard Hodges (hodges.r@gmail.com) | |
4 | # | |
5 | # Distributed under the Boost Software License, Version 1.0. (See accompanying | |
6 | # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
7 | # | |
8 | # Official repository: https://github.com/boostorg/json | |
9 | # | |
10 | ||
11 | file(GLOB_RECURSE BOOST_PROPERTY_TREE_TESTS_FILES CONFIGURE_DEPENDS Jamfile *.cpp *.hpp) | |
12 | list(FILTER BOOST_PROPERTY_TREE_TESTS_FILES EXCLUDE REGEX "^${CMAKE_CURRENT_SOURCE_DIR}/cmake_install_test/.*$") | |
13 | ||
14 | source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "" FILES ${BOOST_PROPERTY_TREE_TESTS_FILES}) | |
15 | ||
16 | macro(PTREE_TEST name) | |
17 | message(STATUS "ptree_test ${PROJECT_NAME}-${name} SRCS ${ARGN}") | |
18 | add_executable("${PROJECT_NAME}-${name}" ${ARGN}) | |
19 | target_include_directories("${PROJECT_NAME}-${name}" PRIVATE .) | |
20 | target_link_libraries("${PROJECT_NAME}-${name}" PRIVATE Boost::property_tree Boost::serialization) | |
21 | add_test(NAME "${PROJECT_NAME}-${name}" COMMAND "${PROJECT_NAME}-${name}") | |
22 | endmacro() | |
23 | ||
24 | PTREE_TEST(test-multi test_multi_module1.cpp test_multi_module2.cpp) | |
25 | PTREE_TEST(test-property-tree test_property_tree.cpp test_property_tree.hpp) | |
26 | PTREE_TEST(test-info-parser test_info_parser.cpp) | |
27 | PTREE_TEST(test-rapidxml test_rapidxml.cpp) | |
28 | PTREE_TEST(test-json-parser test_json_parser.cpp) | |
29 | PTREE_TEST(test-json-parser2 test_json_parser2.cpp) | |
30 | PTREE_TEST(test-ini-parser test_ini_parser.cpp) | |
31 | PTREE_TEST(test-xml-parser-rapidxml test_xml_parser_rapidxml.cpp) | |
32 | ||
33 | #[[ | |
34 | add_executable(tests ${BOOST_PROPERTY_TREE_TESTS_FILES}) | |
35 | target_include_directories(tests PRIVATE .) | |
36 | target_link_libraries(tests PRIVATE Boost::property_tree Boost::serialization Boost::unit_test_framework) | |
37 | add_test(NAME property_tree-tests COMMAND tests) | |
38 | ]] | |
39 | ||
40 | #[[ | |
41 | source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "" FILES limits.cpp main.cpp) | |
42 | source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/../src PREFIX "" FILES ../src/src.cpp) | |
43 | add_executable(limits limits.cpp main.cpp ../src/src.cpp Jamfile) | |
44 | ||
45 | target_compile_features(limits PUBLIC cxx_constexpr) | |
46 | ||
47 | target_include_directories(limits PRIVATE ../include .) | |
48 | target_compile_definitions(limits PRIVATE | |
49 | BOOST_PROPERTY_TREE_MAX_STRING_SIZE=1000 | |
50 | BOOST_PROPERTY_TREE_MAX_STRUCTURED_SIZE=20 | |
51 | BOOST_PROPERTY_TREE_STACK_BUFFER_SIZE=256 | |
52 | BOOST_PROPERTY_TREE_NO_LIB=1 | |
53 | ) | |
54 | ]] | |
55 | ||
56 | if(BOOST_SUPERPROJECT_VERSION) | |
57 | #[[ | |
58 | target_link_libraries(limits | |
59 | PRIVATE | |
60 | Boost::align | |
61 | Boost::assert | |
62 | Boost::config | |
63 | Boost::container | |
64 | Boost::exception | |
65 | Boost::system | |
66 | Boost::throw_exception | |
67 | Boost::utility | |
68 | ) | |
69 | ]] | |
70 | elseif(BOOST_PROPERTY_TREE_IN_BOOST_TREE) | |
71 | #[[ | |
72 | target_include_directories(limits PRIVATE ${BOOST_ROOT}) | |
73 | target_link_directories(limits PRIVATE ${BOOST_ROOT}/stage/lib) | |
74 | ]] | |
75 | else() | |
76 | #[[ | |
77 | target_link_libraries(limits | |
78 | PRIVATE | |
79 | Boost::system | |
80 | Boost::container | |
81 | ) | |
82 | ]] | |
83 | endif() | |
84 |