diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index d02fe2674..44d857aac 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -294,11 +294,6 @@ cmGlobalXCodeGenerator::AddExtraTargets(cmLocalGenerator* root, } cmCustomCommandLines commandLines; commandLines.push_back(makecommand); - mf->AddUtilityCommand("XCODE_DEPEND_HELPER", true, - no_working_directory, - no_depends, - commandLines); - // Add Re-Run CMake rules this->CreateReRunCMakeFile(root); @@ -316,13 +311,22 @@ cmGlobalXCodeGenerator::AddExtraTargets(cmLocalGenerator* root, for(cmTargets::iterator l = tgts.begin(); l != tgts.end(); l++) { cmTarget& target = l->second; - // make all exe, shared libs and modules depend - // on the XCODE_DEPEND_HELPER target + // make all exe, shared libs and modules + // run the depend check makefile as a post build rule + // this will make sure that when the next target is built + // things are up-to-date if((target.GetType() == cmTarget::EXECUTABLE || + target.GetType() == cmTarget::STATIC_LIBRARY || target.GetType() == cmTarget::SHARED_LIBRARY || target.GetType() == cmTarget::MODULE_LIBRARY)) { - target.AddUtility("XCODE_DEPEND_HELPER"); + lg->GetMakefile()->AddCustomCommandToTarget(target.GetName(), + no_depends, + commandLines, + cmTarget::POST_BUILD, + "Depend check for xcode", + dir.c_str()); + } if(!target.GetPropertyAsBool("EXCLUDE_FROM_ALL")) { @@ -2849,6 +2853,7 @@ cmGlobalXCodeGenerator newDir += "/"; newDir += config; dir = newDir; + dir += framework; } else { diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx index 15aa9e651..d6a934516 100644 --- a/Source/cmInstallTargetGenerator.cxx +++ b/Source/cmInstallTargetGenerator.cxx @@ -238,18 +238,9 @@ cmInstallTargetGenerator { // Compute the build tree location of the framework directory std::string from1 = fromDirConfig; - if(config && *config) - { - from1 += "/"; - from1 += targetName; - from1 += ".framework"; - } - else - { - // Remove trailing slashes... so that from1 ends with ".framework": - // - cmSystemTools::ConvertToUnixSlashes(from1); - } + // Remove trailing slashes... so that from1 ends with ".framework": + // + cmSystemTools::ConvertToUnixSlashes(from1); files.push_back(from1); type = cmTarget::INSTALL_DIRECTORY;