I then generate Xcode projects, but they give me a warning that
/path/to/Debug (or /path/to/Release) doesn't exist in the linker flag
-L/path/to/{Debug,Release} (and fail because there are alongside
libraries being pulled it). Apparently, cmake added the linker flag
-L/path/to/Debug with the above macro, where I'd like it to add
-L/path/to instead. Is there a way to do this? Perhaps with
LINK_DIRECTORIES()?

You're right, given the CMake code, the appended configuration name is hardcoded:

   std::string linkDirs;
   // add the library search paths
   for(std::vector<cmStdString>::const_iterator libDir = libDirs.begin();
       libDir != libDirs.end(); ++libDir)
     {
     if(libDir->size() && *libDir != "/usr/lib")
       {
       if(this->XcodeVersion > 15)
         {
         // now add the same one but append $(CONFIGURATION) to it:
         linkDirs += " ";
         linkDirs += this->XCodeEscapePath(libDir->c_str());
// line 1890 --------------------
         linkDirs += "/$(CONFIGURATION)";
// ------------------------------
         }
       linkDirs += " ";
       linkDirs += this->XCodeEscapePath(libDir->c_str());
       }
     }
   this->AppendBuildSettingAttribute(target, "LIBRARY_SEARCH_PATHS",
                                     linkDirs.c_str(), configName);

I don't know why it is like this though, it's a bit weird.
I encourage you to fill a bug report on the bug tracker - http://www.cmake.org/Bug

--Sylvain


_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to