@@ -7,19 +7,17 @@ include (DetectCPPZMQVersion)
77
88project (cppzmq VERSION ${DETECTED_CPPZMQ_VERSION} )
99
10- include (xpflags )
11- if (DEFINED XP_NAMESPACE)
12- set (nSpace ${XP_NAMESPACE} ::)
13- set (nameSpace NAMESPACE ${nSpace} )
14- endif ()
15-
16- if (NOT TARGET ${nSpace} libzmq AND NOT TARGET ${nSpace} libzmq-static)
10+ if (NOT TARGET libzmq AND NOT TARGET libzmq-static)
1711 if (COMMAND xpFindPkg)
18- xpFindPkg ( PKGS libzmq )
12+ find_package ( libzmq )
1913 set (ZeroMQ_FOUND TRUE )
14+ set (_libzmq ${XP_NAMESPACE} ::libzmq)
15+ set (_libzmqStatic ${XP_NAMESPACE} ::libzmq-static)
2016 set (installTargets cppzmq-static)
2117 else ()
2218 find_package (ZeroMQ QUIET )
19+ set (_libzmq libzmq)
20+ set (_libzmqStatic libzmq-static)
2321 set (installTargets cppzmq cppzmq-static)
2422 endif ()
2523
@@ -35,7 +33,7 @@ if (NOT TARGET ${nSpace}libzmq AND NOT TARGET ${nSpace}libzmq-static)
3533 message (FATAL_ERROR "ZeroMQ was not found, neither as a CMake package nor via pkg-config" )
3634 endif ()
3735
38- if (ZeroMQ_FOUND AND NOT (TARGET ${nSpace} libzmq OR TARGET ${nSpace} libzmq-static ))
36+ if (ZeroMQ_FOUND AND NOT (TARGET ${_libzmq} OR TARGET ${_libzmqStatic} ))
3937 message (FATAL_ERROR "ZeroMQ version not supported!" )
4038 endif ()
4139endif ()
@@ -65,17 +63,27 @@ foreach (target cppzmq cppzmq-static)
6563 $<INSTALL_INTERFACE :${CMAKE_INSTALL_INCLUDEDIR} >)
6664endforeach ()
6765
68- target_link_libraries (cppzmq INTERFACE ${nSpace} libzmq )
69- target_link_libraries (cppzmq-static INTERFACE ${nSpace} libzmq-static )
66+ target_link_libraries (cppzmq INTERFACE ${_libzmq} )
67+ target_link_libraries (cppzmq-static INTERFACE ${_libzmqStatic} )
7068
7169include (GNUInstallDirs )
7270include (CMakePackageConfigHelpers )
7371
74- if (NOT DEFINED XP_INSTALL_CMAKEDIR)
75- set (XP_INSTALL_CMAKEDIR ${CMAKE_INSTALL_DATADIR} /cmake)
76- endif ()
7772set (targetsFile ${PROJECT_NAME } Targets)
78- xpPackageDevel (TARGETS_FILE ${targetsFile} LIBRARIES ${nSpace} cppzmq-static )
73+ if (DEFINED XP_NAMESPACE)
74+ xpExternPackage (NAMESPACE ${XP_NAMESPACE}
75+ TARGETS_FILE ${targetsFile} LIBRARIES ${installTargets}
76+ BASE v${cppzmq_VERSION} XPDIFF "patch" DEPS libzmq
77+ WEB "https://zeromq.org/" UPSTREAM "github.com/zeromq/cppzmq"
78+ DESC "header-only C++ binding for libzmq"
79+ LICENSE "[MPL-2.0](http://wiki.zeromq.org/area:licensing 'Mozilla Public License 2.0')"
80+ )
81+ set (nSpace ${XP_NAMESPACE} ::)
82+ set (nameSpace NAMESPACE ${nSpace} )
83+ set (CMAKE_INSTALL_CMAKEDIR ${XP_INSTALL_CMAKEDIR} )
84+ elseif (NOT DEFINED CMAKE_INSTALL_CMAKEDIR)
85+ set (CMAKE_INSTALL_CMAKEDIR share/cmake/${PROJECT_NAME } )
86+ endif ()
7987
8088install (TARGETS ${installTargets}
8189 EXPORT ${PROJECT_NAME } -targets )
@@ -84,7 +92,7 @@ install(FILES ${CPPZMQ_HEADERS}
8492 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
8593
8694# GNUInstallDirs "DATADIR" wrong here; CMake search path wants "share".
87- set (CPPZMQ_CMAKECONFIG_INSTALL_DIR "${XP_INSTALL_CMAKEDIR } " CACHE STRING "install path for cppzmqConfig.cmake" )
95+ set (CPPZMQ_CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_CMAKEDIR } " CACHE STRING "install path for cppzmqConfig.cmake" )
8896
8997configure_file (libzmq-pkg-config/FindZeroMQ.cmake
9098 libzmq-pkg-config/FindZeroMQ.cmake
0 commit comments