From 5cafc420e387b75d24e23ceeb0ed2e338f07faa0 Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown Date: Tue, 20 Feb 2024 19:49:58 +0000 Subject: [PATCH] rapidjson: build with C++17 language level gtest was upgraded to 1.14.0; as of 1.13.x gtest requires at least c++14 to build. rapidjson's CMake scripts have support for specifying C++11 or C++17; rather than add our own support for C++14 we set the C++17 flag instead. --- pkgs/development/libraries/rapidjson/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/rapidjson/default.nix b/pkgs/development/libraries/rapidjson/default.nix index b200193aa211..edd427da725d 100644 --- a/pkgs/development/libraries/rapidjson/default.nix +++ b/pkgs/development/libraries/rapidjson/default.nix @@ -43,7 +43,14 @@ stdenv.mkDerivation rec { # for tests, adding gtest to checkInputs does not work # https://github.com/NixOS/nixpkgs/pull/212200 buildInputs = [ gtest ]; - cmakeFlags = [ "-DGTEST_SOURCE_DIR=${gtest.dev}/include" ]; + cmakeFlags = [ + "-DGTEST_SOURCE_DIR=${gtest.dev}/include" + + # Build rapidjson with std=c++17 so gtest 1.13.0+ works + # https://github.com/NixOS/nixpkgs/pull/282245#issuecomment-1951796902 + "-DRAPIDJSON_BUILD_CXX11=OFF" + "-DRAPIDJSON_BUILD_CXX17=ON" + ]; nativeCheckInputs = [ valgrind ]; doCheck = !stdenv.hostPlatform.isStatic && !stdenv.isDarwin;