Skip to content

Commit a6b68a9

Browse files
authored
Merge pull request #11 from nonbanana/fix/win-monolith-build
FIX: fix link error when LIVE555_MONOLITH_BUILD is ON
2 parents 1c6e941 + 63fba40 commit a6b68a9

File tree

1 file changed

+32
-21
lines changed

1 file changed

+32
-21
lines changed

CMakeLists.txt

+32-21
Original file line numberDiff line numberDiff line change
@@ -283,20 +283,38 @@ endif()
283283
if(LIVE555_MONOLITH_BUILD)
284284
message(STATUS "Shared library")
285285

286-
add_library(live555 SHARED
287-
$<TARGET_OBJECTS:UsageEnvironment>
288-
$<TARGET_OBJECTS:groupsock>
289-
$<TARGET_OBJECTS:BasicUsageEnvironment>
290-
$<TARGET_OBJECTS:liveMedia>
291-
$<TARGET_OBJECTS:EpollTaskScheduler>
292-
)
293-
target_include_directories(live555 INTERFACE
294-
$<BUILD_INTERFACE:${live555_SOURCE_DIR}/UsageEnvironment/include>
295-
$<BUILD_INTERFACE:${live555_SOURCE_DIR}/groupsock/include>
296-
$<BUILD_INTERFACE:${live555_SOURCE_DIR}/BasicUsageEnvironment/include>
297-
$<BUILD_INTERFACE:${live555_SOURCE_DIR}/liveMedia/include>
298-
$<BUILD_INTERFACE:${live555_SOURCE_DIR}/EpollTaskScheduler/include>
299-
)
286+
287+
if(TARGET EpollTaskScheduler)
288+
add_library(live555 SHARED
289+
$<TARGET_OBJECTS:UsageEnvironment>
290+
$<TARGET_OBJECTS:groupsock>
291+
$<TARGET_OBJECTS:BasicUsageEnvironment>
292+
$<TARGET_OBJECTS:liveMedia>
293+
$<TARGET_OBJECTS:EpollTaskScheduler>
294+
)
295+
target_include_directories(live555 INTERFACE
296+
$<BUILD_INTERFACE:${live555_SOURCE_DIR}/UsageEnvironment/include>
297+
$<BUILD_INTERFACE:${live555_SOURCE_DIR}/groupsock/include>
298+
$<BUILD_INTERFACE:${live555_SOURCE_DIR}/BasicUsageEnvironment/include>
299+
$<BUILD_INTERFACE:${live555_SOURCE_DIR}/liveMedia/include>
300+
$<BUILD_INTERFACE:${live555_SOURCE_DIR}/EpollTaskScheduler/include>
301+
)
302+
add_library(live555::EpollTaskScheduler ALIAS live555)
303+
else()
304+
add_library(live555 SHARED
305+
$<TARGET_OBJECTS:UsageEnvironment>
306+
$<TARGET_OBJECTS:groupsock>
307+
$<TARGET_OBJECTS:BasicUsageEnvironment>
308+
$<TARGET_OBJECTS:liveMedia>
309+
)
310+
target_include_directories(live555 INTERFACE
311+
$<BUILD_INTERFACE:${live555_SOURCE_DIR}/UsageEnvironment/include>
312+
$<BUILD_INTERFACE:${live555_SOURCE_DIR}/groupsock/include>
313+
$<BUILD_INTERFACE:${live555_SOURCE_DIR}/BasicUsageEnvironment/include>
314+
$<BUILD_INTERFACE:${live555_SOURCE_DIR}/liveMedia/include>
315+
)
316+
endif()
317+
300318
if(MSVC)
301319
target_link_libraries(live555 PUBLIC ws2_32)
302320
endif()
@@ -307,13 +325,6 @@ if(LIVE555_MONOLITH_BUILD)
307325
)
308326
set(LIB_EXTENSION ".dll")
309327
endif ()
310-
if(TARGET EpollTaskScheduler)
311-
target_link_libraries(live555 INTERFACE
312-
$<TARGET_OBJECTS:EpollTaskScheduler>)
313-
target_include_directories(live555 INTERFACE
314-
$<BUILD_INTERFACE:${live555_SOURCE_DIR}/EpollTaskScheduler/include>)
315-
add_library(live555::EpollTaskScheduler ALIAS EpollTaskScheduler)
316-
endif()
317328
if(LIVE555_ENABLE_OPENSSL)
318329
message(STATUS "find package OpenSSL.")
319330
find_package(OpenSSL REQUIRED COMPONENTS Crypto SSL)

0 commit comments

Comments
 (0)