Comments (9)
Here's the EnableCXX11.cmake
file that I wrote. I've only used it with g++ and clang++ so far. From what I understand, MSVC doesn't require any command-line switches to enable C++11βit's enabled by default. I haven't tested any compilers under Windows yet.
# - Use C++11 standard
#
# Author:
# Kevin M. Godby <[email protected]>
#
# Note that Microsoft Visual C++ compiler enables C++11 by default
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR CMAKE_COMPILER_IS_GNUCXX)
include(CheckCXXCompilerFlag)
check_cxx_compiler_flag(--std=c++11 SUPPORTS_STD_CXX11)
check_cxx_compiler_flag(--std=c++0x SUPPORTS_STD_CXX01)
if(SUPPORTS_STD_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --std=c++11")
elseif(SUPPORTS_STD_CXX01)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++0x")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --std=c++0x")
else()
message(ERROR "Compiler does not support --std=c++11 or --std=c++0x.")
endif()
endif()
Drop this in your modules search path and then add include(EnableCXX11)
to your CMakeLists.txt
file.
from cmake-modules.
Best I've seen so far is git://anongit.kde.org/scratch/dakon/cmake-cxx11.git browsable online at http://quickgit.kde.org/?p=scratch%2Fdakon%2Fcmake-cxx11.git - looks like it's being prepared for integration into cmake.
from cmake-modules.
That's the best I've found, too. It was a bit overkill for my immediate needs (as I'm only using a couple compilers and I knew what features they supported). I suspect that they could make use of more feature tests. I'm glad to hear it's being integrated into cmake.
from cmake-modules.
Looks like CMake 3.1 provides better support for C++11 and C++14 as explained here.
from cmake-modules.
I've used CXX_STANDARD
and it works pretty well. I've also used the WriteCompilerDetectionHeader
module to define macros for C++11 features that may not be present in all compilers (e.g., override
, nothrow
).
from cmake-modules.
Yep. Where we can't demand 3.1, like OSVR, I just manually do a little test, can see the OSVR Core repo for example
from cmake-modules.
Yep. Where we can't demand 3.1, like OSVR, I just manually do a little test, can see the OSVR Core repo for example
from cmake-modules.
Think I should either stick the hacky module from OSVR in here, or just close this bug as fixed upstream π
from cmake-modules.
Fixed upstream :)
from cmake-modules.
Related Issues (20)
- git_describe() and --dirty HOT 10
- git_get_exact_tag and new tags HOT 2
- find_package(Markdown) finding some file on Windows but not able to execute it HOT 3
- cppcheck target source language check should accept C as well CXX
- git revision description only trigger rebuild of one file HOT 1
- get_git_head_revision doesn't work from submodule HOT 1
- FindNSS and FindNSPR? HOT 2
- GetGitRevisionDescription: git_local_changes() returns false positive when repo. source file touched HOT 1
- Conan module HOT 1
- Document how to use GetGitRevisionDescription "offline" HOT 3
- Option to prevent get_git_head_revision from traversing parent directories HOT 10
- Question on get git revision description HOT 2
- FindOpenSceneGraph.cmake fails to get the version from OpenSceneGraph 3.6 HOT 1
- wishlist: get git revision of other folders HOT 1
- Wishlist: Document CMakeLists into Doxygen page
- get_git_head_revision() fails due to unfound git
- `get_git_head_revision` forces full project recompile on every different commit HOT 9
- Support to find SDL2 installed by vcpkg on Windows HOT 1
- update-modules.sh should use same path for file check and copy
- `get_git_head_revision` does not work on submodule HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cmake-modules.