mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-29 15:20:33 +05:00
50 lines
1.5 KiB
CMake
50 lines
1.5 KiB
CMake
include(BundleUtilities)
|
|
function(netgen_fixup_bundle app libs dirs)
|
|
message(STATUS "fixup_bundle")
|
|
message(STATUS " app='${app}'")
|
|
message(STATUS " libs='${libs}'")
|
|
message(STATUS " dirs='${dirs}'")
|
|
|
|
get_bundle_and_executable("${app}" bundle executable valid)
|
|
if(valid)
|
|
get_filename_component(exepath "${executable}" PATH)
|
|
|
|
message(STATUS "fixup_bundle: preparing...")
|
|
get_bundle_keys("${app}" "${libs}" "${dirs}" keys)
|
|
|
|
message(STATUS "fixup_bundle: copying...")
|
|
list(LENGTH keys n)
|
|
math(EXPR n ${n}*2)
|
|
|
|
set(i 0)
|
|
foreach(key ${keys})
|
|
math(EXPR i ${i}+1)
|
|
if(${${key}_COPYFLAG})
|
|
set(item "${${key}_ITEM}")
|
|
if(item MATCHES "[^/]+\\.framework/")
|
|
copy_resolved_framework_into_bundle("${${key}_RESOLVED_ITEM}"
|
|
"${${key}_RESOLVED_EMBEDDED_ITEM}")
|
|
else()
|
|
copy_resolved_item_into_bundle("${${key}_RESOLVED_ITEM}"
|
|
"${${key}_RESOLVED_EMBEDDED_ITEM}")
|
|
endif()
|
|
endif()
|
|
endforeach()
|
|
|
|
message(STATUS "fixup_bundle: fixing...")
|
|
foreach(key ${keys})
|
|
math(EXPR i ${i}+1)
|
|
message(STATUS "${i}/${n}: fixing up '${${key}_RESOLVED_EMBEDDED_ITEM}'")
|
|
fixup_bundle_item("${${key}_RESOLVED_EMBEDDED_ITEM}" "${exepath}" "${dirs}")
|
|
endforeach()
|
|
|
|
message(STATUS "fixup_bundle: cleaning up...")
|
|
clear_bundle_keys(keys)
|
|
|
|
else()
|
|
message(SEND_ERROR "error: fixup_bundle: not a valid bundle")
|
|
endif()
|
|
|
|
message(STATUS "fixup_bundle: done")
|
|
endfunction()
|