From c8e1ff66a2b1bd8cc6288a3ad8da9940807e925c Mon Sep 17 00:00:00 2001 From: JackCarterSmith Date: Sat, 4 Feb 2023 12:13:00 +0100 Subject: [PATCH] Force correct cpplib in cmake --- CMakeLists.txt | 10 ++++++++++ src/RDI.cpp | 4 ++++ tools/RDIDebug.cpp | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index df8c2fa..0dca3b7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -82,6 +82,8 @@ if(RDI_SHARED) add_library(rdi-lib SHARED ${RDI_LIB_SOURCES}) set_property(TARGET rdi-lib PROPERTY C_STANDARD 17) set_property(TARGET rdi-lib PROPERTY CXX_STANDARD 17) + set_property(TARGET rdi-lib PROPERTY C_STANDARD_REQUIRED ON) + set_property(TARGET rdi-lib PROPERTY CXX_STANDARD_REQUIRED ON) set_property(TARGET rdi-lib PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") set_target_properties(rdi-lib PROPERTIES VERSION 1.0.0) @@ -123,6 +125,8 @@ if(RDI_STATIC) add_library(rdi-libstatic STATIC ${RDI_LIB_SOURCES}) set_property(TARGET rdi-libstatic PROPERTY C_STANDARD 17) set_property(TARGET rdi-libstatic PROPERTY CXX_STANDARD 17) + set_property(TARGET rdi-libstatic PROPERTY C_STANDARD_REQUIRED ON) + set_property(TARGET rdi-libstatic PROPERTY CXX_STANDARD_REQUIRED ON) set_property(TARGET rdi-libstatic PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") set_target_properties(rdi-libstatic PROPERTIES VERSION 1.0.0) @@ -177,18 +181,24 @@ if(BUILD_TOOLS) add_executable(rdi-debug-tools ./tools/RDIDebug.cpp) set_property(TARGET rdi-debug-tools PROPERTY C_STANDARD 17) set_property(TARGET rdi-debug-tools PROPERTY CXX_STANDARD 17) + set_property(TARGET rdi-debug-tools PROPERTY C_STANDARD_REQUIRED ON) + set_property(TARGET rdi-debug-tools PROPERTY CXX_STANDARD_REQUIRED ON) set_target_properties(rdi-debug-tools PROPERTIES OUTPUT_NAME "RDI-debug") list(APPEND RDI_TARGETS_LIST rdi-debug-tools) add_executable(erso-debug-tools ./tools/ErsoDebug.cpp) set_property(TARGET erso-debug-tools PROPERTY C_STANDARD 17) set_property(TARGET erso-debug-tools PROPERTY CXX_STANDARD 17) + #set_property(TARGET erso-debug-tools PROPERTY C_STANDARD_REQUIRED ON) + #set_property(TARGET erso-debug-tools PROPERTY CXX_STANDARD_REQUIRED ON) set_target_properties(erso-debug-tools PROPERTIES OUTPUT_NAME "Erso-debug") list(APPEND RDI_TARGETS_LIST erso-debug-tools) add_executable(krennic-debug-tools ./tools/KrennicDebug.cpp) set_property(TARGET krennic-debug-tools PROPERTY C_STANDARD 17) set_property(TARGET krennic-debug-tools PROPERTY CXX_STANDARD 17) + #set_property(TARGET krennic-debug-tools PROPERTY C_STANDARD_REQUIRED ON) + #set_property(TARGET krennic-debug-tools PROPERTY CXX_STANDARD_REQUIRED ON) set_target_properties(krennic-debug-tools PROPERTIES OUTPUT_NAME "Krennic-debug") list(APPEND RDI_TARGETS_LIST krennic-debug-tools) diff --git a/src/RDI.cpp b/src/RDI.cpp index 5f138e8..e9149c1 100644 --- a/src/RDI.cpp +++ b/src/RDI.cpp @@ -7,6 +7,10 @@ * */ +#if !(__cplusplus < 201703L) && !(_MSVC_LANG < 201703L) +#error "This code run on C++17 or upper." +#endif + #if defined(RDI_DLL) # define RDI_DLLBUILD #endif diff --git a/tools/RDIDebug.cpp b/tools/RDIDebug.cpp index 298a684..d2dac38 100644 --- a/tools/RDIDebug.cpp +++ b/tools/RDIDebug.cpp @@ -7,7 +7,7 @@ * */ -#if __cplusplus < 201703L +#if !(__cplusplus < 201703L) && !(_MSVC_LANG < 201703L) #error "This code run on C++17 or upper." #endif