http://paraview.org/Bug/view.php?id=13656 diff -up ParaView/ParaViewCore/ServerImplementation/Core/CMakeLists.txt.Protobuf ParaView/ParaViewCore/ServerImplementation/Core/CMakeLists.txt --- ParaView/ParaViewCore/ServerImplementation/Core/CMakeLists.txt.Protobuf 2012-11-08 07:51:51.000000000 -0700 +++ ParaView/ParaViewCore/ServerImplementation/Core/CMakeLists.txt 2012-11-13 15:17:53.980027098 -0700 @@ -81,16 +81,24 @@ #------------------------------------------------------------------------------ # Generate the protbuf message file. #------------------------------------------------------------------------------ -get_target_property(PROTOC_LOCATION protoc_compiler LOCATION) +if (VTK_USE_SYSTEM_PROTOBUF) + set (_PROTOC_COMPILER protoc) + set (_PROTOC_DEPEND "") +else() + set (_PROTOC_COMPILER protoc_compiler) + set (_PROTOC_DEPEND ${_PROTOC_COMPILER}) +endif() + +get_target_property(PROTOC_LOCATION ${_PROTOC_COMPILER} LOCATION) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/vtkPVMessage.pb.h ${CMAKE_CURRENT_BINARY_DIR}/vtkPVMessage.pb.cc - COMMAND protoc_compiler + COMMAND ${_PROTOC_COMPILER} "--cpp_out=dllexport_decl=VTKPVSERVERIMPLEMENTATIONCORE_EXPORT:${CMAKE_CURRENT_BINARY_DIR}" --proto_path "@CMAKE_CURRENT_SOURCE_DIR@" "${CMAKE_CURRENT_SOURCE_DIR}/vtkPVMessage.proto" - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/vtkPVMessage.proto protoc_compiler + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/vtkPVMessage.proto ${_PROTOC_DEPEND} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) @@ -109,5 +117,9 @@ vtk_module_library(vtkPVServerImplementationCore ${Module_SRCS}) +if (VTK_USE_SYSTEM_PROTOBUF) + target_link_libraries(vtkPVServerImplementationCore ${CMAKE_THREAD_LIBS_INIT}) +endif() + add_dependencies(vtkPVServerImplementationCore protobuf_code_generation) diff -up ParaView/ThirdParty/protobuf/CMakeLists.txt.Protobuf ParaView/ThirdParty/protobuf/CMakeLists.txt --- ParaView/ThirdParty/protobuf/CMakeLists.txt.Protobuf 2012-11-08 07:51:51.000000000 -0700 +++ ParaView/ThirdParty/protobuf/CMakeLists.txt 2012-11-13 15:09:31.526673020 -0700 @@ -34,7 +34,7 @@ set (PROTOBUF_INSTALL_LIB_DIR ${VTK_INSTALL_LIBRARY_DIR}) set (PROTOBUF_INSTALL_EXPORT_NAME ${VTK_INSTALL_EXPORT_NAME}) -vtk_module_third_party(protobuf +vtk_module_third_party(Protobuf INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/vtkprotobuf/src LIBRARIES protobuf ) @@ -42,10 +42,12 @@ # protobuf exports it's build-dir targets to a custom file # (PROTOBUF_EXPORTS.cmake). We don't care much about that. We export # build-dir targets ourselves. -vtk_target_export(protobuf) -vtk_target_export(protobuf-lite) -if (NOT CMAKE_CROSSCOMPILING) - vtk_compile_tools_target_export(protoc_compiler) +if (NOT VTK_USE_SYSTEM_PROTOBUF) + vtk_target_export(protobuf) + vtk_target_export(protobuf-lite) + if (NOT CMAKE_CROSSCOMPILING) + vtk_compile_tools_target_export(protoc_compiler) + endif() endif() # All these exports don't add any install rules. However we make protobuf itself