View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0015537 | CMake | CMake | public | 2015-04-27 07:09 | 2016-06-10 14:31 | ||||
Reporter | Jamie Kirkpatrick | ||||||||
Assigned To | Kitware Robot | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | moved | ||||||
Platform | OS | Windows | OS Version | ||||||
Product Version | CMake 3.2.2 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0015537: CTestTargets.cmake interferes with source trees that use directory structures nested under a "testing" directory | ||||||||
Description | If you have a project that uses a directory structure with a top-level directory called "testing" and some nested directories with CMakeLists.txt files in those directories you can get unexpected results. Namely that the first time you run cmake, targets defined in those directories will not be set up correctly. | ||||||||
Steps To Reproduce | Download the attached test-case: in the root directory of the project run the following command: mkdir build && cd build && cmake -GNinja .. && ninja custom_target Ninja will report that it has "nothing to do" | ||||||||
Additional Information | The problem seems to boil down to the presence of this line in CTestTargets.cmake # make directories in the binary tree file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/Testing/Temporary) | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | cmake-bug.zip [^] (3,214 bytes) 2015-04-27 07:09 | ||||||||
Relationships | |
Relationships |
Notes | |
(0038601) Jamie Kirkpatrick (reporter) 2015-04-27 07:30 |
I should also note that this only seems to be an issue on win32 - works fine on posix platforms AFAICT. |
(0038606) Ben Boeckel (developer) 2015-04-27 09:01 |
*nix will likely have problems with directories named 'Testing'. Maybe CTest should use _CTest_Testing similar to _CPack_Packages? Probably requires a policy though... |
(0038610) Jamie Kirkpatrick (reporter) 2015-04-27 09:37 |
Additionally I should mention that this affects all generators. |
(0038619) Brad King (manager) 2015-04-27 11:06 |
CTest has always used <top>/Testing to store some things. This came from its early days as part of a project that used a Testing directory. It has never been known to interfere with project-specified "Testing" directories. This looks like a problem with the case difference between the "testing" source directory and the "Testing" directory CTest creates. |
(0038620) Brad King (manager) 2015-04-27 11:10 |
Teaching CTest to use something other than <top>/Testing will be non-trivial. It is used in many places by the C++-side of the implementation. We would also have to deal with supporting older versions, etc. Instead one could look at why the case mixing causes problems. I suspect it has something to do with GetActualCaseForPath. |
(0042766) Kitware Robot (administrator) 2016-06-10 14:29 |
Resolving issue as `moved`. This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2015-04-27 07:09 | Jamie Kirkpatrick | New Issue | |
2015-04-27 07:09 | Jamie Kirkpatrick | File Added: cmake-bug.zip | |
2015-04-27 07:30 | Jamie Kirkpatrick | Note Added: 0038601 | |
2015-04-27 09:01 | Ben Boeckel | Note Added: 0038606 | |
2015-04-27 09:37 | Jamie Kirkpatrick | Note Added: 0038610 | |
2015-04-27 11:06 | Brad King | Note Added: 0038619 | |
2015-04-27 11:10 | Brad King | Note Added: 0038620 | |
2016-06-10 14:29 | Kitware Robot | Note Added: 0042766 | |
2016-06-10 14:29 | Kitware Robot | Status | new => 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 |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |