Browse Source

Add a new install function to install targets into the datadir structure

This is mainly intended to be used for preloaded/injected DLLs, which
don't belong into the libdir or plugindir.
BtbN 11 years ago
parent
commit
221a69298b
1 changed files with 19 additions and 0 deletions
  1. 19 0
      cmake/Modules/ObsHelpers.cmake

+ 19 - 0
cmake/Modules/ObsHelpers.cmake

@@ -232,6 +232,25 @@ macro(install_obs_data target datadir datadest)
 	endif()
 endmacro()
 
+macro(install_obs_datatarget target datadest)
+	install(TARGETS ${target}
+		LIBRARY DESTINATION "${OBS_DATA_DESTINATION}/${datadest}"
+		RUNTIME DESTINATION "${OBS_DATA_DESTINATION}/${datadest}")
+	add_custom_command(TARGET ${target} POST_BUILD
+		COMMAND "${CMAKE_COMMAND}" -E copy
+			"$<TARGET_FILE:${target}>"
+			"${OBS_OUTPUT_DIR}/$<CONFIGURATION>/data/${datadest}/$<TARGET_FILE_NAME:${target}>"
+		VERBATIM)
+
+	if(DEFINED ENV{obsInstallerTempDir})
+		add_custom_command(TARGET ${target} POST_BUILD
+			COMMAND "${CMAKE_COMMAND}" -E copy
+				"$<TARGET_FILE:${target}>"
+				"$ENV{obsInstallerTempDir}/${OBS_DATA_DESTINATION}/${datadest}/$<TARGET_FILE_NAME:${target}>"
+			VERBATIM)
+	endif()
+endmacro()
+
 macro(install_obs_plugin_data target datadir)
 	install_obs_plugin(${target})
 	install_obs_data(${target} "${datadir}" "obs-plugins/${target}")