Skip to content

Commit 2008da3

Browse files
committed
Pkg-Config Fallback: File
move the new logic to a simple file so we do not add code duplication
1 parent 217985a commit 2008da3

File tree

3 files changed

+23
-40
lines changed

3 files changed

+23
-40
lines changed

CMakeLists.txt

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,7 @@ find_package(ZeroMQ)
55

66
# libzmq autotools install: fallback to pkg-config
77
if(NOT ZeroMQ_FOUND)
8-
find_package(PkgConfig)
9-
pkg_check_modules(PC_LIBZMQ QUIET libzmq)
10-
11-
set(ZeroMQ_VERSION ${PC_LIBZMQ_VERSION})
12-
find_library(ZeroMQ_LIBRARY NAMES libzmq.so
13-
PATHS ${PC_LIBZMQ_LIBDIR} ${PC_LIBZMQ_LIBRARY_DIRS})
14-
find_library(ZeroMQ_STATIC_LIBRARY NAMES libzmq.a
15-
PATHS ${PC_LIBZMQ_LIBDIR} ${PC_LIBZMQ_LIBRARY_DIRS})
16-
17-
add_library(libzmq SHARED IMPORTED)
18-
set_property(TARGET libzmq PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${PC_LIBZMQ_INCLUDE_DIRS})
19-
set_property(TARGET libzmq PROPERTY IMPORTED_LOCATION ${ZeroMQ_LIBRARY})
20-
21-
add_library(libzmq-static STATIC IMPORTED ${PC_LIBZMQ_INCLUDE_DIRS})
22-
set_property(TARGET libzmq-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${PC_LIBZMQ_INCLUDE_DIRS})
23-
set_property(TARGET libzmq-static PROPERTY IMPORTED_LOCATION ${ZeroMQ_STATIC_LIBRARY})
24-
25-
if(ZeroMQ_LIBRARY AND ZeroMQ_STATIC_LIBRARY)
26-
set(ZeroMQ_FOUND ON)
27-
endif()
8+
include(${CMAKE_CURRENT_LIST_DIR}/libzmqPkgConfigFallback.cmake)
289
endif()
2910

3011
if(NOT ZeroMQ_FOUND)
@@ -79,4 +60,5 @@ install(EXPORT ${PROJECT_NAME}-targets
7960
DESTINATION ${CPPZMQ_CMAKECONFIG_INSTALL_DIR})
8061
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
8162
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
63+
${CMAKE_SOURCE_DIR}/libzmqPkgConfigFallback.cmake
8264
DESTINATION ${CPPZMQ_CMAKECONFIG_INSTALL_DIR})

cppzmqConfig.cmake.in

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,7 @@ find_package(ZeroMQ)
2121

2222
# libzmq autotools install: fallback to pkg-config
2323
if(NOT ZeroMQ_FOUND)
24-
find_package(PkgConfig)
25-
pkg_check_modules(PC_LIBZMQ QUIET libzmq)
26-
27-
set(ZeroMQ_VERSION ${PC_LIBZMQ_VERSION})
28-
find_library(ZeroMQ_LIBRARY NAMES libzmq.so
29-
PATHS ${PC_LIBZMQ_LIBDIR} ${PC_LIBZMQ_LIBRARY_DIRS})
30-
find_library(ZeroMQ_STATIC_LIBRARY NAMES libzmq.a
31-
PATHS ${PC_LIBZMQ_LIBDIR} ${PC_LIBZMQ_LIBRARY_DIRS})
32-
33-
add_library(libzmq SHARED IMPORTED)
34-
set_property(TARGET libzmq PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${PC_LIBZMQ_INCLUDE_DIRS})
35-
set_property(TARGET libzmq PROPERTY IMPORTED_LOCATION ${ZeroMQ_LIBRARY})
36-
37-
add_library(libzmq-static STATIC IMPORTED ${PC_LIBZMQ_INCLUDE_DIRS})
38-
set_property(TARGET libzmq-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${PC_LIBZMQ_INCLUDE_DIRS})
39-
set_property(TARGET libzmq-static PROPERTY IMPORTED_LOCATION ${ZeroMQ_STATIC_LIBRARY})
40-
41-
if(ZeroMQ_LIBRARY AND ZeroMQ_STATIC_LIBRARY)
42-
set(ZeroMQ_FOUND ON)
43-
endif()
24+
include(${CMAKE_CURRENT_LIST_DIR}/libzmqPkgConfigFallback.cmake)
4425
endif()
4526

4627
if(NOT ZeroMQ_FOUND)

libzmqPkgConfigFallback.cmake

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
find_package(PkgConfig)
2+
pkg_check_modules(PC_LIBZMQ QUIET libzmq)
3+
4+
set(ZeroMQ_VERSION ${PC_LIBZMQ_VERSION})
5+
find_library(ZeroMQ_LIBRARY NAMES libzmq.so
6+
PATHS ${PC_LIBZMQ_LIBDIR} ${PC_LIBZMQ_LIBRARY_DIRS})
7+
find_library(ZeroMQ_STATIC_LIBRARY NAMES libzmq.a
8+
PATHS ${PC_LIBZMQ_LIBDIR} ${PC_LIBZMQ_LIBRARY_DIRS})
9+
10+
add_library(libzmq SHARED IMPORTED)
11+
set_property(TARGET libzmq PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${PC_LIBZMQ_INCLUDE_DIRS})
12+
set_property(TARGET libzmq PROPERTY IMPORTED_LOCATION ${ZeroMQ_LIBRARY})
13+
14+
add_library(libzmq-static STATIC IMPORTED ${PC_LIBZMQ_INCLUDE_DIRS})
15+
set_property(TARGET libzmq-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${PC_LIBZMQ_INCLUDE_DIRS})
16+
set_property(TARGET libzmq-static PROPERTY IMPORTED_LOCATION ${ZeroMQ_STATIC_LIBRARY})
17+
18+
if(ZeroMQ_LIBRARY AND ZeroMQ_STATIC_LIBRARY)
19+
set(ZeroMQ_FOUND ON)
20+
endif()

0 commit comments

Comments
 (0)