Re: [CMake] Help with Policy CMP0026 (disallow LOCATION target property)

2014-12-23 Thread David Cole via CMake
Paul,

Are you sure there's a problem using TARGET_FILE in your original context?

It seems to me it should work...

From 
http://www.cmake.org/cmake/help/v3.1/manual/cmake-generator-expressions.7.html
:

$
Full path to main file (.exe, .so.1.2, .a) where tgt is the name of a target.

You should be able to use that in a custom command in your custom
stage_tgt target...

You have to give the name of the target for the TARGET_FILE generator
expression, so it should work for any target that cmake knows about.

Can you point to a simplified reproducible case where this does not work?

Maybe there's some other complication in your real project that is
making it seem like it's not working but I think it should. Can
you send us any code?


HTH,
David C.


On Tue, Dec 23, 2014 at 4:32 PM, Parag Chandra  wrote:
> Have you tried the CMake variables LIBRARY_OUTPUT_PATH and
> EXECUTABLE_OUTPUT_PATH? I¹ve been using them to accomplish much the same
> thing.
>
>
> Parag Chandra
> Software Engineer, Mobile Team
> Mobile: +1.919.824.1410
>
>  
>
> Ionic Security Inc.
> 1170 Peachtree St. NE STE 2285, Atlanta, GA 30309
>
>
>
>
>
>
>
>
>
>
>
> On 12/23/14, 4:06 PM, "Paul Smith"  wrote:
>
>>Hi all.  I need a pointer or two.
>>
>>In my environment I need to have my executables and binaries copied to
>>another location; this has to happen as part of the default "all"
>>target: it can't be required to run "install" for example (we use the
>>"install" rule for a "real" install step, for one thing).
>>
>>What I was doing with 2.8.12 was creating a custom target "stage_"
>>with a prerequisite of target , which had a custom command that
>>copied .  To do this I need to run get_property(pth TARGET 
>>PROPERTY LOCATION) so I know where the target file is living, and then I
>>use "cmake -E copy ${pth} ${DESTDIR}" to copy it to the right place.
>>
>>In 3.x this use is deprecated and I wonder what to do instead.
>>
>>If I add a POST_BUILD custom command directly to target  which
>>copies the file then I can use $> in my COMMAND script
>>and that works...
>>
>>Except, if someone deletes the copy of the file without touching
>>anything else, it doesn't get recopied (because cmake doesn't know about
>>the copy and so doesn't realize something is wrong).
>>
>>I need this to be recopied because we have a habit of just deleting the
>>entire destination directory and re-running the build to make a fresh
>>copy without changing anything else.
>>
>>I've thought about many ways to do this, but I can't seem to get around
>>the fact that generator expressions like $ are only
>>available within the commands of the target.
>>
>>Help?
>>Thx!
>>
>>--
>>
>>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
>
> --
>
> 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
-- 

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

Re: [CMake] Help with Policy CMP0026 (disallow LOCATION target property)

2014-12-23 Thread Parag Chandra
Have you tried the CMake variables LIBRARY_OUTPUT_PATH and
EXECUTABLE_OUTPUT_PATH? I¹ve been using them to accomplish much the same
thing.


Parag Chandra
Software Engineer, Mobile Team
Mobile: +1.919.824.1410

 

Ionic Security Inc.
1170 Peachtree St. NE STE 2285, Atlanta, GA 30309











On 12/23/14, 4:06 PM, "Paul Smith"  wrote:

>Hi all.  I need a pointer or two.
>
>In my environment I need to have my executables and binaries copied to
>another location; this has to happen as part of the default "all"
>target: it can't be required to run "install" for example (we use the
>"install" rule for a "real" install step, for one thing).
>
>What I was doing with 2.8.12 was creating a custom target "stage_"
>with a prerequisite of target , which had a custom command that
>copied .  To do this I need to run get_property(pth TARGET 
>PROPERTY LOCATION) so I know where the target file is living, and then I
>use "cmake -E copy ${pth} ${DESTDIR}" to copy it to the right place.
>
>In 3.x this use is deprecated and I wonder what to do instead.
>
>If I add a POST_BUILD custom command directly to target  which
>copies the file then I can use $> in my COMMAND script
>and that works...
>
>Except, if someone deletes the copy of the file without touching
>anything else, it doesn't get recopied (because cmake doesn't know about
>the copy and so doesn't realize something is wrong).
>
>I need this to be recopied because we have a habit of just deleting the
>entire destination directory and re-running the build to make a fresh
>copy without changing anything else.
>
>I've thought about many ways to do this, but I can't seem to get around
>the fact that generator expressions like $ are only
>available within the commands of the target.
>
>Help?
>Thx!
>
>-- 
>
>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

-- 

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


[CMake] Help with Policy CMP0026 (disallow LOCATION target property)

2014-12-23 Thread Paul Smith
Hi all.  I need a pointer or two.

In my environment I need to have my executables and binaries copied to
another location; this has to happen as part of the default "all"
target: it can't be required to run "install" for example (we use the
"install" rule for a "real" install step, for one thing).

What I was doing with 2.8.12 was creating a custom target "stage_"
with a prerequisite of target , which had a custom command that
copied .  To do this I need to run get_property(pth TARGET 
PROPERTY LOCATION) so I know where the target file is living, and then I
use "cmake -E copy ${pth} ${DESTDIR}" to copy it to the right place.

In 3.x this use is deprecated and I wonder what to do instead.

If I add a POST_BUILD custom command directly to target  which
copies the file then I can use $> in my COMMAND script
and that works...

Except, if someone deletes the copy of the file without touching
anything else, it doesn't get recopied (because cmake doesn't know about
the copy and so doesn't realize something is wrong).

I need this to be recopied because we have a habit of just deleting the
entire destination directory and re-running the build to make a fresh
copy without changing anything else.

I've thought about many ways to do this, but I can't seem to get around
the fact that generator expressions like $ are only
available within the commands of the target.

Help?
Thx!

-- 

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