OpenMiInk/third_party/krita-deps-management/ext_boost/run-b2-with-destdir.cmake
Hellings b8c8ff98e2 Hi
2026-10-16 09:05:56 -04:00

48 lines
1.3 KiB
CMake

if (DEFINED ENV{DESTDIR})
set(DESTDIR $ENV{DESTDIR})
cmake_path(ABSOLUTE_PATH PREFIX NORMALIZE)
cmake_path(ABSOLUTE_PATH DESTDIR NORMALIZE)
cmake_path(GET PREFIX RELATIVE_PART RELATIVE_PREFIX)
# message("prefix ${PREFIX}")
# message("relprefix ${RELATIVE_PREFIX}")
cmake_path(APPEND NEWPREFIX ${DESTDIR} ${RELATIVE_PREFIX})
set(PREFIX ${NEWPREFIX})
# message("finalprefix ${PREFIX}")
endif()
if (NOT DEFINED B2_COMMAND)
if(WIN32)
set(B2_COMMAND "b2")
else()
set(B2_COMMAND "./b2")
endif()
endif()
if (LAZY_CREATE_PREFIX AND NOT EXISTS ${PREFIX})
if (EXISTS ${PREFIX} AND NOT IS_DIRECTORY ${PREFIX})
message (FATAL_ERROR "Prefix path exists, but not a directory! (${PREFIX})")
endif()
file(MAKE_DIRECTORY ${PREFIX})
endif ()
set(FOUND_SEPARATOR FALSE)
foreach(i RANGE 0 ${CMAKE_ARGC})
if ("${CMAKE_ARGV${i}}" STREQUAL "--")
set(FOUND_SEPARATOR TRUE)
elseif (FOUND_SEPARATOR)
list(APPEND EXTRA_ARGS ${CMAKE_ARGV${i}})
endif()
endforeach()
# message("extra args: ${EXTRA_ARGS}")
message ("Running b2 with args: --prefix=${PREFIX} ${EXTRA_ARGS}")
execute_process(COMMAND ${B2_COMMAND} --prefix=${PREFIX} ${EXTRA_ARGS} RESULTS_VARIABLE RETVAL)
if (RETVAL)
message(FATAL_ERROR "failed to run b2")
endif()