View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0012881 | CMake | CMake | public | 2012-01-18 08:51 | 2016-06-10 14:31 | ||||
Reporter | Daniel Lehtovirta | ||||||||
Assigned To | Kitware Robot | ||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||
Status | closed | Resolution | moved | ||||||
Platform | Apple Mac | OS | OS X | OS Version | 10.4.10 | ||||
Product Version | CMake 2.8.7 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0012881: \DYNAMICBASE and \NXCOMPAT don't work on Visual Studio 8 2005 builds | ||||||||
Description | Creating vcproj file for Visual Studio 8 2005. When adding linker flags \DYNAMICBASE and \NXCOMPAT For instance by having this in the CMakeLists.txt file: set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NXCOMPAT /DYNAMICBASE") CMake is translating this to, DataExecutionPrevention="2" and RandomizedBaseAddress="2" something that Visual Studio 8 2005 don't understand and being ignored by the linker. If I manually add \DYNAMICBASE and \NXCOMPAT to the AdditionalOptions parameter it works fine. | ||||||||
Steps To Reproduce | 1. Add set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NXCOMPAT /DYNAMICBASE") to the CMakeLists.txt in your project, make the vcproj file for Visual Studio 8 2005. 2. Check the vcproj file and noticed the DataExecutionPrevention="2" and RandomizedBaseAddress="2". 3. Build the file and see that the dll don't have these options sent to the linker. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Relationships | |
Relationships |
Notes | |
(0028355) Brad King (manager) 2012-01-18 14:14 |
The mappings for these flags to the IDE project file attributes were added in CMake 2.8.5: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=85163fba [^] but apparently some are not understood by VS older than 2008. |
(0028451) Brad King (manager) 2012-02-02 14:05 |
Solving this will require the VS flag tables that map flags to IDE options: http://cmake.org/gitweb?p=cmake.git;a=blob;f=Source/cmLocalVisualStudio7Generator.cxx;hb=v2.8.7#l399 [^] http://cmake.org/gitweb?p=cmake.git;a=blob;f=Source/cmLocalVisualStudio7Generator.cxx;hb=v2.8.7#l504 [^] to be refactored such that they are populated based on the target IDE version. |
(0041967) Kitware Robot (administrator) 2016-06-10 14:28 |
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 |
2012-01-18 08:51 | Daniel Lehtovirta | New Issue | |
2012-01-18 14:14 | Brad King | Note Added: 0028355 | |
2012-02-02 14:05 | Brad King | Note Added: 0028451 | |
2012-02-02 14:05 | Brad King | Status | new => backlog |
2016-06-10 14:28 | Kitware Robot | Note Added: 0041967 | |
2016-06-10 14:28 | Kitware Robot | Status | backlog => resolved |
2016-06-10 14:28 | Kitware Robot | Resolution | open => moved |
2016-06-10 14:28 | Kitware Robot | Assigned To | => Kitware Robot |
2016-06-10 14:31 | Kitware Robot | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |