@@ -3,6 +3,10 @@ project(cppzmq)
3
3
4
4
find_package (ZeroMQ REQUIRED )
5
5
6
+ if (ZeroMQ_FOUND AND (NOT TARGET libzmq OR NOT TARGET libzmq-static ))
7
+ message (FATAL_ERROR "ZeroMQ version not supported!" )
8
+ endif ()
9
+
6
10
set (${PROJECT_NAME} _VERSION ${ZeroMQ_VERSION} )
7
11
message (STATUS "cppzmq v${${PROJECT_NAME} _VERSION}" )
8
12
@@ -11,21 +15,40 @@ set(CPPZMQ_HEADERS
11
15
zmq_addon.hpp
12
16
)
13
17
18
+ foreach (target cppzmq cppzmq-static )
19
+ add_library (${target} INTERFACE )
20
+ target_include_directories (${target} INTERFACE $< BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} >
21
+ $< INSTALL_INTERFACE:include> )
22
+ endforeach ()
23
+
24
+ target_link_libraries (cppzmq INTERFACE libzmq )
25
+ target_link_libraries (cppzmq-static INTERFACE libzmq-static )
26
+
14
27
include (GNUInstallDirs )
15
28
include (CMakePackageConfigHelpers )
16
29
30
+ install (TARGETS cppzmq cppzmq-static
31
+ EXPORT ${PROJECT_NAME} -targets )
32
+
17
33
install (FILES ${CPPZMQ_HEADERS}
18
34
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
19
35
20
36
# GNUInstallDirs "DATADIR" wrong here; CMake search path wants "share".
21
37
set (CPPZMQ_CMAKECONFIG_INSTALL_DIR "share/cmake/${PROJECT_NAME} " CACHE STRING "install path for cppzmqConfig.cmake" )
22
38
39
+ if (NOT CMAKE_VERSION VERSION_LESS 3.0 )
40
+ export (EXPORT ${PROJECT_NAME} -targets
41
+ FILE "${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} Targets.cmake" )
42
+ endif ()
23
43
configure_package_config_file (${PROJECT_NAME} Config.cmake.in
24
44
"${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} Config.cmake"
25
45
INSTALL_DESTINATION ${CPPZMQ_CMAKECONFIG_INSTALL_DIR} )
26
46
write_basic_package_version_file (${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME}ConfigVersion.cmake
27
47
VERSION ${${PROJECT_NAME}_VERSION}
28
48
COMPATIBILITY AnyNewerVersion )
49
+ install (EXPORT ${PROJECT_NAME} -targets
50
+ FILE ${PROJECT_NAME} Targets.cmake
51
+ DESTINATION ${CPPZMQ_CMAKECONFIG_INSTALL_DIR} )
29
52
install (FILES ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME}Config.cmake
30
53
${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME}ConfigVersion.cmake
31
54
DESTINATION ${CPPZMQ_CMAKECONFIG_INSTALL_DIR} )
0 commit comments