On 03/19/2014 12:31 PM, Stephen Kelly wrote:
> However, the contents of the resulting list of objects contains paths which 
> contain replacement macros '$(Configuration)' etc for the buildsystem tool.

At least for the configuration, it is known when evaluating the genex.
Whatever is adding the placeholders can be taught to put the real
configuration in there, no?

See also ExpandCFGIntDir for logic that removes the placeholders.

> However, I think that is not possible with Xcode. There seem to be other 
> macros there and I guess the full path is not known at cmake-time at all.

IIRC for Xcode there is $(CURRENT_ARCH) in the path to the object files.
This is necessary for universal binary builds because the architecture
is substituted at build time by Xcode.  This is not a problem in the
Makefile and Ninja generators because those handle universal binaries
by putting all architectures in one object file (multiple -arch flags
to one compiler invocation).

> I checked the behavior of TARGET_FILE with file(GENERATE). I expected that 
> to contain the same replacement macros, but that doesn't seem to be the 
> case.

That's because TARGET_FILE evaluation knows to use the per-config
location of the target.

-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to