Skip to content

Commit

Permalink
Improve additional_install_files for debug/release
Browse files Browse the repository at this point in the history
This improves dependency copying and adds separated debug/release
install files.
  • Loading branch information
jp9000 committed Jul 19, 2014
1 parent fbf4d18 commit 5c59710
Show file tree
Hide file tree
Showing 21 changed files with 150 additions and 14 deletions.
8 changes: 8 additions & 0 deletions additional_install_files/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,15 @@
!.gitignore
!data/
!exec32/
!exec32r/
!exec32d/
!exec64/
!exec64r/
!exec64d/
!libs32/
!libs32r/
!libs32d/
!libs64/
!libs64r/
!libs64d/
!misc/
2 changes: 1 addition & 1 deletion additional_install_files/data/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
*
!.gitignore
!.gitignore
2 changes: 1 addition & 1 deletion additional_install_files/exec32/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
*
!.gitignore
!.gitignore
2 changes: 2 additions & 0 deletions additional_install_files/exec32d/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 2 additions & 0 deletions additional_install_files/exec32r/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 1 addition & 1 deletion additional_install_files/exec64/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
*
!.gitignore
!.gitignore
2 changes: 2 additions & 0 deletions additional_install_files/exec64d/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 2 additions & 0 deletions additional_install_files/exec64r/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 1 addition & 1 deletion additional_install_files/libs32/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
*
!.gitignore
!.gitignore
2 changes: 2 additions & 0 deletions additional_install_files/libs32d/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 2 additions & 0 deletions additional_install_files/libs32r/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 1 addition & 1 deletion additional_install_files/libs64/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
*
!.gitignore
!.gitignore
2 changes: 2 additions & 0 deletions additional_install_files/libs64d/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 2 additions & 0 deletions additional_install_files/libs64r/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 1 addition & 1 deletion additional_install_files/misc/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
*
!.gitignore
!.gitignore
4 changes: 4 additions & 0 deletions cmake/Modules/FindLibavcodec.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
# LIBAVCODEC_INCLUDE_DIRS
# LIBAVCODEC_LIBRARIES
#
# For use in OBS:
#
# FFMPEG_INCLUDE_DIR
#

if(LIBAVCODEC_INCLUDE_DIRS AND LIBAVCODEC_LIBRARIES)
set(LIBAVCODEC_FOUND TRUE)
Expand Down
4 changes: 4 additions & 0 deletions cmake/Modules/FindLibfdk.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
# LIBFDK_INCLUDE_DIRS
# LIBFDK_LIBRARIES
#
# For use in OBS:
#
# Libfdk_INCLUDE_DIR
#

if(LIBFDK_INCLUDE_DIRS AND LIBFDK_LIBRARIES)
set(LIBFDK_FOUND TRUE)
Expand Down
4 changes: 4 additions & 0 deletions cmake/Modules/FindLibx264.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
# LIBX264_INCLUDE_DIRS
# LIBX264_LIBRARIES
#
# For use in OBS:
#
# X264_INCLUDE_DIR
#

if(LIBX264_INCLUDE_DIRS AND LIBX264_LIBRARIES)
set(LIBX264_FOUND TRUE)
Expand Down
97 changes: 90 additions & 7 deletions cmake/Modules/ObsHelpers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,14 @@ function(obs_generate_multiarch_installer)
USE_SOURCE_PERMISSIONS)
endfunction()

function(obs_helper_copy_dir target source dest)
function(obs_helper_copy_dir target target_configs source dest)
add_custom_command(TARGET ${target} POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E copy_directory
"${source}"
"${dest}"
COMMAND "${CMAKE_COMMAND}"
"-DCONFIG=$<CONFIGURATION>"
"-DTARGET_CONFIGS=${target_configs}"
"-DINPUT=${source}"
"-DOUTPUT=${dest}"
-P "${CMAKE_SOURCE_DIR}/cmake/copy_helper.cmake"
VERBATIM)
endfunction()

Expand Down Expand Up @@ -137,6 +140,48 @@ function(obs_install_additional maintarget)
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}"
Expand All @@ -146,17 +191,55 @@ function(obs_install_additional maintarget)
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}
obs_helper_copy_dir(${maintarget} ALL
"${addfdir}/misc/"
"${CMAKE_BINARY_DIR}/rundir/$<CONFIGURATION>/")
obs_helper_copy_dir(${maintarget}
obs_helper_copy_dir(${maintarget} ALL
"${addfdir}/data/"
"${CMAKE_BINARY_DIR}/rundir/$<CONFIGURATION>/${OBS_DATA_DESTINATION}/")
obs_helper_copy_dir(${maintarget}
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()

macro(export_obs_core target exportname)
Expand Down
17 changes: 17 additions & 0 deletions cmake/copy_helper.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@

if(NOT EXISTS "${INPUT}")
return()
endif()

set(_do_pass FALSE)
foreach(target ${TARGET_CONFIGS})
if(target STREQUAL "${CONFIG}" OR target STREQUAL "ALL")
set(_do_pass TRUE)
endif()
endforeach()

if(NOT _do_pass)
return()
endif()

file(COPY "${INPUT}" DESTINATION "${OUTPUT}")
2 changes: 1 addition & 1 deletion libobs-d3d11/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ set(libobs-d3d11_SOURCES
set(libobs-d3d11_HEADERS
d3d11-shaderprocessor.hpp
d3d11-subsystem.hpp)

add_library(libobs-d3d11 MODULE
${libobs-d3d11_SOURCES}
${libobs-d3d11_HEADERS})
Expand Down

0 comments on commit 5c59710

Please sign in to comment.