[cmake-developers] [CMake 0014064]: Xcode generator creating incorrect relative paths
Mantis Bug Tracker
mantis at public.kitware.com
Mon Apr 8 09:42:57 EDT 2013
The following issue has been SUBMITTED.
======================================================================
http://www.cmake.org/Bug/view.php?id=14064
======================================================================
Reported By: Dave Abrahams
Assigned To:
======================================================================
Project: CMake
Issue ID: 14064
Category: CMake
Reproducibility: always
Severity: major
Priority: normal
Status: new
======================================================================
Date Submitted: 2013-04-08 09:42 EDT
Last Modified: 2013-04-08 09:42 EDT
======================================================================
Summary: Xcode generator creating incorrect relative paths
Description:
This came up in an Xcode project generated by CMake.
Basic problem looks like this:
eno:quack dave$
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool
-static -arch_only x86_64 -syslibroot
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
-L/tmp/tst/build/quack/lib/Debug/quack -filelist
/tmp/tst/build/quack/runtime/Quack.build/Debug/quack_runtime.build/Objects-normal/x86_64/quack_runtime.LinkFileList
/tmp/tst/src/quack/../../build/quack/loon/Hoot.o -o
/tmp/tst/build/quack/lib/Debug/quack/libquack_runtime.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool:
can't open file: /tmp/tst/src/quack/../../build/quack/loon/Hoot.o (No such file
or directory)
eno:quack dave$
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool
-static -arch_only x86_64 -syslibroot
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
-L/tmp/tst/build/quack/lib/Debug/quack -filelist
/tmp/tst/build/quack/runtime/Quack.build/Debug/quack_runtime.build/Objects-normal/x86_64/quack_runtime.LinkFileList
/tmp/tst/build/quack/loon/Hoot.o -o
/tmp/tst/build/quack/lib/Debug/quack/libquack_runtime.a
eno:quack dave$
The problem here is that /tmp/tst/src/quack/ is a symlink to /tmp/quack.
Therefore, the path traversal of /tmp/tst/src/quack/../../build leads to /build,
which doesn't exist.
CMake generated this relative path as far as I can tell; “../..” doesn’t
appear anywhere in my CMakeLists or my cmake command The Ninja generator works
fine.
Steps to Reproduce:
Sorry I don’t have a small reproducer for you.
======================================================================
Issue History
Date Modified Username Field Change
======================================================================
2013-04-08 09:42 Dave Abrahams New Issue
======================================================================
More information about the cmake-developers
mailing list