aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWalter Gray <wgray@leapmotion.com>2016-06-06 10:59:58 -0700
committerWalter Gray <wgray@leapmotion.com>2016-06-06 12:06:55 -0700
commit23fef56e6d1541344401191bffa3f5218278f2e3 (patch)
tree9ade0936e6a4c5acb613b0de9a390863c98d350b
parent09f6a5c1d2da9fe30e2bcb63045165728efe1fa2 (diff)
downloadprotobuf-23fef56e6d1541344401191bffa3f5218278f2e3.tar.gz
protobuf-23fef56e6d1541344401191bffa3f5218278f2e3.tar.bz2
protobuf-23fef56e6d1541344401191bffa3f5218278f2e3.zip
Replace handwritten protobuf-targets with exported version.
-rw-r--r--cmake/CMakeLists.txt2
-rw-r--r--cmake/install.cmake44
-rw-r--r--cmake/protobuf-targets.cmake17
3 files changed, 24 insertions, 39 deletions
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
index 5e818e09..5004270f 100644
--- a/cmake/CMakeLists.txt
+++ b/cmake/CMakeLists.txt
@@ -31,7 +31,7 @@ set(protobuf_DEBUG_POSTFIX "d"
CACHE STRING "Default debug postfix")
mark_as_advanced(protobuf_DEBUG_POSTFIX)
# User options
-include("${CMAKE_CURRENT_LIST_DIR}/protobuf-options.cmake")
+include(protobuf-options.cmake)
# Path to main configure script
set(protobuf_CONFIGURE_SCRIPT "../configure.ac")
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()
diff --git a/cmake/protobuf-targets.cmake b/cmake/protobuf-targets.cmake
deleted file mode 100644
index 72660aaa..00000000
--- a/cmake/protobuf-targets.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-# Library aliases
-foreach(_library
- libprotobuf-lite
- libprotobuf
- libprotoc)
- if(TARGET ${_library} AND NOT TARGET protobuf::${_library})
- add_library(protobuf::${_library} ALIAS ${_library})
- endif()
-endforeach()
-
-# Executable aliases
-foreach(_executable
- protoc)
- if(TARGET ${_executable} AND NOT TARGET protobuf::${_executable})
- add_executable(protobuf::${_executable} ALIAS ${_executable})
- endif()
-endforeach()