From b0d1725379a65b31fb5f637f81f1c12a1a2e840c Mon Sep 17 00:00:00 2001 From: chayleaf Date: Sat, 5 Aug 2023 18:22:52 +0700 Subject: [PATCH] allow absolute CMAKE_INSTALL_*DIR This patch fixes Capstone 5 build on NixOS. NixOS's build infrastructure sets CMAKE_INSTALL_{LIB,INCLUDE}DIR to absolute paths. If you append it to ${prefix}, you get the wrong path. NixOS automatically detects it and links this issue: https://github.com/NixOS/nixpkgs/issues/144170 --- capstone-config.cmake.in | 4 ++-- capstone.pc.in | 4 ++-- cmake_uninstall.cmake.in | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/capstone-config.cmake.in b/capstone-config.cmake.in index 93ac2814e5..445ecda0eb 100644 --- a/capstone-config.cmake.in +++ b/capstone-config.cmake.in @@ -1,6 +1,6 @@ @PACKAGE_INIT@ -set_and_check(capstone_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@") -set_and_check(capstone_LIB_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@") +set_and_check(capstone_INCLUDE_DIR "@CMAKE_INSTALL_FULL_INCLUDEDIR@") +set_and_check(capstone_LIB_DIR "@CMAKE_INSTALL_FULL_LIBDIR@") include("${CMAKE_CURRENT_LIST_DIR}/capstone-targets.cmake") diff --git a/capstone.pc.in b/capstone.pc.in index ce253feea0..8def0ef421 100644 --- a/capstone.pc.in +++ b/capstone.pc.in @@ -1,7 +1,7 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ -includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ +libdir=@CMAKE_INSTALL_FULL_LIBDIR@ +includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ Name: capstone Description: Capstone disassembly engine diff --git a/cmake_uninstall.cmake.in b/cmake_uninstall.cmake.in index 1722d13eaf..a1cecefdee 100644 --- a/cmake_uninstall.cmake.in +++ b/cmake_uninstall.cmake.in @@ -13,8 +13,8 @@ foreach(file ${files}) endif() endforeach() -message(STATUS "Uninstalling @CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@/capstone") -file(REMOVE_RECURSE @CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@/capstone) +message(STATUS "Uninstalling @CMAKE_INSTALL_FULL_INCLUDEDIR@/capstone") +file(REMOVE_RECURSE @CMAKE_INSTALL_FULL_INCLUDEDIR@/capstone) -message(STATUS "Uninstalling @CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/cmake/capstone") -file(REMOVE_RECURSE @CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/cmake/capstone) +message(STATUS "Uninstalling @CMAKE_INSTALL_FULL_LIBDIR@/cmake/capstone") +file(REMOVE_RECURSE @CMAKE_INSTALL_FULL_LIBDIR@/cmake/capstone)