Commit 98bd0a06 authored by Alexander Alekhin's avatar Alexander Alekhin

cmake: fix gnu.toolchain

- CMAKE_FIND_ROOT_PATH_MODE_PROGRAM: ONLY => NEVER
- update handling of CMAKE_FIND_ROOT_PATH_MODE_* variables
parent f57630d9
...@@ -57,15 +57,51 @@ else() ...@@ -57,15 +57,51 @@ else()
endif() # IN_TRY_COMPILE endif() # IN_TRY_COMPILE
set(CMAKE_SKIP_RPATH TRUE) set(CMAKE_SKIP_RPATH TRUE)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) if(NOT CMAKE_FIND_ROOT_PATH_MODE_LIBRARY)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
endif()
if(NOT CMAKE_FIND_ROOT_PATH_MODE_INCLUDE)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
endif()
if(NOT CMAKE_FIND_ROOT_PATH_MODE_PACKAGE)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
endif()
if(NOT CMAKE_FIND_ROOT_PATH_MODE_PROGRAM)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
endif()
macro(__cmake_find_root_save_and_reset)
foreach(v
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
)
set(__save_${v} ${${v}})
set(${v} NEVER)
endforeach()
endmacro()
macro(__cmake_find_root_restore)
foreach(v
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
)
set(${v} ${__save_${v}})
unset(__save_${v})
endforeach()
endmacro()
# macro to find programs on the host OS # macro to find programs on the host OS
macro(find_host_program) macro(find_host_program)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) __cmake_find_root_save_and_reset()
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER)
if(CMAKE_HOST_WIN32) if(CMAKE_HOST_WIN32)
SET(WIN32 1) SET(WIN32 1)
SET(UNIX) SET(UNIX)
...@@ -77,16 +113,12 @@ macro(find_host_program) ...@@ -77,16 +113,12 @@ macro(find_host_program)
SET(WIN32) SET(WIN32)
SET(APPLE) SET(APPLE)
SET(UNIX 1) SET(UNIX 1)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) __cmake_find_root_restore()
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
endmacro() endmacro()
# macro to find packages on the host OS # macro to find packages on the host OS
macro(find_host_package) macro(find_host_package)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) __cmake_find_root_save_and_reset()
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER)
if(CMAKE_HOST_WIN32) if(CMAKE_HOST_WIN32)
SET(WIN32 1) SET(WIN32 1)
SET(UNIX) SET(UNIX)
...@@ -98,9 +130,7 @@ macro(find_host_package) ...@@ -98,9 +130,7 @@ macro(find_host_package)
SET(WIN32) SET(WIN32)
SET(APPLE) SET(APPLE)
SET(UNIX 1) SET(UNIX 1)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) __cmake_find_root_restore()
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
endmacro() endmacro()
set(CMAKE_SKIP_RPATH TRUE CACHE BOOL "If set, runtime paths are not added when using shared libraries.") set(CMAKE_SKIP_RPATH TRUE CACHE BOOL "If set, runtime paths are not added when using shared libraries.")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment