-# This should only apply if you are both on an Apple host, and targeting Apple.
-if(CMAKE_HOST_APPLE AND APPLE)
- # if CMAKE_LIBTOOL is not set, try and find it with xcrun or find_program
- if(NOT CMAKE_LIBTOOL)
- if(NOT CMAKE_XCRUN)
- find_program(CMAKE_XCRUN NAMES xcrun)
- endif()
- if(CMAKE_XCRUN)
- execute_process(COMMAND ${CMAKE_XCRUN} -find libtool
- OUTPUT_VARIABLE CMAKE_LIBTOOL
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- endif()
-
- if(NOT CMAKE_LIBTOOL OR NOT EXISTS CMAKE_LIBTOOL)
- find_program(CMAKE_LIBTOOL NAMES libtool)
- endif()
- endif()
-
- get_property(languages GLOBAL PROPERTY ENABLED_LANGUAGES)
- if(CMAKE_LIBTOOL)
- set(CMAKE_LIBTOOL ${CMAKE_LIBTOOL} CACHE PATH "libtool executable")
- message(STATUS "Found libtool - ${CMAKE_LIBTOOL}")
-
- execute_process(COMMAND ${CMAKE_LIBTOOL} -V
- OUTPUT_VARIABLE LIBTOOL_V_OUTPUT
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- if("${LIBTOOL_V_OUTPUT}" MATCHES ".*cctools-([0-9.]+).*")
- string(REGEX REPLACE ".*cctools-([0-9.]+).*" "\\1" LIBTOOL_VERSION
- ${LIBTOOL_V_OUTPUT})
- if(NOT LIBTOOL_VERSION VERSION_LESS "862")
- set(LIBTOOL_NO_WARNING_FLAG "-no_warning_for_no_symbols")
- endif()
- endif()
-
- foreach(lang ${languages})
- set(CMAKE_${lang}_CREATE_STATIC_LIBRARY
- "\"${CMAKE_LIBTOOL}\" -static ${LIBTOOL_NO_WARNING_FLAG} -o <TARGET> \
- <LINK_FLAGS> <OBJECTS> ")
- endforeach()
- endif()
-
- # If DYLD_LIBRARY_PATH is set we need to set it on archiver commands
- if(DYLD_LIBRARY_PATH)
- set(dyld_envar "DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}")
- foreach(lang ${languages})
- foreach(cmd ${CMAKE_${lang}_CREATE_STATIC_LIBRARY})
- list(APPEND CMAKE_${lang}_CREATE_STATIC_LIBRARY_NEW
- "${dyld_envar} ${cmd}")
- endforeach()
- set(CMAKE_${lang}_CREATE_STATIC_LIBRARY
- ${CMAKE_${lang}_CREATE_STATIC_LIBRARY_NEW})
- endforeach()
- endif()
-endif()
-