[Liblas-commits] hg: an attempt at fixing up osgeo4w packaging so
it can always b...
liblas-commits at liblas.org
liblas-commits at liblas.org
Thu Dec 30 16:25:38 EST 2010
details: http://hg.liblas.orghg/rev/94fc5363cb3e
changeset: 2664:94fc5363cb3e
user: Howard Butler <hobu.inc at gmail.com>
date: Thu Dec 30 15:24:43 2010 -0600
description:
an attempt at fixing up osgeo4w packaging so it can always be on
Subject: hg: merge
details: http://hg.liblas.orghg/rev/20328697f704
changeset: 2665:20328697f704
user: Howard Butler <hobu.inc at gmail.com>
date: Thu Dec 30 15:25:24 2010 -0600
description:
merge
diffstat:
CMakeLists.txt | 10 +++++--
apps/CMakeLists.txt | 48 +++++++++++++++++++++++++++++++--------
apps/liblas.pc.in | 12 ++++++++++
cmake/modules/BuildOSGeo4W.cmake | 36 ++++++++++-------------------
4 files changed, 70 insertions(+), 36 deletions(-)
diffs (190 lines):
diff -r 7a7830bb543e -r 20328697f704 CMakeLists.txt
--- a/CMakeLists.txt Thu Dec 30 11:32:21 2010 -0600
+++ b/CMakeLists.txt Thu Dec 30 15:25:24 2010 -0600
@@ -52,6 +52,10 @@
set(WITH_UTILITIES TRUE CACHE BOOL "Choose if libLAS utilities should be built")
set(WITH_TESTS TRUE CACHE BOOL "Choose if libLAS unit tests should be built")
+# Choose to use pkg-config or not
+set(WITH_PKGCONFIG FALSE CACHE BOOL
+ "Choose whether a pkgconfig file (libLAS.pc) should be installed")
+
# Enable CTest and submissions to libLAS dashboard at CDash
# http://my.cdash.org/index.php?project=libLAS
set(ENABLE_CTEST FALSE CACHE BOOL
@@ -421,6 +425,6 @@
add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
-#if (WIN32)
-# include(BuildOSGeo4W)
-#endif(WIN32)
+if (WIN32)
+ include(BuildOSGeo4W)
+endif(WIN32)
diff -r 7a7830bb543e -r 20328697f704 apps/CMakeLists.txt
--- a/apps/CMakeLists.txt Thu Dec 30 11:32:21 2010 -0600
+++ b/apps/CMakeLists.txt Thu Dec 30 15:25:24 2010 -0600
@@ -188,17 +188,45 @@
if(UNIX)
- # Autoconf compatibility variables to use the same script source.
- set(prefix ${CMAKE_INSTALL_PREFIX})
- set(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin)
- set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
+ if(WITH_PKGCONFIG)
+
+ set(PKGCFG_PREFIX "${CMAKE_INSTALL_PREFIX}")
+ set(PKGCFG_INC_DIR "${CMAKE_INSTALL_PREFIX}/${LIBLAS_INCLUDE_SUBDIR}")
+ set(PKGCFG_LIB_DIR "${CMAKE_INSTALL_PREFIX}/${LIBLAS_LIB_SUBDIR}")
+ set(PKGCFG_REQUIRES "")
+ set(PKGCFG_VERSION ${VERSION})
+ set(PKGCFG_LINK_FLAGS "-llas -llas_c")
+ set(PKGCFG_COMPILE_FLAGS "")
+ if(LIBXML2_FOUND)
+ set(PKGCFG_REQUIRES "${PKGCFG_REQUIRES} libxml-2.0")
+ endif()
+ if(GEOTIFF_FOUND)
+ set(PKGCFG_REQUIRES "${PKGCFG_REQUIRES} geotiff")
+ endif()
+ # if(WITH_GDAL)
+ # set(PKGCFG_INC_DIR "${PKGCFG_INC_DIR} ${GDAL_INCLUDE_DIR}")
+ # endif()
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/liblas.pc.in
+ ${CMAKE_CURRENT_BINARY_DIR}/liblas.pc @ONLY)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblas.pc
+ DESTINATION ${LIBLAS_LIB_DIR}/pkgconfig
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
+
+ else()
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/liblas-config.in
- ${CMAKE_CURRENT_BINARY_DIR}/liblas-config @ONLY)
+ # Autoconf compatibility variables to use the same script source.
+ set(prefix ${CMAKE_INSTALL_PREFIX})
+ set(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin)
+ set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
+
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/liblas-config.in
+ ${CMAKE_CURRENT_BINARY_DIR}/liblas-config @ONLY)
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblas-config
+ DESTINATION bin/
+ PERMISSIONS
+ OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblas-config
- DESTINATION bin/
- PERMISSIONS
- OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+ endif()
endif()
diff -r 7a7830bb543e -r 20328697f704 apps/liblas.pc.in
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/apps/liblas.pc.in Thu Dec 30 15:25:24 2010 -0600
@@ -0,0 +1,12 @@
+prefix=@PKGCFG_PREFIX@
+exec_prefix=@PKGCFG_PREFIX@
+libdir=@PKGCFG_LIB_DIR@
+includedir=@PKGCFG_INC_DIR@
+
+Name: libLAS
+Description: Library (C/C++) and tools for the LAS LiDAR format
+Requires: @PKGCFG_REQUIRES@
+Version: @PKGCFG_VERSION@
+Libs: -L${libdir} @PKGCFG_LINK_FLAGS@
+Cflags: -I${includedir}/liblas @PKGCFG_COMPILE_FLAGS@
+
diff -r 7a7830bb543e -r 20328697f704 cmake/modules/BuildOSGeo4W.cmake
--- a/cmake/modules/BuildOSGeo4W.cmake Thu Dec 30 11:32:21 2010 -0600
+++ b/cmake/modules/BuildOSGeo4W.cmake Thu Dec 30 15:25:24 2010 -0600
@@ -4,7 +4,7 @@
#
###############################################################################
-MESSAGE(STATUS "Building osgeo4w binaries")
+
set(OSGEO4W_DIR osgeo4w)
set(OSGEO4W_LIB_DIR ${OSGEO4W_DIR}/lib)
set(OSGEO4W_ETC_DIR ${OSGEO4W_DIR}/etc)
@@ -43,7 +43,12 @@
add_custom_target(make_osgeo4w_directories
COMMAND ${CMAKE_COMMAND} -E echo "Building OSGeo4W install directories")
-add_dependencies( make_osgeo4w_directories las2las )
+foreach(utility ${LIBLAS_UTILITIES})
+ MESSAGE("Adding dependency for $utility")
+ add_dependencies( make_osgeo4w_directories ${utility} )
+
+endforeach()
+
macro (make_directories)
add_custom_command(
@@ -70,8 +75,7 @@
macro(copy_files GLOBPAT DESTINATION )
-
- MESSAGE(STATUS " Copying ${GLOBPAT} to ${DESTINATION}")
+
file(GLOB_RECURSE COPY_FILES
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
${GLOBPAT})
@@ -87,8 +91,6 @@
macro(copy_directory SOURCE DESTINATION )
-
- MESSAGE(STATUS " Copying ${SOURCE} to ${DESTINATION}")
add_custom_command(
TARGET copy
COMMAND ${CMAKE_COMMAND} -E copy_directory ${SOURCE} ${DESTINATION}
@@ -100,16 +102,11 @@
COMMAND ${CMAKE_COMMAND} -E echo "Tarring OSGeo4W install")
add_dependencies( tar copy )
-macro (tar_directories source destination base_paths)
-
- MESSAGE(STATUS " Tarring ${source} to ${destination}")
-
+macro (tar_directories source destination base_paths)
add_custom_command(
TARGET tar
COMMAND ${CMAKE_COMMAND} -E chdir ${source} cmake -E tar cjf ${destination} ${base_paths}
)
-
-
endmacro(tar_directories)
make_directories()
@@ -142,23 +139,16 @@
copy_directory(./include/liblas/ ${OSGEO4W_DEVEL_INCLUDE_LIBLAS_DIR}/ )
copy_files(./python/liblas/*.py ${OSGEO4W_PYTHON_DIR}/ )
-tar_directories(${OSGEO4W_DIR} ${libLAS_SOURCE_DIR}/${OSGEO4W_PACKAGES}/liblas-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}-${OSGEO4W_UPSTREAM_RELEASE}.tar.bz2 "bin/;etc/")
-tar_directories(${OSGEO4W_DIR} ${libLAS_SOURCE_DIR}/${OSGEO4W_PACKAGES}/liblas-python-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}-${OSGEO4W_UPSTREAM_RELEASE}.tar.bz2 apps)
-tar_directories(${OSGEO4W_DIR}/devel ${libLAS_SOURCE_DIR}/${OSGEO4W_PACKAGES}/liblas-devel-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}-${OSGEO4W_UPSTREAM_RELEASE}.tar.bz2 "lib/;include")
+tar_directories(${OSGEO4W_DIR} ${libLAS_SOURCE_DIR}/${OSGEO4W_PACKAGES}/liblas-${LIBLAS_VERSION_MAJOR}.${LIBLAS_VERSION_MINOR}.${LIBLAS_VERSION_PATCH}-${OSGEO4W_UPSTREAM_RELEASE}.tar.bz2 "bin/;etc/")
+tar_directories(${OSGEO4W_DIR} ${libLAS_SOURCE_DIR}/${OSGEO4W_PACKAGES}/liblas-python-${LIBLAS_VERSION_MAJOR}.${LIBLAS_VERSION_MINOR}.${LIBLAS_VERSION_PATCH}-${OSGEO4W_UPSTREAM_RELEASE}.tar.bz2 apps)
+tar_directories(${OSGEO4W_DIR}/devel ${libLAS_SOURCE_DIR}/${OSGEO4W_PACKAGES}/liblas-devel-${LIBLAS_VERSION_MAJOR}.${LIBLAS_VERSION_MINOR}.${LIBLAS_VERSION_PATCH}-${OSGEO4W_UPSTREAM_RELEASE}.tar.bz2 "lib/;include")
add_custom_target(osgeo4w
COMMAND ${CMAKE_COMMAND} -E echo "Making OSGeo4W build")
-add_custom_command(
- TARGET osgeo4w
- COMMAND ${CMAKE_COMMAND} -E echo "Making OSGeo4W build"
- )
+
add_dependencies( osgeo4w tar )
-foreach(utility ${LIBLAS_UTILITIES})
- add_dependencies( osgeo4w ${utility} )
-endforeach()
-
More information about the Liblas-commits
mailing list