aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmake/install.cmake
diff options
context:
space:
mode:
authorGravatar Walter Gray <wgray@leapmotion.com>2016-06-06 10:59:58 -0700
committerGravatar Walter Gray <wgray@leapmotion.com>2016-06-06 12:06:55 -0700
commit23fef56e6d1541344401191bffa3f5218278f2e3 (patch)
tree9ade0936e6a4c5acb613b0de9a390863c98d350b /cmake/install.cmake
parent09f6a5c1d2da9fe30e2bcb63045165728efe1fa2 (diff)
Replace handwritten protobuf-targets with exported version.
Diffstat (limited to 'cmake/install.cmake')
-rw-r--r--cmake/install.cmake44
1 files changed, 23 insertions, 21 deletions
diff --git a/cmake/install.cmake b/cmake/install.cmake
index 6d7aa1e0..94ef2198 100644
--- a/cmake/install.cmake
+++ b/cmake/install.cmake
@@ -6,6 +6,7 @@ foreach(_library
libprotoc)
set_property(TARGET ${_library}
PROPERTY INTERFACE_INCLUDE_DIRECTORIES
+ $<BUILD_INTERFACE:${protobuf_source_dir}/src>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
install(TARGETS ${_library} EXPORT protobuf-targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${_library}
@@ -80,7 +81,7 @@ foreach(_file ${nobase_dist_proto_DATA})
endif()
endforeach()
-# Export configuration
+# Install configuration
set(_cmakedir_desc "Directory relative to CMAKE_INSTALL to install the cmake configuration files")
if(NOT MSVC)
set(CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/protobuf" CACHE STRING "${_cmakedir_desc}")
@@ -89,33 +90,34 @@ else()
endif()
mark_as_advanced(CMAKE_INSTALL_CMAKEDIR)
-# Import configuration
-install(EXPORT protobuf-targets
- DESTINATION "${CMAKE_INSTALL_CMAKEDIR}"
- NAMESPACE protobuf::
- COMPONENT protobuf-export)
-
configure_file(protobuf-config.cmake.in
${CMAKE_INSTALL_CMAKEDIR}/protobuf-config.cmake @ONLY)
configure_file(protobuf-config-version.cmake.in
${CMAKE_INSTALL_CMAKEDIR}/protobuf-config-version.cmake @ONLY)
configure_file(protobuf-module.cmake.in
${CMAKE_INSTALL_CMAKEDIR}/protobuf-module.cmake @ONLY)
+configure_file(protobuf-options.cmake
+ ${CMAKE_INSTALL_CMAKEDIR}/protobuf-options.cmake @ONLY)
-# Build tree import configuration (for import from subprojects)
-if(NOT EXISTS "${protobuf_DIR}")
- set(protobuf_DIR "${protobuf_BINARY_DIR}/${CMAKE_INSTALL_CMAKEDIR}")
- set(Protobuf_DIR "${protobuf_DIR}")
- file(COPY
- "${CMAKE_CURRENT_LIST_DIR}/protobuf-options.cmake"
- "${CMAKE_CURRENT_LIST_DIR}/protobuf-targets.cmake"
- DESTINATION "${protobuf_DIR}")
-endif()
+# Allows the build directory to be used as a find directory.
+export(TARGETS libprotobuf-lite libprotobuf libprotoc protoc
+ NAMESPACE protobuf::
+ FILE ${CMAKE_INSTALL_CMAKEDIR}/protobuf-targets.cmake
+)
-install(FILES
- "${CMAKE_CURRENT_LIST_DIR}/protobuf-options.cmake"
- "${protobuf_BINARY_DIR}/${CMAKE_INSTALL_CMAKEDIR}/protobuf-config.cmake"
- "${protobuf_BINARY_DIR}/${CMAKE_INSTALL_CMAKEDIR}/protobuf-config-version.cmake"
- "${protobuf_BINARY_DIR}/${CMAKE_INSTALL_CMAKEDIR}/protobuf-module.cmake"
+install(EXPORT protobuf-targets
DESTINATION "${CMAKE_INSTALL_CMAKEDIR}"
+ NAMESPACE protobuf::
COMPONENT protobuf-export)
+
+install(DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_CMAKEDIR}/
+ DESTINATION "${CMAKE_INSTALL_CMAKEDIR}"
+ COMPONENT protobuf-export
+ PATTERN protobuf-targets.cmake EXCLUDE
+)
+
+option(protobuf_INSTALL_EXAMPLES "Install the examples folder" OFF)
+if(protobuf_INSTALL_EXAMPLES)
+ install(DIRECTORY ../examples/ DESTINATION examples
+ COMPONENT protobuf-examples)
+endif()