Skip to content

Commit 29652c0

Browse files
committed
packages/cmake: Fix enable_all_packages functionality.
Signed-off-by: andreidanila1 <[email protected]>
1 parent 8fc1517 commit 29652c0

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

cmake/Modules/PackageUtils.cmake

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,21 +56,28 @@ function(add_subdirectories_with_options base_dir output_dir prefix)
5656
endfunction()
5757

5858
function(enable_all base_dir enable prefix)
59+
cmake_parse_arguments(EA "QUIET" "" "" ${ARGN})
5960
file(GLOB CHILDREN RELATIVE ${base_dir} ${base_dir}/*)
6061
foreach(child ${CHILDREN})
6162
if(IS_DIRECTORY ${base_dir}/${child})
6263
string(TOUPPER ${child} CHILD_UPPER)
6364
set(ENABLE_CHILD_VAR "${prefix}_${CHILD_UPPER}")
6465

65-
if(NOT DEFINED ${ENABLE_CHILD_VAR})
66-
set(${ENABLE_CHILD_VAR} ${enable} CACHE BOOL "Enable ${prefix} ${child}")
66+
if(EA_QUIET)
67+
# Quiet behavior
68+
if(NOT DEFINED ${ENABLE_CHILD_VAR})
69+
set(${ENABLE_CHILD_VAR} ${enable} CACHE BOOL "Enable ${prefix} ${child}")
70+
endif()
71+
else()
72+
# Default behavior
73+
set(${ENABLE_CHILD_VAR} ${enable} CACHE BOOL "Enable ${prefix} ${child}" FORCE)
6774
endif()
6875
endif()
6976
endforeach()
7077
endfunction()
7178

7279
function(enable_all_packages base_dir enable)
73-
enable_all(${base_dir} ${enable} "ENABLE_PACKAGE")
80+
enable_all(${base_dir} ${enable} "ENABLE_PACKAGE" ${ARGN})
7481
endfunction()
7582

7683
function(add_packages base_dir output_dir)

packages/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
3535
endif()
3636
include(PackageUtils)
3737

38-
set(ENABLE_PACKAGE_TEST-PLUGINS OFF)
39-
set(ENABLE_PACKAGE_EXTPROC OFF)
40-
if(DISABLE_ALL_PACKAGES)
38+
set(ENABLE_PACKAGE_TEST-PLUGINS OFF CACHE BOOL "Enable test plugins package" FORCE)
39+
set(ENABLE_PACKAGE_EXTPROC OFF CACHE BOOL "Enable extproc package" FORCE)
40+
if(DISABLE_ALL_PACKAGES MATCHES ON)
4141
enable_all_packages(${CMAKE_CURRENT_SOURCE_DIR} OFF)
4242
message(STATUS "DISABLE_ALL_PACKAGES is set.")
4343
elseif(ENABLE_ALL_PACKAGES MATCHES ON)

0 commit comments

Comments
 (0)