On czwartek, 3 listopada 2016 07:31:10 CET Michał Górny wrote: > 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}/u > > sr/$(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}/u > > sr/$(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?
Nah, config file was there even before CMake supported warning about unused variables (or at least definitely long before we enabled it in eclass). The problem _I_ have with config file is that its contents is not visible in build log. Though I admit extra warnings are not nice. -D PKG_CONFIG_EXECUTABLE could be replaced with PKG_CONFIG env var. But LIB_SUFFIX is some KDE early invention, populated in kde-related projects (otherwise GNUInstallDirs should be used or manually setting CMAKE_INSTALL_LIBDIR). Not sure whether config file is worth having to eliminate one or two CMake warnings, let's see what others think. -- regards MM
signature.asc
Description: This is a digitally signed message part.