summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2015-11-03 13:41:04 +0100
committerLars Wendler <polynomial-c@gentoo.org>2015-11-03 13:41:36 +0100
commitd2afa1684bff5646b6303be391d6ab6646d1b39c (patch)
tree7cb2b0fb4d223ac15ad783a518c39ec05703903e
parentMerge remote-tracking branch 'marbre/mendeleydesktop' (diff)
downloadgentoo-d2afa168.tar.gz
gentoo-d2afa168.tar.bz2
gentoo-d2afa168.zip
cmake-utils.eclass: Prepare for cmake-3.4
-rw-r--r--eclass/cmake-utils.eclass20
1 files changed, 15 insertions, 5 deletions
diff --git a/eclass/cmake-utils.eclass b/eclass/cmake-utils.eclass
index c92759d3c5f4..2ebde45f1787 100644
--- a/eclass/cmake-utils.eclass
+++ b/eclass/cmake-utils.eclass
@@ -121,7 +121,7 @@ case ${WANT_CMAKE} in
CMAKEDEPEND+="${WANT_CMAKE}? ( "
;;
esac
-inherit toolchain-funcs multilib flag-o-matic eutils
+inherit toolchain-funcs multilib flag-o-matic eutils versionator
case ${EAPI} in
2|3|4|5) : ;;
@@ -461,12 +461,22 @@ enable_cmake-utils_src_configure() {
# Prepare Gentoo override rules (set valid compiler, append CPPFLAGS etc.)
local build_rules=${BUILD_DIR}/gentoo_rules.cmake
+ # Since cmake-3.4.0_rc1 "<FLAGS>" no longer contains includes and thus
+ # we need to add "<INCLUDES>"
+ local includes=
+ if [[ ${PN} == cmake ]] ; then
+ if $(version_is_at_least 3.4.0 $(get_version_component_range 1-3 ${PV})) ; then
+ includes="<INCLUDES>"
+ fi
+ elif has_version \>=dev-util/cmake-3.4.0_rc1 ; then
+ includes="<INCLUDES>"
+ fi
cat > "${build_rules}" <<- _EOF_ || die
SET (CMAKE_AR $(type -P $(tc-getAR)) CACHE FILEPATH "Archive manager" FORCE)
- SET (CMAKE_ASM_COMPILE_OBJECT "<CMAKE_C_COMPILER> <DEFINES> ${CFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "ASM compile command" FORCE)
- SET (CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> <DEFINES> ${CPPFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "C compile command" FORCE)
- SET (CMAKE_CXX_COMPILE_OBJECT "<CMAKE_CXX_COMPILER> <DEFINES> ${CPPFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "C++ compile command" FORCE)
- SET (CMAKE_Fortran_COMPILE_OBJECT "<CMAKE_Fortran_COMPILER> <DEFINES> ${FCFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "Fortran compile command" FORCE)
+ SET (CMAKE_ASM_COMPILE_OBJECT "<CMAKE_C_COMPILER> <DEFINES> ${includes} ${CFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "ASM compile command" FORCE)
+ SET (CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> <DEFINES> ${includes} ${CPPFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "C compile command" FORCE)
+ SET (CMAKE_CXX_COMPILE_OBJECT "<CMAKE_CXX_COMPILER> <DEFINES> ${includes} ${CPPFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "C++ compile command" FORCE)
+ SET (CMAKE_Fortran_COMPILE_OBJECT "<CMAKE_Fortran_COMPILER> <DEFINES> ${includes} ${FCFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "Fortran compile command" FORCE)
SET (CMAKE_RANLIB $(type -P $(tc-getRANLIB)) CACHE FILEPATH "Archive index generator" FORCE)
SET (PKG_CONFIG_EXECUTABLE $(type -P $(tc-getPKG_CONFIG)) CACHE FILEPATH "pkg-config executable" FORCE)
_EOF_