Browse Source

BUG: Set GCC_SYMBOLS_PRIVATE_EXTERN and GCC_INLINES_ARE_PRIVATE_EXTERN attributes on all projects to prevent -fvisibility=hidden flags. This is needed to make RTTI work by default.

Brad King 19 years ago
parent
commit
d3e8ef705e
1 changed files with 4 additions and 4 deletions
  1. 4 4
      Source/cmGlobalXCodeGenerator.cxx

+ 4 - 4
Source/cmGlobalXCodeGenerator.cxx

@@ -1213,10 +1213,6 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget& target,
                                   this->CreateString("mh_bundle"));
       buildSettings->AddAttribute("GCC_DYNAMIC_NO_PIC", 
                                   this->CreateString("NO"));
-      buildSettings->AddAttribute("GCC_SYMBOLS_PRIVATE_EXTERN", 
-                                  this->CreateString("NO"));
-      buildSettings->AddAttribute("GCC_INLINES_ARE_PRIVATE_EXTERN", 
-                                  this->CreateString("NO"));
       // Add the flags to create an executable.
       std::string createFlags =
         this->LookupFlags("CMAKE_", lang, "_LINK_FLAGS", "");
@@ -1396,6 +1392,10 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget& target,
                               this->CreateString(optLevel));
   buildSettings->AddAttribute("OPTIMIZATION_CFLAGS", 
                               this->CreateString(oflagc.c_str()));
+  buildSettings->AddAttribute("GCC_SYMBOLS_PRIVATE_EXTERN",
+                              this->CreateString("NO"));
+  buildSettings->AddAttribute("GCC_INLINES_ARE_PRIVATE_EXTERN",
+                              this->CreateString("NO"));
   if(lang && strcmp(lang, "CXX") == 0)
     {
     flags += " ";