Skip to content

Commit c0e76e7

Browse files
authored
Merge pull request #356 from ferdnyc/windows-zeromq
Fix target creation/importing for ZeroMQ on Windows
2 parents c4730da + fa3f83d commit c0e76e7

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

cmake/Modules/FindZeroMQ.cmake

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,17 @@ set(ZeroMQ_INCLUDE_DIRS ${ZeroMQ_INCLUDE_DIR})
2323
list(APPEND ZeroMQ_INCLUDE_DIRS ${PC_LIBZMQ_INCLUDE_DIRS})
2424
list(REMOVE_DUPLICATES ZeroMQ_INCLUDE_DIRS)
2525

26-
add_library(libzmq SHARED IMPORTED)
27-
set_property(TARGET libzmq PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${ZeroMQ_INCLUDE_DIRS})
28-
set_property(TARGET libzmq PROPERTY IMPORTED_LOCATION ${ZeroMQ_LIBRARY})
26+
if(ZeroMQ_LIBRARY)
27+
add_library(libzmq SHARED IMPORTED)
28+
set_property(TARGET libzmq PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${ZeroMQ_INCLUDE_DIRS})
29+
set_property(TARGET libzmq PROPERTY IMPORTED_LOCATION ${ZeroMQ_LIBRARY})
30+
endif()
2931

30-
add_library(libzmq-static STATIC IMPORTED ${ZeroMQ_INCLUDE_DIRS})
31-
set_property(TARGET libzmq-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${ZeroMQ_INCLUDE_DIRS})
32-
set_property(TARGET libzmq-static PROPERTY IMPORTED_LOCATION ${ZeroMQ_STATIC_LIBRARY})
32+
if(ZeroMQ_LIBRARY_STATIC)
33+
add_library(libzmq-static STATIC IMPORTED ${ZeroMQ_INCLUDE_DIRS})
34+
set_property(TARGET libzmq-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${ZeroMQ_INCLUDE_DIRS})
35+
set_property(TARGET libzmq-static PROPERTY IMPORTED_LOCATION ${ZeroMQ_STATIC_LIBRARY})
36+
endif()
3337

3438
include(FindPackageHandleStandardArgs)
3539
find_package_handle_standard_args(ZeroMQ

src/CMakeLists.txt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -330,8 +330,13 @@ find_package(ZeroMQ REQUIRED) # Creates libzmq target
330330
# others (Ubuntu) bundle them in with libzmq itself
331331
find_package(cppzmq QUIET) # Creates cppzmq target
332332

333-
# Include ZeroMQ headers (needed for compile)
334-
target_link_libraries(openshot PUBLIC libzmq)
333+
# Link ZeroMQ (shared or static, whichever's found)
334+
if (TARGET libzmq)
335+
target_link_libraries(openshot PUBLIC libzmq)
336+
elseif (TARGET libzmq-static)
337+
target_link_libraries(openshot PRIVATE libzmq-static)
338+
endif()
339+
# Include cppzmq headers, if not bundled into libzmq
335340
if (TARGET cppzmq)
336341
target_link_libraries(openshot PUBLIC cppzmq)
337342
endif()

0 commit comments

Comments
 (0)