MantisBT - CMake |
| View Issue Details |
|
| 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. |
| Relationships | | related to | 0012198 | closed | James Bigler | FindCUDA.cmake, INCLUDE_DIRECTORIES, The command line is too long. | | related to | 0014758 | closed | Kitware Robot | Delayed de-duplication of include directories may cause huge memory usage |
|
| Attached Files | FindCUDA.cmake.patch (668) 2013-04-17 04:08 https://public.kitware.com/Bug/file/4741/FindCUDA.cmake.patch |
|
| 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 |
|
Notes |
|
|
(0032857)
|
|
Brad King
|
|
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
|
|
2013-04-17 10:06
|
|
|
|
|
(0032894)
|
|
Brad King
|
|
2013-04-17 10:20
|
|
|
|
|
(0032895)
|
|
Brad King
|
|
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
|
|
2013-10-07 10:09
|
|
|
Closing resolved issues that have not been updated in more than 4 months. |
|