mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-26 08:14:38 +01:00
Set -Wmissing-prototypes for clang builds.
GCC defines -Wmissing-declarations as specialization of -Wmissing-prototypes for C++ (See https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmissing-declarations and https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmissing-prototypes) while Clang uses -Wmissing-prototypes for both languages and -Wmissing-declarations is a different diagnostic (See https://clang.llvm.org/docs/DiagnosticsReference.html#wmissing-prototypes and https://clang.llvm.org/docs/DiagnosticsReference.html#wmissing-declarations). Use MATCHES against CMAKE_CXX_COMPILER_ID (See https://stackoverflow.com/a/10055571, https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html) as conditional to handle both AppleClang and Clang. Clang enables -Wmissing-declarations by default so no point in setting it only if !Clang. See also: https://github.com/llvm/llvm-project/issues/16660 https://reviews.llvm.org/D119361
This commit is contained in:
@@ -358,6 +358,11 @@ else ()
|
|||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=objc-method-access")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=objc-method-access")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Clang -Wmissing-declarations differs from GCC, set -Wmissing-prototypes for parity
|
||||||
|
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wmissing-prototypes")
|
||||||
|
endif()
|
||||||
|
|
||||||
# On mingw all code is already PIC, this will avoid compiler error on redefining this option
|
# On mingw all code is already PIC, this will avoid compiler error on redefining this option
|
||||||
if (NOT MINGW)
|
if (NOT MINGW)
|
||||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
|
|||||||
Reference in New Issue
Block a user