poco/build/script/cpp11-clang
zosrothko 7bf53d4f3f c++11 support: update the develop branch (#1819)
* Use appveyor.yaml from c++11 branch so that CI run ok.

* Use .travis.yml from the c++ branch so that Travis CI jobs run ok.

* Add c++11 scripts and Linux config so that Travis CI jobs are ok.

* Use mkdocumentation & mkrelease from c++11 branch.

* Use PocoDoc config files from c++11 branch.

* define POCO_ENABLE_C11 as the default

* CMake: ignore Crypto for now. To be fixed since it fails.

* Backport c++11 changes from the c++11 branch

* Add Cygwin config with c++11 setup.

* Update appveyor.yml from c++11 branch.
2017-07-23 21:09:22 +02:00

27 lines
786 B
Bash

#! /bin/sh
#
# $Id: //poco/1.4/build/script/cpp11-clang#1 $
#
# cpp11-clang
#
# Detect compatible Clang version and add c++11/14 flags
#
CLANGMAJOR := $(shell $(CXX) -x c++ /dev/null -dM -E | grep __clang_major__ | sed -e 's/^.* //g')
CLANGMINOR := $(shell $(CXX) -x c++ /dev/null -dM -E | grep __clang_minor__ | sed -e 's/^.* //g')
CLANGPATCH := $(shell $(CXX) -x c++ /dev/null -dM -E | grep __clang_patchlevel__ | sed -e 's/^.* //g')
CLANGVERSION := $(CLANGMAJOR)$(CLANGMINOR)$(CLANGPATCH)
#
# Clang 3.4 doesn't accept -std=c++14, only -std=c++1y.
#
# C++14 needs Clang 3.4
ifeq ($(shell test $(CLANGVERSION) -ge 340 && echo 1), 1)
CXXFLAGS += -std=c++1y
# C++11 needs Clang 3.3
else ifeq ($(shell test $(CLANGVERSION) -ge 330 && echo 1), 1)
CXXFLAGS += -std=c++0x
endif