MantisBT - CMake | ||||||||||
View Issue Details | ||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | |||||
0015003 | CMake | CMake | public | 2014-07-02 16:29 | 2016-06-10 14:31 | |||||
Reporter | Ryan Curtin | |||||||||
Assigned To | Kitware Robot | |||||||||
Priority | normal | Severity | minor | Reproducibility | always | |||||
Status | closed | Resolution | moved | |||||||
Platform | OS | debian | OS Version | sid | ||||||
Product Version | CMake 3.0 | |||||||||
Target Version | Fixed in Version | |||||||||
Summary | 0015003: depend.make ignores files with the same name | |||||||||
Description | I've attached an interesting project that exposes a bug that is similar (but maybe not identical) to http://public.kitware.com/Bug/view.php?id=9354 [^] . This occurred while working on mlpack ( http://www.mlpack.org/ [^] ) which uses CMake, but I have reduced it to the simplest case I can think of. We have a test file, 'test.cpp', which includes two files 'a.hpp' and 'b.hpp'. The file 'a.hpp' includes 'a/a.hpp' which in turn includes 'impl.hpp' located in the directory a/. The file 'b.hpp' includes 'b/b.hpp' which in turn includes 'impl.hpp' located in the directory b/. Then, the CMake configuration just makes a target 'test' that depends on test.cpp, and ideally CMake should figure out all the header dependencies correctly. However, when CMake is used to configure and build the target, the resulting depend.make file associated with the test target only contains a/impl.hpp and not b/impl.hpp. This means I can make changes to b/impl.hpp and recompile, but CMake does not detect the changes. Unfortunately I am not enough of a CMake expert to provide a patch, but I thought it would at least be useful to reproduce the issue. | |||||||||
Steps To Reproduce | 1. unpack attached .tar.gz 2. use CMake to configure it 3. build the test target 4. run ./test, look, the output is complaints 5. modify b/impl.hpp and add vulgarities 6. make test 7. run ./test... no vulgarities! | |||||||||
Additional Information | I tried with both CMake 2.8 and 3.0, so it is tested against the latest stable release of CMake in both the 2.x and 3.x branches. | |||||||||
Tags | No tags attached. | |||||||||
Relationships |
| |||||||||
Attached Files | cmake-test.tar.gz (565) 2014-07-02 16:29 https://public.kitware.com/Bug/file/5184/cmake-test.tar.gz | |||||||||
Issue History | ||||||||||
Date Modified | Username | Field | Change | |||||||
2014-07-02 16:29 | Ryan Curtin | New Issue | ||||||||
2014-07-02 16:29 | Ryan Curtin | File Added: cmake-test.tar.gz | ||||||||
2014-07-02 16:31 | Ryan Curtin | Note Added: 0036312 | ||||||||
2014-07-03 09:22 | Brad King | Relationship added | related to 0009354 | |||||||
2014-07-03 09:23 | Brad King | Note Added: 0036318 | ||||||||
2014-07-03 09:23 | Brad King | Status | new => backlog | |||||||
2016-06-10 14:29 | Kitware Robot | Note Added: 0042578 | ||||||||
2016-06-10 14:29 | Kitware Robot | Status | backlog => resolved | |||||||
2016-06-10 14:29 | Kitware Robot | Resolution | open => moved | |||||||
2016-06-10 14:29 | Kitware Robot | Assigned To | => Kitware Robot | |||||||
2016-06-10 14:31 | Kitware Robot | Status | resolved => closed |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|