diff --git a/.github/workflows/ubuntu18.yml b/.github/workflows/ubuntu18.yml index 13b7eee..dbdaa7a 100644 --- a/.github/workflows/ubuntu18.yml +++ b/.github/workflows/ubuntu18.yml @@ -9,6 +9,7 @@ jobs: fail-fast: false matrix: include: + # Legacy/x86 compilers cause CI failures. #- {cxx: -DCMAKE_CXX_COMPILER=g++-5, arch: } #- {cxx: -DCMAKE_CXX_COMPILER=g++-6, arch: } - {cxx: , arch: } # default=gcc7 diff --git a/.github/workflows/ubuntu20.yml b/.github/workflows/ubuntu20.yml index a0f519f..8fca2d9 100644 --- a/.github/workflows/ubuntu20.yml +++ b/.github/workflows/ubuntu20.yml @@ -9,6 +9,7 @@ jobs: fail-fast: false matrix: include: + # Legacy/x86 compilers cause CI failures. #- {cxx: -DCMAKE_CXX_COMPILER=g++-8, arch: } - {cxx: , arch: } # default=gcc9 #- {cxx: , arch: -DCMAKE_CXX_FLAGS="-m32"} # default=gcc9 diff --git a/CMakeLists.txt b/CMakeLists.txt index 99486dd..d53c92f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,10 +1,17 @@ cmake_minimum_required(VERSION 3.9) project(fast_float VERSION 0.7.0 LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED OFF) - +if(FASTFLOAT_TEST) + set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED OFF) + enable_testing() + add_subdirectory(tests) +else(FASTFLOAT_TEST) + set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + message(STATUS "Tests are disabled. Set FASTFLOAT_TEST to ON to run tests.") +endif(FASTFLOAT_TEST) option(FASTFLOAT_SANITIZE "Sanitize addresses" OFF) @@ -28,9 +35,4 @@ if(FASTFLOAT_SANITIZE) endif() endif() -if(FASTFLOAT_TEST) - enable_testing() - add_subdirectory(tests) -else(FASTFLOAT_TEST) - message(STATUS "Tests are disabled. Set FASTFLOAT_TEST to ON to run tests.") -endif(FASTFLOAT_TEST) + diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 37a659e..713c663 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -38,7 +38,6 @@ function(fast_float_add_cpp_test TEST_NAME) target_compile_options(${TEST_NAME} PUBLIC -Wsign-compare -Wshadow -Wwrite-strings -Wpointer-arith -Winit-self -Wconversion -Wsign-conversion) endif() target_link_libraries(${TEST_NAME} PUBLIC fast_float doctest supplemental-data) - target_compile_features(${TEST_NAME} PUBLIC cxx_std_11) endfunction(fast_float_add_cpp_test) diff --git a/tests/basictest.cpp b/tests/basictest.cpp index 925b00c..73651bf 100644 --- a/tests/basictest.cpp +++ b/tests/basictest.cpp @@ -26,19 +26,21 @@ #if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__) || defined(sun) || defined(__sun) #define FASTFLOAT_ODDPLATFORM 1 #endif - #if defined __has_include #if __has_include () #else +// filesystem is not available #define FASTFLOAT_ODDPLATFORM 1 #endif #else +// __has_include is not available #define FASTFLOAT_ODDPLATFORM 1 #endif // C++ 17 because it is otherwise annoying to browse all files in a directory. // We also only run these tests on little endian systems. #if (FASTFLOAT_CPLUSPLUS >= 201703L) && (FASTFLOAT_IS_BIG_ENDIAN == 0) && !defined(FASTFLOAT_ODDPLATFORM) + #include #include #include @@ -105,7 +107,6 @@ TEST_CASE("supplemental") { CHECK(check_file(entry.path().string())); } } - #endif