2 Commits da5926d44f ... 7f55079bae

Author SHA1 Message Date
  Patrick-Christopher Mattulat 7f55079bae Remove support for GNU-like compilers 2 months ago
  Patrick-Christopher Mattulat 34e0b244aa Improve compiler flags to force C++ standard 2 months ago
2 changed files with 8 additions and 11 deletions
  1. 2 3
      CMakeLists.txt
  2. 6 8
      README.md

+ 2 - 3
CMakeLists.txt

@@ -77,8 +77,8 @@ endif ()
 
 
 message("${PROJECT_NAME}: Setting compiler flags...")
 message("${PROJECT_NAME}: Setting compiler flags...")
 set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_CXX_STANDARD 17)
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_CXX_EXTENSIONS OFF)
 
 
 ##########################################################
 ##########################################################
 # Compiler Support
 # Compiler Support
@@ -90,7 +90,6 @@ if (${LS_STD_BUILD_WITH_SUPPORTED_COMPILER})
     # define supported compilers
     # define supported compilers
 
 
     if (${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC OR
     if (${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC OR
-            ${CMAKE_CXX_COMPILER_ID} STREQUAL GNU OR
             ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang OR
             ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang OR
             ${CMAKE_CXX_COMPILER_ID} STREQUAL AppleClang)
             ${CMAKE_CXX_COMPILER_ID} STREQUAL AppleClang)
         message("${PROJECT_NAME}: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} is supported...")
         message("${PROJECT_NAME}: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} is supported...")

+ 6 - 8
README.md

@@ -34,7 +34,7 @@ A __Date__ class comes with this submodule, which you can use to represent a dat
 
 
 #### Features ####
 #### Features ####
 
 
-- none
+- GNU-like compilers are not supported anymore to focus more in depth on MSVC, Clang, Apple Clang - thus, still supporting the major platforms Linux, macOS and Windows
 
 
 #### Improvements ####
 #### Improvements ####
 
 
@@ -74,13 +74,11 @@ Building this library would result into providing binaries for each library modu
 
 
 To build this library you'd need a supported __toolchain__ in place, consisting of a build tool and compiler. The following table is a listing of supported compilers and build tools associated with operating systems, where this library has been tested:
 To build this library you'd need a supported __toolchain__ in place, consisting of a build tool and compiler. The following table is a listing of supported compilers and build tools associated with operating systems, where this library has been tested:
 
 
-| Supported Compiler<br/>(mandatory) | OS               | Supported Compiler Version<br/>(mandatory) | Build Tool<br/>(mandatory) | Build Tool Version (mandatory) |
-|------------------------------------|------------------|--------------------------------------------|----------------------------|--------------------------------|
-| GCC                                | Ubuntu 22.04 LTS | 14.2.0                                     | CMake                      | \>= 3.30.0                     |
-| Clang                              | Linux Mint 20.3  | 12.0.0-3ubuntu1~20.04.5                    | CMake                      | \>= 3.30.0                     |
-| MinGW-w64 / GCC                    | Windows 10       | 11.2.0                                     | CMake                      | \>= 3.30.0                     |
-| MSVC                               | Windows 10       | 19.50.35721.0                              | CMake                      | \>= 3.30.0                     |
-| AppleClang                         | MacOS Monterey   | 14.0.0                                     | CMake                      | \>= 3.30.0                     |
+| Supported Compiler<br/>(mandatory) | Supported Compiler Version<br/>(mandatory) | Build Tool<br/>(mandatory) | Build Tool Version (mandatory) |
+|------------------------------------|--------------------------------------------|----------------------------|--------------------------------|
+| Clang                              | &gt;= 21.1.8                               | CMake                      | &gt;= 3.30.0                   |
+| MSVC                               | &gt;= 19.50.35721.0                        | CMake                      | &gt;= 3.30.0                   |
+| AppleClang                         | &gt;= 17.0.0                               | CMake                      | &gt;= 3.30.0                   |
 
 
 Please note, that where the underlying operating system is optional in this listing, the toolchain itself is not! This means, that by default you should use one of the supported listed toolchains.  
 Please note, that where the underlying operating system is optional in this listing, the toolchain itself is not! This means, that by default you should use one of the supported listed toolchains.  
 In case you'd like to use an unsupported toolchain, you can enforce this during CMake project generation. For that have a look at the CMake flag usage section below.
 In case you'd like to use an unsupported toolchain, you can enforce this during CMake project generation. For that have a look at the CMake flag usage section below.