| View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||
| 0013116 | CMake | CMake | public | 2012-04-09 22:42 | 2012-09-03 16:00 | ||||
| Reporter | hume npx | ||||||||
| Assigned To | Brad King | ||||||||
| Priority | normal | Severity | major | Reproducibility | always | ||||
| Status | closed | Resolution | no change required | ||||||
| Platform | windows | OS | win7 x64 | OS Version | win7 x64 sp1 | ||||
| Product Version | |||||||||
| Target Version | Fixed in Version | ||||||||
| Summary | 0013116: Cmake Nmake generator generate empty /MACHINE:for first run under a project | ||||||||
| Description | Cmake Nmake generator generate empty /MACHINE: for first run under a folder that make the compilation failed, if delete the folder contents and run the same cmake command again, then everything works as expected and /MACHINE:x86 is properly generated in the makefiles. | ||||||||
| Steps To Reproduce | t.c #include <stdio.h> /* main entry */ int #if defined(_MSC_VER) __cdecl #endif main(int argc, char *argv[]) { printf("Hello world!\n"); return 0; } CMakeLists.txt cmake_minimum_required(VERSION 2.8) project(test) add_executable(test t.c) then bring up cmd prompt and run under the folder: cmake -G "NMake Makefiles" . would result error if you run nmake delete all the generated temp files and run the above step again, everything worked. | ||||||||
| Tags | No tags attached. | ||||||||
| Attached Files | |||||||||
| Relationships | |
| Relationships |
| Notes | |
|
(0029110) Brad King (manager) 2012-04-10 10:25 |
I cannot reproduce this. I get /machine:X86 on the link line after the very first configuration. What version of CMake are you testing? |
|
(0029111) hume npx (reporter) 2012-04-10 10:44 |
version is cmake 2.8.7 platform is win7 x64 for 32 bit vc environment, OS language is eastern, msvc is 10.0 newest patch. in CmakeCache.txt, the wrong line is: //Flags used by the linker. CMAKE_EXE_LINKER_FLAGS:STRING=' /STACK:10000000 /machine: ' //Flags used by the linker during debug builds. CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL:YES //Flags used by the linker during release minsize builds. CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO |
|
(0029112) hume npx (reporter) 2012-04-10 10:50 |
in my test in order to reproduce it, I must close all cmd.exe instance and reopen one, if not all cmd.exe closed after successful cmake build for second time, then it would work as expected. |
|
(0029113) Brad King (manager) 2012-04-10 10:51 |
I have the same environment except the OS language is English:
>type ..\CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
project(test)
add_executable(test t.c)
>type ..\t.c
#include <stdio.h>
/* main entry */
int
#if defined(_MSC_VER)
__cdecl
#endif
main(int argc, char *argv[]) {
printf("Hello world!\n");
return 0;
}
>cmake --version
cmake version 2.8.7
>cmake .. -G"NMake Makefiles"
-- The C compiler identification is MSVC
-- The CXX compiler identification is MSVC
-- Check for CL compiler version
-- Check for CL compiler version - 1600
-- Check if this is a free VC compiler
-- Check if this is a free VC compiler - no
-- Check for working C compiler: c:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cl.exe
-- Check for working C compiler: c:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cl.exe --
works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: c:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cl.exe
-- Check for working CXX compiler: c:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cl.exe
-- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
>type CMakeCache.txt
... CMAKE_EXE_LINKER_FLAGS:STRING=' /STACK:10000000 /machine:X86 ' ...
>type CMakeFiles\test.dir\build.make
... /machine:X86 ...
>nmake
>test
Hello world!
Please attach your CMakeFiles\*.log files from a fresh run. |
|
(0029122) hume npx (reporter) 2012-04-10 22:07 |
Oh,finally I reasoned out what caused the strange result, it's because I run the cmake .. -G"NMake Makefiles" without setting vcvars.bat first, then I saw the cmake error message need to setup and run vcvars.bat, I just run it, now second time run cmake just works, but the flags in cmakecache.txt is obviously wrong. so this may not be a bug, but an improvement that cmake can make to sugguest unsccessfull run exists and delete cache files, just like the suggestions make as to different compiler runs. |
|
(0029123) hume npx (reporter) 2012-04-10 22:08 |
however thanks, this can be closed. |
|
(0029124) Brad King (manager) 2012-04-11 07:58 |
Thanks for reporting back. |
|
(0030850) David Cole (manager) 2012-09-03 16:00 |
Closing resolved issues that have not been updated in more than 4 months. |
| Notes |
| Issue History | |||
| Date Modified | Username | Field | Change |
| 2012-04-09 22:42 | hume npx | New Issue | |
| 2012-04-10 10:25 | Brad King | Note Added: 0029110 | |
| 2012-04-10 10:44 | hume npx | Note Added: 0029111 | |
| 2012-04-10 10:50 | hume npx | Note Added: 0029112 | |
| 2012-04-10 10:51 | Brad King | Note Added: 0029113 | |
| 2012-04-10 22:07 | hume npx | Note Added: 0029122 | |
| 2012-04-10 22:08 | hume npx | Note Added: 0029123 | |
| 2012-04-11 07:58 | Brad King | Note Added: 0029124 | |
| 2012-04-11 07:58 | Brad King | Status | new => resolved |
| 2012-04-11 07:58 | Brad King | Resolution | open => no change required |
| 2012-04-11 07:58 | Brad King | Assigned To | => Brad King |
| 2012-09-03 16:00 | David Cole | Note Added: 0030850 | |
| 2012-09-03 16:00 | David Cole | Status | resolved => closed |
| Issue History |
| Copyright © 2000 - 2018 MantisBT Team |