On Thu,  3 Nov 2016 00:52:16 +0100
Maciej Mrozowski <reave...@gmail.com> wrote:

> From: Maciej Mrozowski <reave...@gentoo.org>
> 
> ---
>  eclass/cmake-utils.eclass | 54 
> ++++++++++++++++++-----------------------------
>  1 file changed, 21 insertions(+), 33 deletions(-)
> 
> diff --git a/eclass/cmake-utils.eclass b/eclass/cmake-utils.eclass
> index 393ee28..88d2163 100644
> --- a/eclass/cmake-utils.eclass
> +++ b/eclass/cmake-utils.eclass
> @@ -517,13 +517,10 @@ enable_cmake-utils_src_configure() {
>               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> 
> ${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_
>  
>       local toolchain_file=${BUILD_DIR}/gentoo_toolchain.cmake
> @@ -531,6 +528,8 @@ enable_cmake-utils_src_configure() {
>               SET (CMAKE_C_COMPILER $(tc-getCC))
>               SET (CMAKE_CXX_COMPILER $(tc-getCXX))
>               SET (CMAKE_Fortran_COMPILER $(tc-getFC))
> +             SET (CMAKE_AR $(type -P $(tc-getAR)) CACHE FILEPATH "Archive 
> manager" FORCE)
> +             SET (CMAKE_RANLIB $(type -P $(tc-getRANLIB)) CACHE FILEPATH 
> "Archive index generator" FORCE)
>       _EOF_
>  
>       if tc-is-cross-compiler; then
> @@ -571,32 +570,29 @@ enable_cmake-utils_src_configure() {
>                       # in Prefix we need rpath and must ensure cmake gets 
> our default linker path
>                       # right ... except for Darwin hosts
>                       IF (NOT APPLE)
> -                     SET (CMAKE_SKIP_RPATH OFF CACHE BOOL "" FORCE)
> -                     SET (CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH 
> "${EPREFIX}/usr/${CHOST}/lib/gcc;${EPREFIX}/usr/${CHOST}/lib;${EPREFIX}/usr/$(get_libdir);${EPREFIX}/$(get_libdir)"
> -                     CACHE STRING "" FORCE)
> -
> +                             SET (CMAKE_SKIP_RPATH OFF CACHE BOOL "" FORCE)
> +                             SET (CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH 
> "${EPREFIX}/usr/${CHOST}/lib/gcc;${EPREFIX}/usr/${CHOST}/lib;${EPREFIX}/usr/$(get_libdir);${EPREFIX}/$(get_libdir)"
>  CACHE STRING "" FORCE)
>                       ELSE ()
> -
> -                     SET(CMAKE_PREFIX_PATH "${EPREFIX}${PREFIX}" CACHE 
> STRING "" FORCE)
> -                     SET(CMAKE_SKIP_BUILD_RPATH OFF CACHE BOOL "" FORCE)
> -                     SET(CMAKE_SKIP_RPATH OFF CACHE BOOL "" FORCE)
> -                     SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE CACHE BOOL "")
> -                     SET(CMAKE_INSTALL_RPATH 
> "${EPREFIX}${PREFIX}/lib;${EPREFIX}/usr/${CHOST}/lib/gcc;${EPREFIX}/usr/${CHOST}/lib;${EPREFIX}/usr/$(get_libdir);${EPREFIX}/$(get_libdir)"
>  CACHE STRING "" FORCE)
> -                     SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE CACHE BOOL 
> "" FORCE)
> -                     SET(CMAKE_INSTALL_NAME_DIR "${EPREFIX}${PREFIX}/lib" 
> CACHE STRING "" FORCE)
> -
> +                             SET(CMAKE_PREFIX_PATH "${EPREFIX}${PREFIX}" 
> CACHE STRING "" FORCE)
> +                             SET(CMAKE_SKIP_BUILD_RPATH OFF CACHE BOOL "" 
> FORCE)
> +                             SET(CMAKE_SKIP_RPATH OFF CACHE BOOL "" FORCE)
> +                             SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE CACHE 
> BOOL "")
> +                             SET(CMAKE_INSTALL_RPATH 
> "${EPREFIX}${PREFIX}/lib;${EPREFIX}/usr/${CHOST}/lib/gcc;${EPREFIX}/usr/${CHOST}/lib;${EPREFIX}/usr/$(get_libdir);${EPREFIX}/$(get_libdir)"
>  CACHE STRING "" FORCE)
> +                             SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE 
> CACHE BOOL "" FORCE)
> +                             SET(CMAKE_INSTALL_NAME_DIR 
> "${EPREFIX}${PREFIX}/lib" CACHE STRING "" FORCE)
>                       ENDIF (NOT APPLE)
>               _EOF_
>       fi
>  
>       # Common configure parameters (invariants)
> -     local common_config=${BUILD_DIR}/gentoo_common_config.cmake
>       local libdir=$(get_libdir)
> -     cat > "${common_config}" <<- _EOF_ || die
> -             SET (LIB_SUFFIX ${libdir/lib} CACHE STRING "library path 
> suffix" FORCE)
> -             SET (CMAKE_INSTALL_LIBDIR ${libdir} CACHE PATH "Output 
> directory for libraries")
> -     _EOF_
> -     [[ "${NOCOLOR}" = true || "${NOCOLOR}" = yes ]] && echo 'SET 
> (CMAKE_COLOR_MAKEFILE OFF CACHE BOOL "pretty colors during make" FORCE)' >> 
> "${common_config}"
> +     local cmakeargs=(
> +             -DLIB_SUFFIX="${libdir/lib}"
> +             -DCMAKE_INSTALL_LIBDIR="${libdir}"
> +             -DPKG_CONFIG_EXECUTABLE="$(type -P $(tc-getPKG_CONFIG))"
> +             -DCMAKE_USER_MAKE_RULES_OVERRIDE="${build_rules}"
> +             -DCMAKE_TOOLCHAIN_FILE="${toolchain_file}"
> +     )

Wasn't the point of using a config file to avoid warnings when the
variables aren't used?

>  
>       # Convert mycmakeargs to an array, for backwards compatibility
>       # Make the array a local variable since <=portage-2.1.6.x does not
> @@ -615,25 +611,17 @@ enable_cmake-utils_src_configure() {
>               local mycmakeargs_local=("${mycmakeargs[@]}")
>       fi
>  
> -     if [[ ${CMAKE_WARN_UNUSED_CLI} == no ]] ; then
> -             local warn_unused_cli="--no-warn-unused-cli"
> -     else
> -             local warn_unused_cli=""
> -     fi
> -
>       # Common configure parameters (overridable)
>       # NOTE CMAKE_BUILD_TYPE can be only overriden via CMAKE_BUILD_TYPE 
> eclass variable
>       # No -DCMAKE_BUILD_TYPE=xxx definitions will be in effect.
> -     local cmakeargs=(
> -             ${warn_unused_cli}
> -             -C "${common_config}"
> +     cmakeargs+=(
> +             $([[ ${CMAKE_WARN_UNUSED_CLI} == no ]] && echo 
> --no-warn-unused-cli)
> +             $([[ "${NOCOLOR}" = true || "${NOCOLOR}" = yes ]] && echo 
> -DCMAKE_COLOR_MAKEFILE=OFF)
>               -G "$(_cmake_generator_to_use)"
>               -DCMAKE_INSTALL_PREFIX="${EPREFIX}${PREFIX}"
>               "${mycmakeargs_local[@]}"
>               -DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}"
>               $([[ ${EAPI} == [2345] ]] && echo -DCMAKE_INSTALL_DO_STRIP=OFF)
> -             -DCMAKE_USER_MAKE_RULES_OVERRIDE="${build_rules}"
> -             -DCMAKE_TOOLCHAIN_FILE="${toolchain_file}"
>               "${MYCMAKEARGS}"
>       )
>  



-- 
Best regards,
Michał Górny
<http://dev.gentoo.org/~mgorny/>

Attachment: pgpVEuMk0ji8K.pgp
Description: OpenPGP digital signature

Reply via email to