Skip to content

Commit b4e7e63

Browse files
Fix C++ standard detection macros to check for defined value (#268)
This PR updates the C++ standard detection macros to first check if CMAKE_CXX_STANDARD is defined before comparing its value. This prevents build errors when CMAKE_CXX_STANDARD is undefined. I found that the current macro causes build failures on some setups, especially when the variable is not set, resulting in errors like 'CMAKE_CXX_STANDARD not defined'. I haven’t tested the full build due to unrelated build errors on master, but this is a low-risk fix that corrects the macro guard logic.
1 parent bc9131e commit b4e7e63

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

include/internal/common.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ namespace csv {
5454

5555
#define STATIC_ASSERT(x) static_assert(x, "Assertion failed")
5656

57-
#if CMAKE_CXX_STANDARD == 17 || __cplusplus >= 201703L
57+
#if (defined(CMAKE_CXX_STANDARD) && CMAKE_CXX_STANDARD == 17) || __cplusplus >= 201703L
5858
#define CSV_HAS_CXX17
5959
#endif
6060

61-
#if CMAKE_CXX_STANDARD >= 14 || __cplusplus >= 201402L
61+
#if (defined(CMAKE_CXX_STANDARD) && CMAKE_CXX_STANDARD >= 14) || __cplusplus >= 201402L
6262
#define CSV_HAS_CXX14
6363
#endif
6464

single_include/csv.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4695,11 +4695,11 @@ namespace csv {
46954695

46964696
#define STATIC_ASSERT(x) static_assert(x, "Assertion failed")
46974697

4698-
#if CMAKE_CXX_STANDARD == 17 || __cplusplus >= 201703L
4698+
#if (defined(CMAKE_CXX_STANDARD) && CMAKE_CXX_STANDARD == 17) || __cplusplus >= 201703L
46994699
#define CSV_HAS_CXX17
47004700
#endif
47014701

4702-
#if CMAKE_CXX_STANDARD >= 14 || __cplusplus >= 201402L
4702+
#if (defined(CMAKE_CXX_STANDARD) && CMAKE_CXX_STANDARD >= 14) || __cplusplus >= 201402L
47034703
#define CSV_HAS_CXX14
47044704
#endif
47054705

single_include_test/csv.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4695,11 +4695,11 @@ namespace csv {
46954695

46964696
#define STATIC_ASSERT(x) static_assert(x, "Assertion failed")
46974697

4698-
#if CMAKE_CXX_STANDARD == 17 || __cplusplus >= 201703L
4698+
#if (defined(CMAKE_CXX_STANDARD) && CMAKE_CXX_STANDARD == 17) || __cplusplus >= 201703L
46994699
#define CSV_HAS_CXX17
47004700
#endif
47014701

4702-
#if CMAKE_CXX_STANDARD >= 14 || __cplusplus >= 201402L
4702+
#if (defined(CMAKE_CXX_STANDARD) && CMAKE_CXX_STANDARD >= 14) || __cplusplus >= 201402L
47034703
#define CSV_HAS_CXX14
47044704
#endif
47054705

0 commit comments

Comments
 (0)