Ok let's start with the simplest one, OUTPUT_NAME generator expressions 
support, then we'll do the others.

Patch in attachment.

-----Original Message-----
From: Brad King [mailto:brad.k...@kitware.com] 
Sent: Tuesday, June 16, 2015 10:21 AM
To: Robert Goulet
Cc: cmake-developers@cmake.org
Subject: Re: [cmake-developers] Generator expressions for output directory/name 
(and install?)

On 06/15/2015 03:03 PM, Robert Goulet wrote:
> Updated with improved tests and added docs.

Thanks.  Here are more comments.

Please split the patch to do the OUTPUT_NAME/dir changes first.
Update the Tests/PerConfig test to cover these.  Since the 
RUNTIME_OUTPUT_DIRECTORY properties are learning this, please do it for 
ARCHIVE_OUTPUT_DIRECTORY and LIBRARY_OUTPUT_DIRECTORY too for completeness.

Then do the install DESTINATION changes in a second patch.
That will simplify review.

In this hunk:

>    cmInstallTargetGenerator(
> -    cmTarget& t, const char* dest, bool implib,
> +    cmMakefile* mf, cmTarget& t, const char* dest, bool implib,

The cmTarget has a GetMakefile() method so there should be no need to pass the 
mf separately.

In this hunk:

> @@ -216,6 +216,7 @@ void 
> cmScriptGenerator::GenerateScriptActionsPerConfig(std::ostream& os,
>          i != this->ConfigurationTypes->end(); ++i)
>        {
>        const char* config = i->c_str();
> +      this->ConfigurationName = config;
>        if(this->GeneratesForConfig(config))
>          {
>          // Generate a per-configuration block.

This should not be needed if things are factored correctly.
Everything in that block already passes "config" through as a parameter.

Thanks,
-Brad

Attachment: output-name-genex.patch
Description: output-name-genex.patch

-- 

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