From 7a521150aaa19f0e01093eae5c38e7ce85cc1ca3 Mon Sep 17 00:00:00 2001 From: Thomas Braun Date: Sat, 12 Oct 2019 15:03:34 +0200 Subject: [PATCH 1/4] appveyor: Pass the generator platform explicitly In a future commit we want to add support for MSVC 2019. For that version cmake requires us to pass in the architecture not part of the generator but explicitly. So let's pass that in always like that. This also removes the doubling of the platform/architecture. --- appveyor.yml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 0a92a6c9af..f1a2c15323 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -66,38 +66,39 @@ environment: platform: x64 CXX_FLAGS: "" LINKER_FLAGS: "" - GENERATOR: Visual Studio 14 2015 Win64 + GENERATOR: Visual Studio 14 2015 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 configuration: Release platform: x64 CXX_FLAGS: "" LINKER_FLAGS: "" - GENERATOR: Visual Studio 15 2017 Win64 + GENERATOR: Visual Studio 15 2017 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 configuration: Release platform: x64 CXX_FLAGS: "/permissive- /std:c++latest /utf-8 /F4000000" LINKER_FLAGS: "/STACK:4000000" - GENERATOR: Visual Studio 15 2017 Win64 + GENERATOR: Visual Studio 15 2017 init: - cmake --version - msbuild /version install: - - if "%COMPILER%"=="mingw" appveyor DownloadFile https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip -FileName ninja.zip - - if "%COMPILER%"=="mingw" 7z x ninja.zip -oC:\projects\deps\ninja > nul - - if "%COMPILER%"=="mingw" set PATH=C:\projects\deps\ninja;%PATH% - - if "%COMPILER%"=="mingw" set PATH=C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin;%PATH% - - if "%COMPILER%"=="mingw" g++ --version + - if "%COMPILER%"=="mingw" appveyor DownloadFile https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip -FileName ninja.zip + - if "%COMPILER%"=="mingw" 7z x ninja.zip -oC:\projects\deps\ninja > nul + - if "%COMPILER%"=="mingw" set PATH=C:\projects\deps\ninja;%PATH% + - if "%COMPILER%"=="mingw" set PATH=C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin;%PATH% + - if "%COMPILER%"=="mingw" g++ --version + - if "%platform%"=="x86" set GENERATOR_PLATFORM=Win32 before_build: # for with_win_header build, inject the inclusion of Windows.h to the single-header library - ps: if ($env:name -Eq "with_win_header") { $header_path = "single_include\nlohmann\json.hpp" } - ps: if ($env:name -Eq "with_win_header") { "#include `n" + (Get-Content $header_path | Out-String) | Set-Content $header_path } - - cmake . -G "%GENERATOR%" -DCMAKE_BUILD_TYPE="%configuration%" -DCMAKE_CXX_FLAGS="%CXX_FLAGS%" -DCMAKE_EXE_LINKER_FLAGS="%LINKER_FLAGS%" -DCMAKE_IGNORE_PATH="C:/Program Files/Git/usr/bin" + - if "%GENERATOR%"=="Ninja" (cmake . -G "%GENERATOR%" -DCMAKE_BUILD_TYPE="%configuration%" -DCMAKE_CXX_FLAGS="%CXX_FLAGS%" -DCMAKE_EXE_LINKER_FLAGS="%LINKER_FLAGS%" -DCMAKE_IGNORE_PATH="C:/Program Files/Git/usr/bin") else (cmake . -G "%GENERATOR%" -A "%GENERATOR_PLATFORM%" -DCMAKE_CXX_FLAGS="%CXX_FLAGS%" -DCMAKE_EXE_LINKER_FLAGS="%LINKER_FLAGS%" -DCMAKE_IGNORE_PATH="C:/Program Files/Git/usr/bin") build_script: - cmake --build . --config "%configuration%" From 5541a2bd25f811eab17ba5c976759b6f1b9f39ff Mon Sep 17 00:00:00 2001 From: Thomas Braun Date: Tue, 15 Oct 2019 22:36:54 +0200 Subject: [PATCH 2/4] test/cmake_import: Pass the generator platform required by MSVC 2019 --- test/cmake_import/CMakeLists.txt | 1 + test/cmake_import_minver/CMakeLists.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/test/cmake_import/CMakeLists.txt b/test/cmake_import/CMakeLists.txt index 911c342c6d..24d4a33a52 100644 --- a/test/cmake_import/CMakeLists.txt +++ b/test/cmake_import/CMakeLists.txt @@ -1,6 +1,7 @@ add_test(NAME cmake_import_configure COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" + -A "${CMAKE_GENERATOR_PLATFORM}" -Dnlohmann_json_DIR=${PROJECT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/project ) diff --git a/test/cmake_import_minver/CMakeLists.txt b/test/cmake_import_minver/CMakeLists.txt index 8cef2fabb4..2efcd85fd4 100644 --- a/test/cmake_import_minver/CMakeLists.txt +++ b/test/cmake_import_minver/CMakeLists.txt @@ -1,6 +1,7 @@ add_test(NAME cmake_import_minver_configure COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" + -A "${CMAKE_GENERATOR_PLATFORM}" -Dnlohmann_json_DIR=${PROJECT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/project ) From 01e486bb5528667f78766d784e3f90d0788f4f95 Mon Sep 17 00:00:00 2001 From: Thomas Braun Date: Mon, 7 Oct 2019 21:36:55 +0200 Subject: [PATCH 3/4] appveyor.yml: Add MSVC 16 2019 support --- appveyor.yml | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index f1a2c15323..1206f7422c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -16,6 +16,13 @@ environment: LINKER_FLAGS: "" GENERATOR: Visual Studio 15 2017 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 + configuration: Debug + platform: x86 + CXX_FLAGS: "" + LINKER_FLAGS: "" + GENERATOR: Visual Studio 16 2019 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 configuration: Debug COMPILER: mingw @@ -50,16 +57,16 @@ environment: - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 configuration: Release platform: x86 - CXX_FLAGS: "" + CXX_FLAGS: "/permissive- /std:c++latest /utf-8" LINKER_FLAGS: "" GENERATOR: Visual Studio 15 2017 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 configuration: Release platform: x86 - CXX_FLAGS: "/permissive- /std:c++latest /utf-8" + CXX_FLAGS: "" LINKER_FLAGS: "" - GENERATOR: Visual Studio 15 2017 + GENERATOR: Visual Studio 16 2019 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 configuration: Release @@ -71,16 +78,16 @@ environment: - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 configuration: Release platform: x64 - CXX_FLAGS: "" - LINKER_FLAGS: "" + CXX_FLAGS: "/permissive- /std:c++latest /utf-8 /F4000000" + LINKER_FLAGS: "/STACK:4000000" GENERATOR: Visual Studio 15 2017 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 configuration: Release platform: x64 - CXX_FLAGS: "/permissive- /std:c++latest /utf-8 /F4000000" - LINKER_FLAGS: "/STACK:4000000" - GENERATOR: Visual Studio 15 2017 + CXX_FLAGS: "" + LINKER_FLAGS: "" + GENERATOR: Visual Studio 16 2019 init: - cmake --version From c6cbdf96a9323e505ff7f1f972320940b73320f7 Mon Sep 17 00:00:00 2001 From: Thomas Braun Date: Tue, 15 Oct 2019 12:13:33 +0200 Subject: [PATCH 4/4] appveyor.yml: Add debug build on x64 and VS 2019 --- appveyor.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index 1206f7422c..9ee5d9a364 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -23,6 +23,13 @@ environment: LINKER_FLAGS: "" GENERATOR: Visual Studio 16 2019 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 + configuration: Debug + platform: x64 + CXX_FLAGS: "" + LINKER_FLAGS: "" + GENERATOR: Visual Studio 16 2019 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 configuration: Debug COMPILER: mingw