| 1234567891011121314151617181920212223242526272829303132 |
- # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- # file LICENSE.rst or https://cmake.org/licensing for details.
- # This module is shared by multiple languages; use include blocker.
- if(__COMPILER_IBMClang)
- return()
- endif()
- set(__COMPILER_IBMClang 1)
- # Macro to set ibm-clang unique config. This should be called after common
- # clang config is included and include only what isn't common.
- macro(__compiler_ibmclang lang)
- # Feature flags.
- set(CMAKE_${lang}_VERBOSE_FLAG "-v")
- set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "-fPIC")
- set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "-fPIC")
- set(CMAKE_${lang}_RESPONSE_FILE_FLAG "@")
- set(CMAKE_${lang}_RESPONSE_FILE_LINK_FLAG "@")
- if(CMAKE_${lang}_COMPILER_TARGET AND "${lang}" STREQUAL "CXX")
- list(APPEND CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "--target=${CMAKE_${lang}_COMPILER_TARGET}")
- endif()
- # Thin LTO is not yet supported on AIX.
- if(NOT (CMAKE_SYSTEM_NAME STREQUAL "AIX"))
- set(_CMAKE_LTO_THIN TRUE)
- endif()
- if("${lang}" STREQUAL "CXX")
- list(APPEND CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "-w" "-dM" "-E" "${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp")
- endif()
- endmacro()
|