mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-04 04:40:56 -06:00
AUTOMOC used to fail to generate ``moc_predefs.h`` when ``ccache`` was used as a compiler starter by e.g. configuring a project with the environment variable CXX="ccache g++". The reason was that ``CMAKE_<LANG>_COMPILER_ARG1`` wasn't respected in the definition of ``CMAKE_<LANG>_COMPILER_PREDEFINES_COMMAND`` for various compilers. This is fixed by this patch. Fixes #17275.
35 lines
1.3 KiB
CMake
35 lines
1.3 KiB
CMake
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
# file Copyright.txt or https://cmake.org/licensing for details.
|
|
|
|
|
|
include(Compiler/GNU)
|
|
|
|
macro(__compiler_qcc lang)
|
|
__compiler_gnu(${lang})
|
|
|
|
# http://www.qnx.com/developers/docs/6.4.0/neutrino/utilities/q/qcc.html#examples
|
|
set(CMAKE_${lang}_COMPILE_OPTIONS_TARGET "-V")
|
|
|
|
set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-Wp,-isystem,")
|
|
set(CMAKE_DEPFILE_FLAGS_${lang} "-Wc,-MD,<DEPFILE>,-MT,<OBJECT>,-MF,<DEPFILE>")
|
|
|
|
set(CMAKE_${lang}_LINKER_WRAPPER_FLAG "-Wl,")
|
|
set(CMAKE_${lang}_LINKER_WRAPPER_FLAG_SEP ",")
|
|
|
|
set(_CMAKE_${lang}_IPO_SUPPORTED_BY_CMAKE NO)
|
|
set(_CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER NO)
|
|
|
|
set(CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "${CMAKE_${lang}_COMPILER}")
|
|
if(CMAKE_${lang}_COMPILER_ARG1)
|
|
separate_arguments(_COMPILER_ARGS NATIVE_COMMAND "${CMAKE_${lang}_COMPILER_ARG1}")
|
|
list(APPEND CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND ${_COMPILER_ARGS})
|
|
unset(_COMPILER_ARGS)
|
|
endif()
|
|
list(APPEND CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "-Wp,-dM" "-E" "-c" "${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp")
|
|
|
|
unset(CMAKE_${lang}_COMPILE_OPTIONS_IPO)
|
|
unset(CMAKE_${lang}_ARCHIVE_CREATE_IPO)
|
|
unset(CMAKE_${lang}_ARCHIVE_APPEND_IPO)
|
|
unset(CMAKE_${lang}_ARCHIVE_FINISH_IPO)
|
|
endmacro()
|