29 lines
805 B
CMake
29 lines
805 B
CMake
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
|
|
|
|
if(NOT CPACK_SOURCE_GENERATOR)
|
|
return()
|
|
endif()
|
|
|
|
get_filename_component(SRC_DIR "${CMAKE_CURRENT_LIST_DIR}" DIRECTORY)
|
|
|
|
file(GLOB_RECURSE SOURCE_FILES LIST_DIRECTORIES true RELATIVE "${SRC_DIR}" "${SRC_DIR}/*")
|
|
list(REVERSE SOURCE_FILES)
|
|
|
|
foreach(F IN LISTS SOURCE_FILES)
|
|
if(NOT IS_SYMLINK "${SRC_DIR}/${F}")
|
|
continue()
|
|
endif()
|
|
|
|
# Links to files seem to be staged correctly
|
|
if(NOT IS_DIRECTORY "${SRC_DIR}/${F}")
|
|
continue()
|
|
endif()
|
|
|
|
file(READ_SYMLINK "${SRC_DIR}/${F}" L)
|
|
message(STATUS "Fixing link: ${F} -> ${L}")
|
|
|
|
get_filename_component(D "${F}" DIRECTORY)
|
|
file(MAKE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${D}/${L}")
|
|
file(CREATE_LINK "${L}" "${CMAKE_INSTALL_PREFIX}/${F}" SYMBOLIC)
|
|
endforeach()
|