mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-07-04 10:33:30 +00:00
Add support for build time dependency copying
This commit is contained in:
parent
4b5b7534aa
commit
415a698bac
|
@ -82,5 +82,3 @@ if(NOT INSTALLER_RUN)
|
||||||
else()
|
else()
|
||||||
obs_generate_multiarch_installer()
|
obs_generate_multiarch_installer()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
obs_install_additional()
|
|
||||||
|
|
8
additional_install_files/.gitignore
vendored
Normal file
8
additional_install_files/.gitignore
vendored
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
*
|
||||||
|
!.gitignore
|
||||||
|
!data/
|
||||||
|
!exec32/
|
||||||
|
!exec64/
|
||||||
|
!libs32/
|
||||||
|
!libs64/
|
||||||
|
!misc/
|
|
@ -22,14 +22,22 @@ else()
|
||||||
find_path(FFMPEG_INCLUDE_DIR
|
find_path(FFMPEG_INCLUDE_DIR
|
||||||
NAMES libavcodec/avcodec.h
|
NAMES libavcodec/avcodec.h
|
||||||
HINTS
|
HINTS
|
||||||
|
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||||
|
"$ENV{obsAdditionalInstallFiles}/include"
|
||||||
ENV FFmpegPath
|
ENV FFmpegPath
|
||||||
${_AVCODEC_INCLUDE_DIRS}
|
"${_AVCODEC_INCLUDE_DIRS}"
|
||||||
/usr/include /usr/local/include /opt/local/include /sw/include
|
/usr/include /usr/local/include /opt/local/include /sw/include
|
||||||
PATH_SUFFIXES ffmpeg libav)
|
PATH_SUFFIXES ffmpeg libav)
|
||||||
|
|
||||||
find_library(AVCODEC_LIB
|
find_library(AVCODEC_LIB
|
||||||
NAMES avcodec
|
NAMES avcodec
|
||||||
HINTS ${FFMPEG_INCLUDE_DIR}/../lib ${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix} ${_AVCODEC_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib)
|
HINTS
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/../lib"
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
|
||||||
|
"${_AVCODEC_LIBRARY_DIRS}"
|
||||||
|
/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
|
||||||
|
|
||||||
set(LIBAVCODEC_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libavcodec include dir")
|
set(LIBAVCODEC_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libavcodec include dir")
|
||||||
set(LIBAVCODEC_LIBRARIES ${AVCODEC_LIB} CACHE STRING "Libavcodec libraries")
|
set(LIBAVCODEC_LIBRARIES ${AVCODEC_LIB} CACHE STRING "Libavcodec libraries")
|
||||||
|
|
|
@ -22,14 +22,22 @@ else()
|
||||||
find_path(FFMPEG_INCLUDE_DIR
|
find_path(FFMPEG_INCLUDE_DIR
|
||||||
NAMES libavformat/avformat.h
|
NAMES libavformat/avformat.h
|
||||||
HINTS
|
HINTS
|
||||||
|
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||||
|
"$ENV{obsAdditionalInstallFiles}/include"
|
||||||
ENV FFmpegPath
|
ENV FFmpegPath
|
||||||
${_AVFORMAT_INCLUDE_DIRS}
|
"${_AVFORMAT_INCLUDE_DIRS}"
|
||||||
/usr/include /usr/local/include /opt/local/include /sw/include
|
/usr/include /usr/local/include /opt/local/include /sw/include
|
||||||
PATH_SUFFIXES ffmpeg libav)
|
PATH_SUFFIXES ffmpeg libav)
|
||||||
|
|
||||||
find_library(AVFORMAT_LIB
|
find_library(AVFORMAT_LIB
|
||||||
NAMES avformat
|
NAMES avformat
|
||||||
HINTS ${FFMPEG_INCLUDE_DIR}/../lib ${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix} ${_AVFORMAT_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib)
|
HINTS
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/../lib"
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
|
||||||
|
"${_AVFORMAT_LIBRARY_DIRS}"
|
||||||
|
/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
|
||||||
|
|
||||||
set(LIBAVFORMAT_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libavformat include dir")
|
set(LIBAVFORMAT_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libavformat include dir")
|
||||||
set(LIBAVFORMAT_LIBRARIES ${AVFORMAT_LIB} CACHE STRING "Libavformat libraries")
|
set(LIBAVFORMAT_LIBRARIES ${AVFORMAT_LIB} CACHE STRING "Libavformat libraries")
|
||||||
|
|
|
@ -22,14 +22,22 @@ else()
|
||||||
find_path(FFMPEG_INCLUDE_DIR
|
find_path(FFMPEG_INCLUDE_DIR
|
||||||
NAMES libavutil/avutil.h
|
NAMES libavutil/avutil.h
|
||||||
HINTS
|
HINTS
|
||||||
|
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||||
|
"$ENV{obsAdditionalInstallFiles}/include"
|
||||||
ENV FFmpegPath
|
ENV FFmpegPath
|
||||||
${_AVUTIL_INCLUDE_DIRS}
|
"${_AVUTIL_INCLUDE_DIRS}"
|
||||||
/usr/include /usr/local/include /opt/local/include /sw/include
|
/usr/include /usr/local/include /opt/local/include /sw/include
|
||||||
PATH_SUFFIXES ffmpeg libav)
|
PATH_SUFFIXES ffmpeg libav)
|
||||||
|
|
||||||
find_library(AVUTIL_LIB
|
find_library(AVUTIL_LIB
|
||||||
NAMES avutil
|
NAMES avutil
|
||||||
HINTS ${FFMPEG_INCLUDE_DIR}/../lib ${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix} ${_AVUTIL_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib)
|
HINTS
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/../lib"
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
|
||||||
|
"${_AVUTIL_LIBRARY_DIRS}"
|
||||||
|
/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
|
||||||
|
|
||||||
set(LIBAVUTIL_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libavutil include dir")
|
set(LIBAVUTIL_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libavutil include dir")
|
||||||
set(LIBAVUTIL_LIBRARIES ${AVUTIL_LIB} CACHE STRING "Libavutil libraries")
|
set(LIBAVUTIL_LIBRARIES ${AVUTIL_LIB} CACHE STRING "Libavutil libraries")
|
||||||
|
|
|
@ -22,17 +22,21 @@ else()
|
||||||
find_path(Libfdk_INCLUDE_DIR
|
find_path(Libfdk_INCLUDE_DIR
|
||||||
NAMES fdk-aac/aacenc_lib.h
|
NAMES fdk-aac/aacenc_lib.h
|
||||||
HINTS
|
HINTS
|
||||||
|
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||||
|
"$ENV{obsAdditionalInstallFiles}/include"
|
||||||
ENV LibfdkPath
|
ENV LibfdkPath
|
||||||
ENV FFmpegPath
|
ENV FFmpegPath
|
||||||
${_LIBFDK_INCLUDE_DIRS}
|
"${_LIBFDK_INCLUDE_DIRS}"
|
||||||
/usr/include /usr/local/include /opt/local/include /sw/include)
|
/usr/include /usr/local/include /opt/local/include /sw/include)
|
||||||
|
|
||||||
find_library(Libfdk_LIB
|
find_library(Libfdk_LIB
|
||||||
NAMES fdk-aac libfdk-aac
|
NAMES fdk-aac libfdk-aac
|
||||||
HINTS
|
HINTS
|
||||||
${Libfdk_INCLUDE_DIR}/../lib
|
"${Libfdk_INCLUDE_DIR}/../lib"
|
||||||
${Libfdk_INCLUDE_DIR}/lib${_lib_suffix}
|
"${Libfdk_INCLUDE_DIR}/../lib${_lib_suffix}"
|
||||||
${_LIBFDK_LIBRARY_DIRS}
|
"${Libfdk_INCLUDE_DIR}/../libs${_lib_suffix}"
|
||||||
|
"${Libfdk_INCLUDE_DIR}/lib${_lib_suffix}"
|
||||||
|
"${_LIBFDK_LIBRARY_DIRS}"
|
||||||
/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
|
/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
|
||||||
|
|
||||||
set(LIBFDK_INCLUDE_DIRS ${Libfdk_INCLUDE_DIR} CACHE PATH "Libfdk include dir")
|
set(LIBFDK_INCLUDE_DIRS ${Libfdk_INCLUDE_DIR} CACHE PATH "Libfdk include dir")
|
||||||
|
|
|
@ -22,14 +22,22 @@ else()
|
||||||
find_path(FFMPEG_INCLUDE_DIR
|
find_path(FFMPEG_INCLUDE_DIR
|
||||||
NAMES libswresample/swresample.h
|
NAMES libswresample/swresample.h
|
||||||
HINTS
|
HINTS
|
||||||
|
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||||
|
"$ENV{obsAdditionalInstallFiles}/include"
|
||||||
ENV FFmpegPath
|
ENV FFmpegPath
|
||||||
${_SWRESAMPLE_INCLUDE_DIRS}
|
"${_SWRESAMPLE_INCLUDE_DIRS}"
|
||||||
/usr/include /usr/local/include /opt/local/include /sw/include
|
/usr/include /usr/local/include /opt/local/include /sw/include
|
||||||
PATH_SUFFIXES ffmpeg libav)
|
PATH_SUFFIXES ffmpeg libav)
|
||||||
|
|
||||||
find_library(SWRESAMPLE_LIB
|
find_library(SWRESAMPLE_LIB
|
||||||
NAMES swresample
|
NAMES swresample
|
||||||
HINTS ${FFMPEG_INCLUDE_DIR}/../lib ${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix} ${_SWRESAMPLE_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib)
|
HINTS
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/../lib"
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
|
||||||
|
"${_SWRESAMPLE_LIBRARY_DIRS}"
|
||||||
|
/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
|
||||||
|
|
||||||
set(LIBSWRESAMPLE_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libswresample include dir")
|
set(LIBSWRESAMPLE_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libswresample include dir")
|
||||||
set(LIBSWRESAMPLE_LIBRARIES ${SWRESAMPLE_LIB} CACHE STRING "Libswresample libraries")
|
set(LIBSWRESAMPLE_LIBRARIES ${SWRESAMPLE_LIB} CACHE STRING "Libswresample libraries")
|
||||||
|
|
|
@ -22,14 +22,22 @@ else()
|
||||||
find_path(FFMPEG_INCLUDE_DIR
|
find_path(FFMPEG_INCLUDE_DIR
|
||||||
NAMES libswscale/swscale.h
|
NAMES libswscale/swscale.h
|
||||||
HINTS
|
HINTS
|
||||||
|
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||||
|
"$ENV{obsAdditionalInstallFiles}/include"
|
||||||
ENV FFmpegPath
|
ENV FFmpegPath
|
||||||
${_SWSCALE_INCLUDE_DIRS}
|
"${_SWSCALE_INCLUDE_DIRS}"
|
||||||
/usr/include /usr/local/include /opt/local/include /sw/include
|
/usr/include /usr/local/include /opt/local/include /sw/include
|
||||||
PATH_SUFFIXES ffmpeg libav)
|
PATH_SUFFIXES ffmpeg libav)
|
||||||
|
|
||||||
find_library(SWSCALE_LIB
|
find_library(SWSCALE_LIB
|
||||||
NAMES swscale
|
NAMES swscale
|
||||||
HINTS ${FFMPEG_INCLUDE_DIR}/../lib ${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix} ${_SWSCALE_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib)
|
HINTS
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/../lib"
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
|
||||||
|
"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
|
||||||
|
"${_SWSCALE_LIBRARY_DIRS}"
|
||||||
|
/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
|
||||||
|
|
||||||
set(LIBSWSCALE_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libswscale include dir")
|
set(LIBSWSCALE_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libswscale include dir")
|
||||||
set(LIBSWSCALE_LIBRARIES ${SWSCALE_LIB} CACHE STRING "Libswscale libraries")
|
set(LIBSWSCALE_LIBRARIES ${SWSCALE_LIB} CACHE STRING "Libswscale libraries")
|
||||||
|
|
|
@ -22,14 +22,22 @@ else()
|
||||||
find_path(X264_INCLUDE_DIR
|
find_path(X264_INCLUDE_DIR
|
||||||
NAMES x264.h
|
NAMES x264.h
|
||||||
HINTS
|
HINTS
|
||||||
|
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||||
|
"$ENV{obsAdditionalInstallFiles}/include"
|
||||||
ENV x264Path
|
ENV x264Path
|
||||||
ENV FFmpegPath
|
ENV FFmpegPath
|
||||||
${_X264_INCLUDE_DIRS}
|
"${_X264_INCLUDE_DIRS}"
|
||||||
/usr/include /usr/local/include /opt/local/include /sw/include)
|
/usr/include /usr/local/include /opt/local/include /sw/include)
|
||||||
|
|
||||||
find_library(X264_LIB
|
find_library(X264_LIB
|
||||||
NAMES x264 libx264
|
NAMES x264 libx264
|
||||||
HINTS ${X264_INCLUDE_DIR}/../lib ${X264_INCLUDE_DIR}/lib${_lib_suffix} ${_X264_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib)
|
HINTS
|
||||||
|
"${X264_INCLUDE_DIR}/../lib"
|
||||||
|
"${X264_INCLUDE_DIR}/../lib${_lib_suffix}"
|
||||||
|
"${X264_INCLUDE_DIR}/../libs${_lib_suffix}"
|
||||||
|
"${X264_INCLUDE_DIR}/lib${_lib_suffix}"
|
||||||
|
"${_X264_LIBRARY_DIRS}"
|
||||||
|
/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
|
||||||
|
|
||||||
set(LIBX264_INCLUDE_DIRS ${X264_INCLUDE_DIR} CACHE PATH "x264 include dir")
|
set(LIBX264_INCLUDE_DIRS ${X264_INCLUDE_DIR} CACHE PATH "x264 include dir")
|
||||||
set(LIBX264_LIBRARIES ${X264_LIB} CACHE STRING "x264 libraries")
|
set(LIBX264_LIBRARIES ${X264_LIB} CACHE STRING "x264 libraries")
|
||||||
|
|
|
@ -91,7 +91,15 @@ function(obs_generate_multiarch_installer)
|
||||||
USE_SOURCE_PERMISSIONS)
|
USE_SOURCE_PERMISSIONS)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
function(obs_install_additional)
|
function(obs_helper_copy_dir target source dest)
|
||||||
|
add_custom_command(TARGET ${target} POST_BUILD
|
||||||
|
COMMAND "${CMAKE_COMMAND}" -E copy_directory
|
||||||
|
"${source}"
|
||||||
|
"${dest}"
|
||||||
|
VERBATIM)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
function(obs_install_additional maintarget)
|
||||||
set(addfdir "${CMAKE_SOURCE_DIR}/additional_install_files")
|
set(addfdir "${CMAKE_SOURCE_DIR}/additional_install_files")
|
||||||
if(DEFINED ENV{obsAdditionalInstallFiles})
|
if(DEFINED ENV{obsAdditionalInstallFiles})
|
||||||
set(addfdir "$ENV{obsAdditionalInstallFiles}")
|
set(addfdir "$ENV{obsAdditionalInstallFiles}")
|
||||||
|
@ -111,7 +119,7 @@ function(obs_install_additional)
|
||||||
DESTINATION "${OBS_DATA_DESTINATION}"
|
DESTINATION "${OBS_DATA_DESTINATION}"
|
||||||
USE_SOURCE_PERMISSIONS
|
USE_SOURCE_PERMISSIONS
|
||||||
PATTERN ".gitignore" EXCLUDE)
|
PATTERN ".gitignore" EXCLUDE)
|
||||||
|
|
||||||
if(INSTALLER_RUN)
|
if(INSTALLER_RUN)
|
||||||
install(DIRECTORY "${addfdir}/libs32/"
|
install(DIRECTORY "${addfdir}/libs32/"
|
||||||
DESTINATION "${OBS_LIBRARY32_DESTINATION}"
|
DESTINATION "${OBS_LIBRARY32_DESTINATION}"
|
||||||
|
@ -139,6 +147,16 @@ function(obs_install_additional)
|
||||||
USE_SOURCE_PERMISSIONS
|
USE_SOURCE_PERMISSIONS
|
||||||
PATTERN ".gitignore" EXCLUDE)
|
PATTERN ".gitignore" EXCLUDE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
obs_helper_copy_dir(${maintarget}
|
||||||
|
"${addfdir}/misc/"
|
||||||
|
"${CMAKE_BINARY_DIR}/rundir/$<CONFIGURATION>/")
|
||||||
|
obs_helper_copy_dir(${maintarget}
|
||||||
|
"${addfdir}/data/"
|
||||||
|
"${CMAKE_BINARY_DIR}/rundir/$<CONFIGURATION>/${OBS_DATA_DESTINATION}/")
|
||||||
|
obs_helper_copy_dir(${maintarget}
|
||||||
|
"${addfdir}/exec${_lib_suffix}/"
|
||||||
|
"${CMAKE_BINARY_DIR}/rundir/$<CONFIGURATION>/${OBS_EXECUTABLE_DESTINATION}/")
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
macro(export_obs_core target exportname)
|
macro(export_obs_core target exportname)
|
||||||
|
|
|
@ -287,3 +287,5 @@ target_link_libraries(libobs
|
||||||
install_obs_core(libobs EXPORT LibObs)
|
install_obs_core(libobs EXPORT LibObs)
|
||||||
install_obs_data(libobs data libobs)
|
install_obs_data(libobs data libobs)
|
||||||
install_obs_headers(${libobs_HEADERS})
|
install_obs_headers(${libobs_HEADERS})
|
||||||
|
|
||||||
|
obs_install_additional(libobs)
|
||||||
|
|
|
@ -129,4 +129,3 @@ target_link_libraries(obs
|
||||||
|
|
||||||
install_obs_core(obs)
|
install_obs_core(obs)
|
||||||
install_obs_data(obs data obs-studio)
|
install_obs_data(obs data obs-studio)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue