Skip to content

Commit 444e9da

Browse files
Merge pull request #1278 from paullouisageneau/fix-static-deps-install
CMake: Prevent installing static deps when building shared library
2 parents 4e95467 + 4bfb6cc commit 444e9da

File tree

1 file changed

+24
-16
lines changed

1 file changed

+24
-16
lines changed

CMakeLists.txt

+24-16
Original file line numberDiff line numberDiff line change
@@ -270,8 +270,11 @@ endif()
270270
target_compile_definitions(datachannel-static PRIVATE RTC_EXPORTS)
271271
target_compile_definitions(datachannel-static PUBLIC RTC_STATIC)
272272

273-
if(NOT BUILD_SHARED_DEPS_LIBS)
273+
if(BUILD_SHARED_LIBS AND NOT BUILD_SHARED_DEPS_LIBS)
274274
set(BUILD_SHARED_LIBS OFF)
275+
set(INSTALL_DEPS_LIBS OFF)
276+
else()
277+
set(INSTALL_DEPS_LIBS ON)
275278
endif()
276279

277280
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
@@ -304,19 +307,20 @@ else()
304307
endif()
305308
add_library(Usrsctp::Usrsctp ALIAS usrsctp)
306309

307-
# usrsctp lacks an export set
308-
install(TARGETS usrsctp EXPORT UsrsctpTargets)
309-
install(EXPORT UsrsctpTargets
310-
FILE UsrsctpTargets.cmake
311-
NAMESPACE Usrsctp::
312-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/usrsctp
313-
EXCLUDE_FROM_ALL)
314-
315-
# Fix directories
316-
set_target_properties(usrsctp PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "")
317-
target_include_directories(usrsctp INTERFACE
318-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/deps/usrsctp/usrsctplib>
319-
$<INSTALL_INTERFACE:>)
310+
if(INSTALL_DEPS_LIBS)
311+
# usrsctp lacks an export set
312+
install(TARGETS usrsctp EXPORT UsrsctpTargets)
313+
install(EXPORT UsrsctpTargets
314+
FILE UsrsctpTargets.cmake
315+
NAMESPACE Usrsctp::
316+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/usrsctp
317+
EXCLUDE_FROM_ALL)
318+
# Fix directories
319+
set_target_properties(usrsctp PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "")
320+
target_include_directories(usrsctp INTERFACE
321+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/deps/usrsctp/usrsctplib>
322+
$<INSTALL_INTERFACE:>)
323+
endif()
320324
endif()
321325

322326
target_include_directories(datachannel PUBLIC
@@ -376,7 +380,9 @@ else()
376380
else()
377381
if(NOT TARGET srtp2)
378382
add_subdirectory(deps/libsrtp EXCLUDE_FROM_ALL)
379-
install(TARGETS srtp2)
383+
if(INSTALL_DEPS_LIBS)
384+
install(TARGETS srtp2)
385+
endif()
380386
endif()
381387
target_compile_definitions(datachannel PRIVATE RTC_SYSTEM_SRTP=0)
382388
target_compile_definitions(datachannel-static PRIVATE RTC_SYSTEM_SRTP=0)
@@ -454,7 +460,9 @@ else()
454460
target_link_libraries(datachannel-static PRIVATE LibJuice::LibJuice)
455461
else()
456462
add_subdirectory(deps/libjuice EXCLUDE_FROM_ALL)
457-
install(TARGETS juice)
463+
if(INSTALL_DEPS_LIBS)
464+
install(TARGETS juice)
465+
endif()
458466
target_compile_definitions(datachannel PRIVATE RTC_SYSTEM_JUICE=0)
459467
target_compile_definitions(datachannel-static PRIVATE RTC_SYSTEM_JUICE=0)
460468
target_link_libraries(datachannel PRIVATE LibJuice::LibJuice)

0 commit comments

Comments
 (0)