David Faure wrote:
> On Thursday 03 May 2007, Brad King wrote:
>> I'm unable to duplicate this problem.  Would you please build a CMake
>> from source, but with the following modification?
> No problem - I always use CMake from source (cvs, branch CMake-2-4)
> 
>> Then re-run cmake on the tree having this problem and send me the output.
> Wow there's output for each target so it's hard to figure out what's about 
> what...
> Here's the whole lot: http://web.davidfaure.fr/tmp/output.gz

I do not see any reports in that output about possible conflicts between
the two directories for QtCore or similar libraries.  Please apply the
attached patch to the CMake source tree and try again.  (If you thought
the output was big before, wait until you see this one.)

Thanks,
-Brad
Index: Source/cmOrderLinkDirectories.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmOrderLinkDirectories.cxx,v
retrieving revision 1.37
diff -c -3 -p -r1.37 cmOrderLinkDirectories.cxx
*** Source/cmOrderLinkDirectories.cxx	30 Nov 2006 22:50:40 -0000	1.37
--- Source/cmOrderLinkDirectories.cxx	3 May 2007 18:23:22 -0000
*************** bool cmOrderLinkDirectories::LibraryMayC
*** 670,683 ****
--- 670,687 ----
    std::string path = dir;
    path += "/";
    path += fname;
+   printf("Checking [%s] conflict at [%s]: ", desiredLib, path.c_str());
    if(this->ManifestFiles.find(path) != this->ManifestFiles.end())
      {
      found = true;
+     printf("yes (manifest)\n");
      }
    else if(cmSystemTools::FileExists(path.c_str()))
      {
      found = true;
+     printf("yes (file)\n");
      }
+   printf("no\n");
  
    // When linking with a multi-configuration build tool the
    // per-configuration subdirectory is added to each link path.  Check
*************** bool cmOrderLinkDirectories::LibraryMayC
*** 689,702 ****
--- 693,710 ----
      path += this->ConfigSubdir;
      path += "/";
      path += fname;
+     printf("Checking [%s] conflict at [%s]: ", desiredLib, path.c_str());
      if(this->ManifestFiles.find(path) != this->ManifestFiles.end())
        {
        found = true;
+       printf("yes (manifest)\n");
        }
      else if(cmSystemTools::FileExists(path.c_str()))
        {
        found = true;
+       printf("yes (file)\n");
        }
+     printf("no\n");
      }
  
    // A library conflicts if it is found and is not a symlink back to
_______________________________________________
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem

Reply via email to