[mlpack] 04/53: Add utility script to check C++11 support.

Barak A. Pearlmutter barak+git at pearlmutter.net
Mon Nov 14 00:46:46 UTC 2016


This is an automated email from the git hooks/post-receive script.

bap pushed a commit to branch master
in repository mlpack.

commit d5c51fce4d33d00cbfa68798a6f13630ae02c9a5
Author: Ryan Curtin <ryan at ratml.org>
Date:   Wed Apr 13 12:51:54 2016 -0700

    Add utility script to check C++11 support.
---
 CXX11.cmake | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/CXX11.cmake b/CXX11.cmake
new file mode 100644
index 0000000..2dbfcc4
--- /dev/null
+++ b/CXX11.cmake
@@ -0,0 +1,48 @@
+# This is cloned from
+# https://github.com/nitroshare/CXX11-CMake-Macros
+# until C++11 support finally hits CMake stable (should be 3.1, I think).
+
+# Copyright (c) 2013 Nathan Osman
+
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+# Determines whether or not the compiler supports C++11
+macro(check_for_cxx11_compiler _VAR)
+    message(STATUS "Checking for C++11 compiler")
+    set(${_VAR})
+    if((MSVC AND (MSVC10 OR MSVC11 OR MSVC12 OR MSVC14)) OR
+       (CMAKE_COMPILER_IS_GNUCXX AND NOT ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 4.6) OR
+       (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 3.1) OR
+       (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND NOT ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 12.0))
+        set(${_VAR} 1)
+        message(STATUS "Checking for C++11 compiler - available")
+    else()
+        message(STATUS "Checking for C++11 compiler - unavailable")
+    endif()
+endmacro()
+
+# Sets the appropriate flag to enable C++11 support
+macro(enable_cxx11)
+  if(CMAKE_COMPILER_IS_GNUCXX OR
+     CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR
+     CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
+  endif()
+endmacro()
+

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/mlpack.git



More information about the debian-science-commits mailing list