]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/serialization/CMakeLists.txt
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / serialization / CMakeLists.txt
1 # Copyright 2020, 2021 Peter Dimov
2 # Distributed under the Boost Software License, Version 1.0.
3 # https://www.boost.org/LICENSE_1_0.txt
4
5 cmake_minimum_required(VERSION 3.5...3.16)
6
7 project(boost_serialization VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
8
9 add_library(boost_serialization
10 src/archive_exception.cpp
11 src/basic_archive.cpp
12 src/basic_iarchive.cpp
13 src/basic_iserializer.cpp
14 src/basic_oarchive.cpp
15 src/basic_oserializer.cpp
16 src/basic_pointer_iserializer.cpp
17 src/basic_pointer_oserializer.cpp
18 src/basic_serializer_map.cpp
19 src/basic_text_iprimitive.cpp
20 src/basic_text_oprimitive.cpp
21 src/basic_xml_archive.cpp
22 src/binary_iarchive.cpp
23 src/binary_oarchive.cpp
24 src/codecvt_null.cpp
25 src/extended_type_info.cpp
26 src/extended_type_info_no_rtti.cpp
27 src/extended_type_info_typeid.cpp
28 src/polymorphic_binary_iarchive.cpp
29 src/polymorphic_binary_oarchive.cpp
30 src/polymorphic_iarchive.cpp
31 src/polymorphic_oarchive.cpp
32 src/polymorphic_text_iarchive.cpp
33 src/polymorphic_text_oarchive.cpp
34 src/polymorphic_xml_iarchive.cpp
35 src/polymorphic_xml_oarchive.cpp
36 src/stl_port.cpp
37 src/text_iarchive.cpp
38 src/text_oarchive.cpp
39 src/utf8_codecvt_facet.cpp
40 src/void_cast.cpp
41 src/xml_archive_exception.cpp
42 src/xml_grammar.cpp
43 src/xml_iarchive.cpp
44 src/xml_oarchive.cpp
45 )
46
47 add_library(boost_wserialization
48 src/basic_text_wiprimitive.cpp
49 src/basic_text_woprimitive.cpp
50 src/binary_wiarchive.cpp
51 src/binary_woarchive.cpp
52 src/polymorphic_text_wiarchive.cpp
53 src/polymorphic_text_woarchive.cpp
54 src/polymorphic_xml_wiarchive.cpp
55 src/polymorphic_xml_woarchive.cpp
56 src/text_wiarchive.cpp
57 src/text_woarchive.cpp
58 src/xml_wgrammar.cpp
59 src/xml_wiarchive.cpp
60 src/xml_woarchive.cpp
61 )
62
63 add_library(Boost::serialization ALIAS boost_serialization)
64 add_library(Boost::wserialization ALIAS boost_wserialization)
65
66 target_include_directories(boost_serialization PUBLIC include)
67 target_include_directories(boost_wserialization PUBLIC include)
68
69 target_link_libraries(boost_serialization
70 PUBLIC
71 Boost::array
72 Boost::assert
73 Boost::config
74 Boost::core
75 Boost::detail
76 Boost::integer
77 Boost::io
78 Boost::iterator
79 Boost::move
80 Boost::mpl
81 Boost::optional
82 Boost::predef
83 Boost::preprocessor
84 Boost::smart_ptr
85 Boost::spirit
86 Boost::static_assert
87 Boost::type_traits
88 Boost::unordered
89 Boost::utility
90 Boost::variant
91 PRIVATE
92 Boost::function
93 )
94
95 target_link_libraries(boost_wserialization PUBLIC boost_serialization)
96
97 target_compile_definitions(boost_serialization
98 PUBLIC BOOST_SERIALIZATION_NO_LIB
99 # Source files already define BOOST_SERIALIZATION_SOURCE
100 # PRIVATE BOOST_SERIALIZATION_SOURCE
101 )
102
103 target_compile_definitions(boost_wserialization
104 PUBLIC BOOST_SERIALIZATION_NO_LIB
105 # Source files already define BOOST_SERIALIZATION_SOURCE
106 # PRIVATE BOOST_SERIALIZATION_SOURCE
107 )
108
109 if(BUILD_SHARED_LIBS)
110 target_compile_definitions(boost_serialization PUBLIC BOOST_SERIALIZATION_DYN_LINK)
111 target_compile_definitions(boost_wserialization PUBLIC BOOST_SERIALIZATION_DYN_LINK)
112 else()
113 target_compile_definitions(boost_serialization PUBLIC BOOST_SERIALIZATION_STATIC_LINK)
114 target_compile_definitions(boost_wserialization PUBLIC BOOST_SERIALIZATION_STATIC_LINK)
115 endif()
116
117 if(BOOST_SUPERPROJECT_VERSION AND NOT CMAKE_VERSION VERSION_LESS 3.13)
118 boost_install(TARGETS boost_serialization boost_wserialization VERSION ${BOOST_SUPERPROJECT_VERSION} HEADER_DIRECTORY include)
119 endif()
120
121 if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")
122
123 add_subdirectory(test)
124
125 endif()