diff --git a/CMakeLists.txt b/CMakeLists.txt index 85790f7b..ca2c9c60 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -178,13 +178,15 @@ INSTALL (TARGETS msgpackc-cxx # Install headers from source tree. INSTALL (DIRECTORY include/ - TYPE INCLUDE + DESTINATION include COMPONENT msgpackc-cxx ) INCLUDE (CMakePackageConfigHelpers) -SET (extra_version_file_args ARCH_INDEPENDENT) +IF (CMAKE_VERSION VERSION_GREATER_EQUAL 3.14) + SET (extra_version_file_args ARCH_INDEPENDENT) +ENDIF () SET (cmake_config_path "lib/cmake/msgpackc-cxx") # Configure the main package file from source tree. diff --git a/appveyor.yml b/appveyor.yml index 281d374f..25d005c1 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -4,57 +4,63 @@ branches: only: - cpp_master -image: -- Visual Studio 2015 environment: - global: - BOOST_ROOT: C:\Libraries\boost_1_67_0 matrix: - - cpp11: -DMSGPACK_CXX11=OFF - example: -DMSGPACK_BUILD_EXAMPLES=OFF - msvc: '"Visual Studio 10 2010"' - - cpp11: -DMSGPACK_CXX11=OFF - example: -DMSGPACK_BUILD_EXAMPLES=OFF - msvc: '"Visual Studio 11 2012"' - - cpp11: -DMSGPACK_CXX11=OFF - example: -DMSGPACK_BUILD_EXAMPLES=OFF + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 + cpp11: -DMSGPACK_CXX11=OFF msvc: '"Visual Studio 12 2013"' - - cpp11: -DMSGPACK_CXX11=ON - example: -DMSGPACK_BUILD_EXAMPLES=ON + boost_prefix: C:\Libraries\boost_1_58_0 + boost_subdir: lib32-msvc-12.0 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + cpp11: -DMSGPACK_CXX11=OFF msvc: '"Visual Studio 14 2015"' - - cpp11: -DMSGPACK_CXX11=OFF - example: -DMSGPACK_BUILD_EXAMPLES=ON + boost_prefix: C:\Libraries\boost_1_69_0 + boost_subdir: lib32-msvc-14.0 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + cpp11: -DMSGPACK_CXX11=ON msvc: '"Visual Studio 14 2015"' + boost_prefix: C:\Libraries\boost_1_69_0 + boost_subdir: lib32-msvc-14.0 build_script: - ps: | - appveyor DownloadFile https://github.com/google/googletest/archive/release-1.7.0.zip -FileName googletest-release-1.7.0.zip - 7z x googletest-release-1.7.0.zip 2> $null - cd googletest-release-1.7.0 - md build - cd build - cmake -G $env:msvc -DBUILD_SHARED_LIBS=ON -DCMAKE_CXX_FLAGS=/D_VARIADIC_MAX=10 .. - cmake --build . --config Release - cd .. - cd .. appveyor DownloadFile http://zlib.net/zlib-1.2.11.tar.gz -FileName zlib-1.2.11.tar.gz 7z x zlib-1.2.11.tar.gz 2> $null 7z x zlib-1.2.11.tar 2> $null cd zlib-1.2.11 + md build + md prefix cd build - cmake -G $env:msvc .. + + cmake ` + -G $env:msvc ` + -D CMAKE_INSTALL_PREFIX="$env:APPVEYOR_BUILD_FOLDER\zlib-1.2.11\prefix" ` + .. + if ($LastExitCode -ne 0) { exit $LastExitCode } + + cmake --build . --target install --config Release + if ($LastExitCode -ne 0) { exit $LastExitCode } + cd ..\.. + + md build + md prefix + cd build + + cmake ` + -G $env:msvc ` + $env:cpp11 ` + -D MSGPACK_BUILD_EXAMPLES=ON ` + -D MSGPACK_BUILD_TESTS=ON ` + -D CMAKE_EXE_LINKER_FLAGS=/LIBPATH:"$env:boost_prefix\$env:boost_subdir" ` + -D CMAKE_PREFIX_PATH="$env:boost_prefix;$env:APPVEYOR_BUILD_FOLDER\zlib-1.2.11\prefix" ` + -D CMAKE_INSTALL_PREFIX="$env:APPVEYOR_BUILD_FOLDER\prefix" ` + -D CMAKE_CXX_FLAGS="/D_VARIADIC_MAX=10 /EHsc /DBOOST_ALL_DYN_LINK" ` + .. + if ($LastExitCode -ne 0) { exit $LastExitCode } + cmake --build . --config Release - copy zconf.h .. - cd .. - cd .. - if ($env:msvc -ne '"Visual Studio 14 2015"') { - ((Get-Content CMakeLists.txt) -replace "COMPONENTS chrono system OPTIONAL_COMPONENTS timer", "") | Set-Content -Path CMakeLists.txt - } - md build - cd build - cmake -G $env:msvc $env:cpp11 $env:example $env:x3_parse -DGTEST_LIBRARY="$env:APPVEYOR_BUILD_FOLDER\googletest-release-1.7.0\build\Release\gtest.lib" -DGTEST_MAIN_LIBRARY="$env:APPVEYOR_BUILD_FOLDER\googletest-release-1.7.0\build\Release\gtest_main.lib" -DGTEST_INCLUDE_DIR="$env:APPVEYOR_BUILD_FOLDER\googletest-release-1.7.0\include" -DZLIB_LIBRARY="$env:APPVEYOR_BUILD_FOLDER\zlib-1.2.11\build\Release\zlib.lib" -DZLIB_INCLUDE_DIR="$env:APPVEYOR_BUILD_FOLDER\zlib-1.2.11" -DCMAKE_CXX_FLAGS='"/D_VARIADIC_MAX=10 /EHsc"' .. - cmake --build . --config Release -v + if ($LastExitCode -ne 0) { exit $LastExitCode } test_script: -- set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release;%APPVEYOR_BUILD_FOLDER%\zlib-1.2.11\build\Release;%APPVEYOR_BUILD_FOLDER%\build\release -- ctest -V +- set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%\zlib-1.2.11\build\Release;%APPVEYOR_BUILD_FOLDER%\build\release;%boost_prefix%\%boost_subdir% +- ctest -VV -C Release diff --git a/test/boost_string_view.cpp b/test/boost_string_view.cpp index 61857a10..96172e54 100644 --- a/test/boost_string_view.cpp +++ b/test/boost_string_view.cpp @@ -9,6 +9,11 @@ #include "config.h" #endif +// Avoid empty test tree on boost 1.60 and lower +BOOST_AUTO_TEST_CASE(dummy) +{ +} + #if (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 61 BOOST_AUTO_TEST_CASE(pack_convert_string_view)