passing plugin dirs

This commit is contained in:
Esteban Papp
2021-06-10 20:23:22 -07:00
committed by pappeste
parent b5c7a35442
commit e7d8699293
@@ -12,18 +12,25 @@
set(LY_RUNTIME_DEPENDENCIES_HEADER
"
set(anything_new FALSE)
set(plugin_libs)
set(plugin_dirs)
function(ly_copy source_file target_directory)
get_filename_component(target_filename \"\${source_file}\" NAME)
get_filename_component(source_file_dir \"\${source_file}\" DIRECTORY)
# If source_file is a Framework and target_directory is a bundle
if(\"\${source_file}\" MATCHES \".[Ff]ramework\" AND \"\${target_directory}\" MATCHES \".app/Contents/MacOS\")
set(plugin_dirs \"\${plugin_dirs};\${source_file_dir}\" PARENT_SCOPE)
return() # skip, it will be fixed with fixup_bundle
elseif(\"\${source_file}\" MATCHES \"qt/plugins\" AND \"\${target_directory}\" MATCHES \".app/Contents/MacOS\")
# fixup the destination so it ends up in Contents/Plugins
string(REGEX REPLACE \"(.*.app/Contents)/MacOS(.*)\" \"\\\\1/plugins\\\\2\" target_directory \"\${target_directory}\")
set(plugin_dirs \"\${plugin_dirs};\${source_file_dir}\" PARENT_SCOPE)
set(plugin_libs \"\${plugin_libs};\${target_directory}/\${target_filename}\" PARENT_SCOPE)
elseif(\"\${source_file}\" MATCHES \"qt/translations\" AND \"\${target_directory}\" MATCHES \".app/Contents/MacOS\")
return() # skip
elseif(\"\${source_file}\" MATCHES \".dylib\")
set(plugin_dirs \"\${plugin_dirs};\${source_file_dir}\" PARENT_SCOPE)
endif()
get_filename_component(target_filename \"\${source_file}\" NAME)
if(NOT \"\${source_file}\" STREQUAL \"\${target_directory}/\${target_filename}\")
if(NOT EXISTS \"\${target_directory}\")
file(MAKE_DIRECTORY \"\${target_directory}\")
@@ -57,7 +64,9 @@ if(@target_file_dir@ MATCHES \".app/Contents/MacOS\")
endif()
if(anything_new)
include(BundleUtilities)
fixup_bundle(\"\${bundle_path}\" \"\" \"\")
list(REMOVE_DUPLICATES plugin_libs)
list(REMOVE_DUPLICATES plugin_dirs)
fixup_bundle(\"\${bundle_path}\" \"\${plugin_libs}\" \"\${plugin_dirs}\")
file(TOUCH \"\${timestamp_file}\")
endif()
endif()