From 8ab270bf43f038bba4f992031508b065fa83f390 Mon Sep 17 00:00:00 2001 From: Lars Wendler Date: Fri, 1 Mar 2019 23:11:41 +0100 Subject: [PATCH] Set some proper paths to make cmake find our tools. The ebuild now adds an extra / at the end of $EPREFIX so that it is never the empty string (so that CMAKE_SYSTEM_PREFIX_PATH remains correct) Original patch by Heiko Przybyl. Updated by Chris Reffett (cmake-2.8.8) Updated by Johannes Huber (cmake-2.8.9) Updated by Michael Palimaka (cmake-2.8.10) Updated by Chris Reffett (cmake-2.8.11) Updated by Michael Palimaka (cmake-3.0.0) Updated by Lars Wendler (cmake-3.9.0_rc2) Updated by Benda Xu (cmake-3.13.4) Updated by Lars Wendler (cmake-3.14.0_rc1) Updated by Lars Wendler (cmake-3.14.0_rc2) Updated by Lars Wendler (cmake-3.14.0_rc3 --- Modules/Platform/Darwin.cmake | 12 +++++++---- Modules/Platform/UnixPaths.cmake | 35 ++++++++++++++++++++++++-------- 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/Modules/Platform/Darwin.cmake b/Modules/Platform/Darwin.cmake index 5590433a3b..b04383e51d 100644 --- a/Modules/Platform/Darwin.cmake +++ b/Modules/Platform/Darwin.cmake @@ -116,9 +116,9 @@ set(CMAKE_C_FRAMEWORK_SEARCH_FLAG -F) set(CMAKE_CXX_FRAMEWORK_SEARCH_FLAG -F) set(CMAKE_Fortran_FRAMEWORK_SEARCH_FLAG -F) -# default to searching for frameworks first +# default to searching for frameworks last if(NOT DEFINED CMAKE_FIND_FRAMEWORK) - set(CMAKE_FIND_FRAMEWORK FIRST) + set(CMAKE_FIND_FRAMEWORK LAST) endif() # Older OS X linkers do not report their framework search path @@ -140,6 +140,9 @@ endif() # set up the default search directories for frameworks set(CMAKE_SYSTEM_FRAMEWORK_PATH + @GENTOO_PORTAGE_EPREFIX@MacOSX.sdk/System/Library/Frameworks + @GENTOO_PORTAGE_EPREFIX@Frameworks + @GENTOO_PORTAGE_EPREFIX@usr/lib ~/Library/Frameworks ) if(_CMAKE_OSX_SYSROOT_PATH) @@ -186,13 +189,15 @@ if(CMAKE_OSX_SYSROOT) endif() endif() -# default to searching for application bundles first +# default to searching for application bundles last if(NOT DEFINED CMAKE_FIND_APPBUNDLE) - set(CMAKE_FIND_APPBUNDLE FIRST) + set(CMAKE_FIND_APPBUNDLE LAST) endif() # set up the default search directories for application bundles set(_apps_paths) foreach(_path + @GENTOO_PORTAGE_EPREFIX@Applications + @GENTOO_PORTAGE_EPREFIX@usr/bin "~/Applications" "/Applications" "${OSX_DEVELOPER_ROOT}/../Applications" # Xcode 4.3+ diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake index 97f744d521..8d11827371 100644 --- a/Modules/Platform/UnixPaths.cmake +++ b/Modules/Platform/UnixPaths.cmake @@ -23,7 +23,8 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH) # search types. list(APPEND CMAKE_SYSTEM_PREFIX_PATH # Standard - /usr/local /usr / + @GENTOO_PORTAGE_EPREFIX@usr/local @GENTOO_PORTAGE_EPREFIX@usr @GENTOO_PORTAGE_EPREFIX@ + @GENTOO_HOST@/usr/local /usr / # CMake install location "${_CMAKE_INSTALL_DIR}" @@ -50,17 +51,33 @@ list(APPEND CMAKE_SYSTEM_PREFIX_PATH # List common include file locations not under the common prefixes. list(APPEND CMAKE_SYSTEM_INCLUDE_PATH - # X11 - /usr/include/X11 + @GENTOO_PORTAGE_EPREFIX@usr/include ) list(APPEND CMAKE_SYSTEM_LIBRARY_PATH - # X11 - /usr/lib/X11 + @GENTOO_PORTAGE_GCCLIBDIR@/gcc + @GENTOO_PORTAGE_GCCLIBDIR@ + @GENTOO_PORTAGE_EPREFIX@usr/lib64 + @GENTOO_PORTAGE_EPREFIX@usr/libx32 + @GENTOO_PORTAGE_EPREFIX@usr/lib32 + @GENTOO_PORTAGE_EPREFIX@usr/lib + @GENTOO_PORTAGE_EPREFIX@lib + ) + +list(APPEND CMAKE_SYSTEM_PROGRAM_PATH + @GENTOO_PORTAGE_EPREFIX@usr/bin + @GENTOO_PORTAGE_EPREFIX@bin ) list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES - /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64 + @GENTOO_PORTAGE_GCCLIBDIR@/gcc + @GENTOO_PORTAGE_GCCLIBDIR@ + @GENTOO_PORTAGE_EPREFIX@usr/lib64 + @GENTOO_PORTAGE_EPREFIX@usr/libx32 + @GENTOO_PORTAGE_EPREFIX@usr/lib32 + @GENTOO_PORTAGE_EPREFIX@usr/lib + @GENTOO_PORTAGE_EPREFIX@lib + @GENTOO_HOST@/lib /usr/lib /usr/lib32 /usr/lib64 /usr/libx32 ) if(CMAKE_SYSROOT_COMPILE) @@ -73,11 +90,13 @@ endif() # parsing the implicit directory information from compiler output. set(_CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES_INIT ${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES} - "${_cmake_sysroot_compile}/usr/include" + @GENTOO_PORTAGE_EPREFIX@usr/include + @GENTOO_HOST@/usr/include ) set(_CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES_INIT ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES} - "${_cmake_sysroot_compile}/usr/include" + @GENTOO_PORTAGE_EPREFIX@usr/include + @GENTOO_HOST@/usr/include ) set(_CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES_INIT ${CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES} -- 2.21.0