endif() # IN_TRY_COMPILE
set(CMAKE_SKIP_RPATH TRUE)
-set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
+
+if(NOT CMAKE_FIND_ROOT_PATH_MODE_LIBRARY)
+ 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(find_host_program)
- set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
- set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER)
- set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER)
+ __cmake_find_root_save_and_reset()
if(CMAKE_HOST_WIN32)
SET(WIN32 1)
SET(UNIX)
SET(WIN32)
SET(APPLE)
SET(UNIX 1)
- set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
- set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
- set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+ __cmake_find_root_restore()
endmacro()
# macro to find packages on the host OS
macro(find_host_package)
- set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
- set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER)
- set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER)
+ __cmake_find_root_save_and_reset()
if(CMAKE_HOST_WIN32)
SET(WIN32 1)
SET(UNIX)
SET(WIN32)
SET(APPLE)
SET(UNIX 1)
- set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
- set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
- set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+ __cmake_find_root_restore()
endmacro()
set(CMAKE_SKIP_RPATH TRUE CACHE BOOL "If set, runtime paths are not added when using shared libraries.")