[cmake-developers] [CMake 0014378]: ZERO_CHECK.vcxproj referenced despite CMAKE_SUPPRESS_REGENERATION set to FALSE

Mantis Bug Tracker mantis at public.kitware.com
Tue Aug 27 10:58:17 EDT 2013


The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=14378 
====================================================================== 
Reported By:                Mateusz Loskot
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   14378
Category:                   CMake
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2013-08-27 10:58 EDT
Last Modified:              2013-08-27 10:58 EDT
====================================================================== 
Summary:                    ZERO_CHECK.vcxproj referenced despite
CMAKE_SUPPRESS_REGENERATION set to FALSE
Description: 
I have a collection of predefined .vcxproj files and I use CMake to generate
.sln file gathering all the projects.

In my CMakeLists.txt I set CMAKE_SUPPRESS_REGENERATION to FALSE to prevent
generating of ZERO_CHECK.vcxproj, but GUID of the ZERO_CHECK is still
referenced.

It is, the generated .sln file still gets this postProject section generated

Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmake_test",
"cmake_test.vcxproj", "{A4C50E61-87B4-44A9-975E-CDC1649CB0DC}"
	ProjectSection(ProjectDependencies) = postProject
		{AB7E8FC6-757B-400A-AC2A-E4192A4C124E} =
{AB7E8FC6-757B-400A-AC2A-E4192A4C124E}
	EndProjectSection
EndProject


where cmake_test is predefiend (not generated) project and
AB7E8FC6-757B-400A-AC2A-E4192A4C124E is GUID of non-existent ZERO_CHECK project.

Steps to Reproduce: 
1. Create "Win32 Console Application" using VS IDE (name used below: cmake_test)

2. Create CMakeLists.txt file:

cmake_minimum_required(VERSION 2.8)
project(cmake_test_gen NONE)
set(CMAKE_SUPPRESS_REGENERATION TRUE)
include_external_msproject(cmake_test cmake_test.vcxproj)

3. Try to build using the generated .sln file:

> msbuild  cmake_test_gen.sln
Microsoft (R) Build Engine version 4.0.30319.17929
[Microsoft .NET Framework, version 4.0.30319.18052]
Copyright (C) Microsoft Corporation. All rights reserved.

Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
Build started 27/08/2013 15:46:41.
D:\tmp\cmake_test\cmake_test_gen.sln : Solution file error MSB4051: Project
{A4C50E61-87B4-44A9-975E-CDC1649CB0DC} is referencing
 a project with GUID {AB7E8FC6-757B-400A-AC2A-E4192A4C124E}, but a project with
this GUID was not found in the .SLN file.

Build FAILED.

  D:\tmp\cmake_test\cmake_test_gen.sln : Solution file error MSB4051: Project
{A4C50E61-87B4-44A9-975E-CDC1649CB0DC} is referenci
ng a project with GUID {AB7E8FC6-757B-400A-AC2A-E4192A4C124E}, but a project
with this GUID was not found in the .SLN file.

    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:00.02
	
D:\tmp\cmake_test>


4. Remove set(CMAKE_SUPPRESS_REGENERATION TRUE) from CMakeLists.txt

5. Re-generate the .sln file and re-build 

cmake .
msbuild cmake_test_gen.sln


Observe the build in step 5 succeeds.

Additional Information: 
I use Visual Studio 2012.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2013-08-27 10:58 Mateusz Loskot New Issue                                    
======================================================================




More information about the cmake-developers mailing list