diff options
author | Silvio Traversaro <silvio@traversaro.it> | 2024-01-29 19:32:31 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2024-01-30 16:44:45 (GMT) |
commit | 06af18b9db267926dfd8fd346328a64a41238aa3 (patch) | |
tree | b042ca401e723dcae50ddafe04bf5629826d6cc8 /Tests | |
parent | b0d8b857d8ae4afe83d05eaad451b628817b6dce (diff) | |
download | CMake-06af18b9db267926dfd8fd346328a64a41238aa3.zip CMake-06af18b9db267926dfd8fd346328a64a41238aa3.tar.gz CMake-06af18b9db267926dfd8fd346328a64a41238aa3.tar.bz2 |
cmake: Allow CMAKE_INSTALL_PREFIX to be set by environment variable
Fixes: #25023
Diffstat (limited to 'Tests')
7 files changed, 23 insertions, 0 deletions
diff --git a/Tests/RunCMake/CommandLine/EnvInstallPrefix-stdout.txt b/Tests/RunCMake/CommandLine/EnvInstallPrefix-stdout.txt new file mode 100644 index 0000000..a0ca3d5 --- /dev/null +++ b/Tests/RunCMake/CommandLine/EnvInstallPrefix-stdout.txt @@ -0,0 +1,3 @@ +-- ENV{CMAKE_INSTALL_PREFIX}='[^']*/Tests/RunCMake/CommandLine/install_prefix_set_via_env_var' +-- CMAKE_INSTALL_PREFIX='[^']*/Tests/RunCMake/CommandLine/install_prefix_set_via_env_var' +-- CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT='' diff --git a/Tests/RunCMake/CommandLine/EnvInstallPrefix.cmake b/Tests/RunCMake/CommandLine/EnvInstallPrefix.cmake new file mode 100644 index 0000000..24b1840 --- /dev/null +++ b/Tests/RunCMake/CommandLine/EnvInstallPrefix.cmake @@ -0,0 +1,3 @@ +message(STATUS "ENV{CMAKE_INSTALL_PREFIX}='$ENV{CMAKE_INSTALL_PREFIX}'") +message(STATUS "CMAKE_INSTALL_PREFIX='${CMAKE_INSTALL_PREFIX}'") +message(STATUS "CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT='${CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT}'") diff --git a/Tests/RunCMake/CommandLine/EnvInstallPrefixOverrideWithCmdLineOpt-stdout.txt b/Tests/RunCMake/CommandLine/EnvInstallPrefixOverrideWithCmdLineOpt-stdout.txt new file mode 100644 index 0000000..b95e277 --- /dev/null +++ b/Tests/RunCMake/CommandLine/EnvInstallPrefixOverrideWithCmdLineOpt-stdout.txt @@ -0,0 +1,3 @@ +-- ENV{CMAKE_INSTALL_PREFIX}='[^']*/Tests/RunCMake/CommandLine/install_prefix_set_via_env_var' +-- CMAKE_INSTALL_PREFIX='[^']*/Tests/RunCMake/CommandLine/install_prefix_set_cmd_line_opt' +-- CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT='' diff --git a/Tests/RunCMake/CommandLine/EnvInstallPrefixOverrideWithCmdLineOpt.cmake b/Tests/RunCMake/CommandLine/EnvInstallPrefixOverrideWithCmdLineOpt.cmake new file mode 100644 index 0000000..6de6be6 --- /dev/null +++ b/Tests/RunCMake/CommandLine/EnvInstallPrefixOverrideWithCmdLineOpt.cmake @@ -0,0 +1 @@ +include(EnvInstallPrefix.cmake) diff --git a/Tests/RunCMake/CommandLine/EnvInstallPrefixOverrideWithVar-stdout.txt b/Tests/RunCMake/CommandLine/EnvInstallPrefixOverrideWithVar-stdout.txt new file mode 100644 index 0000000..3b7181d --- /dev/null +++ b/Tests/RunCMake/CommandLine/EnvInstallPrefixOverrideWithVar-stdout.txt @@ -0,0 +1,3 @@ +-- ENV{CMAKE_INSTALL_PREFIX}='[^']*/Tests/RunCMake/CommandLine/install_prefix_set_via_env_var' +-- CMAKE_INSTALL_PREFIX='[^']*/Tests/RunCMake/CommandLine/install_prefix_set_via_var' +-- CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT='' diff --git a/Tests/RunCMake/CommandLine/EnvInstallPrefixOverrideWithVar.cmake b/Tests/RunCMake/CommandLine/EnvInstallPrefixOverrideWithVar.cmake new file mode 100644 index 0000000..6de6be6 --- /dev/null +++ b/Tests/RunCMake/CommandLine/EnvInstallPrefixOverrideWithVar.cmake @@ -0,0 +1 @@ +include(EnvInstallPrefix.cmake) diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake index 03b9301..7b34773 100644 --- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake +++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake @@ -459,6 +459,15 @@ elseif(RunCMake_GENERATOR MATCHES "Ninja Multi-Config|Visual Studio|Xcode") run_EnvironmentConfigTypes() endif() +function(run_EnvironmentInstallPrefix) + set(ENV{CMAKE_INSTALL_PREFIX} "${RunCMake_BINARY_DIR}/install_prefix_set_via_env_var") + run_cmake(EnvInstallPrefix) + run_cmake_with_options(EnvInstallPrefixOverrideWithVar -DCMAKE_INSTALL_PREFIX=${RunCMake_BINARY_DIR}/install_prefix_set_via_var) + run_cmake_with_options(EnvInstallPrefixOverrideWithCmdLineOpt --install-prefix ${RunCMake_BINARY_DIR}/install_prefix_set_cmd_line_opt) + unset(ENV{CMAKE_INSTALL_PREFIX}) +endfunction() +run_EnvironmentInstallPrefix() + function(run_EnvironmentToolchain) set(ENV{CMAKE_TOOLCHAIN_FILE} "${RunCMake_SOURCE_DIR}/EnvToolchain-toolchain.cmake") run_cmake(EnvToolchainAbsolute) |