Skip to content

Commit

Permalink
Merge branch 'master' into chunk
Browse files Browse the repository at this point in the history
  • Loading branch information
connormanning committed Sep 18, 2015
2 parents 008cd8f + 5777b8b commit 1c53722
Show file tree
Hide file tree
Showing 144 changed files with 5,500 additions and 1,166 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Expand Up @@ -140,3 +140,8 @@ test/data/qfit/little-endian-conversion.xml
test/data/qfit/pipeline.xml
test/data/qfit/reader.xml
test/data/sbet/pipeline.xml

python/*.egg*
python/build/*
python/pdal/libpdalpython.so
python/pdal/libpdalpython.cpp
14 changes: 10 additions & 4 deletions CMakeLists.txt
Expand Up @@ -28,13 +28,14 @@ mark_as_advanced(CMAKE_VERBOSE_MAKEFILE)

# the next line is the ONLY place in the entire pdal system where
# the version info is hard-coded
set(PDAL_VERSION_STRING "1.0.0.b1" CACHE STRING "PDAL version" FORCE)
set(PDAL_VERSION_STRING "1.0.1" CACHE STRING "PDAL version" FORCE)

DISSECT_VERSION()
GET_OS_INFO()
SET_INSTALL_DIRS()

SET(PDAL_LIB_SOVERSION "0.0.0")
set(PDAL_API_VERSION "1")
set(PDAL_BUILD_VERSION "1.0.0")

# Name of C++ library

Expand All @@ -47,14 +48,16 @@ SET(PDAL_LIB_SOVERSION "0.0.0")
# On OSX we reexport the symbols from libpdal_util.dylib into libpdalcpp.dylib
# See src/CMakeLists.txt for the rest of the magic.
#
if (APPLE OR WINDOWS)
if (APPLE OR WIN32)
set(PDAL_LIB_NAME pdalcpp)
set(PDAL_BASE_LIB_NAME pdalcpp)
set(PDAL_UTIL_LIB_NAME pdal_util)
set(PDAL_PLANG_LIB_NAME pdal_plang)
else()
set(PDAL_LIB_NAME pdalcpp)
set(PDAL_BASE_LIB_NAME pdal_base)
set(PDAL_UTIL_LIB_NAME pdal_util)
set(PDAL_PLANG_LIB_NAME pdal_plang)
endif()

set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)
Expand Down Expand Up @@ -264,6 +267,9 @@ add_subdirectory(filters)
add_subdirectory(kernels)
add_subdirectory(src)
add_subdirectory(tools)
if (BUILD_PLUGIN_PYTHON)
add_subdirectory(src/plang)
endif()

if(WITH_TESTS)
# This is fixed in trunk
Expand Down Expand Up @@ -335,14 +341,14 @@ list(APPEND CPACK_SOURCE_IGNORE_FILES "Testing")
list(APPEND CPACK_SOURCE_IGNORE_FILES "PDAL.build/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/bin/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/lib/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/build/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "Makefile")
list(APPEND CPACK_SOURCE_IGNORE_FILES "CMakeFiles")
list(APPEND CPACK_SOURCE_IGNORE_FILES "CTestTestfile.cmake")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/test/data/local/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/doc/doxygen/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/doc/build/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/doc/presentations/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/scripts/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/cmake/examples/")

include(CPack)
Expand Down
82 changes: 82 additions & 0 deletions HOWTORELEASE.txt
@@ -0,0 +1,82 @@

Steps for Making a PDAL Release
==============================================================================

:Author: Howard Butler
:Contact: howard@hobu.co
:Date: 09/11/2015

This document describes the process for releasing a new version of PDAL.

General Notes
------------------------------------------------------------------------------

Release Process

1) Increment Version Numbers

- CMakeLists.txt
* set(PDAL_VERSION_STRING "1.0.0" CACHE STRING "PDAL version")
* DISSECT_VERSION() CMake macro will break version down into
PDAL_VERSION_MAJOR, PDAL_VERSION_MINOR, PDAL_VERSION_PATCH,
and PDAL_CANDIDATE_VERSION strings.

- Update SO versioning
set(PDAL_API_VERSION "1")
set(PDAL_BUILD_VERSION "1.0.0")
* https://github.com/libspatialindex/libspatialindex/pull/44#issuecomment-57088783

2) Update README to include any relevant info about the release that
might have changed.

3) Update ChangeLog with git2cl

* git2cl . > ChangeLog

4) Build and run the tests. Really.

::

ctest -V

5) Clone a new tree and issue cmake. The package_source CMake target is
aggressive about scooping up every file in the tree to include in the package.
It does ok with CMake-specific stuff, but any other cruft in the tree is
likely to get dumped into the package.

::

git clone git://github.com/PDAL/PDAL.git pdal2
cmake .

6) Make the source distribution. If you are doing a release candidate
add an RC tag to the invocation.

::

./package.sh
./package.sh RC1


package.sh will rename the source files if necessary for the release
candidate tag and create .md5 sum files. This script only works on
linux and windows.

7) Update docs/download.txt to point at the location of the new release

8) Upload the new release to download.osgeo.org:/osgeo/download/pdal

::

scp PDAL-* hobu@download.osgeo.org:/osgeo/download/pdal

9) Tag the release. Use the ``-f`` switch if you are retagging because you
missed something.

::
git tag 1.0.0
git push --tags


10) Write the release notes. Email PDAL mailing list with notice about release

50 changes: 34 additions & 16 deletions apps/CMakeLists.txt
Expand Up @@ -67,26 +67,44 @@ else(APPLE AND PDAL_BUNDLE)
RUNTIME DESTINATION ${PDAL_BIN_INSTALL_DIR})
endif(APPLE AND PDAL_BUNDLE)

if(UNIX)
if(UNIX OR APPLE)

get_directory_property(PDAL_DEFINITIONS DIRECTORY ${PDAL_SOURCE_DIR}/../src COMPILE_DEFINITIONS)
set(PKGCONFIG_LIBRARY_DEFINITIONS "")
set(PDAL_INCLUDE_DEFINITIONS "-I${CMAKE_INSTALL_PREFIX}/include -I${Boost_INCLUDE_DIR} -I${GDAL_INCLUDE_DIR}")
set(PKGCONFIG_LIBRARY_DEFINITIONS "${PKGCONFIG_LIBRARY_DEFINITIONS} gdal")

set(PDAL_CONFIG_DEFINITIONS "")
foreach(definition ${PDAL_DEFINITIONS})
set(PDAL_CONFIG_DEFINITIONS "${PDAL_CONFIG_DEFINITIONS} -D${definition}")
endforeach()
if(LIBXML2_FOUND)
set(PKGCONFIG_LIBRARY_DEFINITIONS "${PKGCONFIG_LIBRARY_DEFINITIONS} libxml-2.0")
set(PDAL_INCLUDE_DEFINITIONS "${PDAL_INCLUDE_DEFINITIONS} -I${LIBXML2_INCLUDE_DIR}")
endif()

# 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 (GEOS_FOUND)
set(PKGCONFIG_LIBRARY_DEFINITIONS "${PKGCONFIG_LIBRARY_DEFINITIONS} geos")
set(PDAL_INCLUDE_DEFINITIONS "${PDAL_INCLUDE_DEFINITIONS} -I${GEOS_INCLUDE_DIR}")
endif()

if (LASZIP_FOUND)
set(PDAL_INCLUDE_DEFINITIONS "${PDAL_INCLUDE_DEFINITIONS} -I${LASZIP_INCLUDE_DIR}")
endif()

file(MAKE_DIRECTORY "${PDAL_OUTPUT_LIB_DIR}/pkgconfig/")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pdal.pc.in
${CMAKE_CURRENT_BINARY_DIR}/pdal.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pdal.pc
DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/"
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pdal-config.in
${CMAKE_CURRENT_BINARY_DIR}/pdal-config @ONLY)

install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pdal-config
DESTINATION "${CMAKE_INSTALL_PREFIX}/${PDAL_BIN_INSTALL_DIR}"
PERMISSIONS
OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
# Autoconf compatibility variables to use the same script source.
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pdal-config.in"
"${CMAKE_CURRENT_SOURCE_DIR}/pdal-config" @ONLY)

file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/pdal-config"
DESTINATION "${PDAL_OUTPUT_BIN_DIR}/"
FILE_PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)

install(PROGRAMS "${PDAL_OUTPUT_BIN_DIR}/pdal-config"
DESTINATION "${CMAKE_INSTALL_PREFIX}/bin"
PERMISSIONS
OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
endif()
25 changes: 15 additions & 10 deletions apps/pdal-config.in
@@ -1,19 +1,20 @@
#!/bin/sh
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=@CMAKE_INSTALL_PREFIX@/bin
libdir=@CMAKE_INSTALL_PREFIX@/lib


usage()
{
cat <<EOF
Usage: pdal-config [OPTIONS]
Options:
[--libs]
[--cflags]
[--cxxflags]
[--defines]
[--includes]
[--libs]
[--plugin-dir]
[--version]
EOF
exit $1
Expand All @@ -23,9 +24,13 @@ if test $# -eq 0; then
usage 1 1>&2
fi

case $1 in
--libs)
echo $LIBS
case $1 in
--libs)
echo -L@CMAKE_INSTALL_PREFIX@/lib -lpdalcpp
;;

--plugin-dir)
echo @PDAL_PLUGIN_INSTALL_PATH@
;;

--prefix)
Expand All @@ -41,17 +46,17 @@ case $1 in
;;

--includes)
echo ${INCLUDES}
echo @PDAL_INCLUDE_DEFINITIONS@
;;

--cflags)
echo @CMAKE_C_FLAGS@
;;

--cxxflags)
echo @CMAKE_CXX_FLAGS@
echo @CMAKE_CXX_FLAGS@ -std=c++11
;;

--version)
echo @PDAL_VERSION_STRING@
;;
Expand Down
12 changes: 12 additions & 0 deletions apps/pdal.pc.in
@@ -0,0 +1,12 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=@CMAKE_INSTALL_PREFIX@/bin
libdir=@CMAKE_INSTALL_PREFIX@/lib
includedir=@CMAKE_INSTALL_PREFIX@/include

Name: PDAL
Description: Point Data Abstraction Library
Requires: @PKGCONFIG_LIBRARY_DEFINITIONS@
Version: @PDAL_VERSION_STRING@
Libs: -L${libdir} -l@PDAL_LIB_NAME@
Cflags: -I${includedir}/pdal @PDAL_CONFIG_DEFINITIONS@

7 changes: 7 additions & 0 deletions cmake/examples/hobu-config.sh
Expand Up @@ -64,3 +64,10 @@ CC=$CC CXX=$CXX cmake -G "$CONFIG" \
-DPGPOINTCLOUD_TEST_DB_HOST="localhost"


# -DPYTHON_EXECUTABLE=/usr/local/bin/python \
# -DPYTHON_LIBRARY=/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib \
# -DPYTHON_INCLUDE_DIR=/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7/ \

# -DPYTHON_EXECUTABLE=/usr/local/bin/python3 \
# -DPYTHON_LIBRARY=/usr/local/Cellar/python3/3.4.2_1/Frameworks/Python.framework/Versions/3.4/lib/libpython3.4.dylib \
# -DPYTHON_INCLUDE_DIR=/usr/local/Cellar/python3/3.4.2_1/Frameworks/Python.framework/Versions/3.4/include/python3.4m/ \

0 comments on commit 1c53722

Please sign in to comment.