Add support for build time dependency copying
parent
4b5b7534aa
commit
415a698bac
|
@ -82,5 +82,3 @@ if(NOT INSTALLER_RUN)
|
|||
else()
|
||||
obs_generate_multiarch_installer()
|
||||
endif()
|
||||
|
||||
obs_install_additional()
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
*
|
||||
!.gitignore
|
||||
!data/
|
||||
!exec32/
|
||||
!exec64/
|
||||
!libs32/
|
||||
!libs64/
|
||||
!misc/
|
|
@ -22,14 +22,22 @@ else()
|
|||
find_path(FFMPEG_INCLUDE_DIR
|
||||
NAMES libavcodec/avcodec.h
|
||||
HINTS
|
||||
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||
"$ENV{obsAdditionalInstallFiles}/include"
|
||||
ENV FFmpegPath
|
||||
${_AVCODEC_INCLUDE_DIRS}
|
||||
"${_AVCODEC_INCLUDE_DIRS}"
|
||||
/usr/include /usr/local/include /opt/local/include /sw/include
|
||||
PATH_SUFFIXES ffmpeg libav)
|
||||
|
||||
find_library(AVCODEC_LIB
|
||||
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_LIBRARIES ${AVCODEC_LIB} CACHE STRING "Libavcodec libraries")
|
||||
|
|
|
@ -22,14 +22,22 @@ else()
|
|||
find_path(FFMPEG_INCLUDE_DIR
|
||||
NAMES libavformat/avformat.h
|
||||
HINTS
|
||||
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||
"$ENV{obsAdditionalInstallFiles}/include"
|
||||
ENV FFmpegPath
|
||||
${_AVFORMAT_INCLUDE_DIRS}
|
||||
"${_AVFORMAT_INCLUDE_DIRS}"
|
||||
/usr/include /usr/local/include /opt/local/include /sw/include
|
||||
PATH_SUFFIXES ffmpeg libav)
|
||||
|
||||
find_library(AVFORMAT_LIB
|
||||
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_LIBRARIES ${AVFORMAT_LIB} CACHE STRING "Libavformat libraries")
|
||||
|
|
|
@ -22,14 +22,22 @@ else()
|
|||
find_path(FFMPEG_INCLUDE_DIR
|
||||
NAMES libavutil/avutil.h
|
||||
HINTS
|
||||
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||
"$ENV{obsAdditionalInstallFiles}/include"
|
||||
ENV FFmpegPath
|
||||
${_AVUTIL_INCLUDE_DIRS}
|
||||
"${_AVUTIL_INCLUDE_DIRS}"
|
||||
/usr/include /usr/local/include /opt/local/include /sw/include
|
||||
PATH_SUFFIXES ffmpeg libav)
|
||||
|
||||
find_library(AVUTIL_LIB
|
||||
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_LIBRARIES ${AVUTIL_LIB} CACHE STRING "Libavutil libraries")
|
||||
|
|
|
@ -22,17 +22,21 @@ else()
|
|||
find_path(Libfdk_INCLUDE_DIR
|
||||
NAMES fdk-aac/aacenc_lib.h
|
||||
HINTS
|
||||
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||
"$ENV{obsAdditionalInstallFiles}/include"
|
||||
ENV LibfdkPath
|
||||
ENV FFmpegPath
|
||||
${_LIBFDK_INCLUDE_DIRS}
|
||||
"${_LIBFDK_INCLUDE_DIRS}"
|
||||
/usr/include /usr/local/include /opt/local/include /sw/include)
|
||||
|
||||
find_library(Libfdk_LIB
|
||||
NAMES fdk-aac libfdk-aac
|
||||
HINTS
|
||||
${Libfdk_INCLUDE_DIR}/../lib
|
||||
${Libfdk_INCLUDE_DIR}/lib${_lib_suffix}
|
||||
${_LIBFDK_LIBRARY_DIRS}
|
||||
"${Libfdk_INCLUDE_DIR}/../lib"
|
||||
"${Libfdk_INCLUDE_DIR}/../lib${_lib_suffix}"
|
||||
"${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)
|
||||
|
||||
set(LIBFDK_INCLUDE_DIRS ${Libfdk_INCLUDE_DIR} CACHE PATH "Libfdk include dir")
|
||||
|
|
|
@ -22,14 +22,22 @@ else()
|
|||
find_path(FFMPEG_INCLUDE_DIR
|
||||
NAMES libswresample/swresample.h
|
||||
HINTS
|
||||
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||
"$ENV{obsAdditionalInstallFiles}/include"
|
||||
ENV FFmpegPath
|
||||
${_SWRESAMPLE_INCLUDE_DIRS}
|
||||
"${_SWRESAMPLE_INCLUDE_DIRS}"
|
||||
/usr/include /usr/local/include /opt/local/include /sw/include
|
||||
PATH_SUFFIXES ffmpeg libav)
|
||||
|
||||
find_library(SWRESAMPLE_LIB
|
||||
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_LIBRARIES ${SWRESAMPLE_LIB} CACHE STRING "Libswresample libraries")
|
||||
|
|
|
@ -22,14 +22,22 @@ else()
|
|||
find_path(FFMPEG_INCLUDE_DIR
|
||||
NAMES libswscale/swscale.h
|
||||
HINTS
|
||||
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||
"$ENV{obsAdditionalInstallFiles}/include"
|
||||
ENV FFmpegPath
|
||||
${_SWSCALE_INCLUDE_DIRS}
|
||||
"${_SWSCALE_INCLUDE_DIRS}"
|
||||
/usr/include /usr/local/include /opt/local/include /sw/include
|
||||
PATH_SUFFIXES ffmpeg libav)
|
||||
|
||||
find_library(SWSCALE_LIB
|
||||
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_LIBRARIES ${SWSCALE_LIB} CACHE STRING "Libswscale libraries")
|
||||
|
|
|
@ -22,14 +22,22 @@ else()
|
|||
find_path(X264_INCLUDE_DIR
|
||||
NAMES x264.h
|
||||
HINTS
|
||||
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||
"$ENV{obsAdditionalInstallFiles}/include"
|
||||
ENV x264Path
|
||||
ENV FFmpegPath
|
||||
${_X264_INCLUDE_DIRS}
|
||||
"${_X264_INCLUDE_DIRS}"
|
||||
/usr/include /usr/local/include /opt/local/include /sw/include)
|
||||
|
||||
find_library(X264_LIB
|
||||
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_LIBRARIES ${X264_LIB} CACHE STRING "x264 libraries")
|
||||
|
|
|
@ -91,7 +91,15 @@ function(obs_generate_multiarch_installer)
|
|||
USE_SOURCE_PERMISSIONS)
|
||||
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")
|
||||
if(DEFINED ENV{obsAdditionalInstallFiles})
|
||||
set(addfdir "$ENV{obsAdditionalInstallFiles}")
|
||||
|
@ -111,7 +119,7 @@ function(obs_install_additional)
|
|||
DESTINATION "${OBS_DATA_DESTINATION}"
|
||||
USE_SOURCE_PERMISSIONS
|
||||
PATTERN ".gitignore" EXCLUDE)
|
||||
|
||||
|
||||
if(INSTALLER_RUN)
|
||||
install(DIRECTORY "${addfdir}/libs32/"
|
||||
DESTINATION "${OBS_LIBRARY32_DESTINATION}"
|
||||
|
@ -139,6 +147,16 @@ function(obs_install_additional)
|
|||
USE_SOURCE_PERMISSIONS
|
||||
PATTERN ".gitignore" EXCLUDE)
|
||||
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()
|
||||
|
||||
macro(export_obs_core target exportname)
|
||||
|
|
|
@ -287,3 +287,5 @@ target_link_libraries(libobs
|
|||
install_obs_core(libobs EXPORT LibObs)
|
||||
install_obs_data(libobs data libobs)
|
||||
install_obs_headers(${libobs_HEADERS})
|
||||
|
||||
obs_install_additional(libobs)
|
||||
|
|
|
@ -129,4 +129,3 @@ target_link_libraries(obs
|
|||
|
||||
install_obs_core(obs)
|
||||
install_obs_data(obs data obs-studio)
|
||||
|
||||
|
|
Loading…
Reference in New Issue