View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0015170 | CMake | CMake | public | 2014-09-23 07:45 | 2016-06-10 14:31 | ||||
Reporter | stopiccot | ||||||||
Assigned To | Kitware Robot | ||||||||
Priority | normal | Severity | feature | Reproducibility | always | ||||
Status | closed | Resolution | moved | ||||||
Platform | Windows | OS | Windows | OS Version | any | ||||
Product Version | CMake 3.0 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0015170: CMAKE_SYSTEM_PROCESSOR is broken on Windows | ||||||||
Description | According to it's description CMAKE_SYSTEM_PROCESSOR should have value of "The name of the CPU CMake is building for". On Windows x64 hosts it always has value of AMD64 no matter which architecture you are building for: x86/x64 or arm. I have a strong opinion that this behavior should be fixed cause otherwise this var is completely useless on windows. And yes I know there is a CMAKE_CL_64 var for determining what arch we are building for. But it looks like a x64-only dirty hack not a generic solution | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Relationships | ||||||
|
Relationships |
Notes | |
(0036855) Pascal Bach (reporter) 2014-09-23 08:13 |
I assume you are talking about Visual Studio and the selection of CMAKE_GENERATOR_PLATFORM via -G "Visual Studio 2013 ARM" for example. I think it would be good to have the value of CMAKE_SYSTEM_PROCESSOR set according to the selected platform. |
(0037075) Brad King (manager) 2014-10-27 11:54 |
A challenge here is that CMAKE_SYSTEM_PROCESSOR is supposed to be set as part of the CMakeSystem.cmake, configured from CMakeSystem.cmake.in: http://www.cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/CMakeSystem.cmake.in;hb=v3.0.2 [^] but that configuration occurs very early, even before we have tried to enable any languages or detect any compilers. For Makefile and Ninja generators this is straightforward. When not cross-compiling the host processor can be detected immediately. When cross-compiling it is the responsibility of the CMAKE_TOOLCHAIN_FILE to set CMAKE_SYSTEM_PROCESSOR for the target. The problem for VS generators is that the target architecture is not determined in time to configure CMakeSystem.cmake because they "cross" compile without explicitly saying so. |
(0042636) 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 |
2014-09-23 07:45 | stopiccot | New Issue | |
2014-09-23 08:13 | Pascal Bach | Note Added: 0036855 | |
2014-09-24 09:13 | Brad King | Relationship added | related to 0014342 |
2014-10-27 11:54 | Brad King | Note Added: 0037075 | |
2016-06-10 14:29 | Kitware Robot | Note Added: 0042636 | |
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 |