| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577 | 
							- set(OBS_OUTPUT_DIR "${CMAKE_BINARY_DIR}/rundir")
 
- if(CMAKE_SIZEOF_VOID_P EQUAL 8)
 
- 	set(_lib_suffix 64)
 
- else()
 
- 	set(_lib_suffix 32)
 
- endif()
 
- if(WIN32 OR APPLE)
 
- 	set(_struct_def FALSE)
 
- else()
 
- 	set(_struct_def TRUE)
 
- endif()
 
- option(INSTALLER_RUN "Build a multiarch installer, needs to run indenepdently after both archs have compiled" FALSE)
 
- option(UNIX_STRUCTURE "Build with standard unix filesystem structure" ${_struct_def})
 
- if(APPLE)
 
- 	option(BUILD_REDISTRIBUTABLE "Fix rpath of external libraries" FALSE)
 
- endif()
 
- if(INSTALLER_RUN AND NOT DEFINED ENV{obsInstallerTempDir})
 
- 	message(FATAL_ERROR "Environment variable obsInstallerTempDir is needed for multiarch installer generation")
 
- endif()
 
- if(DEFINED ENV{obsInstallerTempDir})
 
- 	file(TO_CMAKE_PATH "$ENV{obsInstallerTempDir}" ENV{obsInstallerTempDir})
 
- endif()
 
- if(DEFINED ENV{obsAdditionalInstallFiles})
 
- 	file(TO_CMAKE_PATH "$ENV{obsAdditionalInstallFiles}" ENV{obsAdditionalInstallFiles})
 
- else()
 
- 	set(ENV{obsAdditionalInstallFiles} "${CMAKE_SOURCE_DIR}/additional_install_files")
 
- endif()
 
- list(APPEND CMAKE_INCLUDE_PATH
 
- 	"$ENV{obsAdditionalInstallFiles}/include${_lib_suffix}"
 
- 	"$ENV{obsAdditionalInstallFiles}/include")
 
- list(APPEND CMAKE_LIBRARY_PATH
 
- 	"$ENV{obsAdditionalInstallFiles}/lib${_lib_suffix}"
 
- 	"$ENV{obsAdditionalInstallFiles}/lib"
 
- 	"$ENV{obsAdditionalInstallFiles}/libs${_lib_suffix}"
 
- 	"$ENV{obsAdditionalInstallFiles}/libs"
 
- 	"$ENV{obsAdditionalInstallFiles}/bin${_lib_suffix}"
 
- 	"$ENV{obsAdditionalInstallFiles}/bin")
 
- if(NOT UNIX_STRUCTURE)
 
- 	set(OBS_DATA_DESTINATION "data")
 
- 	if(APPLE)
 
- 		set(OBS_EXECUTABLE_DESTINATION "bin")
 
- 		set(OBS_EXECUTABLE32_DESTINATION "bin")
 
- 		set(OBS_EXECUTABLE64_DESTINATION "bin")
 
- 		set(OBS_LIBRARY_DESTINATION "bin")
 
- 		set(OBS_LIBRARY32_DESTINATION "bin")
 
- 		set(OBS_LIBRARY64_DESTINATION "bin")
 
- 		set(OBS_PLUGIN_DESTINATION "obs-plugins")
 
- 		set(OBS_PLUGIN32_DESTINATION "obs-plugins")
 
- 		set(OBS_PLUGIN64_DESTINATION "obs-plugins")
 
- 		set(OBS_DATA_PATH "../${OBS_DATA_DESTINATION}")
 
- 		set(OBS_INSTALL_PREFIX "")
 
- 		set(OBS_RELATIVE_PREFIX "../")
 
- 		set(OBS_SCRIPT_PLUGIN_DESTINATION "${OBS_DATA_DESTINATION}/obs-scripting")
 
- 	else()
 
- 		set(OBS_EXECUTABLE_DESTINATION "bin/${_lib_suffix}bit")
 
- 		set(OBS_EXECUTABLE32_DESTINATION "bin/32bit")
 
- 		set(OBS_EXECUTABLE64_DESTINATION "bin/64bit")
 
- 		set(OBS_LIBRARY_DESTINATION "bin/${_lib_suffix}bit")
 
- 		set(OBS_LIBRARY32_DESTINATION "bin/32bit")
 
- 		set(OBS_LIBRARY64_DESTINATION "bin/64bit")
 
- 		set(OBS_PLUGIN_DESTINATION "obs-plugins/${_lib_suffix}bit")
 
- 		set(OBS_PLUGIN32_DESTINATION "obs-plugins/32bit")
 
- 		set(OBS_PLUGIN64_DESTINATION "obs-plugins/64bit")
 
- 		set(OBS_DATA_PATH "../../${OBS_DATA_DESTINATION}")
 
- 		set(OBS_INSTALL_PREFIX "")
 
- 		set(OBS_RELATIVE_PREFIX "../../")
 
- 		set(OBS_SCRIPT_PLUGIN_DESTINATION "${OBS_DATA_DESTINATION}/obs-scripting/${_lib_suffix}bit")
 
- 	endif()
 
- 	set(OBS_CMAKE_DESTINATION "cmake")
 
- 	set(OBS_INCLUDE_DESTINATION "include")
 
- 	set(OBS_UNIX_STRUCTURE "0")
 
- 	set(OBS_SCRIPT_PLUGIN_PATH "${OBS_RELATIVE_PREFIX}${OBS_SCRIPT_PLUGIN_DESTINATION}")
 
- else()
 
- 	if(NOT OBS_MULTIARCH_SUFFIX AND DEFINED ENV{OBS_MULTIARCH_SUFFIX})
 
- 		set(OBS_MULTIARCH_SUFFIX "$ENV{OBS_MULTIARCH_SUFFIX}")
 
- 	endif()
 
- 	set(OBS_EXECUTABLE_DESTINATION "bin")
 
- 	set(OBS_EXECUTABLE32_DESTINATION "bin32")
 
- 	set(OBS_EXECUTABLE64_DESTINATION "bin64")
 
- 	set(OBS_LIBRARY_DESTINATION "lib${OBS_MULTIARCH_SUFFIX}")
 
- 	set(OBS_LIBRARY32_DESTINATION "lib32")
 
- 	set(OBS_LIBRARY64_DESTINATION "lib64")
 
- 	set(OBS_PLUGIN_DESTINATION "${OBS_LIBRARY_DESTINATION}/obs-plugins")
 
- 	set(OBS_PLUGIN32_DESTINATION "${OBS_LIBRARY32_DESTINATION}/obs-plugins")
 
- 	set(OBS_PLUGIN64_DESTINATION "${OBS_LIBRARY64_DESTINATION}/obs-plugins")
 
- 	set(OBS_DATA_DESTINATION "share/obs")
 
- 	set(OBS_CMAKE_DESTINATION "${OBS_LIBRARY_DESTINATION}/cmake")
 
- 	set(OBS_INCLUDE_DESTINATION "include/obs")
 
- 	set(OBS_DATA_PATH "${OBS_DATA_DESTINATION}")
 
- 	set(OBS_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/")
 
- 	set(OBS_RELATIVE_PREFIX "../")
 
- 	set(OBS_UNIX_STRUCTURE "1")
 
- 	set(OBS_SCRIPT_PLUGIN_DESTINATION "${OBS_LIBRARY_DESTINATION}/obs-scripting")
 
- 	set(OBS_SCRIPT_PLUGIN_PATH "${OBS_INSTALL_PREFIX}${OBS_SCRIPT_PLUGIN_DESTINATION}")
 
- endif()
 
- function(obs_finish_bundle)
 
- 	if(NOT APPLE OR UNIX_STRUCTURE)
 
- 		return()
 
- 	endif()
 
- 	install(CODE
 
- 		"if(DEFINED ENV{FIXUP_BUNDLE})
 
- 			execute_process(COMMAND \"${CMAKE_SOURCE_DIR}/cmake/osxbundle/fixup_bundle.sh\" . bin WORKING_DIRECTORY \"\${CMAKE_INSTALL_PREFIX}\")
 
- 		endif()")
 
- endfunction()
 
- function(obs_generate_multiarch_installer)
 
- 	install(DIRECTORY "$ENV{obsInstallerTempDir}/"
 
- 		DESTINATION "."
 
- 		USE_SOURCE_PERMISSIONS)
 
- endfunction()
 
- function(obs_helper_copy_dir target target_configs source dest)
 
- 	add_custom_command(TARGET ${target} POST_BUILD
 
- 		COMMAND "${CMAKE_COMMAND}"
 
- 			"-DCONFIG=$<CONFIGURATION>"
 
- 			"-DTARGET_CONFIGS=${target_configs}"
 
- 			"-DINPUT=${source}"
 
- 			"-DOUTPUT=${dest}"
 
- 			-P "${CMAKE_SOURCE_DIR}/cmake/copy_helper.cmake"
 
- 		VERBATIM)
 
- endfunction()
 
- function(obs_install_additional maintarget)
 
- 	set(addfdir "${CMAKE_SOURCE_DIR}/additional_install_files")
 
- 	if(DEFINED ENV{obsAdditionalInstallFiles})
 
- 		set(addfdir "$ENV{obsAdditionalInstallFiles}")
 
- 	endif()
 
- 	if(CMAKE_SIZEOF_VOID_P EQUAL 8)
 
- 		set(_lib_suffix 64)
 
- 	else()
 
- 		set(_lib_suffix 32)
 
- 	endif()
 
- 	install(DIRECTORY "${addfdir}/misc/"
 
- 		DESTINATION "."
 
- 		USE_SOURCE_PERMISSIONS
 
- 		PATTERN ".gitignore" EXCLUDE)
 
- 	install(DIRECTORY "${addfdir}/data/"
 
- 		DESTINATION "${OBS_DATA_DESTINATION}"
 
- 		USE_SOURCE_PERMISSIONS
 
- 		PATTERN ".gitignore" EXCLUDE)
 
- 	if(INSTALLER_RUN)
 
- 		install(DIRECTORY "${addfdir}/libs32/"
 
- 			DESTINATION "${OBS_LIBRARY32_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/exec32/"
 
- 			DESTINATION "${OBS_EXECUTABLE32_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/libs64/"
 
- 			DESTINATION "${OBS_LIBRARY64_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/exec64/"
 
- 			DESTINATION "${OBS_EXECUTABLE64_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/libs32d/"
 
- 			DESTINATION "${OBS_LIBRARY32_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			CONFIGURATIONS Debug
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/exec32d/"
 
- 			DESTINATION "${OBS_EXECUTABLE32_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			CONFIGURATIONS Debug
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/libs64d/"
 
- 			DESTINATION "${OBS_LIBRARY64_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			CONFIGURATIONS Debug
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/exec64d/"
 
- 			DESTINATION "${OBS_EXECUTABLE64_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			CONFIGURATIONS Debug
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/libs32r/"
 
- 			DESTINATION "${OBS_LIBRARY32_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			CONFIGURATIONS Release RelWithDebInfo MinSizeRel
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/exec32r/"
 
- 			DESTINATION "${OBS_EXECUTABLE32_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			CONFIGURATIONS Release RelWithDebInfo MinSizeRel
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/libs64r/"
 
- 			DESTINATION "${OBS_LIBRARY64_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			CONFIGURATIONS Release RelWithDebInfo MinSizeRel
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/exec64r/"
 
- 			DESTINATION "${OBS_EXECUTABLE64_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			CONFIGURATIONS Release RelWithDebInfo MinSizeRel
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 	else()
 
- 		install(DIRECTORY "${addfdir}/libs${_lib_suffix}/"
 
- 			DESTINATION "${OBS_LIBRARY_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/exec${_lib_suffix}/"
 
- 			DESTINATION "${OBS_EXECUTABLE_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/libs${_lib_suffix}d/"
 
- 			DESTINATION "${OBS_LIBRARY_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			CONFIGURATIONS Debug
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/exec${_lib_suffix}d/"
 
- 			DESTINATION "${OBS_EXECUTABLE_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			CONFIGURATIONS Debug
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/libs${_lib_suffix}r/"
 
- 			DESTINATION "${OBS_LIBRARY_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			CONFIGURATIONS Release RelWithDebInfo MinSizeRel
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 		install(DIRECTORY "${addfdir}/exec${_lib_suffix}r/"
 
- 			DESTINATION "${OBS_EXECUTABLE_DESTINATION}"
 
- 			USE_SOURCE_PERMISSIONS
 
- 			CONFIGURATIONS Release RelWithDebInfo MinSizeRel
 
- 			PATTERN ".gitignore" EXCLUDE)
 
- 	endif()
 
- 	obs_helper_copy_dir(${maintarget} ALL
 
- 		"${addfdir}/misc/"
 
- 		"${CMAKE_BINARY_DIR}/rundir/$<CONFIGURATION>/")
 
- 	obs_helper_copy_dir(${maintarget} ALL
 
- 		"${addfdir}/data/"
 
- 		"${CMAKE_BINARY_DIR}/rundir/$<CONFIGURATION>/${OBS_DATA_DESTINATION}/")
 
- 	obs_helper_copy_dir(${maintarget} ALL
 
- 		"${addfdir}/libs${_lib_suffix}/"
 
- 		"${CMAKE_BINARY_DIR}/rundir/$<CONFIGURATION>/${OBS_LIBRARY_DESTINATION}/")
 
- 	obs_helper_copy_dir(${maintarget} ALL
 
- 		"${addfdir}/exec${_lib_suffix}/"
 
- 		"${CMAKE_BINARY_DIR}/rundir/$<CONFIGURATION>/${OBS_EXECUTABLE_DESTINATION}/")
 
- 	obs_helper_copy_dir(${maintarget} "Release;MinSizeRel;RelWithDebInfo"
 
- 		"${addfdir}/exec${_lib_suffix}r/"
 
- 		"${CMAKE_BINARY_DIR}/rundir/$<CONFIGURATION>/${OBS_EXECUTABLE_DESTINATION}/")
 
- 	obs_helper_copy_dir(${maintarget} "Debug"
 
- 		"${addfdir}/exec${_lib_suffix}d/"
 
- 		"${CMAKE_BINARY_DIR}/rundir/$<CONFIGURATION>/${OBS_EXECUTABLE_DESTINATION}/")
 
- 	obs_helper_copy_dir(${maintarget} "Release;MinSizeRel;RelWithDebInfo"
 
- 		"${addfdir}/libs${_lib_suffix}r/"
 
- 		"${CMAKE_BINARY_DIR}/rundir/$<CONFIGURATION>/${OBS_LIBRARY_DESTINATION}/")
 
- 	obs_helper_copy_dir(${maintarget} "Debug"
 
- 		"${addfdir}/libs${_lib_suffix}d/"
 
- 		"${CMAKE_BINARY_DIR}/rundir/$<CONFIGURATION>/${OBS_LIBRARY_DESTINATION}/")
 
- endfunction()
 
- function(export_obs_core target exportname)
 
- 	install(TARGETS ${target}
 
- 		EXPORT "${exportname}Target"
 
- 		LIBRARY DESTINATION "${OBS_LIBRARY_DESTINATION}"
 
- 		ARCHIVE DESTINATION "${OBS_LIBRARY_DESTINATION}"
 
- 		RUNTIME DESTINATION "${OBS_EXECUTABLE_DESTINATION}")
 
- 	export(TARGETS ${target} FILE "${CMAKE_CURRENT_BINARY_DIR}/${exportname}Target.cmake")
 
- 	export(PACKAGE "${exportname}")
 
- 	set(CONF_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}")
 
- 	set(CONF_PLUGIN_DEST "${CMAKE_BINARY_DIR}/rundir/${CMAKE_BUILD_TYPE}/obs-plugins/${_lib_suffix}bit")
 
- 	set(CONF_PLUGIN_DEST32 "${CMAKE_BINARY_DIR}/rundir/${CMAKE_BUILD_TYPE}/obs-plugins/32bit")
 
- 	set(CONF_PLUGIN_DEST64 "${CMAKE_BINARY_DIR}/rundir/${CMAKE_BUILD_TYPE}/obs-plugins/64bit")
 
- 	set(CONF_PLUGIN_DATA_DEST "${CMAKE_BINARY_DIR}/rundir/${CMAKE_BUILD_TYPE}/data/obs-plugins")
 
- 	configure_file("${exportname}Config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${exportname}Config.cmake" @ONLY)
 
- 	file(RELATIVE_PATH _pdir "${CMAKE_INSTALL_PREFIX}/${OBS_CMAKE_DESTINATION}/${exportname}" "${CMAKE_INSTALL_PREFIX}")
 
- 	set(CONF_INCLUDE_DIRS "\${CMAKE_CURRENT_LIST_DIR}/${_pdir}${OBS_INCLUDE_DESTINATION}")
 
- 	set(CONF_PLUGIN_DEST "\${CMAKE_CURRENT_LIST_DIR}/${_pdir}${OBS_PLUGIN_DESTINATION}")
 
- 	set(CONF_PLUGIN_DEST32 "\${CMAKE_CURRENT_LIST_DIR}/${_pdir}${OBS_PLUGIN32_DESTINATION}")
 
- 	set(CONF_PLUGIN_DEST64 "\${CMAKE_CURRENT_LIST_DIR}/${_pdir}${OBS_PLUGIN64_DESTINATION}")
 
- 	set(CONF_PLUGIN_DATA_DEST "\${CMAKE_CURRENT_LIST_DIR}/${_pdir}${OBS_DATA_DESTINATION}/obs-plugins")
 
- 	configure_file("${exportname}Config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${exportname}Config.cmake" @ONLY)
 
- 	set(_pdir)
 
- 	configure_file("${exportname}ConfigVersion.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${exportname}ConfigVersion.cmake" @ONLY)
 
- 	install(FILES
 
- 		"${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${exportname}Config.cmake"
 
- 		"${CMAKE_CURRENT_BINARY_DIR}/${exportname}ConfigVersion.cmake"
 
- 		DESTINATION "${OBS_CMAKE_DESTINATION}/${exportname}")
 
- 	install(EXPORT "${exportname}Target"
 
- 		DESTINATION "${OBS_CMAKE_DESTINATION}/${exportname}")
 
- endfunction()
 
- function(install_obs_headers)
 
- 	foreach(hdr ${ARGN})
 
- 		if(IS_ABSOLUTE "${hdr}")
 
- 			set(subdir)
 
- 		else()
 
- 			get_filename_component(subdir "${hdr}" DIRECTORY)
 
- 			if(subdir)
 
- 				set(subdir "/${subdir}")
 
- 			endif()
 
- 		endif()
 
- 		install(FILES "${hdr}" DESTINATION "${OBS_INCLUDE_DESTINATION}${subdir}")
 
- 	endforeach()
 
- endfunction()
 
- function(obs_debug_copy_helper target dest)
 
- 	add_custom_command(TARGET ${target} POST_BUILD
 
- 		COMMAND "${CMAKE_COMMAND}"
 
- 			"-DCONFIG=$<CONFIGURATION>"
 
- 			"-DFNAME=$<TARGET_FILE_NAME:${target}>"
 
- 			"-DINPUT=$<TARGET_FILE_DIR:${target}>"
 
- 			"-DOUTPUT=${dest}"
 
- 			-P "${CMAKE_SOURCE_DIR}/cmake/copy_on_debug_helper.cmake"
 
- 		VERBATIM)
 
- endfunction()
 
- function(install_obs_pdb ttype target)
 
- 	if(NOT MSVC)
 
- 		return()
 
- 	endif()
 
- 	if(CMAKE_SIZEOF_VOID_P EQUAL 8)
 
- 		set(_bit_suffix "64bit")
 
- 	else()
 
- 		set(_bit_suffix "32bit")
 
- 	endif()
 
- 	obs_debug_copy_helper(${target} "${CMAKE_CURRENT_BINARY_DIR}/pdbs")
 
- 	if("${ttype}" STREQUAL "PLUGIN")
 
- 		obs_debug_copy_helper(${target} "${OBS_OUTPUT_DIR}/$<CONFIGURATION>/obs-plugins/${_bit_suffix}")
 
- 		if(DEFINED ENV{obsInstallerTempDir})
 
- 			obs_debug_copy_helper(${target} "$ENV{obsInstallerTempDir}/${OBS_PLUGIN_DESTINATION}")
 
- 		endif()
 
- 		install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/pdbs/"
 
- 			DESTINATION "${OBS_PLUGIN_DESTINATION}"
 
- 			CONFIGURATIONS Debug RelWithDebInfo)
 
- 	else()
 
- 		obs_debug_copy_helper(${target} "${OBS_OUTPUT_DIR}/$<CONFIGURATION>/bin/${_bit_suffix}")
 
- 		if(DEFINED ENV{obsInstallerTempDir})
 
- 			obs_debug_copy_helper(${target} "$ENV{obsInstallerTempDir}/${OBS_EXECUTABLE_DESTINATION}")
 
- 		endif()
 
- 		install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/pdbs/"
 
- 			DESTINATION "${OBS_EXECUTABLE_DESTINATION}"
 
- 			CONFIGURATIONS Debug RelWithDebInfo)
 
- 	endif()
 
- endfunction()
 
- function(install_obs_core target)
 
- 	if(APPLE)
 
- 		set(_bit_suffix "")
 
- 	elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
 
- 		set(_bit_suffix "64bit/")
 
- 	else()
 
- 		set(_bit_suffix "32bit/")
 
- 	endif()
 
- 	if("${ARGV1}" STREQUAL "EXPORT")
 
- 		export_obs_core("${target}" "${ARGV2}")
 
- 	else()
 
- 		install(TARGETS ${target}
 
- 			LIBRARY DESTINATION "${OBS_LIBRARY_DESTINATION}"
 
- 			RUNTIME DESTINATION "${OBS_EXECUTABLE_DESTINATION}")
 
- 	endif()
 
- 	add_custom_command(TARGET ${target} POST_BUILD
 
- 		COMMAND "${CMAKE_COMMAND}" -E copy
 
- 			"$<TARGET_FILE:${target}>"
 
- 			"${OBS_OUTPUT_DIR}/$<CONFIGURATION>/bin/${_bit_suffix}$<TARGET_FILE_NAME:${target}>"
 
- 		VERBATIM)
 
- 	if(DEFINED ENV{obsInstallerTempDir})
 
- 		get_property(target_type TARGET ${target} PROPERTY TYPE)
 
- 		if("${target_type}" STREQUAL "EXECUTABLE")
 
- 			set(tmp_target_dir "${OBS_EXECUTABLE_DESTINATION}")
 
- 		else()
 
- 			set(tmp_target_dir "${OBS_LIBRARY_DESTINATION}")
 
- 		endif()
 
- 		add_custom_command(TARGET ${target} POST_BUILD
 
- 			COMMAND "${CMAKE_COMMAND}" -E copy
 
- 				"$<TARGET_FILE:${target}>"
 
- 				"$ENV{obsInstallerTempDir}/${tmp_target_dir}/$<TARGET_FILE_NAME:${target}>"
 
- 			VERBATIM)
 
- 	endif()
 
- 	install_obs_pdb(CORE ${target})
 
- endfunction()
 
- function(install_obs_bin target mode)
 
- 	foreach(bin ${ARGN})
 
- 		if(APPLE)
 
- 			set(_bit_suffix "")
 
- 		elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
 
- 			set(_bit_suffix "64bit/")
 
- 		else()
 
- 			set(_bit_suffix "32bit/")
 
- 		endif()
 
- 		if(NOT IS_ABSOLUTE "${bin}")
 
- 			set(bin "${CMAKE_CURRENT_SOURCE_DIR}/${bin}")
 
- 		endif()
 
- 		get_filename_component(fname "${bin}" NAME)
 
- 		if(NOT "${mode}" MATCHES "INSTALL_ONLY")
 
- 			add_custom_command(TARGET ${target} POST_BUILD
 
- 				COMMAND "${CMAKE_COMMAND}" -E copy
 
- 					"${bin}"
 
- 					"${OBS_OUTPUT_DIR}/$<CONFIGURATION>/bin/${_bit_suffix}${fname}"
 
- 				VERBATIM)
 
- 		endif()
 
- 		install(FILES "${bin}"
 
- 			DESTINATION "${OBS_EXECUTABLE_DESTINATION}")
 
- 		if(DEFINED ENV{obsInstallerTempDir})
 
- 			add_custom_command(TARGET ${target} POST_BUILD
 
- 				COMMAND "${CMAKE_COMMAND}" -E copy
 
- 					"${bin}"
 
- 					"$ENV{obsInstallerTempDir}/${OBS_EXECUTABLE_DESTINATION}/${fname}"
 
- 				VERBATIM)
 
- 		endif()
 
- 	endforeach()
 
- endfunction()
 
- function(install_obs_plugin target)
 
- 	if(APPLE)
 
- 		set(_bit_suffix "")
 
- 	elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
 
- 		set(_bit_suffix "64bit/")
 
- 	else()
 
- 		set(_bit_suffix "32bit/")
 
- 	endif()
 
- 	set_target_properties(${target} PROPERTIES
 
- 		PREFIX "")
 
- 	install(TARGETS ${target}
 
- 		LIBRARY DESTINATION "${OBS_PLUGIN_DESTINATION}"
 
- 		RUNTIME DESTINATION "${OBS_PLUGIN_DESTINATION}")
 
- 	add_custom_command(TARGET ${target} POST_BUILD
 
- 		COMMAND "${CMAKE_COMMAND}" -E copy
 
- 			"$<TARGET_FILE:${target}>"
 
- 			"${OBS_OUTPUT_DIR}/$<CONFIGURATION>/obs-plugins/${_bit_suffix}$<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_PLUGIN_DESTINATION}/$<TARGET_FILE_NAME:${target}>"
 
- 			VERBATIM)
 
- 	endif()
 
- 	install_obs_pdb(PLUGIN ${target})
 
- endfunction()
 
- function(install_obs_data target datadir datadest)
 
- 	install(DIRECTORY ${datadir}/
 
- 		DESTINATION "${OBS_DATA_DESTINATION}/${datadest}"
 
- 		USE_SOURCE_PERMISSIONS)
 
- 	add_custom_command(TARGET ${target} POST_BUILD
 
- 		COMMAND "${CMAKE_COMMAND}" -E copy_directory
 
- 			"${CMAKE_CURRENT_SOURCE_DIR}/${datadir}" "${OBS_OUTPUT_DIR}/$<CONFIGURATION>/data/${datadest}"
 
- 		VERBATIM)
 
- 	if(CMAKE_SIZEOF_VOID_P EQUAL 8 AND DEFINED ENV{obsInstallerTempDir})
 
- 		add_custom_command(TARGET ${target} POST_BUILD
 
- 			COMMAND "${CMAKE_COMMAND}" -E copy_directory
 
- 				"${CMAKE_CURRENT_SOURCE_DIR}/${datadir}" "$ENV{obsInstallerTempDir}/${OBS_DATA_DESTINATION}/${datadest}"
 
- 			VERBATIM)
 
- 	endif()
 
- endfunction()
 
- function(install_obs_data_file target datafile datadest)
 
- 	install(FILES ${datafile}
 
- 		DESTINATION "${OBS_DATA_DESTINATION}/${datadest}")
 
- 	add_custom_command(TARGET ${target} POST_BUILD
 
- 		COMMAND "${CMAKE_COMMAND}" -E make_directory
 
- 			"${OBS_OUTPUT_DIR}/$<CONFIGURATION>/data/${datadest}"
 
- 		VERBATIM)
 
- 	add_custom_command(TARGET ${target} POST_BUILD
 
- 		COMMAND "${CMAKE_COMMAND}" -E copy
 
- 			"${CMAKE_CURRENT_SOURCE_DIR}/${datafile}" "${OBS_OUTPUT_DIR}/$<CONFIGURATION>/data/${datadest}"
 
- 		VERBATIM)
 
- 	if(CMAKE_SIZEOF_VOID_P EQUAL 8 AND DEFINED ENV{obsInstallerTempDir})
 
- 		add_custom_command(TARGET ${target} POST_BUILD
 
- 			COMMAND "${CMAKE_COMMAND}" -E make_directory
 
- 				"$ENV{obsInstallerTempDir}/${OBS_DATA_DESTINATION}/${datadest}"
 
- 			VERBATIM)
 
- 		add_custom_command(TARGET ${target} POST_BUILD
 
- 			COMMAND "${CMAKE_COMMAND}" -E copy
 
- 				"${CMAKE_CURRENT_SOURCE_DIR}/${datafile}" "$ENV{obsInstallerTempDir}/${OBS_DATA_DESTINATION}/${datadest}"
 
- 			VERBATIM)
 
- 	endif()
 
- endfunction()
 
- function(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()
 
- endfunction()
 
- function(install_obs_plugin_with_data target datadir)
 
- 	install_obs_plugin(${target})
 
- 	install_obs_data(${target} "${datadir}" "obs-plugins/${target}")
 
- endfunction()
 
- function(define_graphic_modules target)
 
- 	foreach(dl_lib opengl d3d9 d3d11)
 
- 		string(TOUPPER ${dl_lib} dl_lib_upper)
 
- 		if(TARGET libobs-${dl_lib})
 
- 			if(UNIX AND UNIX_STRUCTURE)
 
- 				target_compile_definitions(${target}
 
- 					PRIVATE
 
- 					DL_${dl_lib_upper}="$<TARGET_SONAME_FILE_NAME:libobs-${dl_lib}>"
 
- 					)
 
- 			else()
 
- 				target_compile_definitions(${target}
 
- 					PRIVATE
 
- 					DL_${dl_lib_upper}="$<TARGET_FILE_NAME:libobs-${dl_lib}>"
 
- 					)
 
- 			endif()
 
- 		else()
 
- 			target_compile_definitions(${target}
 
- 				PRIVATE
 
- 				DL_${dl_lib_upper}=""
 
- 				)
 
- 		endif()
 
- 	endforeach()
 
- endfunction()
 
 
  |