Add support for build time dependency copying

master
BtbN 2014-07-16 04:36:45 +02:00
parent 4b5b7534aa
commit 415a698bac
12 changed files with 98 additions and 21 deletions

View File

@ -82,5 +82,3 @@ if(NOT INSTALLER_RUN)
else()
obs_generate_multiarch_installer()
endif()
obs_install_additional()

8
additional_install_files/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
*
!.gitignore
!data/
!exec32/
!exec64/
!libs32/
!libs64/
!misc/

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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)

View File

@ -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)

View File

@ -129,4 +129,3 @@ target_link_libraries(obs
install_obs_core(obs)
install_obs_data(obs data obs-studio)