@@ -62,10 +62,12 @@ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3") # -DNDEBUG
6262#
6363# C++ 14 or C++ 17 or...
6464#
65+ # We need to use the same C++ version as scikit-learn to avoid crashes.
66+ set (CMAKE_CXX_SCIKITLEARN 11)
6567if (PYTHON_MANYLINUX EQUAL "1" )
6668 set (CMAKE_CXX_STANDARD_REQUIRED ON )
6769 set (CMAKE_CXX_EXTENSIONS OFF )
68- set (CMAKE_CXX_STANDARD 17 )
70+ set (CMAKE_CXX_STANDARD ${CMAKE_CXX_SCIKITLEARN} )
6971 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -Wextra" )
7072 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unknown-pragmas -Wextra" )
7173 if (APPLE )
@@ -82,28 +84,32 @@ if (PYTHON_MANYLINUX EQUAL "1")
8284else ()
8385 if (MSVC )
8486 # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17")
85- set (CMAKE_CXX_STANDARD 17 )
87+ set (CMAKE_CXX_STANDARD ${CMAKE_CXX_SCIKITLEARN} )
8688 elseif (APPLE )
8789 set (CMAKE_OSX_DEPLOYMENT_TARGET "10.15" )
8890 # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
89- set (CMAKE_CXX_STANDARD 17 )
91+ set (CMAKE_CXX_STANDARD ${CMAKE_CXX_SCIKITLEARN} )
9092 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -Wextra" )
9193 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unknown-pragmas -Wextra" )
9294 else ()
9395 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -Wextra" )
9496 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unknown-pragmas -Wextra" )
9597 if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "15" )
9698 # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++23")
97- set (CMAKE_CXX_STANDARD 23)
99+ # set(CMAKE_CXX_STANDARD 23)
100+ set (CMAKE_CXX_STANDARD ${CMAKE_CXX_SCIKITLEARN} )
98101 elseif (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "11" )
99102 # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20")
100- set (CMAKE_CXX_STANDARD 20)
103+ # set(CMAKE_CXX_STANDARD 20)
104+ set (CMAKE_CXX_STANDARD ${CMAKE_CXX_SCIKITLEARN} )
101105 elseif (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "9" )
102106 # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
103- set (CMAKE_CXX_STANDARD 17)
107+ # set(CMAKE_CXX_STANDARD 17)
108+ set (CMAKE_CXX_STANDARD ${CMAKE_CXX_SCIKITLEARN} )
104109 elseif (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "6" )
105110 # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
106- set (CMAKE_CXX_STANDARD 14)
111+ # set(CMAKE_CXX_STANDARD 14)
112+ set (CMAKE_CXX_STANDARD ${CMAKE_CXX_SCIKITLEARN} )
107113 else ()
108114 message (FATAL_ERROR "gcc>=6.0 is needed but "
109115 "${CMAKE_C_COMPILER_VERSION} was detected." )
0 commit comments