CMake: Require that the C compiler supports C99 or a newer standard.

Thanks to autoantwort for reporting the issue and suggesting
a different patch:
https://github.com/tukaani-project/xz/pull/42
This commit is contained in:
Lasse Collin 2023-02-27 18:38:35 +02:00
parent 9aa7fdeb04
commit 4b7fb3bf41
1 changed files with 8 additions and 0 deletions

View File

@ -74,6 +74,14 @@ string(REGEX REPLACE
# Among other things, this gives us variables xz_VERSION and xz_VERSION_MAJOR. # Among other things, this gives us variables xz_VERSION and xz_VERSION_MAJOR.
project(xz VERSION "${XZ_VERSION}" LANGUAGES C) project(xz VERSION "${XZ_VERSION}" LANGUAGES C)
# We need a compiler that supports enough C99 or newer (variable-length arrays
# aren't needed, those are optional in C17). Setting CMAKE_C_STANDARD here
# makes it the default for all targets. It doesn't affect the INTERFACE so
# liblzma::liblzma won't end up with INTERFACE_COMPILE_FEATURES "c_std_99"
# (the API headers are C89 and C++ compatible).
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)
# On Apple OSes, don't build executables as bundles: # On Apple OSes, don't build executables as bundles:
set(CMAKE_MACOSX_BUNDLE OFF) set(CMAKE_MACOSX_BUNDLE OFF)