Skip to content

Commit b0c83b9

Browse files
committed
fix(cmake): align log utils resolution with core dependency pattern
1 parent 8f3a05c commit b0c83b9

1 file changed

Lines changed: 29 additions & 28 deletions

File tree

CMakeLists.txt

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -57,38 +57,39 @@ file(GLOB_RECURSE LOG_SOURCES CONFIGURE_DEPENDS
5757
# Utils dependency
5858
option(VIX_LOG_FETCH_UTILS "Auto-fetch vix::utils if missing" ON)
5959

60-
if (DEFINED VIX_UMBRELLA_BUILD AND VIX_UMBRELLA_BUILD)
61-
if (NOT TARGET vix::utils)
62-
message(FATAL_ERROR "[log] Umbrella build: vix::utils must be provided by umbrella before log.")
60+
if (NOT TARGET vix::utils AND NOT TARGET vix_utils)
61+
if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/../utils/CMakeLists.txt")
62+
message(STATUS "[log] Adding utils from sibling: ../utils")
63+
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/../utils" "utils")
64+
else()
65+
find_package(vix_utils CONFIG QUIET)
66+
find_package(utils CONFIG QUIET)
6367
endif()
64-
else()
65-
if (NOT TARGET vix::utils)
66-
if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/../utils/CMakeLists.txt")
67-
message(STATUS "[log] Adding utils from umbrella: ../utils")
68-
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/../utils" "utils")
69-
else()
70-
find_package(vix_utils CONFIG QUIET)
71-
endif()
72-
73-
if (NOT TARGET vix::utils)
74-
if (VIX_LOG_FETCH_UTILS)
75-
include(FetchContent)
76-
message(STATUS "[log] Fetching vix::utils via FetchContent")
77-
FetchContent_Declare(vix_utils
78-
GIT_REPOSITORY https://github.com/vixcpp/utils.git
79-
GIT_TAG v0.1.0
80-
)
81-
FetchContent_MakeAvailable(vix_utils)
82-
else()
83-
message(FATAL_ERROR
84-
"vix::utils not found. Enable VIX_LOG_FETCH_UTILS=ON, install vix_utils, or provide the target before log."
85-
)
86-
endif()
87-
endif()
68+
69+
if (NOT TARGET vix::utils AND NOT TARGET vix_utils AND VIX_LOG_FETCH_UTILS)
70+
include(FetchContent)
71+
message(STATUS "[log] Fetching vix::utils via FetchContent")
72+
FetchContent_Declare(vix_utils
73+
GIT_REPOSITORY https://github.com/vixcpp/utils.git
74+
GIT_TAG v0.1.0
75+
)
76+
FetchContent_MakeAvailable(vix_utils)
8877
endif()
8978
endif()
9079

91-
set(VIX_UTILS_TARGET vix::utils)
80+
set(VIX_UTILS_TARGET "")
81+
if (TARGET vix::utils)
82+
set(VIX_UTILS_TARGET vix::utils)
83+
elseif (TARGET vix_utils)
84+
set(VIX_UTILS_TARGET vix_utils)
85+
endif()
86+
87+
if (NOT VIX_UTILS_TARGET)
88+
message(FATAL_ERROR
89+
"vix::utils not found.\n"
90+
"Provide ../utils, install/export the utils package, or enable VIX_LOG_FETCH_UTILS."
91+
)
92+
endif()
9293

9394
# STATIC
9495
if (LOG_SOURCES)

0 commit comments

Comments
 (0)