View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0008570 | CMake | Modules | public | 2009-02-20 09:49 | 2010-12-14 18:49 | ||||
Reporter | Christoph Seibert | ||||||||
Assigned To | David Cole | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | CMake-2-6 | ||||||||
Target Version | Fixed in Version | CMake-2-8 | |||||||
Summary | 0008570: exclude_system flag in get_prerequisites() function broken in CMake 2.6.2 | ||||||||
Description | I'm seeing this problem on Windows XP 32 bit: Setting the exclude_system flag to 1 has no effect when calling get_prerequisites() - it will still look for system libraries and include them in the returned list. The culprit seems to be the following block that has changed between 2.6.1 and 2.6.2 (this is the 2.6.2 version): # Use the raw_item as the list entries returned by this function. Use the # gp_resolve_item function to resolve it to an actual full path file if # necessary. # set(item "${raw_item}") # Add each item unless it is excluded: # set(add_item 1) if(${exclude_system}) set(type "") gp_file_type("${target}" "${item}" type) if("${type}" STREQUAL "system") set(add_item 0) endif("${type}" STREQUAL "system") endif(${exclude_system}) In 2.6.2, only "raw" items are considered for addition. However, the gp_file_type() function expects the item to have an absolute path. In 2.6.1, the raw item was resolved to an absolute path _before_ checking the file type. As a side note, I found it highly irritating that get_prerequisites() changed its interface incompatibly between 2.6.1 and 2.6.2 (which I consider a minor update): both the input (two additional mandatory arguments) and the output (no longer includes absolute paths) have changed. This also leads to incorrect documentation in the list_prerequisites() function, which implies that it will print full paths when in fact it will not. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Relationships | |
Relationships |
Notes | |
(0015247) Bill Hoffman (manager) 2009-02-20 09:53 |
get_prerequisites() should be considered Beta, and should have been marked as such, sorry about that. |
(0015248) Bill Hoffman (manager) 2009-02-20 09:54 |
On the bright side since it is a cmake module, you can copy it into your project and change it as needed. |
(0018802) David Cole (manager) 2009-12-10 13:45 |
This should be working as you expect with respect to the exclude_system flag in CMake 2.8.0... Please re-open and attach more information if you disagree. Thanks, David Cole |
(0024065) David Cole (manager) 2010-12-14 18:49 |
Closing bugs that have been resolved for more than 3 months without any further updates. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2009-02-20 09:49 | Christoph Seibert | New Issue | |
2009-02-20 09:50 | Bill Hoffman | Status | new => assigned |
2009-02-20 09:50 | Bill Hoffman | Assigned To | => David Cole |
2009-02-20 09:53 | Bill Hoffman | Note Added: 0015247 | |
2009-02-20 09:54 | Bill Hoffman | Note Added: 0015248 | |
2009-12-10 13:45 | David Cole | Note Added: 0018802 | |
2009-12-10 13:45 | David Cole | Status | assigned => resolved |
2009-12-10 13:45 | David Cole | Fixed in Version | => CMake-2-8 |
2009-12-10 13:45 | David Cole | Resolution | open => fixed |
2010-12-14 18:49 | David Cole | Note Added: 0024065 | |
2010-12-14 18:49 | David Cole | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |