forked from pool/cmake
Simon Lees
27bfbd96de
- allow build with curl libs from older distributions - refresh patches - Cleanup spec file with spec-cleaner OBS-URL: https://build.opensuse.org/request/show/596970 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/cmake?expand=0&rev=320
76 lines
2.9 KiB
Diff
76 lines
2.9 KiB
Diff
Index: b/Modules/CMakeCCompilerId.c.in
|
|
===================================================================
|
|
--- a/Modules/CMakeCCompilerId.c.in
|
|
+++ b/Modules/CMakeCCompilerId.c.in
|
|
@@ -40,6 +40,8 @@ char const *info_cray = "INFO" ":" "comp
|
|
# else
|
|
# define C_DIALECT
|
|
# endif
|
|
+#elif __STDC_VERSION__ >= 201710L
|
|
+# define C_DIALECT "17"
|
|
#elif __STDC_VERSION__ >= 201000L
|
|
# define C_DIALECT "11"
|
|
#elif __STDC_VERSION__ >= 199901L
|
|
Index: b/Modules/Compiler/GNU-C.cmake
|
|
===================================================================
|
|
--- a/Modules/Compiler/GNU-C.cmake
|
|
+++ b/Modules/Compiler/GNU-C.cmake
|
|
@@ -22,4 +22,4 @@ elseif (NOT CMAKE_C_COMPILER_VERSION VER
|
|
set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu1x")
|
|
endif()
|
|
|
|
-__compiler_check_default_language_standard(C 3.4 90 5.0 11)
|
|
+__compiler_check_default_language_standard(C 3.4 90 5.0 11 8.0 17)
|
|
Index: b/Source/cmLocalGenerator.cxx
|
|
===================================================================
|
|
--- a/Source/cmLocalGenerator.cxx
|
|
+++ b/Source/cmLocalGenerator.cxx
|
|
@@ -1566,6 +1566,7 @@ void cmLocalGenerator::AddCompilerRequir
|
|
langStdMap["CXX"].push_back("11");
|
|
langStdMap["CXX"].push_back("98");
|
|
|
|
+ langStdMap["C"].push_back("17");
|
|
langStdMap["C"].push_back("11");
|
|
langStdMap["C"].push_back("99");
|
|
langStdMap["C"].push_back("90");
|
|
Index: b/Source/cmMakefile.cxx
|
|
===================================================================
|
|
--- a/Source/cmMakefile.cxx
|
|
+++ b/Source/cmMakefile.cxx
|
|
@@ -4161,7 +4161,7 @@ static const char* const CXX_FEATURES[]
|
|
FEATURE_STRING) };
|
|
#undef FEATURE_STRING
|
|
|
|
-static const char* const C_STANDARDS[] = { "90", "99", "11" };
|
|
+static const char* const C_STANDARDS[] = { "90", "99", "11", "17" };
|
|
static const char* const CXX_STANDARDS[] = { "98", "11", "14", "17" };
|
|
|
|
bool cmMakefile::AddRequiredTargetFeature(cmTarget* target,
|
|
Index: b/Tests/CompileFeatures/CMakeLists.txt
|
|
===================================================================
|
|
--- a/Tests/CompileFeatures/CMakeLists.txt
|
|
+++ b/Tests/CompileFeatures/CMakeLists.txt
|
|
@@ -214,6 +214,7 @@ if (C_expected_features)
|
|
if (std_flag_idx EQUAL -1)
|
|
add_executable(default_dialect_C default_dialect.c)
|
|
target_compile_definitions(default_dialect_C PRIVATE
|
|
+ DEFAULT_C17=$<EQUAL:${CMAKE_C_STANDARD_DEFAULT},17>
|
|
DEFAULT_C11=$<EQUAL:${CMAKE_C_STANDARD_DEFAULT},11>
|
|
DEFAULT_C99=$<EQUAL:${CMAKE_C_STANDARD_DEFAULT},99>
|
|
DEFAULT_C90=$<EQUAL:${CMAKE_C_STANDARD_DEFAULT},90>
|
|
Index: b/Tests/CompileFeatures/default_dialect.c
|
|
===================================================================
|
|
--- a/Tests/CompileFeatures/default_dialect.c
|
|
+++ b/Tests/CompileFeatures/default_dialect.c
|
|
@@ -1,5 +1,9 @@
|
|
|
|
-#if DEFAULT_C11
|
|
+#if DEFAULT_C17
|
|
+#if __STDC_VERSION__ < 201710L
|
|
+#error Unexpected value for __STDC_VERSION__.
|
|
+#endif
|
|
+#elif DEFAULT_C11
|
|
#if __STDC_VERSION__ < 201112L
|
|
#error Unexpected value for __STDC_VERSION__.
|
|
#endif
|