Skip to content
Commits on Source (5)
......@@ -50,6 +50,13 @@ ipch/
*.suo
*.opensdf
*.sln.docstates
*.ilk
*.exe
*.lib
*.pdb
*.exp
*.dll
*.manifest
#
# intellij, clion
......@@ -78,6 +85,7 @@ test/data/local
/_build*
/build*
/examples/build*
/*local*.bat
/*local*.sh
Makefile
......
......@@ -6,14 +6,14 @@ sudo: required
services: docker
before_install:
- docker pull alpine:edge
- docker pull alpine:3.7
script:
- docker run -v $TRAVIS_BUILD_DIR:/pdal -t alpine:edge /bin/sh -c "/pdal/scripts/ci/script.sh"
- docker run -v $TRAVIS_BUILD_DIR:/pdal -t alpine:3.7 /bin/sh -c "/pdal/scripts/ci/script.sh"
after_success:
- echo "secure travis:" "$TRAVIS_SECURE_ENV_VARS"
- sh -c 'if test "$TRAVIS_SECURE_ENV_VARS" = "true" -a "$TRAVIS_BRANCH" = "1.6-maintenance"; then echo "publish website"; ./scripts/ci/build_docs.sh; ./scripts/ci/add_deploy_key.sh; ./scripts/ci/deploy_website.sh $TRAVIS_BUILD_DIR/doc/build /tmp; fi'
- sh -c 'if test "$TRAVIS_SECURE_ENV_VARS" = "true" -a "$TRAVIS_BRANCH" = "1.7-maintenance"; then echo "publish website"; ./scripts/ci/build_docs.sh; ./scripts/ci/add_deploy_key.sh; ./scripts/ci/deploy_website.sh $TRAVIS_BUILD_DIR/doc/build /tmp; fi'
notifications:
on_success: always
......
......@@ -28,14 +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.6.0" CACHE STRING "PDAL version" FORCE)
set(PDAL_VERSION_STRING "1.7.0" CACHE STRING "PDAL version" FORCE)
DISSECT_VERSION()
GET_OS_INFO()
SET_INSTALL_DIRS()
set(PDAL_API_VERSION "5")
set(PDAL_BUILD_VERSION "6.1.0")
set(PDAL_API_VERSION "6")
set(PDAL_BUILD_VERSION "7.0.0")
# Name of C++ library
......@@ -58,6 +58,7 @@ endif()
set(PDAL_UTIL_LIB_NAME pdal_util)
set(PDAL_BOOST_LIB_NAME pdal_boost)
set(PDAL_KAZHDAN_LIB_NAME pdal_kazhdan)
set(PDAL_TEST_SUPPORT_OBJS pdal_test_support)
set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)
......@@ -66,8 +67,12 @@ set(PDAL_OUTPUT_BIN_DIR "${PDAL_BINARY_DIR}/${PDAL_BIN_INSTALL_DIR}")
# allow override of PDAL_PLUGIN_INSTALL_PATH path
if (NOT PDAL_PLUGIN_INSTALL_PATH)
if (WIN32)
set(PDAL_PLUGIN_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/${PDAL_BIN_INSTALL_DIR}")
else()
set(PDAL_PLUGIN_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/${PDAL_LIB_INSTALL_DIR}")
endif()
endif()
file(MAKE_DIRECTORY "${PDAL_OUTPUT_LIB_DIR}")
file(MAKE_DIRECTORY "${PDAL_OUTPUT_BIN_DIR}")
......@@ -80,19 +85,20 @@ set_directory_properties(PROPERTY ADDITIONAL_MAKE_CLEAN_FILES
if(WIN32)
add_definitions("-DPDAL_DLL_EXPORT=1")
foreach(config ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${config} CONFIG)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG} "${PDAL_OUTPUT_LIB_DIR}")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG} "${PDAL_OUTPUT_BIN_DIR}")
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE} "${PDAL_OUTPUT_LIB_DIR}")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE} "${PDAL_OUTPUT_BIN_DIR}")
# ---[ Windows requires DLLs (shared libraries) to be installed in
# ---[ the same directory as executables
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG} "${PDAL_OUTPUT_BIN_DIR}")
endforeach(config)
else(WIN32)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE} "${PDAL_OUTPUT_BIN_DIR}")
endif(WIN32)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PDAL_OUTPUT_LIB_DIR}")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PDAL_OUTPUT_BIN_DIR}")
if(WIN32)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PDAL_OUTPUT_BIN_DIR}")
else()
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PDAL_OUTPUT_LIB_DIR}")
endif(WIN32)
endif()
# Choose package components
......@@ -113,19 +119,19 @@ include(${PDAL_CMAKE_DIR}/geos.cmake)
include(${PDAL_CMAKE_DIR}/geotiff.cmake) # Optional (not really)
include(${PDAL_CMAKE_DIR}/lazperf.cmake) # Optional
include(${PDAL_CMAKE_DIR}/laszip.cmake) # Optional
include(${PDAL_CMAKE_DIR}/pdaljni.cmake) # Optional
include(${PDAL_CMAKE_DIR}/threads.cmake)
include(${PDAL_CMAKE_DIR}/zlib.cmake)
include(${PDAL_CMAKE_DIR}/lzma.cmake)
include(${PDAL_CMAKE_DIR}/zstd.cmake)
include(${PDAL_CMAKE_DIR}/test.cmake)
include(${PDAL_CMAKE_DIR}/ctest.cmake)
include(${PDAL_CMAKE_DIR}/json.cmake)
include(${PDAL_CMAKE_DIR}/libxml2.cmake)
include(${PDAL_CMAKE_DIR}/dimension.cmake)
include(${PDAL_CMAKE_DIR}/python.cmake)
include(${PDAL_CMAKE_DIR}/arbiter.cmake)
#------------------------------------------------------------------------------
# generate the pdal_defines.h header
# generate the pdal_features.hpp header
#------------------------------------------------------------------------------
# from http://stackoverflow.com/questions/1435953/how-can-i-pass-git-sha1-to-compiler-as-definition-using-cmake
......@@ -136,7 +142,7 @@ configure_file(
"${PROJECT_SOURCE_DIR}/gitsha.cpp.in"
"${PROJECT_SOURCE_DIR}/pdal/gitsha.cpp")
# needs to come before configuration of pdal_defines
# needs to come before configuration of pdal_features
if(APPLE)
option(PDAL_BUNDLE "Create PDAL as Application Bundle on OSX" FALSE)
if (PDAL_BUNDLE)
......@@ -144,11 +150,10 @@ if(APPLE)
endif()
endif()
set(pdal_defines_h_in "${CMAKE_CURRENT_SOURCE_DIR}/pdal_defines.h.in")
set(pdal_defines_h "${CMAKE_CURRENT_BINARY_DIR}/include/pdal/pdal_defines.h")
include(CheckIncludeFiles)
check_include_files(execinfo.h PDAL_HAVE_EXECINFO_H)
configure_file(${pdal_defines_h_in} ${pdal_defines_h})
set(pdal_features_hpp_in "${CMAKE_CURRENT_SOURCE_DIR}/pdal_features.hpp.in")
set(pdal_features_hpp
"${CMAKE_CURRENT_BINARY_DIR}/include/pdal/pdal_features.hpp")
configure_file(${pdal_features_hpp_in} ${pdal_features_hpp})
#------------------------------------------------------------------------------
# subdirectory controls
......@@ -176,9 +181,8 @@ if (NOT PDAL_HAVE_JSONCPP)
add_subdirectory(vendor/jsoncpp/dist)
endif()
add_subdirectory(pdal/util)
#add_subdirectory(tools)
add_subdirectory(tools)
add_subdirectory(apps)
#
# On OSX we reexport the symbols in libpdal_util.dylib into libpdalcpp.dylib
# so that users only need link libpdalcpp.
......@@ -196,22 +200,48 @@ file(GLOB BASE_SRCS
${PDAL_FILTERS_DIR}/*.cpp
${PDAL_IO_DIR}/*.cpp
${PDAL_KERNELS_DIR}/*.cpp
${PDAL_SRC_DIR}/*.cpp)
${PDAL_SRC_DIR}/*.cpp
${PDAL_SRC_DIR}/compression/*.cpp)
file(GLOB_RECURSE PRIVATE_SRCS
${PDAL_FILTERS_DIR}/private/*.cpp
${PDAL_IO_DIR}/private/*.cpp
${PDAL_KERNELS_DIR}/private/*.cpp
${PDAL_SRC_DIR}/private/*.cpp)
list(APPEND SRCS ${BASE_SRCS} ${PRIVATE_SRCS})
#
# Remove stuff we don't want to build.
#
if (NOT PDAL_HAVE_LIBXML2)
file(GLOB XML_SRCS
io/Ilvis2MetadataReader.cpp
io/Ilvis2Metadata.cpp
pdal/DbWriter.cpp
pdal/DbReader.cpp
pdal/XMLSchema.cpp)
${PDAL_SRC_DIR}/DbWriter.cpp
${PDAL_SRC_DIR}/DbReader.cpp
${PDAL_SRC_DIR}/XMLSchema.cpp)
list(REMOVE_ITEM SRCS ${XML_SRCS})
endif()
if (NOT PDAL_HAVE_ZSTD)
file(GLOB ZSTD_SRCS
${PDAL_SRC_DIR}/compression/ZstdCompression.cpp)
list(REMOVE_ITEM SRCS ${ZSTD_SRCS})
endif()
if (NOT PDAL_HAVE_ZLIB)
file(GLOB ZLIB_SRCS
${PDAL_SRC_DIR}/compression/DeflateCompression.cpp)
list(REMOVE_ITEM SRCS ${ZLIB_SRCS})
endif()
if (NOT PDAL_HAVE_LZMA)
file(GLOB LZMA_SRCS
${PDAL_SRC_DIR}/compression/LzmaCompression.cpp)
list(REMOVE_ITEM SRCS ${LZMA_SRCS})
endif()
if (NOT PDAL_HAVE_LAZPERF)
file(GLOB LAZPERF_SRCS
${PDAL_SRC_DIR}/compression/LazPerfCompression.cpp
${PDAL_SRC_DIR}/compression/LazPerfVlrCompression.cpp)
list(REMOVE_ITEM SRCS ${LAZPERF_SRCS})
endif()
PDAL_ADD_LIBRARY(${PDAL_BASE_LIB_NAME} ${SRCS} ${RPLY_SRCS})
#
......@@ -227,6 +257,7 @@ target_include_directories(${PDAL_BASE_LIB_NAME}
${PDAL_VENDOR_DIR}/pdalboost
${PDAL_JSONCPP_INCLUDE_DIR}
${LIBXML2_INCLUDE_DIR}
${ZSTD_INCLUDE_DIR}
INTERFACE
${GDAL_INCLUDE_DIR}
${LASZIP_INCLUDE_DIR}
......@@ -240,6 +271,8 @@ target_link_libraries(${PDAL_BASE_LIB_NAME}
${LASZIP_LIBRARY}
${LIBXML2_LIBRARIES}
${ZLIB_LIBRARIES}
${LIBLZMA_LIBRARIES}
${ZSTD_STATIC_LIB}
${CURL_LIBRARIES}
${WINSOCK_LIBRARY}
PRIVATE
......@@ -260,6 +293,12 @@ set_target_properties(${PDAL_BASE_LIB_NAME} PROPERTIES
VERSION ${PDAL_BUILD_VERSION}
SOVERSION ${PDAL_API_VERSION}
CLEAN_DIRECT_OUTPUT 1)
# shut off -Wpedantic selectively
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU" )
set_source_files_properties(filters/PoissonFilter.cpp PROPERTIES COMPILE_FLAGS -Wno-pedantic)
endif()
#
# On Linux, we install a linker script as libpdalcpp.so. That file
# specifies linking in libpdal_base.so and libpdal_util.so. This allows
......@@ -296,7 +335,7 @@ install(DIRECTORY ${PDAL_FILTERS_DIR}
PATTERN "private" EXCLUDE
)
install(FILES ${DIMENSION_OUTFILE} ${pdal_defines_h}
install(FILES ${DIMENSION_OUTFILE} ${pdal_features_hpp}
DESTINATION include/pdal
)
......
......@@ -34,25 +34,25 @@ SET(CPACK_GENERATOR "STGZ;TGZ;TZ")
SET(CPACK_INSTALL_CMAKE_PROJECTS "/PDAL;PDAL;ALL;/")
SET(CPACK_INSTALL_PREFIX "/usr/local")
SET(CPACK_MODULE_PATH "/PDAL/cmake/modules")
SET(CPACK_NSIS_DISPLAY_NAME "PDAL 1.6.6")
SET(CPACK_NSIS_DISPLAY_NAME "PDAL 1.7.7")
SET(CPACK_NSIS_INSTALLER_ICON_CODE "")
SET(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "")
SET(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES")
SET(CPACK_NSIS_PACKAGE_NAME "PDAL 1.6.6")
SET(CPACK_NSIS_PACKAGE_NAME "PDAL 1.7.7")
SET(CPACK_OUTPUT_CONFIG_FILE "/PDAL/CPackConfig.cmake")
SET(CPACK_PACKAGE_DEFAULT_LOCATION "/")
SET(CPACK_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake-3.5/Templates/CPack.GenericDescription.txt")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "PDAL built using CMake")
SET(CPACK_PACKAGE_FILE_NAME "PDAL-1.6.6-Linux")
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "PDAL 1.6.6")
SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "PDAL 1.6.6")
SET(CPACK_PACKAGE_FILE_NAME "PDAL-1.7.7-Linux")
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "PDAL 1.7.7")
SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "PDAL 1.7.7")
SET(CPACK_PACKAGE_NAME "PDAL")
SET(CPACK_PACKAGE_RELOCATABLE "true")
SET(CPACK_PACKAGE_VENDOR "PDAL Development Team")
SET(CPACK_PACKAGE_VERSION "1.6.6")
SET(CPACK_PACKAGE_VERSION "1.7.7")
SET(CPACK_PACKAGE_VERSION_MAJOR "1")
SET(CPACK_PACKAGE_VERSION_MINOR "6")
SET(CPACK_PACKAGE_VERSION_PATCH "6")
SET(CPACK_PACKAGE_VERSION_MINOR "7")
SET(CPACK_PACKAGE_VERSION_PATCH "7")
SET(CPACK_RESOURCE_FILE_LICENSE "/PDAL/LICENSE.txt")
SET(CPACK_RESOURCE_FILE_README "/usr/share/cmake-3.5/Templates/CPack.GenericDescription.txt")
SET(CPACK_RESOURCE_FILE_WELCOME "/usr/share/cmake-3.5/Templates/CPack.GenericWelcome.txt")
......@@ -60,9 +60,9 @@ SET(CPACK_SET_DESTDIR "OFF")
SET(CPACK_SOURCE_7Z "")
SET(CPACK_SOURCE_CYGWIN "")
SET(CPACK_SOURCE_GENERATOR "TBZ2;TGZ")
SET(CPACK_SOURCE_IGNORE_FILES "/\\.gitattributes;/\\.vagrant;/\\.DS_Store;/CVS/;/\\.git/;\\.swp$;~$;\\.\\#;/\\#;CMakeScripts/;CMakeCache.txt;.xcodeproj;build.make;_CPack_Packages;cmake_install.cmake;Testing;PDAL.build/;/bin/;/lib/;/build/;Makefile;CMakeFiles;CTestTestfile.cmake;/test/data/local/;/doc/doxygen/;/doc/build/;/doc/presentations/;/doc/_static/logo/dongle/;/doc/_static/logo/sticker/;/cmake/examples/;/include/pdal/pdal_defines.h;.gz2;.bz2")
SET(CPACK_SOURCE_IGNORE_FILES "/\\.gitattributes;/\\.vagrant;/\\.DS_Store;/CVS/;/\\.git/;\\.swp$;~$;\\.\\#;/\\#;CMakeScripts/;CMakeCache.txt;.xcodeproj;build.make;_CPack_Packages;cmake_install.cmake;Testing;PDAL.build/;/bin/;/lib/;/build/;Makefile;CMakeFiles;CTestTestfile.cmake;/test/data/local/;/doc/doxygen/;/doc/build/;/doc/presentations/;/doc/_static/logo/dongle/;/cmake/examples/;/include/pdal/pdal_defines.h;.gz2;.bz2")
SET(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/PDAL/CPackSourceConfig.cmake")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "PDAL-1.6.0-src")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "PDAL-1.7.0-src")
SET(CPACK_SOURCE_TBZ2 "")
SET(CPACK_SOURCE_TGZ "")
SET(CPACK_SOURCE_TXZ "")
......
......@@ -31,30 +31,30 @@ SET(CPACK_CMAKE_GENERATOR "Unix Makefiles")
SET(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE")
SET(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE")
SET(CPACK_GENERATOR "TBZ2;TGZ")
SET(CPACK_IGNORE_FILES "/\\.gitattributes;/\\.vagrant;/\\.DS_Store;/CVS/;/\\.git/;\\.swp$;~$;\\.\\#;/\\#;CMakeScripts/;CMakeCache.txt;.xcodeproj;build.make;_CPack_Packages;cmake_install.cmake;Testing;PDAL.build/;/bin/;/lib/;/build/;Makefile;CMakeFiles;CTestTestfile.cmake;/test/data/local/;/doc/doxygen/;/doc/build/;/doc/presentations/;/doc/_static/logo/dongle/;/doc/_static/logo/sticker/;/cmake/examples/;/include/pdal/pdal_defines.h;.gz2;.bz2")
SET(CPACK_IGNORE_FILES "/\\.gitattributes;/\\.vagrant;/\\.DS_Store;/CVS/;/\\.git/;\\.swp$;~$;\\.\\#;/\\#;CMakeScripts/;CMakeCache.txt;.xcodeproj;build.make;_CPack_Packages;cmake_install.cmake;Testing;PDAL.build/;/bin/;/lib/;/build/;Makefile;CMakeFiles;CTestTestfile.cmake;/test/data/local/;/doc/doxygen/;/doc/build/;/doc/presentations/;/doc/_static/logo/dongle/;/cmake/examples/;/include/pdal/pdal_defines.h;.gz2;.bz2")
SET(CPACK_INSTALLED_DIRECTORIES "/PDAL;/")
SET(CPACK_INSTALL_CMAKE_PROJECTS "")
SET(CPACK_INSTALL_PREFIX "/usr/local")
SET(CPACK_MODULE_PATH "/PDAL/cmake/modules")
SET(CPACK_NSIS_DISPLAY_NAME "PDAL 1.6.6")
SET(CPACK_NSIS_DISPLAY_NAME "PDAL 1.7.7")
SET(CPACK_NSIS_INSTALLER_ICON_CODE "")
SET(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "")
SET(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES")
SET(CPACK_NSIS_PACKAGE_NAME "PDAL 1.6.6")
SET(CPACK_NSIS_PACKAGE_NAME "PDAL 1.7.7")
SET(CPACK_OUTPUT_CONFIG_FILE "/PDAL/CPackConfig.cmake")
SET(CPACK_PACKAGE_DEFAULT_LOCATION "/")
SET(CPACK_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake-3.5/Templates/CPack.GenericDescription.txt")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "PDAL built using CMake")
SET(CPACK_PACKAGE_FILE_NAME "PDAL-1.6.0-src")
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "PDAL 1.6.6")
SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "PDAL 1.6.6")
SET(CPACK_PACKAGE_FILE_NAME "PDAL-1.7.0-src")
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "PDAL 1.7.7")
SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "PDAL 1.7.7")
SET(CPACK_PACKAGE_NAME "PDAL")
SET(CPACK_PACKAGE_RELOCATABLE "true")
SET(CPACK_PACKAGE_VENDOR "PDAL Development Team")
SET(CPACK_PACKAGE_VERSION "1.6.6")
SET(CPACK_PACKAGE_VERSION "1.7.7")
SET(CPACK_PACKAGE_VERSION_MAJOR "1")
SET(CPACK_PACKAGE_VERSION_MINOR "6")
SET(CPACK_PACKAGE_VERSION_PATCH "6")
SET(CPACK_PACKAGE_VERSION_MINOR "7")
SET(CPACK_PACKAGE_VERSION_PATCH "7")
SET(CPACK_RESOURCE_FILE_LICENSE "/PDAL/LICENSE.txt")
SET(CPACK_RESOURCE_FILE_README "/usr/share/cmake-3.5/Templates/CPack.GenericDescription.txt")
SET(CPACK_RESOURCE_FILE_WELCOME "/usr/share/cmake-3.5/Templates/CPack.GenericWelcome.txt")
......@@ -62,10 +62,10 @@ SET(CPACK_SET_DESTDIR "OFF")
SET(CPACK_SOURCE_7Z "")
SET(CPACK_SOURCE_CYGWIN "")
SET(CPACK_SOURCE_GENERATOR "TBZ2;TGZ")
SET(CPACK_SOURCE_IGNORE_FILES "/\\.gitattributes;/\\.vagrant;/\\.DS_Store;/CVS/;/\\.git/;\\.swp$;~$;\\.\\#;/\\#;CMakeScripts/;CMakeCache.txt;.xcodeproj;build.make;_CPack_Packages;cmake_install.cmake;Testing;PDAL.build/;/bin/;/lib/;/build/;Makefile;CMakeFiles;CTestTestfile.cmake;/test/data/local/;/doc/doxygen/;/doc/build/;/doc/presentations/;/doc/_static/logo/dongle/;/doc/_static/logo/sticker/;/cmake/examples/;/include/pdal/pdal_defines.h;.gz2;.bz2")
SET(CPACK_SOURCE_IGNORE_FILES "/\\.gitattributes;/\\.vagrant;/\\.DS_Store;/CVS/;/\\.git/;\\.swp$;~$;\\.\\#;/\\#;CMakeScripts/;CMakeCache.txt;.xcodeproj;build.make;_CPack_Packages;cmake_install.cmake;Testing;PDAL.build/;/bin/;/lib/;/build/;Makefile;CMakeFiles;CTestTestfile.cmake;/test/data/local/;/doc/doxygen/;/doc/build/;/doc/presentations/;/doc/_static/logo/dongle/;/cmake/examples/;/include/pdal/pdal_defines.h;.gz2;.bz2")
SET(CPACK_SOURCE_INSTALLED_DIRECTORIES "/PDAL;/")
SET(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/PDAL/CPackSourceConfig.cmake")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "PDAL-1.6.0-src")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "PDAL-1.7.0-src")
SET(CPACK_SOURCE_TBZ2 "")
SET(CPACK_SOURCE_TGZ "")
SET(CPACK_SOURCE_TOPLEVEL_TAG "Linux-Source")
......
This diff is collapsed.
......@@ -4,7 +4,7 @@ Steps for Making a PDAL Release
:Author: Howard Butler
:Contact: howard@hobu.co
:Date: 05/31/2017
:Date: 04/04/2018
This document describes the process for releasing a new version of PDAL.
......@@ -21,9 +21,6 @@ Release Process
PDAL_VERSION_MAJOR, PDAL_VERSION_MINOR, PDAL_VERSION_PATCH,
and PDAL_CANDIDATE_VERSION strings.
- python/VERSION.txt
python/pdal/__init.py
- Update SO versioning
set(PDAL_API_VERSION "1")
set(PDAL_BUILD_VERSION "1.0.0")
......@@ -31,17 +28,19 @@ Release Process
- doc/quickstart.rst has a number of current-release references
- doc/download.rst point to new release
- Make and push new release branch
::
git branch 1.6-maintenance
git push origin 1.6-maintenance
git branch 1.7-maintenance
git push origin 1.7-maintenance
- Increment the doc build branch of .travis.yml:
"$TRAVIS_BRANCH" = "1.6-maintenance"
"$TRAVIS_BRANCH" = "1.7-maintenance"
- Make DockerHub build entry for new release branch.
......@@ -101,30 +100,25 @@ Release Process
10) Write the release notes. Email PDAL mailing list with notice about release
11) Upload Python extension to PyPI
::
cd python; python setup.py sdist upload
12) Upload new OSGeo4W package to download.osgeo.org:/osgeo/download/osgeo4w/x86_64/release/pdal
11) Upload new OSGeo4W package to download.osgeo.org:/osgeo/download/osgeo4w/x86_64/release/pdal
- Go to https://ci.appveyor.com/project/hobu/pdal
- Choose ``OSGEO4W_BUILD=ON`` build
- Scroll to very bottom
- Fetch tarball "OSGeo4W64 build will be uploaded to https://s3.amazonaws.com/pdal/osgeo4w/pdal-a4af2420b09725a4a0fff1ef277b1e6370c497d2.tar.bz2"
- Fetch tarball "OSGeo4W64 build will be uploaded to https://s3.amazonaws.com/pdal/osgeo4w/pdal-a4af2420b09725a4a0fff1ef277b1.7370c497d2.tar.bz2"
- rename to match current release and set OSGeo4W build number to 1
::
mv pdal-a4af2420b09725a4a0fff1ef277b1e6370c497d2.tar.bz2 pdal-1.6.0-1.tar.bz2
mv pdal-a4af2420b09725a4a0fff1ef277b1.7370c497d2.tar.bz2 pdal-1.7.0-1.tar.bz2
- copy to OSGeo4W server
::
scp pdal-1.6.0-1.tar.bz2 hobu@download.osgeo.org:/osgeo/download/osgeo4w/x86_64/release/pdal
scp pdal-1.7.0-1.tar.bz2 hobu@download.osgeo.org:/osgeo/download/osgeo4w/x86_64/release/pdal
- refresh OSGeo4W
......@@ -137,45 +131,3 @@ Release Process
::
http://upload.osgeo.org/cgi-bin/osgeo4w-promote.sh
13) Publish JNI Bindings
What you need:
- an account on sonatype (https://issues.sonatype.org/secure/Signup!default.jspa)
- ~/.sbt/1.0/sonatype.sbt file with the following content:
credentials += Credentials("Sonatype Nexus Repository Manager",
"oss.sonatype.org",
"<your username>",
"<your password>")
The description of the Sonatype publishment process (everything described below is in a java dir: cd PDAL/java):
- Publishing snaphots:
Snapshot can be published without PGP sign, it is published to a snapshot repo and allows immediate snaphot updates.
To publish everything in a local repo use command:
- ./scripts/publish-local.sh (publishes scala 2.11 version)
- ./scripts/publish-local-212.sh (publishes scala 2.12 version)
To publish everything into sonatype snapshot repo use:
- ./scripts/publish-all.sh
Summary:
- Run ./scripts/publish-all.sh and everything is available in a snaphost repository
- Publishing releases:
To publish everything into sonatype snapshot repo (staging repo) use:
- ./scripts/publish-all.sh --suffix="" --signed
`suffix` defines version suffix (for example `--suffix="-RC1"`)
`signed` means that jar would be uploaded into a staging sonatype repo with a PGP sign
Staging means a special repository in a pre released condition.
- Go into staging repos panel: https://oss.sonatype.org/#stagingRepositories (log in using sonatype user / pwd)
- Filter by package name (pdal in our case) and select staging repo
- Press Close button on the top of the table with repos. It would run packages
validation and will close staging repo in a succesfull case
- After succesfull closing press Release button. It would be immediately published into sonatype releases repo,
and synced with maven central ~ in 10 minutes and ~ in 2 hours it would be indexed here:
http://search.maven.org/#search%7Cga%7C1%7Cio.pdal
Full official guide: http://central.sonatype.org/pages/ossrh-guide.html
Deploying to sonatype using sbt official doc: http://www.scala-sbt.org/release/docs/Using-Sonatype.html
Official sonatype guide with pics of (https://oss.sonatype.org/#stagingRepositories) and answers the question what
to do after jars were published into a staging repo (in our case after ./scripts/publish-all.sh --suffix="" --signed step)
Summary:
- Run ./scripts/publish-all.sh --suffix="" --signed to publish everything into staging repo
- Go to sonatype panel https://oss.sonatype.org/#stagingRepositories and release the jar
- Await ~10 minutes to have jars published to maven central
......@@ -25,7 +25,7 @@ endmacro()
####################################################################################
set(PDAL_VERSION_MAJOR 1)
set(PDAL_VERSION_MINOR 6)
set(PDAL_VERSION_MINOR 7)
set(PDAL_VERSION_PATCH 0)
set(PDAL_INCLUDE_DIRS)
......
......@@ -9,16 +9,16 @@
# The variable CVF_VERSION must be set before calling configure_file().
set(PACKAGE_VERSION "1.6.0")
set(PACKAGE_VERSION "1.7.0")
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
if("1.6.0" MATCHES "^([0-9]+)\\.")
if("1.7.0" MATCHES "^([0-9]+)\\.")
set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
else()
set(CVF_VERSION_MAJOR "1.6.0")
set(CVF_VERSION_MAJOR "1.7.0")
endif()
if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR)
......
......@@ -42,15 +42,16 @@ unset(_expectedTargets)
add_library(pdal_base SHARED IMPORTED)
set_target_properties(pdal_base PROPERTIES
INTERFACE_COMPILE_OPTIONS "-std=c++11;-Wextra;-Wall;-Wno-unused-parameter;-Wno-unused-variable;-Wpointer-arith;-Wcast-align;-Wcast-qual;-Wredundant-decls;-Wno-long-long;-Wno-unknown-pragmas;-Wno-deprecated-declarations"
INTERFACE_COMPILE_OPTIONS "-std=c++11;-Wextra;-Wpedantic;-Werror;-Wall;-Wno-unused-parameter;-Wno-unused-variable;-Wpointer-arith;-Wcast-align;-Wcast-qual;-Wredundant-decls;-Wno-long-long;-Wno-unknown-pragmas;-Wno-deprecated-declarations"
INTERFACE_INCLUDE_DIRECTORIES "/usr/local/include;/usr/include/gdal;/usr/include"
INTERFACE_LINK_LIBRARIES "-lpthread;/usr/lib/libgdal.so;/usr/lib/x86_64-linux-gnu/libgeos_c.so;/usr/lib/libgeotiff.so;/usr/lib/liblaszip.so;/usr/lib/x86_64-linux-gnu/libxml2.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libcurl.so;/usr/lib/x86_64-linux-gnu/libjsoncpp.so"
)
# Create imported target pdal_util
add_library(pdal_util SHARED IMPORTED)
set_target_properties(pdal_util PROPERTIES
INTERFACE_COMPILE_OPTIONS "-std=c++11;-Wextra;-Wall;-Wno-unused-parameter;-Wno-unused-variable;-Wpointer-arith;-Wcast-align;-Wcast-qual;-Wredundant-decls;-Wno-long-long;-Wno-unknown-pragmas;-Wno-deprecated-declarations"
INTERFACE_COMPILE_OPTIONS "-std=c++11;-Wextra;-Wpedantic;-Werror;-Wall;-Wno-unused-parameter;-Wno-unused-variable;-Wpointer-arith;-Wcast-align;-Wcast-qual;-Wredundant-decls;-Wno-long-long;-Wno-unknown-pragmas;-Wno-deprecated-declarations"
INTERFACE_INCLUDE_DIRECTORIES "/usr/local/include"
)
......@@ -58,17 +59,15 @@ set_target_properties(pdal_util PROPERTIES
set_property(TARGET pdal_base APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG)
set_target_properties(pdal_base PROPERTIES
IMPORTED_LINK_DEPENDENT_LIBRARIES_NOCONFIG "pdal_util"
IMPORTED_LINK_INTERFACE_LIBRARIES_NOCONFIG "-lpthread;/usr/lib/libgdal.so;/usr/lib/x86_64-linux-gnu/libgeos_c.so;/usr/lib/libgeotiff.so;/usr/lib/liblaszip.so;/usr/lib/x86_64-linux-gnu/libxml2.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libcurl.so;/usr/lib/x86_64-linux-gnu/libjsoncpp.so"
IMPORTED_LOCATION_NOCONFIG "/PDAL/lib/libpdal_base.so.6.1.0"
IMPORTED_SONAME_NOCONFIG "libpdal_base.so.5"
IMPORTED_LOCATION_NOCONFIG "/PDAL/lib/libpdal_base.so.7.0.0"
IMPORTED_SONAME_NOCONFIG "libpdal_base.so.6"
)
# Import target "pdal_util" for configuration ""
set_property(TARGET pdal_util APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG)
set_target_properties(pdal_util PROPERTIES
IMPORTED_LINK_INTERFACE_LIBRARIES_NOCONFIG ""
IMPORTED_LOCATION_NOCONFIG "/PDAL/lib/libpdal_util.so.6.1.0"
IMPORTED_SONAME_NOCONFIG "libpdal_util.so.5"
IMPORTED_LOCATION_NOCONFIG "/PDAL/lib/libpdal_util.so.7.0.0"
IMPORTED_SONAME_NOCONFIG "libpdal_util.so.6"
)
# This file does not depend on other imported targets which have
......
================================================================================
1.7.0
================================================================================
Changes of Note
===============
- ``filter.ferry`` now creates output dimensions with the same type as
the input dimension. It also takes an arrow ‘=>’ in addition to ‘=’
in the ``--dimension`` specification.
- ``filters.hexbin`` now falls back to slow boundary creation if no
bounds information exists to do fast boundary creation.
- Dimension names can now contain the forward slash (‘/’) character.
- ``readers.gdal`` and ``filters.colorization`` now attempt to create
dimensions with the type of the associated raster.
- The Python PDAL extension code was removed from the PDAL source tree
to its own `repository <https://github.com/PDAL/python>`__.
- The JAVA PDAL interface was remove from the PDAL source tree to its
own `repository <https://github.com/PDAL/java>`__.
- ``pdal pipeline``\ and ``pdal translate`` now use stream mode if the
operation being performed is streamable. An option ``--nostream`` has
been added to both commands to prevent the use of stream mode. The
``--stream`` option of ``pdal pipeline`` is now obsolete and ignored.
- A new interface has been provided for the creation of plugins
requiring less boilerplate code. There has been no API change.
- Stages and pipelines can now be tested to check whether they are
streamable.
Enhancements
============
- Added options ``--timegap`` and ``--speedmin`` to ``readers.mbio`` to
allow configuration of which points should be read.
- Added support for compression schemes (xz, lzma, zstd) and created a
standardized interface (#1722).
- ``writers.bpf`` now supports the option ``auto`` for the ``coord_id``
option to allow the UTM zone to be set from the spatial reference if
possible (#1723).
- Added the ability read stage-specific options from a file with the
``--option_file`` option (#1641).
- Replace the GDAL point-in-polygon with a much faster implementation
in ``filters.crop``.
- Add a ``--reverse`` option to ``filters.mortonorder`` to provide a
point ordering for good dispersal.
- ``readers.bpf`` now supports the TCR (ECEF - earth centered, earth
fixed) coordinate system.
- Added option ``--use_eb_vlr`` to allow ``readers.las`` to interpret
an extra bytes VLR as if the file were version 1.4 even if it’s using
an earlier LAS version.
- ``readers.text`` added options ``--header`` and ``--skip`` to provide
an alternative header line and to allow skipping lines before reading
the header, respectively.
- ``writers.text`` now supports the ability to specify individual
dimension precision using a colon (‘:’) and integer following the
dimension name in the ``--order`` option.
- ``readers.numpy`` adds support for reading from Numpy (.npy) save
files.
- ``pdal info`` now provides the ``--enumerate`` option. See the
documentation for
`filters.stats <https://www.pdal.io/stages/filters.stats.html>`__ for
details.
- Added a general option ``--logtiming`` to cause log output to contain
the elapsed time from the start of the program. (#1882)
Documentation
=============
- Added a description of the Alpine Linux environment used for Travis
and Docker.
- Updated the documentation for building PDAL on Windows.
- Added an example of how to loop files with PowerShell.
- Corrected output shown in the documentation for ``filters.hexbin``.
- Reorganized the stages landing page to make it easier to find.
(#1880)
New stages
==========
- ``readers.greyhound`` - Allows reading points from a source using the
`greyhound <https://github.com/hobu/greyhound>`__ protocol.
- ``filters.neighborclassifier`` - Re-classifies points based on the
classification of neighboring points.
Removed stages
==============
- ``filters.computerange`` - Use ``filters.python`` to simulate the
functionality.
Bug fixes
=========
- ``filters.range`` now always rejects NaN values as out of range.
- Changed the default ``--timegap`` value in ``readers.mbio`` from 0 to
1 second.
- Fixed a bug when reading pointers from metadata on some OSX systems.
- Fixed a problem in ``pdal translate`` where overriding a reader or
writer from a pipeline wouldn’t create the proper pipeline.
- Fixed a problem where multiple LASzip VLRs would get written to LAS
files (#1726).
- Fixed an installation problem with the Python extension.
- Fixed a bug in ``writers.tindex`` that could cause a crash if the
output file wasn’t LAS.
- Fixed JSON output from ``filters.hexbin`` when density/area can’t be
calculated.
- Fixed a problem where output might be tagged with the wrong SRS when
using ``filters.reprojection`` in stream mode. (#1877)
- PDAL_DRIVER_PATH would be improperly parsed on Windows systems when
the path contained colons. Windows builds now use the semicolon as
the path separator. (#1889)
- Convert NaN and infinite double values to proper strings for output
as JSON.
- Synthetic, keypoint and withheld flags are now added to the
classification dimension for version 1.0 - 1.3 files in
``readers.las``.
- Support missed case supporting points with color but no density in
``filters.poisson``.
- Throw an error if the input file can’t be opened in ``readers.ply``.
- The ``--stdin`` option for ``kernels.tindex`` didn’t work. Now it
does. Various other fixes were made.
- ``writers.gdal`` now throws an error if an attempt is made to write
an output file with no points available.
- A build error that would be generated if lazsip was not found, even
if it was not requested, has been resolved.
- A build error that would be generated if Python was found but not
requested has been resolved.
- PDAL defaults to using `normal CMake
interface <https://cmake.org/cmake/help/v3.11/policy/CMP0022.html>`__
linking (#1890)
- Fixed an issue where dimensions from ``readers.pcd`` and
``writers.pcd`` could get confused with dimensions from
``readers.sbet`` and ``writers.sbet``.
================================================================================
1.6.0
================================================================================
......
......@@ -58,11 +58,11 @@ case $1 in
;;
--version)
echo 1.6.0
echo 1.7.0
;;
--python-version)
echo 2.7.12
echo
;;
*)
......
......@@ -14,7 +14,7 @@ IF "%1" == "--includes" echo @PDAL_INCLUDE_DEFINITIONS@ & goto exit
IF "%1" == "--cflags" echo @CMAKE_C_FLAGS@ & goto exit
IF "%1" == "--cxxflags" echo @CMAKE_CXX_FLAGS@ -std=c++11 & goto exit
IF "%1" == "--version" echo @PDAL_VERSION_STRING@ & goto exit
IF "%1" == "--python-version" echo @PYTHON_VERSION_STRING@ & goto exit
IF "%1" == "--python-version" echo @PDAL_PYTHON_VERSION_STRING@ & goto exit
echo Usage: pdal-config [OPTIONS]
......
......@@ -62,7 +62,7 @@ case $1 in
;;
--python-version)
echo @PYTHON_VERSION_STRING@
echo @PDAL_PYTHON_VERSION_STRING@
;;
*)
......
......@@ -69,7 +69,7 @@ private:
void outputVersion();
void outputHelp(const ProgramArgs& args);
void outputDrivers();
void outputCommands();
void outputCommands(const std::string& leader);
void outputOptions();
void outputOptions(const std::string& stageName,std::ostream& strm);
void addArgs(ProgramArgs& args);
......@@ -87,13 +87,14 @@ private:
std::string m_showOptions;
bool m_showJSON;
std::string m_log;
bool m_logtiming;
};
void App::outputVersion()
{
m_out << headline << std::endl;
m_out << "pdal " << GetFullVersionString() << std::endl;
m_out << "pdal " << Config::fullVersionString() << std::endl;
m_out << headline << std::endl;
m_out << std::endl;
}
......@@ -110,11 +111,11 @@ void App::outputHelp(const ProgramArgs& args)
m_out << "The following commands are available:" << std::endl;
StageFactory f(false);
StringList loaded_kernels = PluginManager::names(PF_PluginType_Kernel);
for (auto name : loaded_kernels)
m_out << " - " << name << std::endl;
// Load all kernels so that we can report the names.
StageFactory f;
PluginManager<Kernel>::loadAll();
outputCommands(" -");
m_out << std::endl;
m_out << "See http://pdal.io/apps/ for more detail" << std::endl;
}
......@@ -122,10 +123,9 @@ void App::outputHelp(const ProgramArgs& args)
void App::outputDrivers()
{
// Force plugin loading.
StageFactory f(false);
StringList stages = PluginManager::names(PF_PluginType_Filter |
PF_PluginType_Reader | PF_PluginType_Writer);
StageFactory f;
PluginManager<Stage>::loadAll();
StringList stages = PluginManager<Stage>::names();
if (!m_showJSON)
{
......@@ -146,7 +146,7 @@ void App::outputDrivers()
for (auto name : stages)
{
std::string descrip = PluginManager::description(name);
std::string descrip = PluginManager<Stage>::description(name);
StringList lines = Utils::wordWrap(descrip, descripColLen - 1);
for (size_t i = 0; i < lines.size(); ++i)
{
......@@ -164,8 +164,8 @@ void App::outputDrivers()
Json::Value array(Json::arrayValue);
for (auto name : stages)
{
std::string description = PluginManager::description(name);
std::string link = PluginManager::link(name);
std::string description = PluginManager<Stage>::description(name);
std::string link = PluginManager<Stage>::link(name);
Json::Value node(Json::objectValue);
node["name"] = name;
node["description"] = description;
......@@ -179,13 +179,12 @@ void App::outputDrivers()
}
void App::outputCommands()
void App::outputCommands(const std::string& leader)
{
StageFactory f(false);
std::vector<std::string> loaded_kernels;
loaded_kernels = PluginManager::names(PF_PluginType_Kernel);
for (auto name : loaded_kernels)
m_out << name << std::endl;
StageFactory f;
PluginManager<Kernel>::loadAll();
for (auto name : PluginManager<Kernel>::names())
m_out << leader << name << std::endl;
}
......@@ -207,7 +206,7 @@ void App::outputOptions(std::string const& stageName, std::ostream& strm)
if (!m_showJSON)
{
strm << stageName << " -- " << PluginManager::link(stageName) <<
strm << stageName << " -- " << PluginManager<Stage>::link(stageName) <<
std::endl;
strm << headline << std::endl;
......@@ -237,8 +236,7 @@ void App::outputOptions()
// Force plugin loading.
StageFactory f(false);
StringList nv = PluginManager::names(PF_PluginType_Filter |
PF_PluginType_Reader | PF_PluginType_Writer);
StringList nv = PluginManager<Stage>::names();
if (!m_showJSON)
{
......@@ -283,6 +281,7 @@ void App::addArgs(ProgramArgs& args)
m_showOptions);
args.add("log", "Log filename (accepts stderr, stdout, stdlog, devnull"
" as special cases)", m_log, "stderr");
args.add("logtiming", "Turn on timing for log messages", m_logtiming);
Arg& json = args.add("showjson", "List options or drivers as JSON output",
m_showJSON);
json.setHidden();
......@@ -317,14 +316,14 @@ std::string App::findKernel()
StageFactory f(true);
// Discover available kernels without plugins, and test to see if
// the positional option 'command' is a valid kernel
loadedKernels = PluginManager::names(PF_PluginType_Kernel);
loadedKernels = PluginManager<Kernel>::names();
for (auto& name : loadedKernels)
if (m_command == kernelSurname(name))
return name;
// Force loading of plugins.
StageFactory f2(false);
loadedKernels = PluginManager::names(PF_PluginType_Kernel);
loadedKernels = PluginManager<Kernel>::names();
for (auto& name : loadedKernels)
if (m_command == kernelSurname(name))
return name;
......@@ -348,13 +347,15 @@ int App::execute(StringList& cmdArgs, LogPtr& log)
return -1;
}
log.reset(new Log("PDAL", m_log));
log.reset(new Log("PDAL", m_log, m_logtiming));
if (m_logLevel != LogLevel::None)
log->setLevel(m_logLevel);
else if (m_debug)
log->setLevel(LogLevel::Debug);
PluginManager::setLog(log);
#ifdef PDAL_HAVE_EXECINFO_H
log->get(LogLevel::Debug) << "Debugging..." << std::endl;
PluginManager<Stage>::setLog(log);
PluginManager<Kernel>::setLog(log);
#ifndef _WIN32
if (m_debug)
{
signal(SIGSEGV, [](int sig)
......@@ -378,8 +379,7 @@ int App::execute(StringList& cmdArgs, LogPtr& log)
{
if (m_help)
cmdArgs.push_back("--help");
void *obj = PluginManager::createObject(name);
Kernel *kernel(static_cast<Kernel *>(obj));
Kernel *kernel = PluginManager<Kernel>::createObject(name);
// This shouldn't throw. If it does, it's something awful, so
// not cleaning up seems inconsequential.
log->setLeader("pdal " + m_command);
......
......@@ -6,7 +6,7 @@ includedir=/usr/local/include
Name: PDAL
Description: Point Data Abstraction Library
Requires: gdal libxml-2.0 geos
Version: 1.6.0
Version: 1.7.0
Libs: -L${libdir} -lpdalcpp
Cflags: -I${includedir}/pdal
......@@ -35,39 +35,24 @@ install:
- ps: mkdir C:\temp | out-null
- ps: mkdir $env:OSGEO4W_ROOT | out-null
# make an install directory for packacing
- ps: mkdir C:\pdalbin | out-null
# get the OSGeo installer
- ps: (new-object net.webclient).DownloadFile("http://download.osgeo.org/osgeo4w/osgeo4w-setup-x86_64.exe", "C:\temp\osgeo4w-setup.exe")
# and install our dependencies
- C:\temp\osgeo4w-setup.exe -q -k -r -A -s http://download.osgeo.org/osgeo4w/ -a x86_64 -P eigen,gdal,geos,hexer,iconv,laszip,libgeotiff,libpq,libtiff,libxml2,msys,nitro,laz-perf,proj,zlib,python3-core,python3-devel,python3-numpy,oci,oci-devel -R %OSGEO4W_ROOT% > NUL
# call our PDAL install script
- C:\temp\osgeo4w-setup.exe -q -k -r -A -s http://download.osgeo.org/osgeo4w/ -a x86_64 -P eigen,gdal,geos,hexer,iconv,laszip,libgeotiff,libpq,libtiff,libxml2,msys,nitro,laz-perf,proj,zlib,python3-core,python3-devel,python3-numpy,oci,oci-devel,laz-perf,jsoncpp,xz-devel,zstd -R %OSGEO4W_ROOT% > NUL
- call %OSGEO4W_ROOT%\bin\o4w_env.bat
- call %OSGEO4W_ROOT%\bin\py3_env.bat
- call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
- set PATH=%PATH%;C:\Program Files (x86)\MSBuild\14.0\Bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\7-Zip;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Tools\GitVersion;C:\Program Files (x86)\CMake\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\AppVeyor\BuildAgent\
- call .\\scripts\\appveyor\\config.cmd
build:
parallel: true
project: PDAL.sln
verbosity: minimal
after_build:
- call %OSGEO4W_ROOT%\bin\o4w_env.bat
- set PATH=C:\Program Files (x86)\MSBuild\14.0\Bin;%PATH%
- set PATH=%PATH%;C:\Program Files (x86)\MSBuild\14.0\Bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\7-Zip;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Tools\GitVersion;C:\Program Files (x86)\CMake\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\AppVeyor\BuildAgent\
- call .\\scripts\\appveyor\\install.cmd
- set PATH=%PATH%;C:\Program Files (x86)\CMake\bin
- call scripts\\appveyor\\config.cmd
build_script:
- call scripts\\appveyor\\build.cmd
test_script:
# FIXME: Clear PATH to avoid OSGeo4W loading incompatible DLLs
- set PATH=
- set PATH=%OSGEO4W_ROOT%\bin;C:\Program Files (x86)\MSBuild\14.0\Bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\7-Zip;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Tools\GitVersion;C:\Program Files (x86)\CMake\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\AppVeyor\BuildAgent\
- call %OSGEO4W_ROOT%\bin\o4w_env.bat
- call %OSGEO4W_ROOT%\bin\py3_env.bat
- set PATH=C:\Program Files (x86)\MSBuild\14.0\Bin;%PATH%
- set PATH=%PATH%;C:\Program Files (x86)\MSBuild\14.0\Bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\7-Zip;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Tools\GitVersion;C:\Program Files (x86)\CMake\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\AppVeyor\BuildAgent\
- ctest -V --output-on-failure -C Release
- call scripts\\appveyor\\test.cmd
deploy_script:
- call scripts\\appveyor\\install.cmd
artifacts:
- path: pdal-$(APPVEYOR_REPO_COMMIT).tar.bz2
......@@ -81,6 +66,8 @@ deploy:
secure: 6DDLMtbxyT6amL3m5gmMObyL0ucWzIGxylinnYuMJPM=
secret_access_key:
secure: cSqZlsaCxFwXgxJw0BLd7npMFvQk3Vbr74ZPLaBQWLKnOz1cKss9qab1SzSygwkh
on:
branch: 1.6-maintenance
bucket: "pdal"
folder: "osgeo4w/"
artifact: pdalosgeo4w
......
......@@ -36,7 +36,6 @@ 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 "/doc/_static/logo/dongle/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/doc/_static/logo/sticker/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/cmake/examples/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/include/pdal/pdal_defines.h")
list(APPEND CPACK_SOURCE_IGNORE_FILES ".gz2")
......
# EXAMPLE support
#
if (WITH_EXAMPLES)
include_directories(${ROOT_DIR}/pdal )
include_directories(${ROOT_DIR}/)
endif()
#
# See if we have an execinfo library.
#
find_library(EXECINFO_LIBRARIES execinfo)
if (EXECINFO_LIBRARIES)
set(EXECINFO_LIBRARY ${EXECINFO_LIBRARIES})
endif()