From 15980571842a74fc2057f41d88aaf28da9513df8 Mon Sep 17 00:00:00 2001 From: Lawrin Novitsky Date: Wed, 20 Sep 2023 15:12:36 +0200 Subject: [PATCH] Removing dependency on pkg-config from binary rpm Set policy CMP0054 to NEW --- CMakeLists.txt | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 211fd719..276f8bd4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,7 @@ CMAKE_POLICY(SET CMP0048 NEW) #CMAKE_POLICY(SET CMP0057 NEW) +CMAKE_POLICY(SET CMP0054 NEW) PROJECT(mariadb_connector_odbc C) @@ -502,6 +503,8 @@ ELSE() ELSE() CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmaodbc.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libmaodbc.pc @ONLY) + # RPM adds dependency on pkg-config, that we do not want. With later versions of cmake looks like we can deal with that + MESSAGE(STATUS "Configuring to install libmaodbc.pc") INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmaodbc.pc DESTINATION "${INSTALL_PCDIR}" COMPONENT Development) @@ -518,10 +521,20 @@ ELSE() ${CMAKE_BINARY_DIR}/packaging/linux/postinstall @ONLY) IF(RPM) + SET(CPACK_RPM_POST_INSTALL_SCRIPT_FILE ${CMAKE_BINARY_DIR}/packaging/linux/postinstall) + SET(CPACK_RPM_SPEC_MORE_DEFINE " +%define __requires_exclude .*pkg-config +") SET(CPACK_RPM_Development_USER_FILELIST "%ignore ${CMAKE_INSTALL_PREFIX}/${INSTALL_PCDIR}") + # I guess this line works, and the previous does not. Keeping both as I am not sure SET(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION ${CMAKE_INSTALL_PREFIX}/${INSTALL_PCDIR}) - MESSAGE(STATUS "Excluding ${CMAKE_INSTALL_PREFIX}/${INSTALL_PCDIR} from RPM filelist") - SET(CPACK_RPM_POST_INSTALL_SCRIPT_FILE ${CMAKE_BINARY_DIR}/packaging/linux/postinstall) + + IF(CMAKE_VERSION VERSION_GREATER "3.21.99") + MESSAGE(STATUS "Excluding ${CMAKE_INSTALL_PREFIX}/${INSTALL_PCDIR} from RPM filelist") + SET(CPACK_RPM_REQUIRES_EXCLUDE_FROM ".*pkg-config") + + MESSAGE(STATUS "Excluding pkg-config from RPM dependencies") + ENDIF() IF(CMAKE_VERSION VERSION_GREATER "3.9.99")