View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0014094 | CMake | Modules | public | 2013-04-17 04:08 | 2014-02-19 11:14 | ||||
Reporter | Marcel Loose | ||||||||
Assigned To | Robert Maynard | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | Linux | OS | Ubuntu | OS Version | 12.10 | ||||
Product Version | CMake 2.8.9 | ||||||||
Target Version | Fixed in Version | CMake 2.8.12 | |||||||
Summary | 0014094: FindCUDA: Marco CUDA_WRAP_SRCS does not de-duplicate entries in CUDA_NVCC_INCLUDE_DIRECTORIES | ||||||||
Description | As of CMake 2.8.8, the INCLUDE_DIRECTORIES() command does not de-duplicate entries. Failure to do so can lead to an extremely long and repetitive list of -I entries on the command line. | ||||||||
Steps To Reproduce | 1. Make sure you're using cmake 2.8.8 or later 2. Deliberately add duplicate entries using INCLUDE_DIRECTORIES in your project. 3. Add a CUDA executable using CUDA_ADD_EXECUTABLE. 4. Run 'make' with verbose output and check the command line passed to nvcc. | ||||||||
Additional Information | The attached simple patch solves this issue and should not cause any problems with older cmake versions. The patch is against the cmake 2.8.9 release. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | FindCUDA.cmake.patch [^] (668 bytes) 2013-04-17 04:08 [Show Content] | ||||||||
Relationships | |||||||||||
|
Relationships |
Notes | |
(0032857) Brad King (manager) 2013-04-17 08:25 |
Did CMake < 2.8.8 remove duplicate include directories automatically? The behavior may have changed when the per-target INCLUDE_DIRECTORIES property was added. |
(0032891) Marcel Loose (developer) 2013-04-17 10:06 |
Yes it did. See http://www.cmake.org/pipermail/cmake/2013-April/054398.html. [^] It could be that per-target INCLUDE_DIRECTORIES changed that behaviour. |
(0032894) Brad King (manager) 2013-04-17 10:20 |
For reference: http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/46307 [^] |
(0032895) Brad King (manager) 2013-04-17 10:23 |
Re 0014094:0032891: Okay, as discussed in that thread the de-duplication was moved to generate time. Now in 2.8.11 that is even more necessary because generator expressions can now appear in INCLUDE_DIRECTORIES so we do not even know the whole list of values until generate time. I think the patch looks like a good solution for now. More work may be needed to support projects that make use of generator expressions in INCLUDE_DIRECTORIES. |
(0034061) Robert Maynard (manager) 2013-10-07 10:09 |
Closing resolved issues that have not been updated in more than 4 months. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2013-04-17 04:08 | Marcel Loose | New Issue | |
2013-04-17 04:08 | Marcel Loose | File Added: FindCUDA.cmake.patch | |
2013-04-17 04:10 | Marcel Loose | Summary | Marco CUDA_WRAP_SRCS does not de-duplicate entries in CUDA_NVCC_INCLUDE_DIRECTORIES => FindCUDA: Marco CUDA_WRAP_SRCS does not de-duplicate entries in CUDA_NVCC_INCLUDE_DIRECTORIES |
2013-04-17 04:11 | Marcel Loose | Relationship added | related to 0012198 |
2013-04-17 08:25 | Brad King | Note Added: 0032857 | |
2013-04-17 09:11 | Robert Maynard | Assigned To | => Robert Maynard |
2013-04-17 09:11 | Robert Maynard | Status | new => assigned |
2013-04-17 10:06 | Marcel Loose | Note Added: 0032891 | |
2013-04-17 10:20 | Brad King | Note Added: 0032894 | |
2013-04-17 10:23 | Brad King | Note Added: 0032895 | |
2013-04-18 15:12 | Robert Maynard | Status | assigned => acknowledged |
2013-05-24 09:37 | Robert Maynard | Status | acknowledged => resolved |
2013-05-24 09:37 | Robert Maynard | Fixed in Version | => CMake 2.8.12 |
2013-05-24 09:37 | Robert Maynard | Resolution | open => fixed |
2013-10-07 10:09 | Robert Maynard | Note Added: 0034061 | |
2013-10-07 10:09 | Robert Maynard | Status | resolved => closed |
2014-02-19 11:14 | David Cole | Relationship added | related to 0014758 |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |