dev-cpp/range-v3: minor QA

Package-Manager: Portage-3.0.10, Repoman-3.0.2
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
This commit is contained in:
Georgy Yakovlev
2020-11-23 23:00:48 -08:00
parent 02a8d503a0
commit 2424d84ad2
2 changed files with 52 additions and 6 deletions

View File

@@ -0,0 +1,39 @@
From 66e847d4e14be3a369b7e26a03a172b20e62c003 Mon Sep 17 00:00:00 2001
From: eksi <eksi@eksi.eksi>
Date: Wed, 4 Nov 2020 20:37:01 +0300
Subject: [PATCH] Add an option to disable -Werror. Fixes #1528
---
cmake/ranges_flags.cmake | 4 +++-
cmake/ranges_options.cmake | 3 +++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/cmake/ranges_flags.cmake b/cmake/ranges_flags.cmake
index 76d893043..9b09ddcb8 100644
--- a/cmake/ranges_flags.cmake
+++ b/cmake/ranges_flags.cmake
@@ -88,7 +88,9 @@ else()
# Enable "normal" warnings and make them errors:
ranges_append_flag(RANGES_HAS_WALL -Wall)
ranges_append_flag(RANGES_HAS_WEXTRA -Wextra)
- ranges_append_flag(RANGES_HAS_WERROR -Werror)
+ if (RANGES_ENABLE_WERROR)
+ ranges_append_flag(RANGES_HAS_WERROR -Werror)
+ endif()
endif()
if (RANGES_ENV_LINUX AND RANGES_CXX_COMPILER_CLANG)
diff --git a/cmake/ranges_options.cmake b/cmake/ranges_options.cmake
index 4ec39c7f0..8455af306 100644
--- a/cmake/ranges_options.cmake
+++ b/cmake/ranges_options.cmake
@@ -16,6 +16,9 @@ option(RANGES_MODULES "Enables use of Clang modules (experimental)." OFF)
option(RANGES_NATIVE "Enables -march/-mtune=native." ON)
option(RANGES_VERBOSE_BUILD "Enables debug output from CMake." OFF)
option(RANGES_LLVM_POLLY "Enables LLVM Polly." OFF)
+option(RANGES_ENABLE_WERROR
+ "Enables -Werror. Only effective if compiler is not clang-cl or MSVC. ON by default"
+ ON)
option(RANGES_PREFER_REAL_CONCEPTS
"Use real concepts instead of emulation if the compiler supports it"
ON)

View File

@@ -15,21 +15,28 @@ KEYWORDS="~amd64 ~ppc64"
IUSE="test"
RESTRICT="!test? ( test )"
PATCHES=( "${FILESDIR}/0.11.0-no-werror.patch" )
src_prepare() {
sed -i -e '/Werror/d' -e '/Wextra/d' -e '/Wall/d' cmake/ranges_flags.cmake || die
sed -i -e "s@lib/cmake@"$(get_libdir)"/cmake@g" CMakeLists.txt || die
# header-only libraries go to arch-independent dirs
sed -i -e 's@lib/cmake@share/cmake@g' CMakeLists.txt || die
rm include/module.modulemap || die # https://bugs.gentoo.org/755740
cmake_src_prepare
}
src_configure() {
mycmakeargs=(
-DRANGE_V3_EXAMPLES=OFF
-DRANGE_V3_HEADER_CHECKS=OFF
-DRANGE_V3_PERF=OFF
-DRANGE_V3_TESTS=$(usex test)
-DRANGES_BUILD_CALENDAR_EXAMPLE=OFF
-DRANGES_NATIVE=OFF
-DRANGES_DEBUG_INFO=OFF
-DRANGES_NATIVE=OFF
-DRANGES_ENABLE_WERROR=OFF
-DRANGES_VERBOSE_BUILD=ON
-DRANGE_V3_EXAMPLES=OFF
-DRANGE_V3_PERF=OFF
-DRANGE_V3_DOCS=OFF
-DRANGE_V3_HEADER_CHECKS="$(usex test ON OFF)"
-DRANGE_V3_TESTS=$(usex test ON OFF)
#TODO: clang support + -DRANGES_MODULES=yes
)
cmake_src_configure