[CMake] Regression in INCLUDE_DIRECTORIES command between cmake 2.8.7 and 2.8.8?

Marcel Loose loose at astron.nl
Wed Apr 17 04:14:46 EDT 2013


Hi David,

I filed a bug (14094) and attached a patch that solves it.

Cheers,
Marcel.

On 16/04/13 15:32, David Cole wrote:
> I guess you could file a bug/request to de-duplicate in the FindCUDA 
> cmake code.
>
> Anybody who reads the property via get_property (or 
> get_target_property or get_directory_property) and then sets it back 
> with some appended info is directly manipulating the property itself. 
> Moreover, include_directories itself simply appends to these 
> properties now as it goes, and the de-duplication happens later, at 
> generate time.
>
> So.... if the cuda stuff is using get_property (and friends) to 
> retrieve the value of the include directories, then it will now need 
> to de-duplicate that list itself if it wants to.
>
> On the other hand, the additional -I arguments should still work, 
> unless you're running up against a command line too long problem.
>
> Is there an actual build issue you're having, or is this just an 
> aesthetic "I don't like seeing -I duplicate arguments" thing...?
>
>
> D
>
>
>
>
> -----Original Message-----
> From: Marcel Loose <loose at astron.nl>
> To: David Cole <dlrdave at aol.com>
> Cc: cmake <cmake at cmake.org>
> Sent: Tue, Apr 16, 2013 4:16 am
> Subject: Re: [CMake] Regression in INCLUDE_DIRECTORIES command between 
> cmake 2.8.7 and 2.8.8?
>
>
> Hi David,
>
> Appears you are right. However nvcc is clearly not playing by the new
> rules. When using cuda_add_executable() I do get multiple -I entries on
> the command line. Should I file a bug report for FindCUDA then?
>
> Regards,
> Marcel.
>
> On 16/04/13 01:03, David Cole wrote:
>> It removes duplicates during generation, though. You shouldn't see 
> duplicates
> in the generated make files or project files...
>>
>>
>> On Apr 15, 2013, at 5:34 PM, Marcel Loose <marcel.loose at zonnet.nl> 
> wrote:
>>
>>> Hi all,
>>>
>>> I noticed that, starting from cmake 2.8.8, INCLUDE_DIRECTORIES no 
> longer
> remove duplicates. I this a regression?
>>>
>>> $ cat ../CMakeLists.txt
>>> cmake_minimum_required(VERSION 2.6)
>>> project(TestIncludeDirectories)
>>>
>>> get_directory_property(_inc_dirs INCLUDE_DIRECTORIES)
>>> message(STATUS "INCLUDE_DIRECTORIES=${_inc_dirs}")
>>>
>>> include_directories(/usr/include)
>>> get_directory_property(_inc_dirs INCLUDE_DIRECTORIES)
>>> message(STATUS "INCLUDE_DIRECTORIES=${_inc_dirs}")
>>>
>>> include_directories(/usr/include)
>>> get_directory_property(_inc_dirs INCLUDE_DIRECTORIES)
>>> message(STATUS "INCLUDE_DIRECTORIES=${_inc_dirs}")
>>>
>>> $ ~/x86_64/usr/local/cmake-2.8.7/bin/cmake ..
>>> -- INCLUDE_DIRECTORIES=
>>> -- INCLUDE_DIRECTORIES=/usr/include
>>> -- INCLUDE_DIRECTORIES=/usr/include
>>> -- Configuring done
>>> -- Generating done
>>> -- Build files have been written to: 
> /home/marcel/temp/cmake/include_directories/build
>>>
>>> $ ~/x86_64/usr/local/cmake-2.8.8/bin/cmake ..
>>> -- INCLUDE_DIRECTORIES=
>>> -- INCLUDE_DIRECTORIES=/usr/include
>>> -- INCLUDE_DIRECTORIES=/usr/include;/usr/include
>>> -- Configuring done
>>> -- Generating done
>>> -- Build files have been written to: 
> /home/marcel/temp/cmake/include_directories/build
>>>
>>> Best regards,
>>> Marcel Loose.
>>>
>>> -- 
>>>
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at 
> http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.cmake.org/mailman/listinfo/cmake
>
>
>
> -- 
>
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at 
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: 
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: loose.vcf
Type: text/x-vcard
Size: 292 bytes
Desc: not available
URL: <http://www.cmake.org/pipermail/cmake/attachments/20130417/52c7267a/attachment.vcf>


More information about the CMake mailing list