[cmake-developers] Generator expressions for output directory/name (and install?)

Robert Goulet Robert.Goulet at autodesk.com
Wed Jul 8 16:57:33 EDT 2015


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.king at kitware.com] 
Sent: Tuesday, June 16, 2015 10:21 AM
To: Robert Goulet
Cc: cmake-developers at 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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: output-name-genex.patch
Type: application/octet-stream
Size: 6136 bytes
Desc: output-name-genex.patch
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20150708/36e28fd3/attachment.obj>


More information about the cmake-developers mailing list