Skip to content

Commit fae2ad5

Browse files
committed
FindAzmqLibzmq: Avoid using ALIAS targets
When using target_link_libraries, the ALIAS target is resolved. So the generated azmqTargets.cmake can end up with something like set_target_properties(Azmq::azmq PROPERTIES ... INTERFACE_LINK_LIBRARIES "PkgConfig::LIBZMQ;... making the include(${CMAKE_CURRENT_LIST_DIR}/FindAzmqLibzmq.cmake) in azmqConfig.cmake meaningless. We want that PkgConfig::LIBZMQ to stay as Azmq::libzmq, so it can be resolved to the correct target at use time.
1 parent 9356e73 commit fae2ad5

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

FindAzmqLibzmq.cmake

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,17 @@
99
if (TARGET Azmq::libzmq)
1010
# allow overriding from the calling script
1111
message(STATUS "using provided Azmq::libzmq target")
12-
elseif (TARGET libzmq AND BUILD_SHARED_LIBS)
12+
return()
13+
else()
14+
add_library(Azmq::libzmq INTERFACE IMPORTED)
15+
endif()
16+
17+
if (TARGET libzmq AND BUILD_SHARED_LIBS)
1318
message(STATUS "using existing shared library target")
14-
add_library(Azmq::libzmq ALIAS libzmq)
19+
target_link_libraries(Azmq::libzmq ALIAS libzmq)
1520
elseif (TARGET libzmq-static AND NOT BUILD_SHARED_LIBS)
1621
message(STATUS "using existing static library target")
17-
add_library(Azmq::libzmq ALIAS libzmq-static)
22+
target_link_libraries(Azmq::libzmq INTERFACE libzmq-static)
1823
else ()
1924
# try finding the package
2025
find_package(ZeroMQ QUIET)
@@ -24,14 +29,14 @@ else ()
2429
if (BUILD_SHARED_LIBS)
2530
if (TARGET libzmq)
2631
message(STATUS "using cmake config libzmq")
27-
add_library(Azmq::libzmq ALIAS libzmq)
32+
target_link_libraries(Azmq::libzmq INTERFACE libzmq)
2833
else ()
2934
message(FATAL_ERROR "libzmq not exported in the cmake configuration")
3035
endif ()
3136
else ()
3237
if (TARGET libzmq-static)
3338
message(STATUS "using cmake config static libzmq")
34-
add_library(Azmq::libzmq ALIAS libzmq-static)
39+
target_link_libraries(Azmq::libzmq INTERFACE libzmq-static)
3540
else ()
3641
message(FATAL_ERROR "libzmq-static not exported in the cmake configuration")
3742
endif ()
@@ -42,7 +47,7 @@ else ()
4247
find_package(PkgConfig REQUIRED)
4348
pkg_check_modules(LIBZMQ REQUIRED IMPORTED_TARGET GLOBAL libzmq)
4449
if (LIBZMQ_FOUND)
45-
add_library(Azmq::libzmq ALIAS PkgConfig::LIBZMQ)
50+
target_link_libraries(Azmq::libzmq INTERFACE PkgConfig::LIBZMQ)
4651
else ()
4752
message(FAIL_ERROR "Can't find the required libzmq library")
4853
endif ()

0 commit comments

Comments
 (0)