[cmake-developers] [CMake 0014897]: Wrong reference of ZERO_CHECK.vcxproj if project is included with INCLUDE_EXTERNAL_MSPROJECT(...)

Mantis Bug Tracker mantis at public.kitware.com
Thu Apr 24 12:04:09 EDT 2014


The following issue has been SUBMITTED. 
====================================================================== 
http://www.cmake.org/Bug/view.php?id=14897 
====================================================================== 
Reported By:                jwo
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   14897
Category:                   CMake
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2014-04-24 12:04 EDT
Last Modified:              2014-04-24 12:04 EDT
====================================================================== 
Summary:                    Wrong reference of ZERO_CHECK.vcxproj if project is
included with INCLUDE_EXTERNAL_MSPROJECT(...)
Description: 
When including a project into another project with
INCLUDE_EXTERNAL_MSPROJECT(...), the resulting solution cannot be built due to a
reference to a non-existing project. Error-Message: "The project file ' ' has
been renamed or is no longer part of the solution"

This only happens if the two projects (the included and the including) have been
configured via CMake. 

It does occur if using the generator for Visual Studio 2012, but not when
generating for Visual Studio 2008.

The reason for the problem is the following.
Both project in the solution (the included and the including) refer to the
project ZERO_CHECK (You can right-click the project, go to properties, then to
Framework and References to see it). Unformtunately, the project IDs (called
Identity in this view) ZERO_CHECK of differ between these two project. Project2
refers to the existing ZERO_CHECK, but Project1 refers to a non-existing.



Steps to Reproduce: 
1. Unzip the appended archive ReproduceBug.zip
2. call cmake_all_projects.bat to cmake the two projects
3. Open the second soultion (Sln2/project2.sln)
4. Build the solution
--> Error: "The project file ' ' has been renamed or is no longer part of the
solution"

5. Right-click project1 and project2, go to properties, then to Framework and
References and find the different references to ZERO_CHECK.

Additional Information: 
This bug is related but not a duplicate of bug 0014378
(http://www.cmake.org/Bug/view.php?id=0014378)
Anyway, setting CMAKE_SUPPRESS_REGENERATION to TRUE suppresses the error by
deactivating its cause. But for many users may not be a good workarround as the
automatic regerneration of the projects is blocked.
Due to several reasons it is not possible to include the two projects in the
same CMakeLists.txt or configure them in one call of CMake.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2014-04-24 12:04 jwo            New Issue                                    
2014-04-24 12:04 jwo            File Added: ReproduceBug.zip                    
======================================================================



More information about the cmake-developers mailing list