Răsfoiți Sursa

cmake: Fix rundir installation accepting DESTDIR environment variable

The environment variable DESTDIR is commonly used to specify an install-
time prefix for installation of build artifacts (e.g. for staging an
installation in a temporary directory while keeping the overall prefixes
intact).

This variable should be ignored by all targets but the install target,
which requires us to set it to an empty string/path when we use
`install` to set up our rundir.
PatTheMav 3 ani în urmă
părinte
comite
2c8a55f82b
1 a modificat fișierele cu 15 adăugiri și 15 ștergeri
  1. 15 15
      cmake/Modules/ObsHelpers.cmake

+ 15 - 15
cmake/Modules/ObsHelpers.cmake

@@ -57,9 +57,9 @@ function(setup_binary_target target)
     TARGET ${target}
     POST_BUILD
     COMMAND
-      "${CMAKE_COMMAND}" --install .. --config $<CONFIG> --prefix
-      ${OBS_OUTPUT_DIR}/$<CONFIG> --component obs_${target} >
-      "$<IF:$<PLATFORM_ID:Windows>,nul,/dev/null>"
+      "${CMAKE_COMMAND}" -E env DESTDIR= "${CMAKE_COMMAND}" --install ..
+      --config $<CONFIG> --prefix ${OBS_OUTPUT_DIR}/$<CONFIG> --component
+      obs_${target} > "$<IF:$<PLATFORM_ID:Windows>,nul,/dev/null>"
     COMMENT "Installing OBS rundir"
     VERBATIM)
 
@@ -91,9 +91,9 @@ function(setup_plugin_target target)
     TARGET ${target}
     POST_BUILD
     COMMAND
-      "${CMAKE_COMMAND}" --install .. --config $<CONFIG> --prefix
-      ${OBS_OUTPUT_DIR}/$<CONFIG> --component obs_${target} >
-      "$<IF:$<PLATFORM_ID:Windows>,nul,/dev/null>"
+      "${CMAKE_COMMAND}" -E env DESTDIR= "${CMAKE_COMMAND}" --install ..
+      --config $<CONFIG> --prefix ${OBS_OUTPUT_DIR}/$<CONFIG> --component
+      obs_${target} > "$<IF:$<PLATFORM_ID:Windows>,nul,/dev/null>"
     COMMENT "Installing ${target} to OBS rundir"
     VERBATIM)
 
@@ -131,9 +131,9 @@ function(setup_script_plugin_target target)
     TARGET ${target}
     POST_BUILD
     COMMAND
-      "${CMAKE_COMMAND}" --install .. --config $<CONFIG> --prefix
-      ${OBS_OUTPUT_DIR}/$<CONFIG> --component obs_${target} >
-      "$<IF:$<PLATFORM_ID:Windows>,nul,/dev/null>"
+      "${CMAKE_COMMAND}" -E env DESTDIR= "${CMAKE_COMMAND}" --install ..
+      --config $<CONFIG> --prefix ${OBS_OUTPUT_DIR}/$<CONFIG> --component
+      obs_${target} > "$<IF:$<PLATFORM_ID:Windows>,nul,/dev/null>"
     COMMENT "Installing ${target} to OBS rundir"
     VERBATIM)
 
@@ -201,9 +201,9 @@ function(setup_obs_app target)
     TARGET ${target}
     POST_BUILD
     COMMAND
-      "${CMAKE_COMMAND}" --install .. --config $<CONFIG> --prefix
-      ${OBS_OUTPUT_DIR}/$<CONFIG> --component obs_rundir >
-      "$<IF:$<PLATFORM_ID:Windows>,nul,/dev/null>"
+      "${CMAKE_COMMAND}" -E env DESTDIR= "${CMAKE_COMMAND}" --install ..
+      --config $<CONFIG> --prefix ${OBS_OUTPUT_DIR}/$<CONFIG> --component
+      obs_rundir > "$<IF:$<PLATFORM_ID:Windows>,nul,/dev/null>"
     COMMENT "Installing OBS rundir"
     VERBATIM)
 endfunction()
@@ -540,9 +540,9 @@ function(_install_obs_datatarget target destination)
     TARGET ${target}
     POST_BUILD
     COMMAND
-      "${CMAKE_COMMAND}" --install .. --config $<CONFIG> --prefix
-      ${OBS_OUTPUT_DIR}/$<CONFIG> --component obs_${target} >
-      "$<IF:$<PLATFORM_ID:Windows>,nul,/dev/null>"
+      "${CMAKE_COMMAND}" -E env DESTDIR= "${CMAKE_COMMAND}" --install ..
+      --config $<CONFIG> --prefix ${OBS_OUTPUT_DIR}/$<CONFIG> --component
+      obs_${target} > "$<IF:$<PLATFORM_ID:Windows>,nul,/dev/null>"
     COMMENT "Installing ${target} to OBS rundir"
     VERBATIM)
 endfunction()