mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-06-04 11:14:17 +08:00
64 lines
1.8 KiB
CMake
64 lines
1.8 KiB
CMake
if (NOT ${PROJECT_NAME}_DEPS_PRESET)
|
|
set (${PROJECT_NAME}_DEPS_PRESET "default")
|
|
endif ()
|
|
|
|
set (_output_quiet "")
|
|
if (${PROJECT_NAME}_DEPS_OUTPUT_QUIET)
|
|
set (_output_quiet OUTPUT_QUIET)
|
|
endif ()
|
|
|
|
message(STATUS "Building the dependencies with preset ${${PROJECT_NAME}_DEPS_PRESET}")
|
|
|
|
set(_gen_arg "")
|
|
if (CMAKE_GENERATOR)
|
|
set (_gen_arg "-G${CMAKE_GENERATOR}")
|
|
endif ()
|
|
|
|
set(_build_args "")
|
|
|
|
if (CMAKE_C_COMPILER)
|
|
list(APPEND _build_args "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}")
|
|
endif ()
|
|
|
|
if (CMAKE_CXX_COMPILER)
|
|
list(APPEND _build_args "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}")
|
|
endif ()
|
|
|
|
if (CMAKE_TOOLCHAIN_FILE)
|
|
list(APPEND _build_args "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}")
|
|
endif ()
|
|
|
|
set(_build_dir "${CMAKE_CURRENT_LIST_DIR}/build-${${PROJECT_NAME}_DEPS_PRESET}")
|
|
if (${PROJECT_NAME}_DEPS_BUILD_DIR)
|
|
set(_build_dir "${${PROJECT_NAME}_DEPS_BUILD_DIR}")
|
|
endif ()
|
|
|
|
message(STATUS "build dir = ${_build_dir}")
|
|
|
|
execute_process(
|
|
COMMAND ${CMAKE_COMMAND} --preset ${${PROJECT_NAME}_DEPS_PRESET} "${_gen_arg}" -B ${_build_dir} ${_build_args}
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
|
${_output_quiet}
|
|
ERROR_VARIABLE _deps_configure_output
|
|
RESULT_VARIABLE _deps_configure_result
|
|
)
|
|
|
|
if (NOT _deps_configure_result EQUAL 0)
|
|
message(FATAL_ERROR "Dependency configure failed with output:\n${_deps_configure_output}")
|
|
else ()
|
|
execute_process(
|
|
COMMAND ${CMAKE_COMMAND} --build .
|
|
WORKING_DIRECTORY ${_build_dir}
|
|
${_output_quiet}
|
|
ERROR_VARIABLE _deps_build_output
|
|
RESULT_VARIABLE _deps_build_result
|
|
)
|
|
if (NOT _deps_build_result EQUAL 0)
|
|
message(FATAL_ERROR "Dependency build failed with output:\n${_deps_build_output}")
|
|
endif ()
|
|
endif ()
|
|
|
|
list(APPEND CMAKE_PREFIX_PATH ${_build_dir}/destdir/usr/local)
|
|
set(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH}" CACHE STRING "")
|
|
|