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

David Cole dlrdave at aol.com
Tue Apr 16 09:32:26 EDT 2013


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

  


More information about the CMake mailing list