Skip to content

Commit a0c0683

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

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

cmake/Modules/PackageUtils.cmake

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,21 +56,34 @@ 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(
60+
EA
61+
"QUIET"
62+
""
63+
""
64+
${ARGN}
65+
)
5966
file(GLOB CHILDREN RELATIVE ${base_dir} ${base_dir}/*)
6067
foreach(child ${CHILDREN})
6168
if(IS_DIRECTORY ${base_dir}/${child})
6269
string(TOUPPER ${child} CHILD_UPPER)
6370
set(ENABLE_CHILD_VAR "${prefix}_${CHILD_UPPER}")
6471

65-
if(NOT DEFINED ${ENABLE_CHILD_VAR})
66-
set(${ENABLE_CHILD_VAR} ${enable} CACHE BOOL "Enable ${prefix} ${child}")
72+
if(EA_QUIET)
73+
# Quiet behavior
74+
if(NOT DEFINED ${ENABLE_CHILD_VAR})
75+
set(${ENABLE_CHILD_VAR} ${enable} CACHE BOOL "Enable ${prefix} ${child}")
76+
endif()
77+
else()
78+
# Default behavior
79+
set(${ENABLE_CHILD_VAR} ${enable} CACHE BOOL "Enable ${prefix} ${child}" FORCE)
6780
endif()
6881
endif()
6982
endforeach()
7083
endfunction()
7184

7285
function(enable_all_packages base_dir enable)
73-
enable_all(${base_dir} ${enable} "ENABLE_PACKAGE")
86+
enable_all(${base_dir} ${enable} "ENABLE_PACKAGE" ${ARGN})
7487
endfunction()
7588

7689
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)