> -----Original Message-----
> From: cmake-developers [mailto:cmake-developers-boun...@cmake.org]
> On Behalf Of David Cole via cmake-developers
> Sent: Thursday, August 20, 2015 21:21
> To: James Johnston
> Cc: cmake-developers@cmake.org
> Subject: Re: [cmake-developers] ExternalProject: Use native paths as
> substitute for directory tokens
> 
> It's exactly what I am concerned about:
> 
> You're asking to change the behavior of something for EVERYONE to solve a
> problem which you have encountered. If you change it the way you have
> proposed, you will cause problems for others. It has worked the way it is now
> since ExternalProject_Add was introduced in CMake 2.8. Changing it
> unconditionally the way you propose is simply not feasible for backwards
> compatibility.
> 
> I think commands that take native paths ought NOT to use the <*_DIR>
> replacement values, and instead, ought to pass in variables that contain the
> native paths in the first place.

Right, agreed that the original <*_DIR> behavior would need to remain 
unchanged.  But how would you know what the binary directory of the external 
project is, before calling ExternalProject_Add?  It's too early to call 
ExternalProject_Get_Property(target BINARY_DIR).  I assume that is why 
<BINARY_DIR> and friends exist, as the location will be affected via various 
ExternalProject parameters.  From the doc:

    The *_DIR options specify directories for the project, with default 
directories computed as follows <snip>

Quite a set of rules follow and if one is trying to use the binary directory in 
the path to some build tool, it's handy to put <BINARY_DIR> in the command.

But if you need a native path for your build tool, <BINARY_DIR> doesn't work as 
Stefan Kislinskiy noted, which is why I suggested making new tokens might be a 
viable alternative, e.g. <BINARY_DIR_NATIVE>?
        
Best regards,

James Johnston 

-- 

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/mailman/listinfo/cmake-developers

Reply via email to