function(TARGET_SUPPORTS_SYMBOLIC_LINK)
get_filename_component(name ${CMAKE_CURRENT_LIST_FILE} NAME)
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
${CMAKE_CURRENT_LIST_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${name}
ERROR_QUIET RESULT_VARIABLE result
)
if(${result} EQUAL 0)
set(TARGET_SUPPORTS_SYMBOLIC_LINK 1 CACHE INTERNAL "Test TARGET_SUPPORTS_SYMBOLIC_LINK")
else()
set(TARGET_SUPPORTS_SYMBOLIC_LINK 0 CACHE INTERNAL "Test TARGET_SUPPORTS_SYMBOLIC_LINK")
endif()
file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/${name})
endfunction()
if(NOT DEFINED TARGET_SUPPORTS_SYMBOLIC_LINK)
TARGET_SUPPORTS_SYMBOLIC_LINK()
endif()