mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-06-25 06:01:31 +02:00
add MSGPACK_CXX_ONLY option to build c++ libraries only
This commit is contained in:
parent
d04520044f
commit
d9c5978958
@ -156,7 +156,24 @@ IF (GTEST_FOUND AND ZLIB_FOUND AND THREADS_FOUND AND NOT "${MSGPACK_FUZZ_REGRESS
|
|||||||
OPTION (MSGPACK_GEN_COVERAGE "Enable running gcov to get a test coverage report." OFF)
|
OPTION (MSGPACK_GEN_COVERAGE "Enable running gcov to get a test coverage report." OFF)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
IF (DEFINED BUILD_SHARED_LIBS)
|
OPTION (MSGPACK_ENABLE_CXX "Enable C++ interface." ON)
|
||||||
|
|
||||||
|
OPTION (MSGPACK_CXX_ONLY "Build only C++ libraries (header-only)." OFF)
|
||||||
|
IF (MSGPACK_CXX_ONLY)
|
||||||
|
IF (DEFINED MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_SHARED)
|
||||||
|
MESSAGE(WARNING "MSGPACK_ENABLE_SHARED is overridden to OFF by MSGPACK_CXX_ONLY")
|
||||||
|
ENDIF ()
|
||||||
|
SET (MSGPACK_ENABLE_SHARED OFF)
|
||||||
|
IF (DEFINED MSGPACK_ENABLE_STATIC AND MSGPACK_ENABLE_STATIC)
|
||||||
|
MESSAGE(WARNING "MSGPACK_ENABLE_STATIC is overridden to OFF by MSGPACK_CXX_ONLY")
|
||||||
|
ENDIF ()
|
||||||
|
SET (MSGPACK_ENABLE_STATIC OFF)
|
||||||
|
IF (DEFINED MSGPACK_ENABLE_CXX AND NOT MSGPACK_ENABLE_CXX)
|
||||||
|
MESSAGE(WARNING "MSGPACK_ENABLE_CXX is overridden to ON by MSGPACK_CXX_ONLY")
|
||||||
|
ENDIF ()
|
||||||
|
SET (MSGPACK_ENABLE_CXX ON)
|
||||||
|
ELSE ()
|
||||||
|
IF (DEFINED BUILD_SHARED_LIBS)
|
||||||
IF (BUILD_SHARED_LIBS)
|
IF (BUILD_SHARED_LIBS)
|
||||||
IF (DEFINED MSGPACK_ENABLE_SHARED AND NOT MSGPACK_ENABLE_SHARED)
|
IF (DEFINED MSGPACK_ENABLE_SHARED AND NOT MSGPACK_ENABLE_SHARED)
|
||||||
MESSAGE(WARNING "MSGPACK_ENABLE_SHARED is overridden to ON by BUILD_SHARED_LIBS")
|
MESSAGE(WARNING "MSGPACK_ENABLE_SHARED is overridden to ON by BUILD_SHARED_LIBS")
|
||||||
@ -176,7 +193,7 @@ IF (DEFINED BUILD_SHARED_LIBS)
|
|||||||
ENDIF ()
|
ENDIF ()
|
||||||
SET (MSGPACK_ENABLE_STATIC ON)
|
SET (MSGPACK_ENABLE_STATIC ON)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
ELSE ()
|
ELSE ()
|
||||||
IF (NOT DEFINED MSGPACK_ENABLE_SHARED)
|
IF (NOT DEFINED MSGPACK_ENABLE_SHARED)
|
||||||
SET (MSGPACK_ENABLE_SHARED ON)
|
SET (MSGPACK_ENABLE_SHARED ON)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
@ -184,10 +201,9 @@ ELSE ()
|
|||||||
SET (MSGPACK_ENABLE_STATIC ON)
|
SET (MSGPACK_ENABLE_STATIC ON)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
SET (BUILD_SHARED_LIBS ${MSGPACK_ENABLE_SHARED})
|
SET (BUILD_SHARED_LIBS ${MSGPACK_ENABLE_SHARED})
|
||||||
|
ENDIF ()
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
OPTION (MSGPACK_ENABLE_CXX "Enable C++ interface." ON)
|
|
||||||
|
|
||||||
INCLUDE (CheckCXXSourceCompiles)
|
INCLUDE (CheckCXXSourceCompiles)
|
||||||
CHECK_CXX_SOURCE_COMPILES ("
|
CHECK_CXX_SOURCE_COMPILES ("
|
||||||
#include <bits/atomicity.h>
|
#include <bits/atomicity.h>
|
||||||
@ -380,7 +396,7 @@ FOREACH (file ${msgpackc_HEADERS})
|
|||||||
GET_FILENAME_COMPONENT (dir ${file} PATH)
|
GET_FILENAME_COMPONENT (dir ${file} PATH)
|
||||||
INSTALL (FILES ${file} DESTINATION ${CMAKE_INSTALL_PREFIX}/${dir})
|
INSTALL (FILES ${file} DESTINATION ${CMAKE_INSTALL_PREFIX}/${dir})
|
||||||
ENDFOREACH ()
|
ENDFOREACH ()
|
||||||
IF (NOT MSVC)
|
IF (NOT MSGPACK_CXX_ONLY AND NOT MSVC)
|
||||||
INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/msgpack.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/msgpack.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
@ -454,17 +470,19 @@ CONFIGURE_PACKAGE_CONFIG_FILE (msgpack-config.cmake.in
|
|||||||
INSTALL_DESTINATION "${CMAKE_INSTALL_CMAKEDIR}"
|
INSTALL_DESTINATION "${CMAKE_INSTALL_CMAKEDIR}"
|
||||||
)
|
)
|
||||||
|
|
||||||
INSTALL (EXPORT msgpack-targets
|
IF (NOT MSGPACK_CXX_ONLY)
|
||||||
|
INSTALL (EXPORT msgpack-targets
|
||||||
FILE
|
FILE
|
||||||
msgpack-targets.cmake
|
msgpack-targets.cmake
|
||||||
DESTINATION
|
DESTINATION
|
||||||
"${CMAKE_INSTALL_CMAKEDIR}"
|
"${CMAKE_INSTALL_CMAKEDIR}"
|
||||||
)
|
)
|
||||||
|
|
||||||
INSTALL (
|
INSTALL (
|
||||||
FILES
|
FILES
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/msgpack-config.cmake"
|
"${CMAKE_CURRENT_BINARY_DIR}/msgpack-config.cmake"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/msgpack-config-version.cmake"
|
"${CMAKE_CURRENT_BINARY_DIR}/msgpack-config-version.cmake"
|
||||||
DESTINATION
|
DESTINATION
|
||||||
"${CMAKE_INSTALL_CMAKEDIR}"
|
"${CMAKE_INSTALL_CMAKEDIR}"
|
||||||
)
|
)
|
||||||
|
ENDIF ()
|
||||||
|
34
Files.cmake
34
Files.cmake
@ -5,14 +5,11 @@ LIST (APPEND msgpackc_SOURCES
|
|||||||
src/vrefbuffer.c
|
src/vrefbuffer.c
|
||||||
src/zone.c
|
src/zone.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# For both C and C++ libraries
|
||||||
LIST (APPEND msgpackc_HEADERS
|
LIST (APPEND msgpackc_HEADERS
|
||||||
include/msgpack.h
|
|
||||||
include/msgpack/fbuffer.h
|
include/msgpack/fbuffer.h
|
||||||
include/msgpack/gcc_atomic.h
|
|
||||||
include/msgpack/object.h
|
include/msgpack/object.h
|
||||||
include/msgpack/pack.h
|
|
||||||
include/msgpack/pack_define.h
|
|
||||||
include/msgpack/pack_template.h
|
|
||||||
include/msgpack/predef.h
|
include/msgpack/predef.h
|
||||||
include/msgpack/predef/architecture.h
|
include/msgpack/predef/architecture.h
|
||||||
include/msgpack/predef/architecture/alpha.h
|
include/msgpack/predef/architecture/alpha.h
|
||||||
@ -152,20 +149,33 @@ LIST (APPEND msgpackc_HEADERS
|
|||||||
include/msgpack/predef/platform/windows_uwp.h
|
include/msgpack/predef/platform/windows_uwp.h
|
||||||
include/msgpack/predef/version.h
|
include/msgpack/predef/version.h
|
||||||
include/msgpack/predef/version_number.h
|
include/msgpack/predef/version_number.h
|
||||||
include/msgpack/sbuffer.h
|
|
||||||
include/msgpack/sysdep.h
|
include/msgpack/sysdep.h
|
||||||
include/msgpack/timestamp.h
|
|
||||||
include/msgpack/unpack.h
|
|
||||||
include/msgpack/unpack_define.h
|
include/msgpack/unpack_define.h
|
||||||
include/msgpack/unpack_template.h
|
|
||||||
include/msgpack/util.h
|
|
||||||
include/msgpack/version.h
|
|
||||||
include/msgpack/version_master.h
|
include/msgpack/version_master.h
|
||||||
include/msgpack/vrefbuffer.h
|
|
||||||
include/msgpack/zbuffer.h
|
include/msgpack/zbuffer.h
|
||||||
include/msgpack/zone.h
|
include/msgpack/zone.h
|
||||||
)
|
)
|
||||||
|
|
||||||
|
IF (NOT MSGPACK_CXX_ONLY)
|
||||||
|
# Only for C library
|
||||||
|
LIST (APPEND msgpackc_HEADERS
|
||||||
|
include/msgpack.h
|
||||||
|
include/msgpack/gcc_atomic.h
|
||||||
|
include/msgpack/pack.h
|
||||||
|
include/msgpack/pack_define.h
|
||||||
|
include/msgpack/pack_template.h
|
||||||
|
include/msgpack/sbuffer.h
|
||||||
|
include/msgpack/timestamp.h
|
||||||
|
include/msgpack/unpack.h
|
||||||
|
include/msgpack/unpack_template.h
|
||||||
|
include/msgpack/util.h
|
||||||
|
include/msgpack/version.h
|
||||||
|
include/msgpack/vrefbuffer.h
|
||||||
|
)
|
||||||
|
ENDIF ()
|
||||||
|
|
||||||
IF (MSGPACK_ENABLE_CXX)
|
IF (MSGPACK_ENABLE_CXX)
|
||||||
|
# Only for C++ library
|
||||||
LIST (APPEND msgpackc_HEADERS
|
LIST (APPEND msgpackc_HEADERS
|
||||||
include/msgpack.hpp
|
include/msgpack.hpp
|
||||||
include/msgpack/adaptor/adaptor_base.hpp
|
include/msgpack/adaptor/adaptor_base.hpp
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
ADD_SUBDIRECTORY (c)
|
IF (NOT MSGPACK_CXX_ONLY)
|
||||||
ADD_SUBDIRECTORY (cpp03)
|
ADD_SUBDIRECTORY (c)
|
||||||
ADD_SUBDIRECTORY (cpp11)
|
ENDIF ()
|
||||||
ADD_SUBDIRECTORY (boost)
|
IF (MSGPACK_ENABLE_CXX)
|
||||||
ADD_SUBDIRECTORY (x3)
|
ADD_SUBDIRECTORY (cpp03)
|
||||||
|
ADD_SUBDIRECTORY (cpp11)
|
||||||
|
ADD_SUBDIRECTORY (boost)
|
||||||
|
ADD_SUBDIRECTORY (x3)
|
||||||
|
ENDIF ()
|
||||||
|
@ -27,7 +27,7 @@ FOREACH (source_file ${exec_PROGRAMS})
|
|||||||
)
|
)
|
||||||
TARGET_INCLUDE_DIRECTORIES (${source_file_we}
|
TARGET_INCLUDE_DIRECTORIES (${source_file_we}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
$<TARGET_PROPERTY:msgpackc,INTERFACE_INCLUDE_DIRECTORIES>
|
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
)
|
)
|
||||||
TARGET_LINK_LIBRARIES (${source_file_we}
|
TARGET_LINK_LIBRARIES (${source_file_we}
|
||||||
${Boost_SYSTEM_LIBRARY}
|
${Boost_SYSTEM_LIBRARY}
|
||||||
|
@ -37,7 +37,7 @@ FOREACH (source_file ${exec_PROGRAMS})
|
|||||||
)
|
)
|
||||||
TARGET_INCLUDE_DIRECTORIES (${source_file_we}
|
TARGET_INCLUDE_DIRECTORIES (${source_file_we}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
$<TARGET_PROPERTY:msgpackc,INTERFACE_INCLUDE_DIRECTORIES>
|
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
)
|
)
|
||||||
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||||
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")
|
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")
|
||||||
@ -59,7 +59,7 @@ FOREACH (source_file ${with_pthread_PROGRAMS})
|
|||||||
)
|
)
|
||||||
TARGET_INCLUDE_DIRECTORIES (${source_file_we}
|
TARGET_INCLUDE_DIRECTORIES (${source_file_we}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
$<TARGET_PROPERTY:msgpackc,INTERFACE_INCLUDE_DIRECTORIES>
|
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
)
|
)
|
||||||
TARGET_LINK_LIBRARIES (${source_file_we}
|
TARGET_LINK_LIBRARIES (${source_file_we}
|
||||||
${CMAKE_THREAD_LIBS_INIT}
|
${CMAKE_THREAD_LIBS_INIT}
|
||||||
@ -88,7 +88,7 @@ FOREACH (source_file ${with_boost_lib_PROGRAMS})
|
|||||||
)
|
)
|
||||||
TARGET_INCLUDE_DIRECTORIES (${source_file_we}
|
TARGET_INCLUDE_DIRECTORIES (${source_file_we}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
$<TARGET_PROPERTY:msgpackc,INTERFACE_INCLUDE_DIRECTORIES>
|
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
)
|
)
|
||||||
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
|
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
|
||||||
TARGET_LINK_LIBRARIES (${source_file_we}
|
TARGET_LINK_LIBRARIES (${source_file_we}
|
||||||
|
@ -22,7 +22,7 @@ IF (MSGPACK_CXX11 OR MSGPACK_CXX17)
|
|||||||
)
|
)
|
||||||
TARGET_INCLUDE_DIRECTORIES (${source_file_we}
|
TARGET_INCLUDE_DIRECTORIES (${source_file_we}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
$<TARGET_PROPERTY:msgpackc,INTERFACE_INCLUDE_DIRECTORIES>
|
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
)
|
)
|
||||||
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||||
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")
|
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")
|
||||||
|
@ -20,7 +20,7 @@ IF (MSGPACK_USE_X3_PARSE AND MSGPACK_DEFAULT_API_VERSION VERSION_GREATER 1)
|
|||||||
)
|
)
|
||||||
TARGET_INCLUDE_DIRECTORIES (${source_file_we}
|
TARGET_INCLUDE_DIRECTORIES (${source_file_we}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
$<TARGET_PROPERTY:msgpackc,INTERFACE_INCLUDE_DIRECTORIES>
|
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
)
|
)
|
||||||
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||||
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")
|
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")
|
||||||
@ -46,7 +46,7 @@ IF (MSGPACK_USE_X3_PARSE AND MSGPACK_DEFAULT_API_VERSION VERSION_GREATER 1)
|
|||||||
)
|
)
|
||||||
TARGET_INCLUDE_DIRECTORIES (${source_file_we}
|
TARGET_INCLUDE_DIRECTORIES (${source_file_we}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
$<TARGET_PROPERTY:msgpackc,INTERFACE_INCLUDE_DIRECTORIES>
|
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
)
|
)
|
||||||
TARGET_LINK_LIBRARIES (${source_file_we}
|
TARGET_LINK_LIBRARIES (${source_file_we}
|
||||||
${Boost_CONTEXT_LIBRARY}
|
${Boost_CONTEXT_LIBRARY}
|
||||||
|
@ -1,21 +1,48 @@
|
|||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
|
|
||||||
|
c_headers=(
|
||||||
|
include/msgpack.h
|
||||||
|
include/msgpack/gcc_atomic.h
|
||||||
|
include/msgpack/pack.h
|
||||||
|
include/msgpack/pack_define.h
|
||||||
|
include/msgpack/pack_template.h
|
||||||
|
include/msgpack/sbuffer.h
|
||||||
|
include/msgpack/timestamp.h
|
||||||
|
include/msgpack/unpack.h
|
||||||
|
include/msgpack/unpack_template.h
|
||||||
|
include/msgpack/util.h
|
||||||
|
include/msgpack/version.h
|
||||||
|
include/msgpack/vrefbuffer.h
|
||||||
|
)
|
||||||
|
|
||||||
|
rm -f c_headers.tmp
|
||||||
|
for hdr in ${c_headers[@]}; do
|
||||||
|
echo $hdr >> c_headers.tmp
|
||||||
|
done
|
||||||
|
|
||||||
find src -name "*.c" | sed -e 's/\s\+/\n/g' | sort > srcs.tmp
|
find src -name "*.c" | sed -e 's/\s\+/\n/g' | sort > srcs.tmp
|
||||||
find include -name "*.h" | sed -e 's/\s\+/\n/g' | sort > c_headers.tmp
|
find include -name "*.h" | grep -vFf c_headers.tmp | sed -e 's/\s\+/\n/g' | sort > c_cpp_headers.tmp
|
||||||
find include -name "*.hpp" | sed -e 's/\s\+/\n/g' | sort > cpp_headers.tmp
|
find include -name "*.hpp" | sed -e 's/\s\+/\n/g' | sort > cpp_headers.tmp
|
||||||
|
|
||||||
echo 'LIST (APPEND msgpackc_SOURCES' > Files.cmake
|
echo 'LIST (APPEND msgpackc_SOURCES' > Files.cmake
|
||||||
cat srcs.tmp | sed -e 's/^/ /g' >> Files.cmake
|
cat srcs.tmp | sed -e 's/^/ /g' >> Files.cmake
|
||||||
echo ')' >> Files.cmake
|
echo -e ')\n' >> Files.cmake
|
||||||
|
|
||||||
echo 'LIST (APPEND msgpackc_HEADERS' >> Files.cmake
|
echo '# For both C and C++ libraries
|
||||||
|
LIST (APPEND msgpackc_HEADERS' >> Files.cmake
|
||||||
|
cat c_cpp_headers.tmp | sed -e 's/^/ /g' >> Files.cmake
|
||||||
|
echo -e ')\n' >> Files.cmake
|
||||||
|
|
||||||
|
echo 'IF (NOT MSGPACK_CXX_ONLY)
|
||||||
|
# Only for C library
|
||||||
|
LIST (APPEND msgpackc_HEADERS' >> Files.cmake
|
||||||
cat c_headers.tmp | sed -e 's/^/ /g' >> Files.cmake
|
cat c_headers.tmp | sed -e 's/^/ /g' >> Files.cmake
|
||||||
echo ')' >> Files.cmake
|
echo -e ' )\nENDIF ()\n' >> Files.cmake
|
||||||
|
|
||||||
echo 'IF (MSGPACK_ENABLE_CXX)' >> Files.cmake
|
echo 'IF (MSGPACK_ENABLE_CXX)
|
||||||
echo ' LIST (APPEND msgpackc_HEADERS' >> Files.cmake
|
# Only for C++ library
|
||||||
|
LIST (APPEND msgpackc_HEADERS' >> Files.cmake
|
||||||
cat cpp_headers.tmp | sed -e 's/^/ /g' >> Files.cmake
|
cat cpp_headers.tmp | sed -e 's/^/ /g' >> Files.cmake
|
||||||
echo ' )' >> Files.cmake
|
echo -e ' )\nENDIF ()' >> Files.cmake
|
||||||
echo 'ENDIF ()' >> Files.cmake
|
|
||||||
|
|
||||||
rm -f srcs.tmp c_headers.tmp cpp_headers.tmp
|
rm -f srcs.tmp c_headers.tmp cpp_headers.tmp c_cpp_headers.tmp
|
||||||
|
@ -7,19 +7,31 @@ INCLUDE_DIRECTORIES (
|
|||||||
${ZLIB_INCLUDE_DIRS}
|
${ZLIB_INCLUDE_DIRS}
|
||||||
)
|
)
|
||||||
|
|
||||||
LIST (APPEND check_PROGRAMS
|
SET (tests_C
|
||||||
|
fixint_c.cpp
|
||||||
|
msgpack_c.cpp
|
||||||
|
pack_unpack_c.cpp
|
||||||
|
streaming_c.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
IF (NOT MSGPACK_CXX_ONLY)
|
||||||
|
LIST (APPEND check_PROGRAMS
|
||||||
|
${tests_C}
|
||||||
|
)
|
||||||
|
ENDIF ()
|
||||||
|
|
||||||
|
IF (MSGPACK_ENABLE_CXX)
|
||||||
|
LIST (APPEND check_PROGRAMS
|
||||||
array_ref.cpp
|
array_ref.cpp
|
||||||
buffer.cpp
|
buffer.cpp
|
||||||
carray.cpp
|
carray.cpp
|
||||||
cases.cpp
|
cases.cpp
|
||||||
convert.cpp
|
convert.cpp
|
||||||
fixint.cpp
|
fixint.cpp
|
||||||
fixint_c.cpp
|
|
||||||
inc_adaptor_define.cpp
|
inc_adaptor_define.cpp
|
||||||
json.cpp
|
json.cpp
|
||||||
limit.cpp
|
limit.cpp
|
||||||
msgpack_basic.cpp
|
msgpack_basic.cpp
|
||||||
msgpack_c.cpp
|
|
||||||
msgpack_container.cpp
|
msgpack_container.cpp
|
||||||
msgpack_stream.cpp
|
msgpack_stream.cpp
|
||||||
msgpack_tuple.cpp
|
msgpack_tuple.cpp
|
||||||
@ -27,19 +39,17 @@ LIST (APPEND check_PROGRAMS
|
|||||||
object.cpp
|
object.cpp
|
||||||
object_with_zone.cpp
|
object_with_zone.cpp
|
||||||
pack_unpack.cpp
|
pack_unpack.cpp
|
||||||
pack_unpack_c.cpp
|
|
||||||
raw.cpp
|
raw.cpp
|
||||||
reference.cpp
|
reference.cpp
|
||||||
size_equal_only.cpp
|
size_equal_only.cpp
|
||||||
streaming.cpp
|
streaming.cpp
|
||||||
streaming_c.cpp
|
|
||||||
user_class.cpp
|
user_class.cpp
|
||||||
version.cpp
|
version.cpp
|
||||||
visitor.cpp
|
visitor.cpp
|
||||||
zone.cpp
|
zone.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
IF (MSGPACK_BOOST)
|
IF (MSGPACK_BOOST)
|
||||||
LIST (APPEND check_PROGRAMS
|
LIST (APPEND check_PROGRAMS
|
||||||
boost_fusion.cpp
|
boost_fusion.cpp
|
||||||
boost_variant.cpp
|
boost_variant.cpp
|
||||||
@ -47,15 +57,15 @@ IF (MSGPACK_BOOST)
|
|||||||
boost_string_ref.cpp
|
boost_string_ref.cpp
|
||||||
boost_string_view.cpp
|
boost_string_view.cpp
|
||||||
)
|
)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
IF (MSGPACK_USE_X3_PARSE)
|
IF (MSGPACK_USE_X3_PARSE)
|
||||||
LIST (APPEND check_PROGRAMS
|
LIST (APPEND check_PROGRAMS
|
||||||
msgpack_x3_parse.cpp
|
msgpack_x3_parse.cpp
|
||||||
)
|
)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
IF (MSGPACK_CXX11 OR MSGPACK_CXX17)
|
IF (MSGPACK_CXX11 OR MSGPACK_CXX17)
|
||||||
LIST (APPEND check_PROGRAMS
|
LIST (APPEND check_PROGRAMS
|
||||||
iterator_cpp11.cpp
|
iterator_cpp11.cpp
|
||||||
msgpack_cpp11.cpp
|
msgpack_cpp11.cpp
|
||||||
@ -67,13 +77,14 @@ IF (MSGPACK_CXX11 OR MSGPACK_CXX17)
|
|||||||
# fuzzers are cpp11 only
|
# fuzzers are cpp11 only
|
||||||
fuzz_unpack_pack_fuzzer_cpp11.cpp
|
fuzz_unpack_pack_fuzzer_cpp11.cpp
|
||||||
)
|
)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
IF (MSGPACK_CXX17)
|
IF (MSGPACK_CXX17)
|
||||||
LIST (APPEND check_PROGRAMS
|
LIST (APPEND check_PROGRAMS
|
||||||
msgpack_cpp17.cpp
|
msgpack_cpp17.cpp
|
||||||
)
|
)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
ENDIF (MSGPACK_ENABLE_CXX)
|
||||||
|
|
||||||
FOREACH (source_file ${check_PROGRAMS})
|
FOREACH (source_file ${check_PROGRAMS})
|
||||||
GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE)
|
GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE)
|
||||||
@ -81,8 +92,16 @@ FOREACH (source_file ${check_PROGRAMS})
|
|||||||
${source_file_we}
|
${source_file_we}
|
||||||
${source_file}
|
${source_file}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
LIST (FIND tests_C ${source_file} idx)
|
||||||
|
IF (idx GREATER -1)
|
||||||
|
SET (link_target msgpackc)
|
||||||
|
ELSE ()
|
||||||
|
SET (link_target msgpackc-cxx)
|
||||||
|
ENDIF ()
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES (${source_file_we}
|
TARGET_LINK_LIBRARIES (${source_file_we}
|
||||||
msgpackc
|
${link_target}
|
||||||
${GTEST_BOTH_LIBRARIES}
|
${GTEST_BOTH_LIBRARIES}
|
||||||
${ZLIB_LIBRARIES}
|
${ZLIB_LIBRARIES}
|
||||||
${CMAKE_THREAD_LIBS_INIT}
|
${CMAKE_THREAD_LIBS_INIT}
|
||||||
@ -104,12 +123,14 @@ FOREACH (source_file ${check_PROGRAMS})
|
|||||||
ENDIF ()
|
ENDIF ()
|
||||||
ENDFOREACH ()
|
ENDFOREACH ()
|
||||||
|
|
||||||
ADD_EXECUTABLE (
|
IF (MSGPACK_ENABLE_CXX)
|
||||||
|
ADD_EXECUTABLE (
|
||||||
multi_file
|
multi_file
|
||||||
multi_file1.cpp multi_file2.cpp
|
multi_file1.cpp multi_file2.cpp
|
||||||
)
|
)
|
||||||
TARGET_INCLUDE_DIRECTORIES (multi_file
|
TARGET_INCLUDE_DIRECTORIES (multi_file
|
||||||
PRIVATE
|
PRIVATE
|
||||||
$<TARGET_PROPERTY:msgpackc,INTERFACE_INCLUDE_DIRECTORIES>
|
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
)
|
)
|
||||||
ADD_TEST (multi_file multi_file)
|
ADD_TEST (multi_file multi_file)
|
||||||
|
ENDIF ()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user