dev-ros/qt_gui_cpp: Bump to 0.3.11.
[gentoo.git] / eclass / cmake-utils.eclass
index cbce280625ef2b8911c5ac6232b1bfe517e74d17..d69c79f83b414f1c5aeb6328e93b424e9acf7f4b 100644 (file)
@@ -112,8 +112,7 @@ esac
 inherit toolchain-funcs ninja-utils flag-o-matic multiprocessing xdg-utils
 
 case ${EAPI} in
-       7) ;;
-       *) inherit eapi7-ver eutils multilib ;;
+       5|6) inherit eutils multilib ;;
 esac
 
 EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install
@@ -226,9 +225,18 @@ _cmake_generator_to_use() {
                ninja)
                        # if ninja is enabled but not installed, the build could fail
                        # this could happen if ninja is manually enabled (eg. make.conf) but not installed
-                       if ! ROOT=/ has_version dev-util/ninja; then
-                               die "CMAKE_MAKEFILE_GENERATOR is set to ninja, but ninja is not installed. Please install dev-util/ninja or unset CMAKE_MAKEFILE_GENERATOR."
-                       fi
+                       case ${EAPI} in
+                               5|6)
+                                       if ! ROOT=/ has_version dev-util/ninja; then
+                                               die "CMAKE_MAKEFILE_GENERATOR is set to ninja, but ninja is not installed. Please install dev-util/ninja or unset CMAKE_MAKEFILE_GENERATOR."
+                                       fi
+                               ;;
+                               *)
+                                       if ! has_version -b dev-util/ninja; then
+                                               die "CMAKE_MAKEFILE_GENERATOR is set to ninja, but ninja is not installed. Please install dev-util/ninja or unset CMAKE_MAKEFILE_GENERATOR."
+                                       fi
+                               ;;
+                       esac
                        generator_name="Ninja"
                        ;;
                emake)
@@ -508,23 +516,14 @@ 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 $(ver_cut 1-3 ${PV})) ; then
-                       includes="<INCLUDES>"
-               fi
-       elif ROOT=/ has_version \>=dev-util/cmake-3.4.0_rc1 ; then
-               includes="<INCLUDES>"
-       fi
+
        cat > "${build_rules}" <<- _EOF_ || die
-               SET (CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> <DEFINES> ${includes} ${CPPFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "ASM compile command" FORCE)
-               SET (CMAKE_ASM-ATT_COMPILE_OBJECT "<CMAKE_ASM-ATT_COMPILER> <DEFINES> ${includes} ${CPPFLAGS} <FLAGS> -o <OBJECT> -c -x assembler <SOURCE>" CACHE STRING "ASM-ATT compile command" FORCE)
+               SET (CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> <DEFINES> <INCLUDES> ${CPPFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "ASM compile command" FORCE)
+               SET (CMAKE_ASM-ATT_COMPILE_OBJECT "<CMAKE_ASM-ATT_COMPILER> <DEFINES> <INCLUDES> ${CPPFLAGS} <FLAGS> -o <OBJECT> -c -x assembler <SOURCE>" CACHE STRING "ASM-ATT compile command" FORCE)
                SET (CMAKE_ASM-ATT_LINK_FLAGS "-nostdlib" CACHE STRING "ASM-ATT link flags" 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_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)
        _EOF_
 
        local myCC=$(tc-getCC) myCXX=$(tc-getCXX) myFC=$(tc-getFC)
@@ -614,6 +613,12 @@ cmake-utils_src_configure() {
        _EOF_
        [[ "${NOCOLOR}" = true || "${NOCOLOR}" = yes ]] && echo 'SET (CMAKE_COLOR_MAKEFILE OFF CACHE BOOL "pretty colors during make" FORCE)' >> "${common_config}"
 
+       if [[ ${EAPI} != [56] ]]; then
+               cat >> "${common_config}" <<- _EOF_ || die
+                       SET (CMAKE_INSTALL_DOCDIR "${EPREFIX}/usr/share/doc/${PF}" CACHE PATH "")
+               _EOF_
+       fi
+
        # Wipe the default optimization flags out of CMake
        if [[ ${CMAKE_BUILD_TYPE} != Gentoo && ${EAPI} != 5 ]]; then
                cat >> ${common_config} <<- _EOF_ || die