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 <lo...@astron.nl>
To: David Cole <dlrd...@aol.com>
Cc: cmake <cmake@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.lo...@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

--

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

Reply via email to