FindProtobuf: prevent redundant PROTOBUF_LIBRARIES
Before this change, the variable PROTOBUF_LIBRARIES might get redundant value for debug and optimized configurations, e.g. `optimized;/usr/lib/libprotobuf.so;debug;/usr/lib/libprotobuf.so`.
This commit is contained in:
parent
d83abbf9e3
commit
51b0501a7f
|
@ -210,31 +210,32 @@ if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|||
set(_PROTOBUF_ARCH_DIR x64/)
|
||||
endif()
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
|
||||
|
||||
# Internal function: search for normal library as well as a debug one
|
||||
# if the debug one is specified also include debug/optimized keywords
|
||||
# in *_LIBRARIES variable
|
||||
function(_protobuf_find_libraries name filename)
|
||||
find_library(${name}_LIBRARY
|
||||
if(${name}_LIBRARIES)
|
||||
# Use result recorded by a previous call.
|
||||
return()
|
||||
elseif(${name}_LIBRARY)
|
||||
# Honor cache entry used by CMake 3.5 and lower.
|
||||
set(${name}_LIBRARIES "${${name}_LIBRARY}" PARENT_SCOPE)
|
||||
else()
|
||||
find_library(${name}_LIBRARY_RELEASE
|
||||
NAMES ${filename}
|
||||
PATHS ${PROTOBUF_SRC_ROOT_FOLDER}/vsprojects/${_PROTOBUF_ARCH_DIR}Release)
|
||||
mark_as_advanced(${name}_LIBRARY)
|
||||
mark_as_advanced(${name}_LIBRARY_RELEASE)
|
||||
|
||||
find_library(${name}_LIBRARY_DEBUG
|
||||
NAMES ${filename}
|
||||
PATHS ${PROTOBUF_SRC_ROOT_FOLDER}/vsprojects/${_PROTOBUF_ARCH_DIR}Debug)
|
||||
mark_as_advanced(${name}_LIBRARY_DEBUG)
|
||||
|
||||
if(NOT ${name}_LIBRARY_DEBUG)
|
||||
# There is no debug library
|
||||
set(${name}_LIBRARY_DEBUG ${${name}_LIBRARY} PARENT_SCOPE)
|
||||
set(${name}_LIBRARIES ${${name}_LIBRARY} PARENT_SCOPE)
|
||||
else()
|
||||
# There IS a debug library
|
||||
set(${name}_LIBRARIES
|
||||
optimized ${${name}_LIBRARY}
|
||||
debug ${${name}_LIBRARY_DEBUG}
|
||||
PARENT_SCOPE
|
||||
)
|
||||
select_library_configurations(${name})
|
||||
set(${name}_LIBRARY "${${name}_LIBRARY}" PARENT_SCOPE)
|
||||
set(${name}_LIBRARIES "${${name}_LIBRARIES}" PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
|
|
Loading…
Reference in New Issue