Skip to content
Commits on Source (23)
CMakeFiles/
CMakeCache.txt
include/laszip/laszip_api_version.h
bin/
Makefile*
cmake_install*
CPackConfig.cmake
CPackSourceConfig.cmake
*.gz
*.bz2
_CPack_Packages/
install_mainifest.txt
# .travis.yml
# Configure Travis CI service for http://github.com/LASzip
language: cpp
sudo: required
services: docker
dist: trusty
env:
global:
- secure: "ZxsNFzAy3sDCrN6cBiMlBsIh2NYYIBuFxbPK48IAIkXiiUFkXUrh8snmduzCrwuE0vgsHKlER8RvHKA3OPZjOCiBUiFgXLEiwBJgChGoX4hk88b84hpfR4W4tGeiqAORJzwmj/DdSbX9OW1Gh4HxH76H5obE+fWI4qW+7LcX7II="
- secure: "ApVmY9Duy9/B3sOC37Fwh1utlyWe5GvGXal1eKcT0uHk2fKJIYSJVBh5sv5Qe/dF8vamaqAcakqo0z3D9sQmiQRbvs1swNtz9Pf6GwPL4D0dSc7K9Rc1rWmEwSXsNX4OV7BD/DlzJqkB1RBOIdb70k1uOld21WtZJs0l5SFFE4c="
compiler:
- g++
- clang
after_success:
- echo "secure travis:" "$TRAVIS_SECURE_ENV_VARS"
- sh -c 'if test "$TRAVIS_SECURE_ENV_VARS" = "true" -a "$TRAVIS_BRANCH" = "master" -a "$CXX" = "g++"; then echo "publish website"; ./scripts/ci/build_docs.sh; ./scripts/ci/deploy_website.sh $TRAVIS_BUILD_DIR/doc/build; fi'
before_install: ./scripts/ci/docker.sh
script: ./scripts/ci/script.sh
notifications:
on_success: always # [always|never|change] # default: change
on_failure: always # [always|never|change] # default: always
irc: "chat.freenode.net#pdal"
# Uncomment and edit below for notifications by e-mail
#email:
# recipients:
# - howard@hobu.co
11 January 2017 -- new DLL/API function 'laszip_set_chunk_size()' to change chunk size
8 January 2017 -- changed file names from "laszip_dll.h" to "laszip_api.h" for hobu
7 January 2017 -- set reserved field in LASzip VLR from 0xAABB to 0x0
7 January 2017 -- make scan angle quantization in compatibility mode consistent with LASlib
7 January 2017 -- compatibility mode *decompression* fix for points with waveforms
23 September 2015 -- correct update of bounding box and counters from inventory on closing
23 September 2015 -- correct update of bounding box and counters from inventory on closing
22 September 2015 -- bug fix for not overwriting description of pre-existing "extra bytes"
5 September 201 -- the "LAS 1.4 compatibility mode" now allows pre-existing "extra bytes"
31 July 2015 -- new DLL (incompatible with prior version) supports "LAS 1.4 compatibility mode"
4 April 2015 -- added DLL functions for creation and exploitation of spatial indexing LAX files
3 April 2015 -- moved spatial indexing (LAX file generation) from LASlib to LASzip
16 November 2014 -- improved detection & reporting of file truncation and/or LAZ bit-errors
6 September 2014 -- removal of (unused) EntropyEncoder and EntropyDecoder purely virtual classes
24 August 2014 -- when reading LAZ chunk table read is delayed until first read() or seek() is called
18 September 2013 -- fixed small memory leak
24 August 2013 -- fixed bug with explicit cast from LASitem:type to unsigned short and vice versa
11 August 2013 -- laszipdllexample: new EXAMPLE_THREE shows export of geo-referenced LAZ
8 August 2013 -- LASzip: new DLL calls laszip_get_coordinates() and laszip_set_coordinates()
6 August 2013 -- LASzip: new DLL calls laszip_auto_offset() and laszip_check_for_integer_overflow()
1 August 2013 -- LASzip: new DLL calls unload_dll() and get_point_count() for FUSION integration
29 July 2013 -- LASzip: created an easy-to-use DLL interface for LASzip integration
cmake_minimum_required(VERSION 2.8.11)
project(LASZIP CXX C)
string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER)
set(ROOT_DIR "${PROJECT_SOURCE_DIR}")
# the next line is the ONLY place in the entire laszip system where
# the version info is hard-coded
set(LASZIP_API_VERSION_STRING "3.2.2" CACHE STRING "LASzip version" FORCE)
include (CheckIncludeFileCXX)
include(${ROOT_DIR}/cmake/common.cmake NO_POLICY_SCOPE)
include(${ROOT_DIR}/cmake/cpack.cmake NO_POLICY_SCOPE)
#------------------------------------------------------------------------------
# internal cmake settings
#------------------------------------------------------------------------------
set(CMAKE_COLOR_MAKEFILE ON)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
include(FeatureSummary)
# Allow advanced users to generate Makefiles printing detailed commands
mark_as_advanced(CMAKE_VERBOSE_MAKEFILE)
#------------------------------------------------------------------------------
# LASZIP general settings
#------------------------------------------------------------------------------
#
# Extract the pieces of the version info from the version string above.
DISSECT_VERSION()
GET_OS_INFO()
SET_INSTALL_DIRS()
set(LASZIP_API_VERSION ${LASZIP_API_VERSION_MAJOR}.${LASZIP_API_VERSION_MINOR}.${LASZIP_API_VERSION_PATCH})
# libtool SO version naming
# 8.0.0 for 3.2.1
# 9.0.0 for 4.0+
set(LASZIP_SO_VERSION "8.0.0")
set(LASZIP_COMPATIBILITY_VERSION 8)
check_include_file_cxx ("unordered_map" HAVE_UNORDERED_MAP)
###############################################################################
# Main CMake configuration file for laszip
#
# Author: Mateusz Loskot <mateusz@loskot.net>
#
#
###############################################################################
# laszip general settings
set(LASZIP_API_VERSION_H
${CMAKE_CURRENT_BINARY_DIR}/include/laszip/laszip_api_version.h)
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/laszip_api_version.h.in
${LASZIP_API_VERSION_H})
set(LASZIP_BASE_LIB_NAME laszip)
set(LASZIP_API_LIB_NAME laszip_api)
if(WIN32)
set(LASZIP_BASE_LIB_NAME "${LASZIP_BASE_LIB_NAME}${LASZIP_API_VERSION_MAJOR}")
set(LASZIP_API_LIB_NAME "${LASZIP_API_LIB_NAME}${LASZIP_API_VERSION_MAJOR}")
endif()
set(LASZIP_OUTPUT_LIB_DIR "${LASZIP_BINARY_DIR}/${LASZIP_LIB_INSTALL_DIR}")
set(LASZIP_OUTPUT_BIN_DIR "${LASZIP_BINARY_DIR}/${LASZIP_BIN_INSTALL_DIR}")
set(LASZIP_PLUGIN_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/${LASZIP_LIB_INSTALL_DIR}")
file(MAKE_DIRECTORY "${LASZIP_OUTPUT_LIB_DIR}")
file(MAKE_DIRECTORY "${LASZIP_OUTPUT_BIN_DIR}")
# per http://www.cmake.org/Wiki/CMake_RPATH_handling
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
IF (APPLE)
SET(MACOSX_RPATH ON)
endif()
LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
"${CMAKE_INSTALL_PREFIX}/${LASZIP_LIB_INSTALL_DIR}" isSystemDir)
IF("${isSystemDir}" STREQUAL "-1")
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LASZIP_LIB_INSTALL_DIR}")
ENDIF("${isSystemDir}" STREQUAL "-1")
# wipe lib/ drectory on clean. It will have plugins that could be out of date
# in the next build
set_directory_properties(PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${LASZIP_OUTPUT_LIB_DIR}/*")
if(WIN32)
add_definitions("-DLASZIP_DLL_EXPORT=1")
foreach(config ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${config} CONFIG)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG} "${LASZIP_OUTPUT_LIB_DIR}")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG} "${LASZIP_OUTPUT_BIN_DIR}")
# ---[ Windows requires DLLs (shared libraries) to be installed in the same directory as executables
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG} "${LASZIP_OUTPUT_BIN_DIR}")
endforeach(config)
else(WIN32)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${LASZIP_OUTPUT_LIB_DIR}")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${LASZIP_OUTPUT_BIN_DIR}")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${LASZIP_OUTPUT_LIB_DIR}")
endif(WIN32)
set(LASZIP_HEADERS_DIR "${PROJECT_SOURCE_DIR}/include/laszip")
add_subdirectory(src)
add_subdirectory(dll)
#
add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
......@@ -2,7 +2,7 @@
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
......@@ -55,7 +55,8 @@ modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
......@@ -111,7 +112,8 @@ modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
......@@ -158,7 +160,8 @@ Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
......@@ -216,7 +219,8 @@ instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
......@@ -267,7 +271,8 @@ Library will still fall under Section 6.)
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
......@@ -329,7 +334,8 @@ restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
......@@ -370,7 +376,8 @@ subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
......@@ -422,7 +429,8 @@ conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
......@@ -456,7 +464,8 @@ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
......@@ -485,7 +494,7 @@ convey the exclusion of warranty; and each file should have at least the
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
......@@ -500,6 +509,3 @@ necessary. Here is a sample; alter the names:
Ty Coon, President of Vice
That's all there is to it!
This diff is collapsed.
Steps for Making a LASzip Release
==============================================================================
:Author: Howard Butler
:Contact: hobu.inc@gmail.com
:Revision: $Revision$
:Date: $Date$
This document describes the process for releasing a new version of LASzip.
General Notes
------------------------------------------------------------------------------
Release Process
1) Increment Version Numbers
- CMakeLists.txt
* SET(LASZIP_VERSION_MAJOR "2")
* SET(LASZIP_VERSION_MINOR "0")
* SET(LASZIP_VERSION_PATCH "0")
* SET(LASZIP_LIB_SOVERSION "4.0.2")
- include/laszip/laszip.hpp
* #define LASZIP_VERSION_MAJOR 2
* #define LASZIP_VERSION_MINOR 0
* #define LASZIP_VERSION_REV 0
- configure.ac
* m4_define([laszip_version_major], [2])
* m4_define([laszip_version_minor], [0])
* m4_define([laszip_version_micro], [0])
- Makefile.am -- see http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
* liblaszip_la_LDFLAGS = -version-info 6:0:0
2) Update README to include any relevant info about the release that
might have changed.
3) Build Windows version
- Issue nmake and nmake install commands
::
nmake /f Makefile osgeo4w
nmake /f Makefile osgeo4w
4) Make the source distribution
::
make dist
5) Generate MD5 sums
::
md5 laszip-1.0.0.tar.bz2 > laszip-1.0.0.tar.bz2.md5
6) Edit release page on http://liblas.org/zip/
7) Upload to OSGeo download site
8) Tag the release. Use the ``-f`` switch if you are retagging because you
missed something.
::
git tag 1.0.0b1
git push --tags
9) Write the release notes. Place a copy of the release notes on the release
page you created as well as send an email to liblas-devel announcing the
new release.
$Id$
Installation Instructions
*************************
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2006 Free Software Foundation, Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Basic Installation
==================
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale
cache files.
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You need `configure.ac' if
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
Running `configure' might take a while. While running, it prints
some messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that the
`configure' script does not know about. Run `./configure --help' for
details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
./configure CC=c99 CFLAGS=-g LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use `make distclean' before
reconfiguring for another architecture.
Installation Names
==================
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' cannot figure out automatically,
but needs to determine by the type of machine the package will run on.
Usually, assuming the package is built to be run on the _same_
architectures, `configure' can figure that out, but if it prints a
message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
where SYSTEM can have one of these forms:
OS KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
use the option `--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with `--host=TYPE'.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share, you
can create a site shell script called `config.site' that gives default
values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
an Autoconf bug. Until the bug is fixed you can use this workaround:
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation
======================
`configure' recognizes the following options to control how it operates.
`--help'
`-h'
Print a summary of the options to `configure', and exit.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
SUBDIRS = src . include/laszip tools
lib_LTLIBRARIES = liblaszip.la
liblaszip_la_SOURCES =
liblaszip_la_LIBADD = src/liblibrary.la
liblaszip_la_LDFLAGS = -version-info 6:0:0
This diff is collapsed.
================================================================================
LASzip
================================================================================
3.2.2 27-MAR-18
--------------------------------------------------------------------------------
* A version number was not properly incremented to 3.2.1, necessitating a new
release to eliminate confusion.
3.2.1 26-MAR-18
--------------------------------------------------------------------------------
* Library SOVERSIONing for libtool to 8.0.0 https://github.com/LASzip/LASzip/issues/36
* Update NEWS and ChangeLog
* Library version inadvertently had major version in name (only relevant on windows)
* Now building on AppVeyor and Travis https://ci.appveyor.com/project/hobu/laszip/history
https://travis-ci.org/LASzip/LASzip
3.2.0 21-MAR-18
--------------------------------------------------------------------------------
* Fix install of laszip_api_version.h https://github.com/LASzip/LASzip/issues/30
* Add LAZ V4 reader methods in preparation for a future release
3.1.1 10-OCT-17
--------------------------------------------------------------------------------
* Fix packaging issue with laszip_api_version.h https://github.com/LASzip/LASzip/issues/30
* NEWS and ChangeLog updates
3.1.0 13-SEP-17
--------------------------------------------------------------------------------
* LAZ 1.4 support
* New "DLL" API replaces previous API
LASzip
--------------------------------------------------------
https://www.laszip.org/
Testing
........................................................
.. image:: https://travis-ci.org/LASzip/LASzip.svg?branch=master
:target: https://travis-ci.org/LASzip/LASzip
This diff is collapsed.
version: 1.0.{build}
image: Visual Studio 2017
platform: x64
configuration: Release
environment:
OSGEO4W_ROOT: C:\\OSGeo4W64
matrix:
- OSGEO4W_BUILD: ON
matrix:
fast_finish: true
# Should speed up repository cloning
shallow_clone: true
clone_depth: 5
install:
- ps: mkdir c:\\laszip-install | out-null
- 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 "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
- call .\\scripts\\appveyor\\config.cmd
build_script:
- call .\\scripts\\appveyor\\build.cmd
after_build:
- call .\\scripts\\appveyor\\install.cmd
#
# To reduce typing.
#
set(CDIR "${CMAKE_CURRENT_LIST_DIR}")
#
# This must be first.
#
include(${CDIR}/directories.cmake)
#
# This must come before macros, but I don't understand why the policies
# apply to the macros rather than the invocation of the macros.
#
include(${CDIR}/policies.cmake NO_POLICY_SCOPE)
include(${CDIR}/macros.cmake)
include(${CDIR}/libraries.cmake)
include(${CDIR}/compiler_options.cmake)
include(${CDIR}/modules.cmake)
include_directories(
${LASZIP_INCLUDE_DIR}
${PROJECT_BINARY_DIR}/include
)
if (WIN32)
include (${CMAKE_CURRENT_LIST_DIR}/win32_compiler_options.cmake)
else()
include (${CMAKE_CURRENT_LIST_DIR}/unix_compiler_options.cmake)
endif()
#------------------------------------------------------------------------------
# CPACK controls
#------------------------------------------------------------------------------
SET(CPACK_PACKAGE_VERSION_MAJOR ${LASZIP_API_VERSION_MAJOR})
SET(CPACK_PACKAGE_VERSION_MINOR ${LASZIP_API_VERSION_MINOR})
SET(CPACK_PACKAGE_VERSION_PATCH ${LASZIP_API_VERSION_PATCH})
SET(CPACK_PACKAGE_NAME "LASzip")
SET(CPACK_SOURCE_GENERATOR "TBZ2;TGZ")
SET(CPACK_PACKAGE_VENDOR "LASzip Development Team")
SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/COPYING")
set(CPACK_SOURCE_PACKAGE_FILE_NAME
"laszip-src-${LASZIP_API_VERSION_STRING}")
set(CPACK_SOURCE_IGNORE_FILES
"/\\\\.gitattributes;/\\\\.vagrant;/\\\\.DS_Store;/CVS/;/\\\\.git/;\\\\.swp$;~$;\\\\.\\\\#;/\\\\#")
list(APPEND CPACK_SOURCE_IGNORE_FILES "CMakeScripts/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "CMakeCache.txt")
list(APPEND CPACK_SOURCE_IGNORE_FILES ".xcodeproj")
list(APPEND CPACK_SOURCE_IGNORE_FILES "build.make")
list(APPEND CPACK_SOURCE_IGNORE_FILES "_CPack_Packages")
list(APPEND CPACK_SOURCE_IGNORE_FILES "CPackSourceConfig.cmake")
list(APPEND CPACK_SOURCE_IGNORE_FILES "CPackConfig.cmake")
list(APPEND CPACK_SOURCE_IGNORE_FILES "cmake_install.cmake")
list(APPEND CPACK_SOURCE_IGNORE_FILES "Testing")
list(APPEND CPACK_SOURCE_IGNORE_FILES "bin/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "data/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "scripts/")
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 ".gz")
list(APPEND CPACK_SOURCE_IGNORE_FILES ".bz2")
list(APPEND CPACK_SOURCE_IGNORE_FILES "unused/")
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 "/docs")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/include/laszip/laszip_api_version.h")
include(CPack)