[libkml] 02/07: Imported Upstream version 1.3.0
Sebastiaan Couwenberg
sebastic at moszumanska.debian.org
Wed Dec 23 11:03:07 UTC 2015
This is an automated email from the git hooks/post-receive script.
sebastic pushed a commit to branch master
in repository libkml.
commit d51c042a1a142db4acdab97e1fddd0361c9258ff
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Wed Dec 23 11:06:39 2015 +0100
Imported Upstream version 1.3.0
---
CMakeLists.txt | 64 +++++++++++++++++++++++++++++++++-----
cmake/External_minizip.cmake | 6 +++-
cmake/External_uriparser.cmake | 5 +++
cmake/External_zlib.cmake | 10 +++++-
cmake/LibKMLConfig.cmake.in | 22 +++++++++++++
cmake/LibKMLConfigVersion.cmake.in | 11 +++++++
cmake/LibKMLHelper.cmake | 12 +++++--
src/CMakeLists.txt | 4 ++-
src/kml/CMakeLists.txt | 3 ++
9 files changed, 125 insertions(+), 12 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 957dcc6..9728ead 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,6 +6,10 @@ set(VERSION_MINOR "3")
set(VERSION_PATCH "0")
set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
+if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE "Release")
+endif()
+
option(BUILD_TESTING "Build testing." OFF)
option(BUILD_EXAMPLES "Build examples." OFF)
option(INSTALL_EXAMPLES "Install examples sources and executables" OFF)
@@ -25,7 +29,8 @@ set(TEST_FLAGS "-Wall -Wextra -Wno-unused-parameter -fno-rtti -DGTEST_HAS_RTTI=0
else()
if(MSVC)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DUNICODE /D_UNICODE")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DUNICODE /D_UNICODE")
+ set(BUILD_SHARED_LIBS OFF)
endif()
endif()
@@ -64,6 +69,15 @@ if(NOT DEFINED PKGCONFIG_INSTALL_DIR)
set(PKGCONFIG_INSTALL_DIR "${LIB_INSTALL_DIR}/pkgconfig")
endif(NOT DEFINED PKGCONFIG_INSTALL_DIR)
+if(WIN32 AND NOT CYGWIN)
+ set(DEF_INSTALL_CMAKE_DIR cmake)
+else()
+ set(DEF_INSTALL_CMAKE_DIR lib/cmake/libkml)
+endif()
+set(CMAKE_INSTALL_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files")
+
+set(INSTALL_DIR "${CMAKE_INSTALL_PREFIX}" CACHE "install directory " PATH)
+
# Path to additional CMake modules
set(CMAKE_MODULE_PATH
${CMAKE_SOURCE_DIR}/cmake
@@ -71,18 +85,14 @@ set(CMAKE_MODULE_PATH
include(LibKMLHelper)
-if(NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE "Release")
-endif()
-
include(ExternalProject)
-set(INSTALL_DIR "${CMAKE_INSTALL_PREFIX}" CACHE "install directory " PATH)
-
set(KMLBASE_LINK_LIBS "" CACHE INTERNAL "KMLBASE_LINK_LIBS")
set(KMLBASE_DEPENDS "" CACHE INTERNAL "KMLBASE_DEPENDS")
set(MINIZIP_DEPENDS "" CACHE INTERNAL "MINIZIP_DEPENDS")
+set(LIBKML_TARGETS)
+
find_package(EXPAT)
if(EXPAT_FOUND)
include_directories(${EXPAT_INCLUDE_DIR})
@@ -166,3 +176,43 @@ endif()
if(BUILD_EXAMPLES)
add_subdirectory(examples)
endif()
+
+string(TOUPPER ${CMAKE_BUILD_TYPE} CONFIG_TYPE)
+
+# Make relative paths absolute (needed later on)
+foreach(p LIB BIN INCLUDE CMAKE)
+ set(var ${p}_INSTALL_DIR)
+ if(NOT IS_ABSOLUTE "${${var}}")
+ set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}")
+ endif()
+endforeach()
+
+export(TARGETS ${LIBKML_TARGETS}
+ FILE "${CMAKE_BINARY_DIR}/LibKMLTargets.cmake")
+
+# Create the LibKMLConfig.cmake and LibKMLConfigVersion files
+file(RELATIVE_PATH REL_INCLUDE_DIR "${CMAKE_INSTALL_DIR}"
+ "${INCLUDE_INSTALL_DIR}")
+
+# ... for the build tree
+set(CONF_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/src")
+configure_file(cmake/LibKMLConfig.cmake.in
+ "${PROJECT_BINARY_DIR}/LibKMLConfig.cmake" @ONLY)
+
+# ... for the install tree
+set(CONF_INCLUDE_DIRS "\${LIBKML_CMAKE_DIR}/${REL_INCLUDE_DIR}")
+configure_file(cmake/LibKMLConfig.cmake.in
+ "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/LibKMLConfig.cmake" @ONLY)
+
+# ... for both
+configure_file(cmake/LibKMLConfigVersion.cmake.in
+ "${CMAKE_BINARY_DIR}/LibKMLConfigVersion.cmake" @ONLY)
+
+# Install the LibKMLConfig.cmake and LibKMLConfigVersion.cmake
+install(FILES
+ "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/LibKMLConfig.cmake"
+ "${CMAKE_BINARY_DIR}/LibKMLConfigVersion.cmake"
+ DESTINATION "${CMAKE_INSTALL_DIR}" )
+
+# Install the export set for use with the install-tree
+install(EXPORT LibKMLTargets DESTINATION "${CMAKE_INSTALL_DIR}")
\ No newline at end of file
diff --git a/cmake/External_minizip.cmake b/cmake/External_minizip.cmake
index a894176..01e7c25 100644
--- a/cmake/External_minizip.cmake
+++ b/cmake/External_minizip.cmake
@@ -11,4 +11,8 @@ ExternalProject_Add(MINIZIP
-DZLIB_LIBRARY:FILEPATH=${ZLIB_LIBRARY}
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS} )
-include_project_vars(MINIZIP "libminizip")
+if(MSVC)
+ include_project_vars(MINIZIP "minizip")
+else()
+ include_project_vars(MINIZIP "libminizip")
+endif()
diff --git a/cmake/External_uriparser.cmake b/cmake/External_uriparser.cmake
index ac21e53..e6d5c91 100644
--- a/cmake/External_uriparser.cmake
+++ b/cmake/External_uriparser.cmake
@@ -10,4 +10,9 @@ ExternalProject_Add(URIPARSER
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS} )
+
+if(MSVC)
+include_project_vars(URIPARSER "uriparser")
+else()
include_project_vars(URIPARSER "liburiparser")
+endif()
diff --git a/cmake/External_zlib.cmake b/cmake/External_zlib.cmake
index 32386c9..3d567af 100644
--- a/cmake/External_zlib.cmake
+++ b/cmake/External_zlib.cmake
@@ -9,4 +9,12 @@ ExternalProject_Add(ZLIB
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS})
-include_project_vars(ZLIB "libz")
\ No newline at end of file
+ if(MSVC)
+ if(BUILD_SHARED_LIBS)
+ include_project_vars(ZLIB "zlib")
+ else()
+ include_project_vars(ZLIB "zlibstatic")
+ endif()
+else()
+ include_project_vars(ZLIB "libz")
+endif()
diff --git a/cmake/LibKMLConfig.cmake.in b/cmake/LibKMLConfig.cmake.in
new file mode 100644
index 0000000..3e295f4
--- /dev/null
+++ b/cmake/LibKMLConfig.cmake.in
@@ -0,0 +1,22 @@
+# Compute paths
+get_filename_component(LIBKML_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
+set(LIBKML_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@")
+
+if(NOT TARGET foo AND NOT LIBKML_BINARY_DIR)
+ include("${LIBKML_CMAKE_DIR}/LibKMLTargets.cmake")
+endif()
+
+set(LIBKML_LIBRARIES)
+
+foreach(targ @LIBKML_TARGETS@)
+ get_target_property(LIB_LIB_FILENAME ${targ} IMPORTED_LOCATION_ at CONFIG_TYPE@)
+ get_target_property(LIB_LINK_FILENAME ${targ} IMPORTED_LINK_INTERFACE_LIBRARIES_ at CONFIG_TYPE@)
+ string(REGEX MATCH "^kml" matched ${LIB_LINK_FILENAME})
+ if(NOT matched)
+ list(APPEND LIBKML_LIBRARIES ${LIB_LINK_FILENAME})
+ endif()
+ list(APPEND LIBKML_LIBRARIES ${LIB_LIB_FILENAME})
+endforeach()
+
+set(LIBKML_FOUND TRUE)
diff --git a/cmake/LibKMLConfigVersion.cmake.in b/cmake/LibKMLConfigVersion.cmake.in
new file mode 100644
index 0000000..5bf4373
--- /dev/null
+++ b/cmake/LibKMLConfigVersion.cmake.in
@@ -0,0 +1,11 @@
+set(PACKAGE_VERSION "@VERSION_STRING@")
+
+# Check whether the requested PACKAGE_FIND_VERSION is compatible
+if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else()
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
+ set(PACKAGE_VERSION_EXACT TRUE)
+ endif()
+endif()
diff --git a/cmake/LibKMLHelper.cmake b/cmake/LibKMLHelper.cmake
index f99ae5f..5cc166a 100644
--- a/cmake/LibKMLHelper.cmake
+++ b/cmake/LibKMLHelper.cmake
@@ -29,9 +29,17 @@ endmacro(build_target)
macro(install_target _target)
install(TARGETS ${_target}
+ EXPORT LibKMLTargets
RUNTIME DESTINATION ${BIN_INSTALL_DIR}
LIBRARY DESTINATION ${LIB_INSTALL_DIR}
ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
+
+ list(LENGTH LIBKML_TARGETS LIBKML_TARGETS_LENGTH)
+ if(LIBKML_TARGETS_LENGTH LESS 1)
+ set(LIBKML_TARGETS "${_target}" PARENT_SCOPE)
+ else()
+ set(LIBKML_TARGETS "${LIBKML_TARGETS};${_target}" PARENT_SCOPE)
+ endif()
endmacro(install_target)
function(build_test)
@@ -51,7 +59,7 @@ endfunction(build_example)
macro(include_project_vars _project _lib)
- set(${_project}_INCLUDE_DIR "${INSTALL_DIR}/include" )
+ set(${_project}_INCLUDE_DIR "${INSTALL_DIR}/include")
if(WIN32)
set(_suffix ${CMAKE_LINK_LIBRARY_SUFFIX})
else(UNIX)
@@ -61,6 +69,6 @@ macro(include_project_vars _project _lib)
set(_suffix ".a")
endif()
endif(WIN32)
- set(${_project}_LIBRARY "${INSTALL_DIR}/lib/${_lib}${_suffix}" )
+ set(${_project}_LIBRARY "${INSTALL_DIR}/lib/${_lib}${_suffix}")
include_directories(${${_project}_INCLUDE_DIR})
endmacro()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 7d5ed43..dd64342 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,4 +1,6 @@
add_subdirectory(kml)
if(WITH_SWIG)
add_subdirectory(swig)
-endif()
\ No newline at end of file
+endif()
+
+set(LIBKML_TARGETS "${LIBKML_TARGETS}" PARENT_SCOPE)
\ No newline at end of file
diff --git a/src/kml/CMakeLists.txt b/src/kml/CMakeLists.txt
index 7393f89..04923f6 100644
--- a/src/kml/CMakeLists.txt
+++ b/src/kml/CMakeLists.txt
@@ -5,7 +5,10 @@ add_subdirectory(engine)
add_subdirectory(convenience)
add_subdirectory(regionator)
+set(LIBKML_TARGETS "${LIBKML_TARGETS}" PARENT_SCOPE)
install( FILES dom.h engine.h
DESTINATION ${INCLUDE_INSTALL_DIR}
COMPONENT Development)
+
+
\ No newline at end of file
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/libkml.git
More information about the Pkg-grass-devel
mailing list