MantisBT - CMake | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0015448 | CMake | CMake | public | 2015-03-16 09:32 | 2016-06-10 14:31 |
Reporter | nagger | ||||
Assigned To | Kitware Robot | ||||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | moved | ||
Platform | Win x64 | OS | Windows | OS Version | Windows 7 |
Product Version | CMake 3.2.1 | ||||
Target Version | Fixed in Version | ||||
Summary | 0015448: find_path() after mark_as_advanced() | ||||
Description | It not clear to me if the following is a bug in CMake or just an invalid use: (I tested this for CMake 2.8.11, 3.0.1 and 3.2.1.) set(my_path "anyvalue") find_path(my_path NAMES CMakeLists.txt HINTS ${CMAKE_CURRENT_LIST_DIR}) mark_as_advanced(my_path) find_path(my_path NAMES CMakeLists.txt HINTS ${CMAKE_CURRENT_LIST_DIR}) message("my_path: '${my_path}'") # my_path is empty here! 1st FIND_PATH() uses only the non-cached variable and does not create the cache-variable * this is not described in the docs ** the docs should also describe when and how the cached-variable and the non-cached variable is read and written ** same goes for all find_*-commands MARK_AS_ADVANCED() for an undefined cache-variable creates the cache-var with and empty value and type 'UNDEFINED' * Is this a bug(?) * It could use the value of the non-cached variable (if there is one) * or it should not set the VALUE-property of the cached variable * or set the type to 'STRING' The 2nd FIND_PATH() does not use the non-cached variable as in the first call, but clears the variable without search for the path * For me this looks like a bug! | ||||
Steps To Reproduce | See attached self-contained CMakeLists.txt with a lot of test cases (T1 .. T8) and its output at the end of the file. For me T1 and T2 is a bug, at least it should act as in T5 or in T7. And T9 also seems like a bug since the docs say: "[...] the search will not be repeated unless the variable is cleared" And T8 is inconsistent to the other tests: Its overwriting the cached value although the variable is set. Until now I thought that the cached value is always overwritten with the value of the variable. Is there any reason why it is not? | ||||
Additional Information | |||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | CMakeLists.txt (7,856) 2015-03-16 09:32 https://public.kitware.com/Bug/file/5404/CMakeLists.txt | ||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2015-03-16 09:32 | nagger | New Issue | |||
2015-03-16 09:32 | nagger | File Added: CMakeLists.txt | |||
2015-03-16 17:10 | Brad King | Note Added: 0038227 | |||
2016-04-15 18:28 | Jean-Christophe Fillion-Robin | Note Added: 0040872 | |||
2016-06-10 14:29 | Kitware Robot | Note Added: 0042731 | |||
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 |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|