]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/property_tree/test/CMakeLists.txt
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / property_tree / test / CMakeLists.txt
CommitLineData
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
11file(GLOB_RECURSE BOOST_PROPERTY_TREE_TESTS_FILES CONFIGURE_DEPENDS Jamfile *.cpp *.hpp)
12list(FILTER BOOST_PROPERTY_TREE_TESTS_FILES EXCLUDE REGEX "^${CMAKE_CURRENT_SOURCE_DIR}/cmake_install_test/.*$")
13
14source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "" FILES ${BOOST_PROPERTY_TREE_TESTS_FILES})
15
16macro(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}")
22endmacro()
23
24PTREE_TEST(test-multi test_multi_module1.cpp test_multi_module2.cpp)
25PTREE_TEST(test-property-tree test_property_tree.cpp test_property_tree.hpp)
26PTREE_TEST(test-info-parser test_info_parser.cpp)
27PTREE_TEST(test-rapidxml test_rapidxml.cpp)
28PTREE_TEST(test-json-parser test_json_parser.cpp)
29PTREE_TEST(test-json-parser2 test_json_parser2.cpp)
30PTREE_TEST(test-ini-parser test_ini_parser.cpp)
31PTREE_TEST(test-xml-parser-rapidxml test_xml_parser_rapidxml.cpp)
32
33#[[
34add_executable(tests ${BOOST_PROPERTY_TREE_TESTS_FILES})
35target_include_directories(tests PRIVATE .)
36target_link_libraries(tests PRIVATE Boost::property_tree Boost::serialization Boost::unit_test_framework)
37add_test(NAME property_tree-tests COMMAND tests)
38]]
39
40#[[
41source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "" FILES limits.cpp main.cpp)
42source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/../src PREFIX "" FILES ../src/src.cpp)
43add_executable(limits limits.cpp main.cpp ../src/src.cpp Jamfile)
44
45target_compile_features(limits PUBLIC cxx_constexpr)
46
47target_include_directories(limits PRIVATE ../include .)
48target_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
56if(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]]
70elseif(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]]
75else()
76#[[
77 target_link_libraries(limits
78 PRIVATE
79 Boost::system
80 Boost::container
81 )
82]]
83endif()
84