Skip to content

Commit 38ca3b4

Browse files
committed
fix(cmake): resolve utils from local sibling, parent sibling, or installed package
1 parent 38d3bc2 commit 38ca3b4

1 file changed

Lines changed: 13 additions & 6 deletions

File tree

CMakeLists.txt

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,21 @@ file(GLOB_RECURSE LOG_SOURCES CONFIGURE_DEPENDS
5656
)
5757

5858
# Utils dependency
59-
if (NOT TARGET vix::utils AND NOT TARGET vix_utils)
60-
if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/../utils/CMakeLists.txt")
61-
message(STATUS "[log] Adding utils from sibling: ../utils")
59+
if (NOT TARGET vix::utils AND NOT TARGET vix_utils AND NOT TARGET utils)
60+
if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/utils/CMakeLists.txt")
61+
message(STATUS "[log] Adding utils from local sibling: ./utils")
62+
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/utils" "utils")
63+
elseif (EXISTS "${CMAKE_CURRENT_LIST_DIR}/../utils/CMakeLists.txt")
64+
message(STATUS "[log] Adding utils from parent sibling: ../utils")
6265
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/../utils" "utils")
6366
endif()
6467

65-
if (NOT TARGET vix::utils AND NOT TARGET vix_utils)
68+
if (NOT TARGET vix::utils AND NOT TARGET vix_utils AND NOT TARGET utils)
6669
find_package(vix_utils CONFIG QUIET)
6770
find_package(utils CONFIG QUIET)
6871
endif()
6972

70-
if (NOT TARGET vix::utils AND NOT TARGET vix_utils AND VIX_LOG_FETCH_UTILS)
73+
if (NOT TARGET vix::utils AND NOT TARGET vix_utils AND NOT TARGET utils AND VIX_LOG_FETCH_UTILS)
7174
include(FetchContent)
7275
message(STATUS "[log] Fetching vix::utils via FetchContent")
7376
FetchContent_Declare(vix_utils
@@ -83,12 +86,16 @@ if (TARGET vix::utils)
8386
set(VIX_UTILS_TARGET vix::utils)
8487
elseif (TARGET vix_utils)
8588
set(VIX_UTILS_TARGET vix_utils)
89+
elseif (TARGET utils)
90+
set(VIX_UTILS_TARGET utils)
8691
endif()
8792

8893
if (NOT VIX_UTILS_TARGET)
8994
message(FATAL_ERROR
9095
"vix::utils not found.\n"
91-
"Provide ../utils in the umbrella build, or install/export the utils package."
96+
"Searched in ./utils, ../utils, installed packages (vix_utils / utils), "
97+
"and optional FetchContent.\n"
98+
"Provide utils in the umbrella build, or install/export the utils package."
9299
)
93100
endif()
94101

0 commit comments

Comments
 (0)