Files
CMake/Tests/RunCMake/ExternalProject/Add_StepDependencies.cmake
15daksh-2003 2b07afa1a1 ExternalProject: Default CMAKE_INSTALL_PREFIX to INSTALL_DIR
The default CMake configure command never set an install prefix, so
external projects installed to /usr/local rather than the INSTALL_DIR
the module already reserves. Add policy CMP0225 to pass it by default;
an explicit prefix from the caller still takes precedence.

Fixes: #27050
2026-09-23 18:41:33 +05:30

28 lines
1.1 KiB
CMake

cmake_policy(VERSION ${CMAKE_VERSION})
if(CMAKE_XCODE_BUILD_SYSTEM VERSION_GREATER_EQUAL 12)
cmake_policy(SET CMP0114 NEW)
else()
cmake_policy(SET CMP0114 OLD) # Test deprecated behavior.
endif()
cmake_policy(SET CMP0135 NEW)
cmake_policy(SET CMP0225 NEW)
include(ExternalProject)
ExternalProject_Add(BAR URL https://cmake.org/bar.tar.gz)
ExternalProject_Add(FOO URL https://cmake.org/foo.tar.gz STEP_TARGETS update)
ExternalProject_Add_Step(FOO do_something COMMAND ${CMAKE_COMMAND} -E echo "Doing something")
ExternalProject_Add_Step(FOO do_something_else COMMAND ${CMAKE_COMMAND} -E echo "Doing something else")
ExternalProject_Add_StepTargets(FOO do_something)
# download and do_something_else are not targets, but the file-level
# dependency are set.
ExternalProject_Add_StepDependencies(FOO download BAR)
ExternalProject_Add_StepDependencies(FOO do_something_else BAR)
# update and do_something are targets, therefore both file-level and
# target-level dependencies are set.
ExternalProject_Add_StepDependencies(FOO update BAR)
ExternalProject_Add_StepDependencies(FOO do_something BAR)