[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