[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