[cmake-developers] [PATCH] FindProtobuf: prevent redundant PROTOBUF_LIBRARIES
Antonio Perez Barrero
apbarrero at gmail.com
Wed Feb 10 04:36:31 EST 2016
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'
---
Modules/FindProtobuf.cmake | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/Modules/FindProtobuf.cmake b/Modules/FindProtobuf.cmake
index 2f13b09..57c6e62 100644
--- a/Modules/FindProtobuf.cmake
+++ b/Modules/FindProtobuf.cmake
@@ -213,6 +213,8 @@ endif()
# 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
+include(SelectLibraryConfigurations)
+
function(_protobuf_find_libraries name filename)
find_library(${name}_LIBRARY
NAMES ${filename}
@@ -224,18 +226,10 @@ function(_protobuf_find_libraries name 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
- )
- endif()
+ select_library_configurations(${name})
+ set(${name}_LIBRARY_DEBUG ${${name}_LIBRARY_DEBUG} PARENT_SCOPE)
+ set(${name}_LIBRARY ${${name}_LIBRARY} PARENT_SCOPE)
+ set(${name}_LIBRARIES ${${name}_LIBRARIES} PARENT_SCOPE)
endfunction()
# Internal function: find threads library
--
1.9.1
More information about the cmake-developers
mailing list