[cmake-developers] Fix for Windows Store warning APPX1901: The DefaultLanguage property is either missing from the project file or does not have a value.

Robert Goulet Robert.Goulet at autodesk.com
Fri Jan 30 10:35:28 EST 2015


Hi Gilles, Brad,

There's also another warning I'd like to fix. When compiling from the command-line, it generates warning APPX2102: File 'VisualStudioEdition' is not found or is not an executable file. I found that simply adding /p:VisualStudioEdition="Microsoft Visual Studio 2012 Ultimate" on the CMake build command-line fixes the warning. This does not happen when building from within the IDE. Someone else already reported this problem outside of CMake: http://www.interact-sw.co.uk/iangblog/2013/07/29/fix-appx2102.

I think we should fix it directly within CMake with something like the patch I propose below. However, as the comment says, this would be set all the time since we do not have access to know if we are building for Windows Store/Phone at that time in CMake. I tried it on a regular Win32 app and it doesn't seems to affect anything. In fact, we can even set the value of VisualStudioEdition to anything and it doesn't seems to have any effect, as long as it is defined to something. So before I send a proper patch file, what's your thoughts on this? Thanks!


diff --git a/Source/cmGlobalVisualStudio10Generator.cxx b/Source/cmGlobalVisualStudio10Generator.cxx
index 50d7640..e454270 100644
--- a/Source/cmGlobalVisualStudio10Generator.cxx
+++ b/Source/cmGlobalVisualStudio10Generator.cxx
@@ -568,6 +568,13 @@ void cmGlobalVisualStudio10Generator::GenerateBuildCommand(
   makeCommand.push_back(configArg);
   makeCommand.push_back(std::string("/p:VisualStudioVersion=")+
                         this->GetIDEVersion());
+
+  // Normally this is only needed for Windows Store/Phone apps when building from command-line.
+  // Fixes warning APPX2102: : File 'VisualStudioEdition' is not found or is not an executable file.
+  makeCommand.push_back(std::string("/p:VisualStudioEdition=\"")+
+                        this->GetName()+
+                        std::string("\""));
+  
   makeCommand.insert(makeCommand.end(),
                      makeOptions.begin(), makeOptions.end());
 }

-----Original Message-----
From: Gilles Khouzam [mailto:Gilles.Khouzam at microsoft.com] 
Sent: Thursday, January 29, 2015 6:12 PM
To: Brad King; Robert Goulet
Cc: cmake-developers at cmake.org
Subject: RE: [cmake-developers] Fix for Windows Store warning APPX1901: The DefaultLanguage property is either missing from the project file or does not have a value.

Thanks Robert.

-----Original Message-----
From: cmake-developers [mailto:cmake-developers-bounces at cmake.org] On Behalf Of Brad King
Sent: Thursday, January 29, 2015 11:57 AM
To: Robert Goulet
Cc: cmake-developers at cmake.org
Subject: Re: [cmake-developers] Fix for Windows Store warning APPX1901: The DefaultLanguage property is either missing from the project file or does not have a value.

On 01/29/2015 01:45 PM, Robert Goulet wrote:
> Here's a patch to fix a warning
> 
> This patch also fix an indentation error in the vcxproj.

Applied, thanks:

 VS: Add missing newlines to .vcxproj generation
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4c5574a1

 VS: Set default language in generated Windows Phone and Store projects
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=500794b0

-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


More information about the cmake-developers mailing list