From 40662a31bb4f466dac46d7036b1ddf146a50ecc7 Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Thu, 10 Aug 2023 12:26:12 +0200 Subject: [PATCH] Add possibility to exclude packages --- deps/CMakeLists.txt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index 776956ab1d..e44b447ae8 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -26,6 +26,8 @@ cmake_minimum_required(VERSION 3.12) project(PrusaSlicer_deps) +set(${PROJECT_NAME}_PACKAGE_EXCLUDES "" CACHE STRING "Exclude packages matching this regex pattern") + if (MSVC) option(DEP_DEBUG "Build in debug version of packages automatically" OFF) endif () @@ -87,9 +89,9 @@ if (APPLE) ) endif () -list_projects(SUPPORTED_PACKAGES ${CMAKE_CURRENT_LIST_DIR}) +list_projects(FOUND_PACKAGES ${CMAKE_CURRENT_LIST_DIR}) -dep_message(STATUS "Found external package definitions: ${SUPPORTED_PACKAGES}") +dep_message(STATUS "Found external package definitions: ${FOUND_PACKAGES}") set(REQUIRED_PACKAGES Boost @@ -128,11 +130,14 @@ set(PATCH_CMD ${GIT_EXECUTABLE} apply --verbose --ignore-space-change --whitespa set(_dep_list "") set(_build_list "") -foreach (pkg ${SUPPORTED_PACKAGES}) +set(SUPPORTED_PACKAGES "") +foreach (pkg ${FOUND_PACKAGES}) cmake_dependent_option(${PROJECT_NAME}_SELECT_${pkg} "Select package ${pkg} to be built." OFF "NOT ${PROJECT_NAME}_SELECT_ALL" OFF) - if (${PROJECT_NAME}_SELECT_ALL OR ${PROJECT_NAME}_SELECT_${pkg}) + if (NOT ${PROJECT_NAME}_PACKAGE_EXCLUDES MATCHES ${pkg} AND (${PROJECT_NAME}_SELECT_ALL OR ${PROJECT_NAME}_SELECT_${pkg})) include(+${pkg}/${pkg}.cmake) + list(APPEND SUPPORTED_PACKAGES ${pkg}) + if (${pkg} IN_LIST REQUIRED_PACKAGES) list(APPEND _dep_list dep_${pkg}) endif ()