Re: [cmake-developers] New module: CheckFortranCompilerFlag.cmake

2015-02-04 Thread Nicolas Bock
I have modified the patch and added error messages for NAG and PGI
compilers. I have also fixed the FAIL_REGEX in the module itself to
read not for Fortran instead of ... for C.

From 452602f4b125eb89c114d9e1b3db6ee78b04d0b1 Mon Sep 17 00:00:00 2001
From: Nicolas Bock nicolasb...@gmail.com
Date: Mon, 2 Feb 2015 17:07:04 -0700
Subject: [PATCH] New Module: CheckFortranCompilerFlags.cmake

This module is based on the existing CheckCCompilerFlags.cmake.
---
 Modules/CMakeCheckCompilerFlagCommonPatterns.cmake |  5 +-
 Modules/CheckFortranCompilerFlag.cmake | 65 ++
 2 files changed, 68 insertions(+), 2 deletions(-)
 create mode 100644 Modules/CheckFortranCompilerFlag.cmake

diff --git a/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
b/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
index 19b2bbc..3141d60 100644
--- a/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
+++ b/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
@@ -21,9 +21,9 @@

 macro (CHECK_COMPILER_FLAG_COMMON_PATTERNS _VAR)
set(${_VAR}
- FAIL_REGEX unrecognized .*option # GNU
+ FAIL_REGEX [Uu]nrecogni[sz]ed .*option   # GNU, NAG
  FAIL_REGEX unknown .*option  # Clang
- FAIL_REGEX ignoring unknown option   # MSVC
+ FAIL_REGEX ignoring unknown option   # MSVC, Intel
  FAIL_REGEX warning D9002 # MSVC, any lang
  FAIL_REGEX option.*not supported # Intel
  FAIL_REGEX invalid argument .*option # Intel
@@ -35,6 +35,7 @@ macro (CHECK_COMPILER_FLAG_COMMON_PATTERNS _VAR)
  FAIL_REGEX command option .* contains an incorrect subargument # XL
  FAIL_REGEX not supported in this configuration. ignored   # AIX
  FAIL_REGEX File with unknown suffix passed to linker # PGI
+ FAIL_REGEX [Uu]nknown switch # PGI
  FAIL_REGEX WARNING: unknown flag:# Open64
  FAIL_REGEX Incorrect command line option:# Borland
  FAIL_REGEX Warning: illegal option   # SunStudio 12
diff --git a/Modules/CheckFortranCompilerFlag.cmake
b/Modules/CheckFortranCompilerFlag.cmake
new file mode 100644
index 000..479ff9f
--- /dev/null
+++ b/Modules/CheckFortranCompilerFlag.cmake
@@ -0,0 +1,65 @@
+#.rst:
+# CheckCCompilerFlag
+# --
+#
+# 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
+#Will be created as an internal cache variable.
+#
+# 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(CheckFortranSourceCompiles)
+include(CMakeCheckCompilerFlagCommonPatterns)
+
+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_COMPILER_FLAG_COMMON_PATTERNS(_CheckFortranCompilerFlag_COMMON_PATTERNS)
+   CHECK_Fortran_SOURCE_COMPILES(   program test\n   stop\n
 end program ${_RESULT}
+ # Some compilers do not fail with a bad flag
+ FAIL_REGEX command line option .* is valid for .* but not for
Fortran # GNU
+ ${_CheckFortranCompilerFlag_COMMON_PATTERNS}
+ )
+   foreach(v ${_CheckFortranCompilerFlag_LOCALE_VARS})
+ set(ENV{${v}} ${_CheckFortranCompilerFlag_SAVED_${v}})
+ unset(_CheckFortranCompilerFlag_SAVED_${v})
+   endforeach()
+   unset(_CheckFortranCompilerFlag_LOCALE_VARS)
+   

Re: [cmake-developers] Introduction and volunteering for the Matlab package

2015-02-04 Thread Brad King
On 02/03/2015 06:21 PM, Raffi Enficiaud wrote:
 I suppose there is some documentation on how to set up a night test server

Oops, I forgot to include the link.  Here:

 http://www.cmake.org/Wiki/CMake/Git/Dashboard

Use Windows Task Scheduler to run a .bat script that runs ctest on the
dashboard script you create.

Thanks,
-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


[cmake-developers] [CMake 0015389]: file GENERATE does not support generator expression for paramter INPUT

2015-02-04 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://www.cmake.org/Bug/view.php?id=15389 
== 
Reported By:Sascha Kratky
Assigned To:
== 
Project:CMake
Issue ID:   15389
Category:   CMake
Reproducibility:always
Severity:   major
Priority:   normal
Status: new
== 
Date Submitted: 2015-02-04 10:20 EST
Last Modified:  2015-02-04 10:20 EST
== 
Summary:file GENERATE does not support generator expression
for paramter INPUT
Description: 
The documentation of the file GENERATE command states that the condition,
output_file and input_file parameters may also contain generator
expressions. This is incorrect. Only the condition and output_file may
contain generator expressions. See cmFileCommand.cxx:3402.
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2015-02-04 10:20 Sascha Kratky  New Issue
==

-- 

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


Re: [cmake-developers] Windows Store generated solution also containing win32 console app?

2015-02-04 Thread Robert Goulet
Hi Gilles,

Turns out we do not support ARM. And that is true, that wouldn't work if we 
were to support ARM. And also I found an issue with this setup on x86/x64 : the 
Store menu doesn't appear in Visual Studio if a windows console application is 
part of the solution, even if I correctly select the windows store app as the 
current selected project before looking for this menu.

Looks like this won't work and it's too much of an hack. I guess I have no 
choice but to compile this windows console project outside of the main project.
Thanks!


-Original Message-
From: Gilles Khouzam [mailto:gilles.khou...@microsoft.com] 
Sent: Tuesday, February 3, 2015 7:09 PM
To: 'Brad King'; Robert Goulet
Cc: cmake-developers@cmake.org
Subject: RE: [cmake-developers] Windows Store generated solution also 
containing win32 console app?

Hi Robert,

I'm a little confused at how your scenario would work for the ARM architecture? 
If you're building a non-WinRT console app for the solution that needs to run, 
this is fine on x86, but how is that handled on ARM? It would not be built 
(since you can't really run it anyway) and it would not be able to run on the 
build machine since it would be the wrong architecture. If this is to be 
supported long term, it might make more sense to have a new target that is 
based on the build environment and not the target environment.


-Original Message-
From: Brad King [mailto:brad.k...@kitware.com]
Sent: Tuesday, February 3, 2015 12:09
To: Gilles Khouzam; Robert Goulet
Cc: cmake-developers@cmake.org
Subject: Re: [cmake-developers] Windows Store generated solution also 
containing win32 console app?

On 01/29/2015 06:11 PM, Gilles Khouzam wrote:
 For applications you might not need the VS_WINRT_COMPONENT, but for 
 libraries setting it vs not does have some differences.

Thanks, Gilles.  Robert, I think this means my suggestion of trying to re-use 
VS_WINRT_COMPONENT for this was a bad idea.  Let's return to your original 
suggestion of a separate option.  The proper name for the option may depend on 
the discussion below.  Of course it needs to be an error to enable both the new 
option and VS_WINRT_COMPONENT in the same target.

On 01/27/2015 02:58 PM, Robert Goulet wrote:
 the generator is essentially the same for both Win32 and WinRT

Is this true for only Store, or might all this work for Phone too?

Thanks,
-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