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.

2015-01-30 Thread Robert Goulet
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.khou...@microsoft.com] 
Sent: Thursday, January 29, 2015 6:12 PM
To: Brad King; Robert Goulet
Cc: cmake-developers@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-boun...@cmake.org] On Behalf Of 
Brad King
Sent: Thursday, January 29, 2015 11:57 AM
To: Robert Goulet
Cc: cmake-developers@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
-- 

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


[cmake-developers] New module: CheckFortranCompilerFlag.cmake

2015-01-30 Thread Nicolas Bock
Hi,

please find attached for potential inclusion into CMake a new Module
that tests Fortran compiler flags. It is a modified copy of the
existing CheckCCompilerFlag.cmake module.

Thanks,

nick

# - Check whether the Fortran compiler supports a given flag.
# CHECK_Fortran_COMPILER_FLAG(flag var)
#  flag - the compiler flag
#  var  - variable to store the result
# This internally calls the check_fortran_source_compiles macro and
# sets CMAKE_REQUIRED_DEFINITIONS to flag.
# See help for CheckFortranSourceCompiles for a listing of variables
# that can otherwise modify the build.
# The result only tells that the compiler does not give an error message when
# it encounters the flag. If the flag has any effect or even a specific one is
# beyond the scope of this module.

#=
# Copyright 2006-2011 Kitware, Inc.
# Copyright 2006 Alexander Neundorf neund...@kde.org
# Copyright 2011 Matthias Kretz kr...@kde.org
#
# Distributed under the OSI-approved BSD License (the License);
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=
# (To distribute this file outside of CMake, substitute the full
#  License text for the above reference.)

include(${CMAKE_SOURCE_DIR}/cmake-scripts//CheckFortranSourceCompiles.cmake)

macro (CHECK_Fortran_COMPILER_FLAG _FLAG _RESULT)
   set(SAFE_CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS})
   set(CMAKE_REQUIRED_DEFINITIONS ${_FLAG})
   # Normalize locale during test compilation.
   set(_CheckFortranCompilerFlag_LOCALE_VARS LC_ALL LC_MESSAGES LANG)
   foreach(v ${_CheckFortranCompilerFlag_LOCALE_VARS})
 set(_CheckFortranCompilerFlag_SAVED_${v} $ENV{${v}})
 set(ENV{${v}} C)
   endforeach()
   CHECK_Fortran_SOURCE_COMPILES(program test\nstop\nend program
test ${_RESULT}
 # Some compilers do not fail with a bad flag
 FAIL_REGEX command line option .* is valid for .* but not for C # GNU
 FAIL_REGEX unrecognized .*option # GNU
 FAIL_REGEX unknown .*option  # Clang
 FAIL_REGEX ignoring unknown option   # MSVC
 FAIL_REGEX warning D9002 # MSVC, any lang
 FAIL_REGEX option.*not supported # Intel
 FAIL_REGEX invalid argument .*option # Intel
 FAIL_REGEX ignoring option .*argument required   # Intel
 FAIL_REGEX [Uu]nknown option # HP
 FAIL_REGEX [Ww]arning: [Oo]ption # SunPro
 FAIL_REGEX command option .* is not recognized   # XL
 FAIL_REGEX WARNING: unknown flag:# Open64
 )
   foreach(v ${_CheckFortranCompilerFlag_LOCALE_VARS})
 set(ENV{${v}} ${_CheckFortranCompilerFlag_SAVED_${v}})
 unset(_CheckFortranCompilerFlag_SAVED_${v})
   endforeach()
   unset(_CheckFortranCompilerFlag_LOCALE_VARS)

   set (CMAKE_REQUIRED_DEFINITIONS ${SAFE_CMAKE_REQUIRED_DEFINITIONS})
endmacro ()
-- 

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