Skip to content

Commit a61432a

Browse files
committed
fix(cmake): skip websocket export with local dependencies
1 parent 00cbc81 commit a61432a

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

CMakeLists.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,16 @@ option(
7575
ON
7676
)
7777

78+
# A standalone WebSocket build may resolve its public dependencies from
79+
# sibling source directories. Those targets are not part of WebSocket's
80+
# export set, so exporting WebSocket alone would create an invalid package.
81+
set(VIX_WEBSOCKET_HAS_LOCAL_DEPENDENCIES OFF)
82+
7883
if (NOT TARGET vix::core AND NOT TARGET vix_core)
7984
if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/../core/CMakeLists.txt")
8085
message(STATUS "[websocket] Adding core from umbrella: ../core")
8186
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/../core" "${CMAKE_CURRENT_BINARY_DIR}/core")
87+
set(VIX_WEBSOCKET_HAS_LOCAL_DEPENDENCIES ON)
8288
elseif (VIX_WEBSOCKET_FETCH_CORE)
8389
include(FetchContent)
8490
message(STATUS "[websocket] Fetching vix::core via FetchContent")
@@ -99,6 +105,7 @@ if (NOT TARGET vix::utils AND NOT TARGET vix_utils)
99105
if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/../utils/CMakeLists.txt")
100106
message(STATUS "[websocket] Adding utils from umbrella: ../utils")
101107
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/../utils" "${CMAKE_CURRENT_BINARY_DIR}/utils")
108+
set(VIX_WEBSOCKET_HAS_LOCAL_DEPENDENCIES ON)
102109
elseif (VIX_WEBSOCKET_FETCH_UTILS)
103110
include(FetchContent)
104111
message(STATUS "[websocket] Fetching vix::utils via FetchContent")
@@ -114,6 +121,15 @@ if (NOT TARGET vix::utils AND NOT TARGET vix_utils)
114121
endif()
115122
endif()
116123

124+
if (
125+
VIX_WEBSOCKET_ENABLE_INSTALL
126+
AND VIX_WEBSOCKET_HAS_LOCAL_DEPENDENCIES
127+
AND NOT (DEFINED VIX_UMBRELLA_BUILD AND VIX_UMBRELLA_BUILD)
128+
)
129+
message(STATUS "[websocket] Local sibling dependencies detected; skipping standalone package export.")
130+
set(VIX_WEBSOCKET_ENABLE_INSTALL OFF)
131+
endif()
132+
117133
if (TARGET vix::core)
118134
set(VIX_CORE_TARGET vix::core)
119135
elseif (TARGET vix_core)

0 commit comments

Comments
 (0)