Change log:95336cb92b..191d55580eFull diff:95336cb92b..191d55580eRoll chromium third_party 4e16929f46..3a8f2a9e1e Change log:4e16929f46..3a8f2a9e1eChanged dependencies: * src/tools:c44a3f5eca..f524a53b81DEPS diff:95336cb92b..191d55580e/DEPS No update to Clang. TBR=titovartem@google.com, BUG=None CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal Change-Id: Ic9c4a62b050383646e9fcf5cc07a5653c14ac06e Reviewed-on: https://webrtc-review.googlesource.com/76120 Reviewed-by: Patrik Höglund <phoglund@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Artem Titov <titovartem@webrtc.org> Commit-Queue: Artem Titov <titovartem@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23205}
58 lines
2.1 KiB
CMake
58 lines
2.1 KiB
CMake
if(protobuf_VERBOSE)
|
|
message(STATUS "Protocol Buffers Examples Configuring...")
|
|
endif()
|
|
|
|
get_filename_component(examples_dir "../examples" ABSOLUTE)
|
|
|
|
if(protobuf_VERBOSE)
|
|
message(STATUS "Protocol Buffers Examples Configuring done")
|
|
endif()
|
|
include(ExternalProject)
|
|
|
|
# Internal utility function: Create a custom target representing a build of examples with custom options.
|
|
function(add_examples_build NAME)
|
|
|
|
ExternalProject_Add(${NAME}
|
|
PREFIX ${NAME}
|
|
SOURCE_DIR "${examples_dir}"
|
|
BINARY_DIR ${NAME}
|
|
STAMP_DIR ${NAME}/logs
|
|
INSTALL_COMMAND "" #Skip
|
|
LOG_CONFIGURE 1
|
|
CMAKE_CACHE_ARGS "-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}"
|
|
"-Dprotobuf_VERBOSE:BOOL=${protobuf_VERBOSE}"
|
|
${ARGN}
|
|
)
|
|
set_property(TARGET ${NAME} PROPERTY FOLDER "Examples")
|
|
set_property(TARGET ${NAME} PROPERTY EXCLUDE_FROM_ALL TRUE)
|
|
endfunction()
|
|
|
|
# Add examples as an external project.
|
|
# sub_directory cannot be used because the find_package(protobuf) call would cause failures with redefined targets.
|
|
add_examples_build(examples "-Dprotobuf_DIR:PATH=${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_CMAKEDIR}")
|
|
add_dependencies(examples libprotobuf protoc)
|
|
|
|
option(protobuf_BUILD_EXAMPLES_MULTITEST "Build Examples in multiple configurations. Useful for testing." OFF)
|
|
mark_as_advanced(protobuf_BUILD_EXAMPLES_MULTITEST)
|
|
if(protobuf_BUILD_EXAMPLES_MULTITEST)
|
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
|
|
|
#Build using the legacy compatibility module.
|
|
add_examples_build(examples-legacy
|
|
"-Dprotobuf_DIR:PATH=${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_CMAKEDIR}"
|
|
"-Dprotobuf_MODULE_COMPATIBLE:BOOL=TRUE"
|
|
)
|
|
add_dependencies(examples-legacy libprotobuf protoc)
|
|
|
|
#Build using the installed library.
|
|
add_examples_build(examples-installed
|
|
"-Dprotobuf_DIR:PATH=${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_CMAKEDIR}"
|
|
)
|
|
|
|
#Build using the installed library in legacy compatibility mode.
|
|
add_examples_build(examples-installed-legacy
|
|
"-Dprotobuf_DIR:PATH=${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_CMAKEDIR}"
|
|
"-Dprotobuf_MODULE_COMPATIBLE:BOOL=TRUE"
|
|
)
|
|
endif()
|