Loosen restrictions on unrecognized compilers#2585
Conversation
A core tenet of CMake is the idea that you can use any valid C++ compiler. By enumerating all supported compilers and emitting and hard error when an unrecognized compiler is detected, we are violating that tenet. Relaxing this message from a fatal error to merely a warning continues to communicate to users that their build may not succeed but it leaves the door open for the build to potential succeed if the compiler meets all of our requirements.
|
Alternatively we can entirely remove that |
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## 2.6.x #2585 +/- ##
========================================
Coverage ? 27.44%
========================================
Files ? 227
Lines ? 19773
Branches ? 4651
========================================
Hits ? 5426
Misses ? 13757
Partials ? 590 Continue to review full report in Codecov by Sentry.
|
|
@VictorEijkhout Would you please test this PR and let us know to what extent it fixes your issues with Intel compilers? |
-- The C compiler identification is IntelLLVM 2023.1.0
-- The CXX compiler identification is IntelLLVM 2023.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/intel/oneapi/compiler/2023.1.0/linux/bin/icx - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/intel/oneapi/compiler/2023.1.0/linux/bin/icpx - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning at cmake/Config.cmake:134 (message):
Unrecognized compiler: IntelLLVM. Use at your own risk.and then but that's my problem, not yours, I'm guessing. |
|
https://github.com/ChrisThrasher/SFML/actions/runs/5349006137/jobs/9699625624 I was able to add an Intel oneAPI CI job to 2.6.0 and it passes so I'm hopeful you should be able to make this work as soon this PR gets merged. There could still be lingering issues since I'm not sure if this compiler is binary compatible with the Ubuntu packages we're linking against that assume the GCC ABI. That much will require further testing. |
Description
A core tenet of CMake is the idea that you can use any valid C++ compiler. By enumerating all supported compilers and emitting and hard error when an unrecognized compiler is detected, we are violating that tenet.
Relaxing this message from a fatal error to merely a warning continues to communicate to users that their build may not succeed but it leaves the door open for the build to potential succeed if the compiler meets all of our requirements.
Partially addresses #2583