View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0013644 | CMake | CMake | public | 2012-11-02 10:49 | 2013-04-17 08:54 | ||||
Reporter | Reid Kleckner | ||||||||
Assigned To | Brad King | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | Windows | OS Version | ||||||
Product Version | CMake 2.8.10 | ||||||||
Target Version | CMake 2.8.10.1 | Fixed in Version | CMake 2.8.10.1 | ||||||
Summary | 0013644: Default pdb output location changed in cmake 2.8.10 | ||||||||
Description | In the course of adding PDB_OUTPUT_DIRECTORY and related properties and variables, the default location for pdb files changed. In our project (DynamoRIO) we have a bunch of targets where we set RUNTIME_OUTPUT_DIRECTORY, LIBRARY_OUTPUT_DIRECTORY, etc. The .pdb file would get created in ${RUNTIME_OUTPUT_DIRECTORY} next to the .dll, which is what we want. After this change, it would get created in the default output directory, which is different. Furthermore, this would mean the pdbs never got installed. Our CMake code: set_target_properties(dynamorio PROPERTIES LIBRARY_OUTPUT_DIRECTORY${location_suffix} "${DR_LIBRARY_OUTPUT_DIRECTORY}" RUNTIME_OUTPUT_DIRECTORY${location_suffix} "${DR_LIBRARY_OUTPUT_DIRECTORY}" ARCHIVE_OUTPUT_DIRECTORY${location_suffix} "${DR_LIBRARY_OUTPUT_DIRECTORY}" # The next line is the one I added to work around the problem. #PDB_OUTPUT_DIRECTORY${location_suffix} "${DR_LIBRARY_OUTPUT_DIRECTORY}" ) From the linker command line: /out:lib32\debug\dynamorio.dll /implib:lib32\debug\dynamorio.lib /pdb:core\dynamorio.pdb We can easily work around the problem by setting PDB_OUTPUT_DIRECTORY as well as RUNTIME, ARCHIVE, and LIBRARY, but it'd be nice for other users that aren't using cmake from version control if the default didn't change. Upstream issue where we figured this out: http://code.google.com/p/chromium/issues/detail?id=159092 [^] Original issue: http://www.cmake.org/Bug/view.php?id=10830 [^] CMake commit that made the change: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3f60dbf1 [^] | ||||||||
Steps To Reproduce | 1. Create a library target 2. Set the runtime and archive output directory to somewhere non-default 3. Build it 4. Observe that the pdb does not reside next to the dll | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | 0001-Fix-default-PDB-output-directory-13644.patch [^] (3,035 bytes) 2012-11-02 12:54 [Show Content] | ||||||||
Relationships | |
Relationships |
Notes | |
(0031384) Brad King (manager) 2012-11-02 12:54 |
Please try attached "0001-Fix-default-PDB-output-directory-13644.patch" on top of 2.8.10. |
(0031388) Reid Kleckner (reporter) 2012-11-02 15:50 |
Thanks! That appears to work. When I build our package without any local PDB_OUTPUT_DIRECTORY changes the pdbs end up getting installed. |
(0031425) Brad King (manager) 2012-11-05 08:53 |
Thanks for testing. Applied: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f3093668 [^] |
(0032864) Robert Maynard (manager) 2013-04-17 08:54 |
Closing resolved issues that have not been updated in more than 4 months. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2012-11-02 10:49 | Reid Kleckner | New Issue | |
2012-11-02 12:54 | Brad King | File Added: 0001-Fix-default-PDB-output-directory-13644.patch | |
2012-11-02 12:54 | Brad King | Assigned To | => Brad King |
2012-11-02 12:54 | Brad King | Status | new => assigned |
2012-11-02 12:54 | Brad King | Note Added: 0031384 | |
2012-11-02 15:50 | Reid Kleckner | Note Added: 0031388 | |
2012-11-05 08:53 | Brad King | Note Added: 0031425 | |
2012-11-05 08:53 | Brad King | Status | assigned => resolved |
2012-11-05 08:53 | Brad King | Resolution | open => fixed |
2012-11-06 15:18 | David Cole | Target Version | => CMake 2.8.10.1 |
2012-11-07 13:36 | David Cole | Fixed in Version | => CMake 2.8.10.1 |
2013-04-17 08:54 | Robert Maynard | Note Added: 0032864 | |
2013-04-17 08:54 | Robert Maynard | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |