Skip to content

Commit a2a817f

Browse files
authored
Merge pull request #1186 from myd7349/fix-czmq-1972
Problem: Add options to control over optional libraries
2 parents 63a7bd4 + b8d734c commit a2a817f

File tree

1 file changed

+16
-19
lines changed

1 file changed

+16
-19
lines changed

zproject_cmake.gsl

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -148,10 +148,12 @@ set(OPTIONAL_LIBRARIES_STATIC)
148148
########################################################################
149149
.if use.optional = 0
150150
find_package($(use.project) REQUIRED)
151+
IF ($(USE.PROJECT)_FOUND)
151152
.else
152153
find_package($(use.project))
154+
option($(PROJECT.PREFIX)_WITH_$(USE.PROJECT) "Build czmq with $(use.project)" ${$(USE.PROJECT)_FOUND})
155+
IF ($(PROJECT.PREFIX)_WITH_$(USE.PROJECT) AND $(USE.PROJECT)_FOUND)
153156
.endif
154-
IF ($(USE.PROJECT)_FOUND)
155157
.if use.libname ?<> ""
156158
include_directories(${$(USE.PROJECT)_INCLUDE_DIRS})
157159
list(APPEND MORE_LIBRARIES ${$(USE.PROJECT)_LIBRARIES})
@@ -187,8 +189,10 @@ IF ($(USE.PROJECT)_FOUND)
187189
.if use.optional = 0
188190
ELSE ($(USE.PROJECT)_FOUND)
189191
message( FATAL_ERROR "$(use.project) not found." )
190-
.endif
191192
ENDIF ($(USE.PROJECT)_FOUND)
193+
.else
194+
ENDIF ($(PROJECT.PREFIX)_WITH_$(USE.PROJECT) AND $(USE.PROJECT)_FOUND)
195+
.endif
192196
.endfor
193197

194198
########################################################################
@@ -661,7 +665,7 @@ find_path (
661665
HINTS ${PC_$(USE.PROJECT)_INCLUDE_HINTS}
662666
)
663667

664-
. if use.libname = "libzmq"
668+
. if use.libname ?= "libzmq"
665669
if (MSVC)
666670
# libzmq dll/lib built with MSVC is named using the Boost convention.
667671
# https://github.com/zeromq/czmq/issues/577
@@ -683,9 +687,6 @@ if (MSVC)
683687

684688
set(_zmq_version ${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH})
685689

686-
set(_zmq_debug_names)
687-
set(_zmq_release_names)
688-
689690
set(_zmq_debug_names
690691
"libzmq${MSVC_TOOLSET}-mt-gd-${_zmq_version}" # Debug, BUILD_SHARED
691692
"libzmq${MSVC_TOOLSET}-mt-sgd-${_zmq_version}" # Debug, BUILD_STATIC
@@ -700,37 +701,33 @@ if (MSVC)
700701
"libzmq-mt-s-${_zmq_version}" # Release|RelWithDebInfo|MinSizeRel, BUILD_STATIC
701702
)
702703

703-
find_library (ZeroMQ_LIBRARY_DEBUG
704+
find_library (LIBZMQ_LIBRARY_DEBUG
704705
NAMES ${_zmq_debug_names}
705706
)
706707

707-
find_library (ZeroMQ_LIBRARY_RELEASE
708+
find_library (LIBZMQ_LIBRARY_RELEASE
708709
NAMES ${_zmq_release_names}
709710
)
710711

711-
if (ZeroMQ_LIBRARY_RELEASE AND ZeroMQ_LIBRARY_DEBUG)
712-
set(LIBZMQ_LIBRARIES
713-
debug ${ZeroMQ_LIBRARY_DEBUG}
714-
optimized ${ZeroMQ_LIBRARY_RELEASE}
715-
)
716-
elseif (ZeroMQ_LIBRARY_RELEASE)
717-
set(LIBZMQ_LIBRARIES ${ZeroMQ_LIBRARY_RELEASE})
718-
elseif (ZeroMQ_LIBRARY_DEBUG)
719-
set(LIBZMQ_LIBRARIES ${ZeroMQ_LIBRARY_DEBUG})
720-
endif ()
712+
include(SelectLibraryConfigurations)
713+
select_library_configurations(LIBZMQ)
721714
endif ()
722715

723716
if (NOT LIBZMQ_LIBRARIES)
724717
find_library (
725718
LIBZMQ_LIBRARIES
726-
NAMES zmq libzmq
719+
NAMES libzmq zmq
727720
HINTS ${PC_LIBZMQ_LIBRARY_HINTS}
728721
)
729722
endif ()
730723
. else
731724
find_library (
732725
$(USE.PROJECT)_LIBRARIES
726+
. if use.libname ?<> use.linkname
727+
NAMES $(use.libname) $(use.linkname)
728+
. else
733729
NAMES $(use.linkname)
730+
. endif
734731
HINTS ${PC_$(USE.PROJECT)_LIBRARY_HINTS}
735732
)
736733
. endif

0 commit comments

Comments
 (0)