mirror of
https://github.com/USCiLab/cereal.git
synced 2025-10-18 01:45:52 +02:00
Appveyor updates + boost testing fixes
-Fixes appveyor CI and adds additional MSVC versions -Puts boost variant test building behind boost requirement
This commit is contained in:
@@ -59,6 +59,10 @@ endif()
|
||||
|
||||
include_directories(./include)
|
||||
|
||||
if(NOT CMAKE_VERSION VERSION_LESS 3.12)
|
||||
cmake_policy(VERSION 3.12)
|
||||
endif()
|
||||
|
||||
# Boost serialization for performance sandbox
|
||||
find_package(Boost COMPONENTS serialization)
|
||||
|
||||
|
||||
15
appveyor.yml
15
appveyor.yml
@@ -13,9 +13,18 @@ configuration:
|
||||
|
||||
environment:
|
||||
matrix:
|
||||
- VS_VERSION_MAJOR: 12
|
||||
- VS_VERSION_MAJOR: 14
|
||||
BOOST_ROOT: C:\Libraries\boost_1_59_0
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
||||
VS_VERSION_MAJOR: 12
|
||||
BOOST_ROOT: C:\Libraries\boost_1_58_0
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
VS_VERSION_MAJOR: 14
|
||||
BOOST_ROOT: C:\Libraries\boost_1_60_0
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
VS_VERSION_MAJOR: 15
|
||||
BOOST_ROOT: C:\Libraries\boost_1_66_0
|
||||
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 Preview
|
||||
# VS_VERSION_MAJOR: 16
|
||||
# BOOST_ROOT: C:\Libraries\boost_1_66_0
|
||||
|
||||
platform:
|
||||
- Win32
|
||||
|
||||
@@ -10,6 +10,7 @@ if not defined APPVEYOR (
|
||||
if not defined BOOST_ROOT (
|
||||
set BOOST_ROOT=C:\Libraries\boost
|
||||
)
|
||||
|
||||
if not defined VS_VERSION_MAJOR (
|
||||
set VS_VERSION_MAJOR=14
|
||||
)
|
||||
@@ -18,6 +19,10 @@ if not defined VS_VERSION_YEAR (
|
||||
set VS_VERSION_YEAR=2013
|
||||
) else if "%VS_VERSION_MAJOR%" == "14" (
|
||||
set VS_VERSION_YEAR=2015
|
||||
) else if "%VS_VERSION_MAJOR%" == "15" (
|
||||
set VS_VERSION_YEAR=2017
|
||||
) else if "%VS_VERSION_MAJOR%" == "16" (
|
||||
set VS_VERSION_YEAR=2019
|
||||
) else (
|
||||
@echo Cannot use Visual Studio version %VS_VERSION_MAJOR%
|
||||
exit /b 1
|
||||
|
||||
@@ -91,6 +91,10 @@ if(CMAKE_CXX_STANDARD GREATER 14)
|
||||
add_subdirectory(cpp17)
|
||||
endif()
|
||||
|
||||
if(Boost_FOUND)
|
||||
add_subdirectory(boost)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_VERSION VERSION_LESS 3.0)
|
||||
add_test(test_cmake_config_module ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake-config-module.cmake)
|
||||
endif()
|
||||
|
||||
38
unittests/boost/CMakeLists.txt
Normal file
38
unittests/boost/CMakeLists.txt
Normal file
@@ -0,0 +1,38 @@
|
||||
file(GLOB TESTS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp)
|
||||
|
||||
# Build all of the non-special tests
|
||||
foreach(TEST_SOURCE ${TESTS})
|
||||
message(STATUS ${TEST_SOURCE})
|
||||
|
||||
string(REPLACE ".cpp" "" TEST_TARGET "${TEST_SOURCE}")
|
||||
set(TEST_TARGET "test_${TEST_TARGET}")
|
||||
|
||||
add_executable(${TEST_TARGET} ${TEST_SOURCE})
|
||||
target_link_libraries(${TEST_TARGET} ${CEREAL_THREAD_LIBS})
|
||||
add_test("${TEST_TARGET}" "${TEST_TARGET}")
|
||||
|
||||
# If we are on a 64-bit machine, create an extra 32-bit version of the test if portability testing is enabled
|
||||
if((NOT MSVC) AND (${CMAKE_SIZEOF_VOID_P} EQUAL 8) AND (NOT SKIP_PORTABILITY_TEST))
|
||||
add_executable(${TEST_TARGET}_32 ${TEST_SOURCE})
|
||||
set_target_properties(${TEST_TARGET}_32 PROPERTIES
|
||||
COMPILE_FLAGS "-m32" LINK_FLAGS "-m32")
|
||||
add_test("${TEST_TARGET}_32" "${TEST_TARGET}_32")
|
||||
endif()
|
||||
|
||||
endforeach()
|
||||
|
||||
if(NOT MSVC)
|
||||
# add tests to coverage
|
||||
foreach(TEST_SOURCE ${TESTS})
|
||||
string(REPLACE ".cpp" "" COVERAGE_TARGET "${TEST_SOURCE}")
|
||||
set(COVERAGE_TARGET "coverage_${COVERAGE_TARGET}")
|
||||
|
||||
add_dependencies(coverage ${COVERAGE_TARGET})
|
||||
|
||||
add_executable(${COVERAGE_TARGET} EXCLUDE_FROM_ALL ${TEST_SOURCE})
|
||||
set_target_properties(${COVERAGE_TARGET} PROPERTIES COMPILE_FLAGS "-coverage")
|
||||
set_target_properties(${COVERAGE_TARGET} PROPERTIES LINK_FLAGS "-coverage")
|
||||
set_target_properties(${COVERAGE_TARGET} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/coverage")
|
||||
target_link_libraries(${COVERAGE_TARGET} ${CEREAL_THREAD_LIBS})
|
||||
endforeach()
|
||||
endif(NOT MSVC)
|
||||
@@ -27,7 +27,7 @@
|
||||
#ifndef CEREAL_TEST_BOOST_VARIANT_H_
|
||||
#define CEREAL_TEST_BOOST_VARIANT_H_
|
||||
|
||||
#include "common.hpp"
|
||||
#include "../common.hpp"
|
||||
#include <cereal/types/boost_variant.hpp>
|
||||
|
||||
template <class IArchive, class OArchive> inline
|
||||
Reference in New Issue
Block a user