MantisBT - CMake | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0015640 | CMake | CMake | public | 2015-07-07 11:04 | 2016-01-04 11:52 |
Reporter | James Johnston | ||||
Assigned To | Brad King | ||||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Visual C++ 2008 Express | OS | Windows 7 64-bit | OS Version | Windows 7 SP1 |
Product Version | CMake 3.2.3 | ||||
Target Version | CMake 3.4 | Fixed in Version | CMake 3.4 | ||
Summary | 0015640: CMake converts generator from Visual Studio 9 2008 to Visual Studio 10 2010 if ZERO_CHECK fails | ||||
Description | When using CMake with the Visual Studio 9 2008 generator, if the ZERO_CHECK "project" fails (e.g. due to a FATAL_ERROR or whatever in the CMakeLists.txt file), the entire CMake project is converted to Visual Studio 10 2010! Since the build tree is now in who-knows-what corrupted state, I have no choice but to delete the whole build tree and start over. It's quite time-consuming. The issue doesn't seem to be easily reproduced outside of the ZERO_CHECK project - e.g. I couldn't figure out how to reproduce it with cmake-gui.exe or cmake.exe. | ||||
Steps To Reproduce | 1. Make a new source tree with the following CMakeLists.txt file: cmake_minimum_required(VERSION 3.3.0 FATAL_ERROR) project(TestProject) #message(FATAL_ERROR "Error") 2. Create empty build tree directory as normal, cd to it, and run: cmake "-GVisual Studio 9 2008" <path to source tree> 3. Open the generated Visual Studio solution in Visual C++ 2008. (I used Express version). 4. Edit the CMakeLists.txt and remove the comment on "message" so that the CMake configure will fail now. 5. Build the ZERO_CHECK project; note that it fails as expected. 6. Remark out the "message" from CMakeLists.txt so that CMake once again will configure ok. 7. Build the ZERO_CHECK project again. This time, ZERO_CHECK will convert everything over to Visual Studio 2010: * The CMake output shown in Visual Studio "Output" pane says "Building for Visual Studio 10 2010". * The CMakeCache.txt holds: CMAKE_GENERATOR:INTERNAL=Visual Studio 10 2010 * Visual Studio 2008 refuses to reload the solution ("created by a newer version of this application and cannot be opened") * Examination of the build tree shows a VS2010 solution and VCPROJ/VCXPROJ files side-by-side... | ||||
Additional Information | The problem has been successfully reproduced with both CMake 3.3.0-rc1 and the nightly cmake-3.3.20150706-g32b76-win32-x86 build. | ||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | |||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2015-07-07 11:04 | James Johnston | New Issue | |||
2015-07-07 14:22 | Brad King | Note Added: 0039028 | |||
2015-07-07 14:22 | Brad King | Assigned To | => Brad King | ||
2015-07-07 14:22 | Brad King | Status | new => resolved | ||
2015-07-07 14:22 | Brad King | Resolution | open => fixed | ||
2015-07-07 14:22 | Brad King | Fixed in Version | => CMake 3.4 | ||
2015-07-07 14:22 | Brad King | Target Version | => CMake 3.4 | ||
2015-07-08 11:39 | James Johnston | Note Added: 0039094 | |||
2015-08-10 16:19 | Andrew Regier | Note Added: 0039263 | |||
2015-08-11 09:20 | Brad King | Note Added: 0039266 | |||
2016-01-04 11:52 | Robert Maynard | Note Added: 0040111 | |||
2016-01-04 11:52 | Robert Maynard | Status | resolved => closed |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|