mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-05 22:00:10 -05:00
Merge topic 'objc-visibility-inlines'
7347e2f830 ObjC: Add VISIBLITY_INLINES_HIDDEN support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4199
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
include(Compiler/Clang-OBJCXX)
|
||||
|
||||
set(CMAKE_OBJCXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
|
||||
|
||||
if(NOT CMAKE_OBJCXX_COMPILER_VERSION VERSION_LESS 4.0)
|
||||
set(CMAKE_OBJCXX98_STANDARD_COMPILE_OPTION "-std=c++98")
|
||||
set(CMAKE_OBJCXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
|
||||
|
||||
@@ -1,6 +1,2 @@
|
||||
include(Compiler/GNU)
|
||||
__compiler_gnu(OBJC)
|
||||
|
||||
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.2)
|
||||
set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
|
||||
endif()
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
include(Compiler/GNU)
|
||||
__compiler_gnu(OBJC)
|
||||
__compiler_gnu(OBJCXX)
|
||||
|
||||
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.2)
|
||||
set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
|
||||
if(NOT CMAKE_OBJCXX_COMPILER_VERSION VERSION_LESS 4.2)
|
||||
set(CMAKE_OBJCXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_OBJCXX_LINK_FLAGS)
|
||||
|
||||
@@ -2220,10 +2220,11 @@ static void AddVisibilityCompileOption(std::string& flags,
|
||||
static void AddInlineVisibilityCompileOption(std::string& flags,
|
||||
cmGeneratorTarget const* target,
|
||||
cmLocalGenerator* lg,
|
||||
std::string* warnCMP0063)
|
||||
std::string* warnCMP0063,
|
||||
const std::string& lang)
|
||||
{
|
||||
std::string compileOption =
|
||||
"CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN";
|
||||
cmStrCat("CMAKE_", lang, "_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN");
|
||||
const char* opt = lg->GetMakefile()->GetDefinition(compileOption);
|
||||
if (!opt) {
|
||||
return;
|
||||
@@ -2265,8 +2266,8 @@ void cmLocalGenerator::AddVisibilityPresetFlags(
|
||||
|
||||
AddVisibilityCompileOption(flags, target, this, lang, pWarnCMP0063);
|
||||
|
||||
if (lang == "CXX") {
|
||||
AddInlineVisibilityCompileOption(flags, target, this, pWarnCMP0063);
|
||||
if (lang == "CXX" || lang == "OBJCXX") {
|
||||
AddInlineVisibilityCompileOption(flags, target, this, pWarnCMP0063, lang);
|
||||
}
|
||||
|
||||
if (!warnCMP0063.empty() && this->WarnCMP0063.insert(target).second) {
|
||||
|
||||
Reference in New Issue
Block a user