diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2023-02-27 18:38:35 +0200 |
---|---|---|
committer | Jia Tan <jiat0218@gmail.com> | 2023-03-07 23:25:12 +0800 |
commit | 594f904673ba55a833adfa60bbab6b60d4902d08 (patch) | |
tree | 32d923a36997c25a48977009bc8c88428a5f7e3e /CMakeLists.txt | |
parent | Tests: Small tweak to test-vli.c. (diff) | |
download | xz-594f904673ba55a833adfa60bbab6b60d4902d08.tar.xz |
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
Diffstat (limited to '')
-rw-r--r-- | CMakeLists.txt | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 12b8f034..4009cf93 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,6 +72,14 @@ string(REGEX REPLACE # Among other things, this gives us variables xz_VERSION and xz_VERSION_MAJOR. 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: set(CMAKE_MACOSX_BUNDLE OFF) |