From: Harmen Stoppels Date: Mon, 24 Jul 2023 07:37:57 +0000 (+0200) Subject: Relative paths CMAKE_INSTALL_*, absolute paths CMAKE_INSTALL_FULL_*; use @rpath/libna... X-Git-Tag: 2.1.4~50 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a7e9f0beef665042a73466f90c1ddcc984cdb4be;p=thirdparty%2Fzlib-ng.git Relative paths CMAKE_INSTALL_*, absolute paths CMAKE_INSTALL_FULL_*; use @rpath/libname as install name on macOS --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 39a30ef58..5dacc286a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -938,36 +938,8 @@ if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR) endif() endif() -# Refer to prefix symbolically to ease relocation by end user, -# as Makefile-generated .pc file does. -string(FIND "${CMAKE_INSTALL_INCLUDEDIR}" "${CMAKE_INSTALL_PREFIX}/" INCLUDEDIR_POS) -string(FIND "${CMAKE_INSTALL_LIBDIR}" "${CMAKE_INSTALL_PREFIX}/" LIBDIR_POS) -string(LENGTH "${CMAKE_INSTALL_PREFIX}/" INSTALL_PREFIX_LEN) - -if(NOT IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") - set(PC_INC_INSTALL_DIR "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") -elseif(INCLUDEDIR_POS EQUAL 0) - string(SUBSTRING "${CMAKE_INSTALL_INCLUDEDIR}" "${INSTALL_PREFIX_LEN}" "-1" INCLUDEDIR_RELATIVE) - set(PC_INC_INSTALL_DIR "\${prefix}/${INCLUDEDIR_RELATIVE}") -else() - set(PC_INC_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}") -endif() - -if(APPLE) - option(WITH_RPATH "Enable RPATH for shared library" OFF) -endif() -if(NOT IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") - if(APPLE AND WITH_RPATH) - set(PC_LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}") - else() - set(PC_LIB_INSTALL_DIR "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") - endif() -elseif(LIBDIR_POS EQUAL 0) - string(SUBSTRING "${CMAKE_INSTALL_LIBDIR}" "${INSTALL_PREFIX_LEN}" "-1" LIBDIR_RELATIVE) - set(PC_LIB_INSTALL_DIR "\${exec_prefix}/${LIBDIR_RELATIVE}") -else() - set(PC_LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}") -endif() +set(PC_INC_INSTALL_DIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}") +set(PC_LIB_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBDIR}") #============================================================================ # zlib @@ -1132,11 +1104,6 @@ if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS) endif() set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib${SUFFIX}.map\"") - elseif(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}" OR NOT WITH_RPATH) - # Match configure/make's behavior (i.e. don't use @rpath on mac when using absolute path). - set_target_properties(zlib PROPERTIES INSTALL_NAME_DIR "@rpath/${CMAKE_INSTALL_FULL_LIBDIR}") - else() - set_target_properties(zlib PROPERTIES INSTALL_NAME_DIR "@rpath/${CMAKE_INSTALL_LIBDIR}") endif() endif() if(MSYS) @@ -1173,11 +1140,6 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zlib${SUFFIX}.h.in configure_file(${CMAKE_CURRENT_SOURCE_DIR}/gzread.c.in ${CMAKE_CURRENT_BINARY_DIR}/gzread.c @ONLY) -# Fix install directory after generating zlib.pc/zlib-ng.pc -if (NOT IS_ABSOLUTE CMAKE_INSTALL_LIBDIR AND WITH_RPATH) - set(CMAKE_INSTALL_LIBDIR "/${CMAKE_INSTALL_LIBDIR}") -endif() - if (NOT ZLIB_SYMBOL_PREFIX STREQUAL "") add_feature_info(ZLIB_SYMBOL_PREFIX ON "Publicly exported symbols have a custom prefix") configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zlib_name_mangling${SUFFIX}.h.in @@ -1276,8 +1238,4 @@ endif() add_feature_info(INSTALL_UTILS INSTALL_UTILS "Copy minigzip and minideflate during install") -if(APPLE) - add_feature_info(WITH_RPATH WITH_RPATH "Enable RPATH for shared library") -endif() - FEATURE_SUMMARY(WHAT ALL INCLUDE_QUIET_PACKAGES) diff --git a/configure b/configure index 7461a1dce..cc86f018e 100755 --- a/configure +++ b/configure @@ -513,12 +513,7 @@ if test "$gcc" -eq 1 && ($cc $CFLAGS -c $test.c) >> configure.log 2>&1; then SHAREDLIBM=${LIBNAME}.$VER1$shared_ext SHAREDTARGET=$SHAREDLIBV LDSHARED=${LDSHARED-"$cc"} - case ${libdir} in - /*) - LDSHAREDFLAGS="-dynamiclib -install_name ${libdir}/${SHAREDLIBM} -compatibility_version ${VER1} -current_version ${VER3}" ;; - *) - LDSHAREDFLAGS="-dynamiclib -install_name @rpath/${libdir}/${SHAREDLIBM} -compatibility_version ${VER1} -current_version ${VER3}" ;; - esac + LDSHAREDFLAGS="-dynamiclib -install_name @rpath/${SHAREDLIBM} -compatibility_version ${VER1} -current_version ${VER3}" if libtool -V 2>&1 | grep Apple > /dev/null; then AR="libtool" else diff --git a/test/pkgcheck.sh b/test/pkgcheck.sh index 629f98ade..6641b300a 100644 --- a/test/pkgcheck.sh +++ b/test/pkgcheck.sh @@ -81,7 +81,7 @@ Darwin) sysctl -n machdep.cpu.features sysctl -n machdep.cpu.leaf7_features sysctl -n machdep.cpu.extfeatures - CMAKE_ARGS="-DCMAKE_INSTALL_LIBDIR=lib -DPKGCONFIG_INSTALL_DIR=/lib/pkgconfig -DWITH_RPATH=on ${CMAKE_ARGS}" + CMAKE_ARGS="-DCMAKE_INSTALL_LIBDIR=lib ${CMAKE_ARGS}" CONFIGURE_ARGS="--libdir=lib ${CONFIGURE_ARGS}" ;; *)