diff --git a/bigtiff_header_extract.tif b/bigtiff_header_extract.tif new file mode 100644 index 00000000..a43e6fe6 Binary files /dev/null and b/bigtiff_header_extract.tif differ diff --git a/deps/libgdal/gdal/dist_docs/SETUP_GDAL.BAT b/deps/libgdal/gdal/dist_docs/SETUP_GDAL.BAT new file mode 100755 index 00000000..8cf90be6 --- /dev/null +++ b/deps/libgdal/gdal/dist_docs/SETUP_GDAL.BAT @@ -0,0 +1,24 @@ +@echo off + +set GDAL_DIR=c:\gdal114 + +if exist %GDAL_DIR%\SETUP_GDAL.BAT goto DIROK + +echo ----------------------------------------------------------------------- +echo It appears that the GDAL_DIR environment variable is not set properly +echo in SETUP_GDAL.BAT. Please edit GDAL_SETUP.BAT, and modify the GDAL_DIR +echo variable to contain the directory containing the SETUP_GDAL.BAT ... the +echo base directory of the unzipped GDAL tree. +echo ----------------------------------------------------------------------- + +goto Done + +:DIROK + +set PATH=%GDAL_DIR%\bin;%PATH% +set INCLUDE=%GDAL_DIR%\include;%INCLUDE% +set LIB=%GDAL_DIR%\include;%LIB% +set PYTHONPATH=%GDAL_DIR%\pymod;%PYTHONPATH% +set GEOTIFF_CSV=%GDAL_DIR%\data + +:Done \ No newline at end of file diff --git a/deps/libgdal/gdal/dist_docs/burnpath.c b/deps/libgdal/gdal/dist_docs/burnpath.c new file mode 100644 index 00000000..6fcb61fc --- /dev/null +++ b/deps/libgdal/gdal/dist_docs/burnpath.c @@ -0,0 +1,113 @@ +#include +#include + +const static int block_size = 10000; + +/************************************************************************/ +/* main() */ +/************************************************************************/ +int main( int argc, char ** argv ) + +{ + FILE *fp; + int offset, size, overlap; + const char *marker; + const char *path; + const char *targetfile; + char blockbuf[block_size+1]; + +/* -------------------------------------------------------------------- */ +/* Usage message. */ +/* -------------------------------------------------------------------- */ + if( argc < 4 ) + { + printf( "\n" ); + printf( "Usage: burnpath \n" ); + printf( "\n" ); + printf( "eg. \n" ); + printf( " %% burnpath /opt/lib/libgdal.1.1.so __INST_DATA_TARGET: /opt/share/gdal\n" ); + exit( 1 ); + } + + targetfile = argv[1]; + marker = argv[2]; + path = argv[3]; + + overlap = strlen(marker) + strlen(path) + 1; + +/* -------------------------------------------------------------------- */ +/* Open the target file. */ +/* -------------------------------------------------------------------- */ + fp = fopen( targetfile, "r+" ); + if( fp == NULL ) + { + perror( "fopen" ); + exit( 1 ); + } + +/* -------------------------------------------------------------------- */ +/* Establish the file length. */ +/* -------------------------------------------------------------------- */ + fseek( fp, 0, SEEK_END ); + size = ftell( fp ); + fseek( fp, 0, SEEK_SET ); + +/* -------------------------------------------------------------------- */ +/* Read in the file in overlapping chunks. We assume the */ +/* "space" after the marker could be up to 200 bytes. */ +/* -------------------------------------------------------------------- */ + for( offset = 0; offset < size; offset += block_size - overlap ) + { + int block_bytes, block_modified = 0, i; + + if( offset + block_size < size ) + block_bytes = block_size; + else + block_bytes = size - offset; + + if( fseek( fp, offset, SEEK_SET ) != 0 ) + { + perror( "fseek" ); + exit( 1 ); + } + + if( fread( blockbuf, block_bytes, 1, fp ) != 1 ) + { + perror( "fread" ); + exit( 1 ); + } + blockbuf[block_bytes] = '\0'; + + for( i = 0; i < block_bytes - overlap; i++ ) + { + if( blockbuf[i] == marker[0] + && strncmp( blockbuf + i, marker, strlen(marker) ) == 0 ) + { + strcpy( blockbuf+i+strlen(marker), path ); + block_modified = 1; + } + } + + if( block_modified ) + { + if( fseek( fp, offset, SEEK_SET ) != 0 ) + { + perror( "fseek" ); + exit( 1 ); + } + + if( fwrite( blockbuf, block_bytes, 1, fp ) != 1 ) + { + perror( "fwrite" ); + exit( 1 ); + } + } + } + +/* -------------------------------------------------------------------- */ +/* We are done. */ +/* -------------------------------------------------------------------- */ + fclose( fp ); + + exit( 0 ); +} diff --git a/deps/libgdal/gdal/dist_docs/install_unx.sh b/deps/libgdal/gdal/dist_docs/install_unx.sh new file mode 100755 index 00000000..06fa6edf --- /dev/null +++ b/deps/libgdal/gdal/dist_docs/install_unx.sh @@ -0,0 +1,70 @@ +#!/bin/sh + +if test $# -eq 0; then + echo "Usage: install_unx.sh install-path" + echo + echo "This script will attempt to install GDAL binaries, and shared" + echo "library in the named location." + exit 1 +fi + +PREFIX=$1 + +if test ! -d $PREFIX ; then + echo "Directory $PREFIX does not exist. Please create or correct." + exit 1 +fi + +if test ! -f bin/gdalinfo ; then + echo "This script must be run from within the unpacked binary distribution" + echo "directory." + exit 1 +fi + +############################################################################### +# Ensure required subdirectories exist. +# + +if test ! -d $PREFIX/lib ; then + mkdir $PREFIX/lib +fi +if test ! -d $PREFIX/bin ; then + mkdir $PREFIX/bin +fi +if test ! -d $PREFIX/share ; then + mkdir $PREFIX/share +fi +if test ! -d $PREFIX/share/gdal ; then + mkdir $PREFIX/share/gdal +fi + +############################################################################### +# The following is intended to "burn" an updated INST_DATA location +# into the given file over the preformatted message embedded in the so. +# Look at gcore/gdaldrivermanager.cpp for a clue as to what is going on there. +# + +SHARED_LIB=libgdal.1.1.so + +for SHARED_LIB in lib/* ; do + cp $SHARED_LIB $PREFIX/lib + bin/burnpath $PREFIX/$SHARED_LIB __INST_DATA_TARGET: $PREFIX/share/gdal +done + +############################################################################### +# Copy the rest of the files. +# + +cp share/gdal/* $PREFIX/share/gdal + +for EXECUTABLE in bin/* ; do + if test "$EXECUTABLE" == "bin/gdal-config" -o "$EXECUTABLE" == "bin/burnpath" ; then + /bin/true + else + cp $EXECUTABLE $PREFIX/bin + bin/burnpath $PREFIX/$EXECUTABLE __INST_DATA_TARGET: $PREFIX/share/gdal + fi +done + +echo "Installation of GDAL to $PREFIX complete." + diff --git a/deps/libgdal/gdal/doxygen_sqlite3.db b/deps/libgdal/gdal/doxygen_sqlite3.db new file mode 100644 index 00000000..d1c8b4e5 Binary files /dev/null and b/deps/libgdal/gdal/doxygen_sqlite3.db differ diff --git a/deps/libproj/proj/CMakeLists.txt b/deps/libproj/proj/CMakeLists.txt new file mode 100644 index 00000000..63c5d446 --- /dev/null +++ b/deps/libproj/proj/CMakeLists.txt @@ -0,0 +1,111 @@ +################################################################################# +# +# This file is part of CMake configuration for PROJ4 library (inspired from SOCI +# CMake, Copyright (C) 2009-2010 Mateusz Loskot ) +# +# Copyright (C) 2011 Nicolas David +# Distributed under the MIT license +# +################################################################################# +# General settings +################################################################################# +cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR) + +# proj4 is an ANSI C project +project(PROJ4 C) +set(PROJECT_INTERN_NAME PROJ) + +################################################################################# +# PROJ4 CMake modules +################################################################################# +# Path to additional CMake modules +set(CMAKE_MODULE_PATH ${PROJ4_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) +set(CMAKE_MODULE_PATH ${PROJ4_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH}) + +include(Proj4Utilities) + +message(STATUS "") +colormsg(_HIBLUE_ "Configuring PROJ:") + +################################################################################# +#PROJ version information +################################################################################# +include(Proj4Version) +proj_version(MAJOR 4 MINOR 9 PATCH 2) +set(PROJ_API_VERSION "9") +set(PROJ_BUILD_VERSION "10.0.1") + +################################################################################# +# Build features and variants +################################################################################# +include(Proj4SystemInfo) +include(Proj4Config) +include(Proj4Mac) +include(policies) + +################################################################################# +# threading configuration +################################################################################# +set(CMAKE_THREAD_PREFER_PTHREAD TRUE) +find_package (Threads) + +include(CheckIncludeFiles) +include(CheckSymbolExists) +CHECK_SYMBOL_EXISTS(PTHREAD_MUTEX_RECURSIVE pthread.h HAVE_PTHREAD_MUTEX_RECURSIVE_DEFN) +if (HAVE_PTHREAD_MUTEX_RECURSIVE_DEFN) + add_definitions(-DHAVE_PTHREAD_MUTEX_RECURSIVE=1) +endif() + +boost_report_value(PROJ_PLATFORM_NAME) +boost_report_value(PROJ_COMPILER_NAME) + +# Set a default build type for single-configuration cmake generators if +# no build type is set. +if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set (CMAKE_BUILD_TYPE Release) +endif () + +if (MSVC OR CMAKE_CONFIGURATION_TYPES) + # For multi-config systems and for Visual Studio, the debug version of + # the library has _d appended. + set (CMAKE_DEBUG_POSTFIX _d) +endif () + +option(PROJ4_TESTS "Enable build of collection of PROJ4 tests" ON) +boost_report_value(PROJ4_TESTS) +if(PROJ4_TESTS) + include(CTest) + enable_testing() +endif(PROJ4_TESTS) +include(Proj4Test) + +# Put the libaries and binaries that get built into directories at the +# top of the build tree rather than in hard-to-find leaf +# directories. This simplifies manual testing and the use of the build +# tree rather than installed Boost libraries. +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) +link_directories(${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) + +################################################################################# +# Installation +################################################################################# +include(Proj4InstallPath) +set(BINDIR "${DEFAULT_BINDIR}" CACHE PATH "The directory to install binaries into.") +set(LIBDIR "${DEFAULT_LIBDIR}" CACHE PATH "The directory to install libraries into.") +set(DATADIR "${DEFAULT_DATADIR}" CACHE PATH "The directory to install data files into.") +set(DOCDIR "${DEFAULT_DOCDIR}" CACHE PATH "The directory to install doc files into.") +set(INCLUDEDIR "${DEFAULT_INCLUDEDIR}" CACHE PATH "The directory to install includes into.") + +################################################################################# +# Build configured components +################################################################################# +include_directories(${PROJ4_SOURCE_DIR}/src) + +message(STATUS "") +add_subdirectory(nad) +add_subdirectory(src) +add_subdirectory(man) +add_subdirectory(cmake) + diff --git a/deps/libproj/proj/cmake/CMakeLists.txt b/deps/libproj/proj/cmake/CMakeLists.txt new file mode 100644 index 00000000..742da0e9 --- /dev/null +++ b/deps/libproj/proj/cmake/CMakeLists.txt @@ -0,0 +1,29 @@ +# proj-config.cmake for the install tree. It's installed in +# ${INSTALL_CMAKE_DIR} and @PROJECT_ROOT_DIR@ is the relative +# path to the root from there. (Note that the whole install tree can +# be relocated.) +if (NOT WIN32) + set (INSTALL_CMAKE_DIR "share/cmake/${PROJECT_NAME}") + set (PROJECT_ROOT_DIR "../../..") +else () + set (INSTALL_CMAKE_DIR "cmake") + set (PROJECT_ROOT_DIR "..") +endif () + +string(TOLOWER "${PROJECT_NAME}" PROJECT_NAME_LOWER) +configure_file (project-config.cmake.in project-config.cmake @ONLY) +configure_file (project-config-version.cmake.in + project-config-version.cmake @ONLY) +install (FILES + "${CMAKE_CURRENT_BINARY_DIR}/project-config.cmake" + DESTINATION "${INSTALL_CMAKE_DIR}" + RENAME "${PROJECT_NAME_LOWER}-config.cmake") +install (FILES + "${CMAKE_CURRENT_BINARY_DIR}/project-config-version.cmake" + DESTINATION "${INSTALL_CMAKE_DIR}" + RENAME "${PROJECT_NAME_LOWER}-config-version.cmake") +# Make information about the cmake targets (the library and the tools) +# available. +install (EXPORT targets + FILE ${PROJECT_NAME_LOWER}-targets.cmake + DESTINATION "${INSTALL_CMAKE_DIR}") diff --git a/deps/libproj/proj/cmake/Proj4Config.cmake b/deps/libproj/proj/cmake/Proj4Config.cmake new file mode 100644 index 00000000..fda9c9c2 --- /dev/null +++ b/deps/libproj/proj/cmake/Proj4Config.cmake @@ -0,0 +1,41 @@ +################################################################################ +# SociConfig.cmake - CMake build configuration of SOCI library +################################################################################ +# Copyright (C) 2010 Mateusz Loskot +# +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) +################################################################################ +include (CheckIncludeFiles) +include (CheckLibraryExists) +include (CheckFunctionExists) + +# check needed include file +check_include_files (dlfcn.h HAVE_DLFCN_H) +check_include_files (inttypes.h HAVE_INTTYPES_H) +check_include_files (jni.h HAVE_JNI_H) +check_include_files (memory.h HAVE_MEMORY_H) +check_include_files (stdint.h HAVE_STDINT_H) +check_include_files (stdlib.h HAVE_STDLIB_H) +check_include_files (string.h HAVE_STRING_H) +check_include_files (sys/stat.h HAVE_SYS_STAT_H) +check_include_files (sys/types.h HAVE_SYS_TYPES_H) +check_include_files (unistd.h HAVE_UNISTD_H) +check_include_files("stdlib.h;stdarg.h;string.h;float.h" STDC_HEADERS) + +CHECK_FUNCTION_EXISTS(localeconv HAVE_LOCALECONV) + +# check libm need on unix +check_library_exists(m ceil "" HAVE_LIBM) + +set(PACKAGE "proj") +set(PACKAGE_BUGREPORT "warmerdam@pobox.com") +set(PACKAGE_NAME "PROJ.4 Projections") +set(PACKAGE_STRING "PROJ.4 Projections ${${PROJECT_INTERN_NAME}_VERSION}") +set(PACKAGE_TARNAME "proj") +set(PACKAGE_VERSION "${${PROJECT_INTERN_NAME}_VERSION}") + +configure_file(cmake/proj_config.cmake.in src/proj_config.h) + + diff --git a/deps/libproj/proj/cmake/Proj4InstallPath.cmake b/deps/libproj/proj/cmake/Proj4InstallPath.cmake new file mode 100644 index 00000000..da1491c0 --- /dev/null +++ b/deps/libproj/proj/cmake/Proj4InstallPath.cmake @@ -0,0 +1,67 @@ +#---------------------------------------------- +# installation path settings +#---------------------------------------------- +if(WIN32) + if(DEFINED ENV{OSGEO4W_ROOT}) + set(OSGEO4W_ROOT_DIR $ENV{OSGEO4W_ROOT}) + else() + set(OSGEO4W_ROOT_DIR c:/OSGeo4W) + endif() + set(DEFAULT_PROJ_ROOT_DIR ${OSGEO4W_ROOT_DIR}) +endif() +if(UNIX) + set(DEFAULT_PROJ_ROOT_DIR "/usr/local/") +endif(UNIX) + + +IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + SET(CMAKE_INSTALL_PREFIX ${DEFAULT_PROJ_ROOT_DIR} CACHE PATH "Foo install + prefix" FORCE) +ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + +#TODO +# for data install testing the PROJ_LIB envVar + +if(WIN32) + set(DEFAULT_BIN_SUBDIR bin) + set(DEFAULT_LIB_SUBDIR local/lib) + set(DEFAULT_DATA_SUBDIR share) + set(DEFAULT_INCLUDE_SUBDIR local/include) + set(DEFAULT_DOC_SUBDIR share/doc/proj) +else() + # Common locatoins for Unix and Mac OS X + set(DEFAULT_BIN_SUBDIR bin) + set(DEFAULT_LIB_SUBDIR lib) + set(DEFAULT_DATA_SUBDIR share/proj) + set(DEFAULT_DOC_SUBDIR doc/proj) + set(DEFAULT_INCLUDE_SUBDIR include) +endif() + +# Locations are changeable by user to customize layout of PDAL installation +# (default values are platform-specific) +set(PROJ_BIN_SUBDIR ${DEFAULT_BIN_SUBDIR} CACHE STRING + "Subdirectory where executables will be installed") +set(PROJ_LIB_SUBDIR ${DEFAULT_LIB_SUBDIR} CACHE STRING + "Subdirectory where libraries will be installed") +set(PROJ_INCLUDE_SUBDIR ${DEFAULT_INCLUDE_SUBDIR} CACHE STRING + "Subdirectory where header files will be installed") +set(PROJ_DATA_SUBDIR ${DEFAULT_DATA_SUBDIR} CACHE STRING + "Subdirectory where data will be installed") +set(PROJ_DOC_SUBDIR ${DEFAULT_DOC_SUBDIR} CACHE STRING + "Subdirectory where data will be installed") + +# Mark *DIR variables as advanced and dedicated to use by power-users only. +mark_as_advanced(PROJ_ROOT_DIR + PROJ_BIN_SUBDIR + PROJ_LIB_SUBDIR + PROJ_INCLUDE_SUBDIR + PROJ_DATA_SUBDIR + PROJ_DOC_SUBDIR ) + +set(DEFAULT_BINDIR "${PROJ_BIN_SUBDIR}") +set(DEFAULT_LIBDIR "${PROJ_LIB_SUBDIR}") +set(DEFAULT_DATADIR "${PROJ_DATA_SUBDIR}") +set(DEFAULT_DOCDIR "${PROJ_DOC_SUBDIR}") +set(DEFAULT_INCLUDEDIR "${PROJ_INCLUDE_SUBDIR}") + + diff --git a/deps/libproj/proj/cmake/Proj4Mac.cmake b/deps/libproj/proj/cmake/Proj4Mac.cmake new file mode 100644 index 00000000..c2448e7b --- /dev/null +++ b/deps/libproj/proj/cmake/Proj4Mac.cmake @@ -0,0 +1,24 @@ +if(APPLE) +set(FRAMEWORKDIR "Library/Frameworks" CACHE PATH "the path to install framework") + set(BUNDLEDIR "Applications/OSGEO" CACHE PATH "the path to install bundle") + file(RELATIVE_PATH BUNDLE_FRAME_REL_PATH_AAA "/${FRAMEWORKDIR}" "/aaa") + string(LENGTH ${BUNDLE_FRAME_REL_PATH_AAA} AAA_LENGTH) + math(EXPR RELATIVE_PATH_LENGTH "${AAA_LENGTH}-4") + string(SUBSTRING ${BUNDLE_FRAME_REL_PATH_AAA} 0 ${RELATIVE_PATH_LENGTH} BUNDLE_FRAME_REL_PATH) + set(PROJ_INSTALL_NAME_DIR "@executable_path/${BUNDLE_FRAME_REL_PATH}/${FRAMEWORKDIR}" ) +else(APPLE) + set(FRAMEWORKDIR "") + set(BUNDLEDIR "") + set(PROJ_INSTALL_NAME_DIR "") +endif(APPLE) + +set(PROJ_RESOURCES "" ) + +if(APPLE) + option(BUILD_FRAMEWORKS_AND_BUNDLE "if set to ON, build a library framework and application bundle, + otherwise install classical UNIX bin/lib" OFF ) + set(DEFAULT_BINDIR ${BUNDLEDIR}) + boost_report_value(BUNDLEDIR) + boost_report_value(PROJ_INSTALL_NAME_DIR) + boost_report_value(FRAMEWORKDIR) +endif(APPLE) diff --git a/deps/libproj/proj/cmake/Proj4SystemInfo.cmake b/deps/libproj/proj/cmake/Proj4SystemInfo.cmake new file mode 100644 index 00000000..294a50b2 --- /dev/null +++ b/deps/libproj/proj/cmake/Proj4SystemInfo.cmake @@ -0,0 +1,83 @@ +################################################################################ +# SociSystemInfo.cmake - part of CMake configuration of Proj.4 library +# +# Based on idea taken from http://code.google.com/p/softart/ project +################################################################################ +# Copyright (C) 2010 Mateusz Loskot +# +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) +################################################################################ +# The following variables are defined: +# PROJ_COMPILER_NAME - name of compiler toolset, follows Boost toolset naming. +# PROJ_PLATFORM_NAME - target platform name: x64, x86 or win32 +################################################################################ + +set(PROJ_COMPILER_NAME) +set(PROJ_PLATFORM_NAME) + +if(MINGW OR UNIX) + exec_program(gcc ARGS -dumpversion OUTPUT_VARIABLE GCC_VERSION) + string(REPLACE "." "" GCC_VERSION_STR_FULL ${GCC_VERSION}) + string(REGEX MATCH "[0-9]+\\.[0-9]+" GCC_VERSION_MAJOR_MINOR ${GCC_VERSION}) +endif() + +if(WIN32) + # Compilers, taken from http://predef.sourceforge.net/precomp.html#sec34 + if(MSVC) + if(MSVC_VERSION EQUAL 1200) + set(PROJ_COMPILER_NAME "msvc-6.0") + endif() + if(MSVC_VERSION EQUAL 1300) + set(PROJ_COMPILER_NAME "msvc-7.0") + endif() + if(MSVC_VERSION EQUAL 1310) + set(PROJ_COMPILER_NAME "msvc-7.1") #Visual Studio 2003 + endif() + if(MSVC_VERSION EQUAL 1400) + set(PROJ_COMPILER_NAME "msvc-8.0") #Visual Studio 2005 + endif() + if(MSVC_VERSION EQUAL 1500) + set(PROJ_COMPILER_NAME "msvc-9.0") #Visual Studio 2008 + endif() + if(MSVC_VERSION EQUAL 1600) + set(PROJ_COMPILER_NAME "msvc-10.0") #Visual Studio 2010 + endif() + if(MSVC_VERSION EQUAL 1700) + set(PROJ_COMPILER_NAME "msvc-11.0") #Visual Studio 2012 + endif() + if(MSVC_VERSION EQUAL 1800) + set(PROJ_COMPILER_NAME "msvc-12.0") #Visual Studio 2013 + endif() + endif(MSVC) + + if(MINGW) + set(PROJ_COMPILER_NAME "mingw-${GCC_VERSION}") + endif( MINGW ) + + if(CMAKE_GENERATOR MATCHES "Win64") + set(PROJ_PLATFORM_NAME "x64") + else() + set(PROJ_PLATFORM_NAME "win32") + endif() +endif(WIN32) + +if(UNIX) + set(PROJ_COMPILER_NAME "gcc-${GCC_VERSION}") + if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") + set(PROJ_PLATFORM_NAME "x64") + else() + set(PROJ_PLATFORM_NAME "x86") + endif() +endif(UNIX) + +if(NOT PROJ_COMPILER_NAME) + colormsg(_RED_ "WARNING:") + colormsg(RED "Could not determine compiler toolset name to set PROJ_COMPILER_NAME variable.") +endif() + +if(NOT PROJ_COMPILER_NAME) + colormsg(_RED_ "WARNING:") + colormsg(RED "Could not determine platform name to set PROJ_COMPILER_NAME variable.") +endif() diff --git a/deps/libproj/proj/cmake/Proj4Test.cmake b/deps/libproj/proj/cmake/Proj4Test.cmake new file mode 100644 index 00000000..7a0270c2 --- /dev/null +++ b/deps/libproj/proj/cmake/Proj4Test.cmake @@ -0,0 +1,32 @@ +# +# add test with sh script +# + +function(proj_add_test_script_sh SH_NAME BIN_USE) + if(UNIX) + get_filename_component(testname ${SH_NAME} NAME_WE) + + set(TEST_OK 1) + if(ARGV2) + set(TEST_OK 0) + set(GRID_FULLNAME ${PROJECT_SOURCE_DIR}/nad/${ARGV2}) + if(EXISTS ${GRID_FULLNAME}) + set(TEST_OK 1) + endif(EXISTS ${GRID_FULLNAME}) + endif(ARGV2) + + if( CMAKE_MINOR_VERSION LESS 8 OR CMAKE_PATCH_VERSION LESS 4 ) + set(TEST_OK 0) + message(STATUS "test with bash script need a cmake version > 2.8.3 ") + endif() + + if(${TEST_OK}) + add_test( NAME "${testname}" + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/nad + COMMAND ${PROJECT_SOURCE_DIR}/nad/${SH_NAME} + ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${${BIN_USE}} + ) + endif(${TEST_OK}) + + endif(UNIX) +endfunction() diff --git a/deps/libproj/proj/cmake/Proj4Utilities.cmake b/deps/libproj/proj/cmake/Proj4Utilities.cmake new file mode 100644 index 00000000..24b61701 --- /dev/null +++ b/deps/libproj/proj/cmake/Proj4Utilities.cmake @@ -0,0 +1,456 @@ +################################################################################ +# SociUtilities.cmake - part of CMake configuration of Proj4 library +# +# Based on BoostUtilities.cmake from CMake configuration for Boost +################################################################################ +# Copyright (C) 2007 Douglas Gregor +# Copyright (C) 2007 Troy Straszheim +# Copyright (C) 2010 Mateusz Loskot +# +# Distributed under the Boost Software License, Version 1.0. +# See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt +################################################################################ +# Macros in this module: +# +# list_contains: Determine whether a string value is in a list. +# +# car: Return the first element in a list +# +# cdr: Return all but the first element in a list +# +# parse_arguments: Parse keyword arguments for use in other macros. +# +# proj_report_directory_property +# +# proj_target_output_name: +# +################################################################################ + +# This utility macro determines whether a particular string value +# occurs within a list of strings: +# +# list_contains(result string_to_find arg1 arg2 arg3 ... argn) +# +# This macro sets the variable named by result equal to TRUE if +# string_to_find is found anywhere in the following arguments. +macro(list_contains var value) + set(${var}) + foreach (value2 ${ARGN}) + if (${value} STREQUAL ${value2}) + set(${var} TRUE) + endif (${value} STREQUAL ${value2}) + endforeach (value2) +endmacro(list_contains) + +# This utility macro extracts the first argument from the list of +# arguments given, and places it into the variable named var. +# +# car(var arg1 arg2 ...) +macro(car var) + set(${var} ${ARGV1}) +endmacro(car) + +# This utility macro extracts all of the arguments given except the +# first, and places them into the variable named var. +# +# car(var arg1 arg2 ...) +macro(cdr var junk) + set(${var} ${ARGN}) +endmacro(cdr) + +# The parse_arguments macro will take the arguments of another macro and +# define several variables. The first argument to parse_arguments is a +# prefix to put on all variables it creates. The second argument is a +# list of names, and the third argument is a list of options. Both of +# these lists should be quoted. The rest of parse_arguments are +# arguments from another macro to be parsed. +# +# parse_arguments(prefix arg_names options arg1 arg2...) +# +# For each item in options, parse_arguments will create a variable with +# that name, prefixed with prefix_. So, for example, if prefix is +# MY_MACRO and options is OPTION1;OPTION2, then parse_arguments will +# create the variables MY_MACRO_OPTION1 and MY_MACRO_OPTION2. These +# variables will be set to true if the option exists in the command line +# or false otherwise. +# +# For each item in arg_names, parse_arguments will create a variable +# with that name, prefixed with prefix_. Each variable will be filled +# with the arguments that occur after the given arg_name is encountered +# up to the next arg_name or the end of the arguments. All options are +# removed from these lists. parse_arguments also creates a +# prefix_DEFAULT_ARGS variable containing the list of all arguments up +# to the first arg_name encountered. +macro(parse_arguments prefix arg_names option_names) + set(DEFAULT_ARGS) + foreach(arg_name ${arg_names}) + set(${prefix}_${arg_name}) + endforeach(arg_name) + foreach(option ${option_names}) + set(${prefix}_${option} FALSE) + endforeach(option) + + set(current_arg_name DEFAULT_ARGS) + set(current_arg_list) + foreach(arg ${ARGN}) + list_contains(is_arg_name ${arg} ${arg_names}) + if (is_arg_name) + set(${prefix}_${current_arg_name} ${current_arg_list}) + set(current_arg_name ${arg}) + set(current_arg_list) + else (is_arg_name) + list_contains(is_option ${arg} ${option_names}) + if (is_option) + set(${prefix}_${arg} TRUE) + else (is_option) + set(current_arg_list ${current_arg_list} ${arg}) + endif (is_option) + endif (is_arg_name) + endforeach(arg) + set(${prefix}_${current_arg_name} ${current_arg_list}) +endmacro(parse_arguments) + +# Perform a reverse topological sort on the given LIST. +# +# topological_sort(my_list "MY_" "_EDGES") +# +# LIST is the name of a variable containing a list of elements to be +# sorted in reverse topological order. Each element in the list has a +# set of outgoing edges (for example, those other list elements that +# it depends on). In the resulting reverse topological ordering +# (written back into the variable named LIST), an element will come +# later in the list than any of the elements that can be reached by +# following its outgoing edges and the outgoing edges of any vertices +# they target, recursively. Thus, if the edges represent dependencies +# on build targets, for example, the reverse topological ordering is +# the order in which one would build those targets. +# +# For each element E in this list, the edges for E are contained in +# the variable named ${PREFIX}${E}${SUFFIX}, where E is the +# upper-cased version of the element in the list. If no such variable +# exists, then it is assumed that there are no edges. For example, if +# my_list contains a, b, and c, one could provide a dependency graph +# using the following variables: +# +# MY_A_EDGES b +# MY_B_EDGES +# MY_C_EDGES a b +# +# With the involcation of topological_sort shown above and these +# variables, the resulting reverse topological ordering will be b, a, +# c. +function(topological_sort LIST PREFIX SUFFIX) + # Clear the stack and output variable + set(VERTICES "${${LIST}}") + set(STACK) + set(${LIST}) + + # Loop over all of the vertices, starting the topological sort from + # each one. + foreach(VERTEX ${VERTICES}) + string(TOUPPER ${VERTEX} UPPER_VERTEX) + + # If we haven't already processed this vertex, start a depth-first + # search from where. + if (NOT FOUND_${UPPER_VERTEX}) + # Push this vertex onto the stack with all of its outgoing edges + string(REPLACE ";" " " NEW_ELEMENT + "${VERTEX};${${PREFIX}${UPPER_VERTEX}${SUFFIX}}") + list(APPEND STACK ${NEW_ELEMENT}) + + # We've now seen this vertex + set(FOUND_${UPPER_VERTEX} TRUE) + + # While the depth-first search stack is not empty + list(LENGTH STACK STACK_LENGTH) + while(STACK_LENGTH GREATER 0) + # Remove the vertex and its remaining out-edges from the top + # of the stack + list(GET STACK -1 OUT_EDGES) + list(REMOVE_AT STACK -1) + + # Get the source vertex and the list of out-edges + separate_arguments(OUT_EDGES) + list(GET OUT_EDGES 0 SOURCE) + list(REMOVE_AT OUT_EDGES 0) + + # While there are still out-edges remaining + list(LENGTH OUT_EDGES OUT_DEGREE) + while (OUT_DEGREE GREATER 0) + # Pull off the first outgoing edge + list(GET OUT_EDGES 0 TARGET) + list(REMOVE_AT OUT_EDGES 0) + + string(TOUPPER ${TARGET} UPPER_TARGET) + if (NOT FOUND_${UPPER_TARGET}) + # We have not seen the target before, so we will traverse + # its outgoing edges before coming back to our + # source. This is the key to the depth-first traversal. + + # We've now seen this vertex + set(FOUND_${UPPER_TARGET} TRUE) + + # Push the remaining edges for the current vertex onto the + # stack + string(REPLACE ";" " " NEW_ELEMENT + "${SOURCE};${OUT_EDGES}") + list(APPEND STACK ${NEW_ELEMENT}) + + # Setup the new source and outgoing edges + set(SOURCE ${TARGET}) + string(TOUPPER ${SOURCE} UPPER_SOURCE) + set(OUT_EDGES + ${${PREFIX}${UPPER_SOURCE}${SUFFIX}}) + endif(NOT FOUND_${UPPER_TARGET}) + + list(LENGTH OUT_EDGES OUT_DEGREE) + endwhile (OUT_DEGREE GREATER 0) + + # We have finished all of the outgoing edges for + # SOURCE; add it to the resulting list. + list(APPEND ${LIST} ${SOURCE}) + + # Check the length of the stack + list(LENGTH STACK STACK_LENGTH) + endwhile(STACK_LENGTH GREATER 0) + endif (NOT FOUND_${UPPER_VERTEX}) + endforeach(VERTEX) + + set(${LIST} ${${LIST}} PARENT_SCOPE) +endfunction(topological_sort) + +# Small little hack that tweaks a component name (as used for CPack) +# to make sure to avoid certain names that cause problems. Sets the +# variable named varname to the "sanitized" name. +# +# FIXME: This is a complete hack. We probably need to fix the CPack +# generators (NSIS in particular) to get rid of the need for this. +macro(fix_cpack_component_name varname name) + if (${name} STREQUAL "foreach") + set(${varname} "boost_foreach") + else() + set(${varname} ${name}) + endif() +endmacro() + + +# +# A big shout out to the cmake gurus @ compiz +# + +function (colormsg) + string (ASCII 27 _escape) + set(WHITE "29") + set(GRAY "30") + set(RED "31") + set(GREEN "32") + set(YELLOW "33") + set(BLUE "34") + set(MAG "35") + set(CYAN "36") + + foreach (color WHITE GRAY RED GREEN YELLOW BLUE MAG CYAN) + set(HI${color} "1\;${${color}}") + set(LO${color} "2\;${${color}}") + set(_${color}_ "4\;${${color}}") + set(_HI${color}_ "1\;4\;${${color}}") + set(_LO${color}_ "2\;4\;${${color}}") + endforeach() + + set(str "") + set(coloron FALSE) + foreach(arg ${ARGV}) + if (NOT ${${arg}} STREQUAL "") + if (CMAKE_COLOR_MAKEFILE) + set(str "${str}${_escape}[${${arg}}m") + set(coloron TRUE) + endif() + else() + set(str "${str}${arg}") + if (coloron) + set(str "${str}${_escape}[0m") + set(coloron FALSE) + endif() + set(str "${str} ") + endif() + endforeach() + message(STATUS ${str}) +endfunction() + +# colormsg("Colors:" +# WHITE "white" GRAY "gray" GREEN "green" +# RED "red" YELLOW "yellow" BLUE "blue" MAG "mag" CYAN "cyan" +# _WHITE_ "white" _GRAY_ "gray" _GREEN_ "green" +# _RED_ "red" _YELLOW_ "yellow" _BLUE_ "blue" _MAG_ "mag" _CYAN_ "cyan" +# _HIWHITE_ "white" _HIGRAY_ "gray" _HIGREEN_ "green" +# _HIRED_ "red" _HIYELLOW_ "yellow" _HIBLUE_ "blue" _HIMAG_ "mag" _HICYAN_ "cyan" +# HIWHITE "white" HIGRAY "gray" HIGREEN "green" +# HIRED "red" HIYELLOW "yellow" HIBLUE "blue" HIMAG "mag" HICYAN "cyan" +# "right?") + +# +# pretty-prints the value of a variable so that the +# equals signs align +# + +function(boost_report_value NAME) + string(LENGTH "${NAME}" varlen) + # LOG + #message(STATUS "boost_report_value: NAME=${NAME} (${varlen})") + #message(STATUS "boost_report_value: \${NAME}=${${NAME}}") + math(EXPR padding_len 40-${varlen}) + string(SUBSTRING " " + 0 ${padding_len} varpadding) + colormsg("${NAME}${varpadding} = ${${NAME}}") +endfunction() + +function(trace NAME) + if(BOOST_CMAKE_TRACE) + string(LENGTH "${NAME}" varlen) + math(EXPR padding_len 40-${varlen}) + string(SUBSTRING "........................................" + 0 ${padding_len} varpadding) + message("${NAME} ${varpadding} ${${NAME}}") + endif() +endfunction() + +# +# pretty-prints the value of a variable so that the +# equals signs align +# +function(boost_report_pretty PRETTYNAME VARNAME) + string(LENGTH "${PRETTYNAME}" varlen) + math(EXPR padding_len 30-${varlen}) + string(SUBSTRING " " + 0 ${padding_len} varpadding) + message(STATUS "${PRETTYNAME}${varpadding} = ${${VARNAME}}") +endfunction() + +# +# assert that ARG is actually a library target +# + +macro(dependency_check ARG) + trace(ARG) + if (NOT "${ARG}" STREQUAL "") + get_target_property(deptype ${ARG} TYPE) + if(NOT deptype MATCHES ".*_LIBRARY$") + set(DEPENDENCY_OKAY FALSE) + list(APPEND DEPENDENCY_FAILURES ${ARG}) + endif() + endif() +endmacro() + + + +# +# Pretty-print of given property of current directory. +# +macro(proj_report_directory_property PROPNAME) + get_directory_property(${PROPNAME} ${PROPNAME}) + boost_report_value(${PROPNAME}) +endmacro() + +# +# Scans the current directory and returns a list of subdirectories. +# Author: Robert Fleming +# Source: http://www.cmake.org/pipermail/cmake/2008-February/020114.html +# +# Third parameter is 1 if you want relative paths returned. +# Usage: list_subdirectories(the_list_is_returned_here /path/to/project TRUE) +# + +macro(list_subdirectories retval curdir return_relative) + file(GLOB sub-dir RELATIVE ${curdir} *) + set(list_of_dirs "") + foreach(dir ${sub-dir}) + if(IS_DIRECTORY ${curdir}/${dir}) + if (${return_relative}) + set(list_of_dirs ${list_of_dirs} ${dir}) + else() + set(list_of_dirs ${list_of_dirs} ${curdir}/${dir}) + endif() + endif() + endforeach() + set(${retval} ${list_of_dirs}) +endmacro() + +# +# Generates output name for given target depending on platform and version. +# For instance, on Windows, libraries get ABI version suffix soci_coreXY.{dll|lib}. +# + +function(proj_target_output_name TARGET_NAME OUTPUT_NAME) + if(NOT DEFINED TARGET_NAME) + message(SEND_ERROR "Error, the variable TARGET_NAME is not defined!") + endif() + + if(NOT DEFINED ${PROJECT_INTERN_NAME}_VERSION) + message(SEND_ERROR "Error, the variable ${${PROJECT_INTERN_NAME}_VERSION} is not defined!") + endif() + + # On Windows, ABI version is specified using binary file name suffix. + # On Unix, suffix is empty and SOVERSION is used instead. + if (WIN32) + string(LENGTH "${${PROJECT_INTERN_NAME}_ABI_VERSION}" abilen) + if(abilen GREATER 0) + set(SUFFIX "_${${PROJECT_INTERN_NAME}_ABI_VERSION}") + endif() + endif() + + set(${OUTPUT_NAME} ${TARGET_NAME}${SUFFIX} PARENT_SCOPE) +endfunction() + + +# +# conversion from lla name to lla convert name ( without lla extension) +# + +function(proj_lla_output_name LLA_INPUT_NAME LLA_OUTPUT_NAME ) + get_filename_component(filename ${LLA_INPUT_NAME} NAME_WE) + get_filename_component(pathname ${LLA_INPUT_NAME} PATH) + set(${LLA_OUTPUT_NAME} ${pathname}/${filename} PARENT_SCOPE) + set(${LLA_OUTPUT_NAME} ${pathname}/${filename} PARENT_SCOPE) +endfunction() + +function(proj_lla_target_name LLA_INPUT_NAME LLA_TARGET ) + get_filename_component(filename ${LLA_INPUT_NAME} NAME_WE) + set(${LLA_TARGET} ${filename} PARENT_SCOPE) +endfunction() + +# +# in place conversion of lla file to gsb +# + +function(proj_convert_grid_lla2gsb GRID_DIRECTORY) + set(NAD2BIN_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + set(NAD2BIN_PATH ${NAD2BIN_DIR}/nad2bin${CMAKE_EXECUTABLE_SUFFIX}) + file(TO_NATIVE_PATH ${NAD2BIN_PATH} NAD2BIN_EXE) + file(GLOB LLA_FILES ${${GRID_DIRECTORY}}/*.lla) + foreach(LLA ${LLA_FILES} ) + proj_lla_output_name(${LLA} DEST_FILE) + file(TO_NATIVE_PATH ${DEST_FILE} DEST) + proj_lla_target_name(${LLA} LLA_TARGET) + if(NOT EXISTS ${DEST}) + add_custom_target( ${LLA_TARGET} ALL + COMMAND ${NAD2BIN_EXE} ${DEST} "<" ${LLA} + DEPENDS nad2bin ) + endif(NOT EXISTS ${DEST}) + endforeach(LLA) +endfunction() + +# +# add lla output list to an existing file list +# + +function(proj_append_lla_output_file LLA_INPUT_FILE FILE_LIST) + set(LIST_OUT ${${FILE_LIST}}) + foreach(LLA ${${LLA_INPUT_FILE}} ) + proj_lla_output_name(${LLA} DEST_FILE) + file(TO_NATIVE_PATH ${DEST_FILE} DEST) + set(LIST_OUT ${LIST_OUT} ${DEST_FILE} ) + endforeach(LLA ${LLA_INPUT_FILE}) + set(${FILE_LIST} ${LIST_OUT} PARENT_SCOPE) +endfunction() + diff --git a/deps/libproj/proj/cmake/Proj4Version.cmake b/deps/libproj/proj/cmake/Proj4Version.cmake new file mode 100644 index 00000000..fafaf24d --- /dev/null +++ b/deps/libproj/proj/cmake/Proj4Version.cmake @@ -0,0 +1,47 @@ +################################################################################ +# Proj4Version.cmake - part of CMake configuration of Proj4 library +################################################################################ +# Copyright (C) 2010 Mateusz Loskot +# +# Distributed under the Boost Software License, Version 1.0 +################################################################################ +# Macros in this module: +# +# proj_version - defines version information for PROJ library +# (best known as PROJ4 because MAJOR version is 4 since a very long time) +################################################################################ + +# Defines version information for PROJ library +# +# proj_version(MAJOR major_version MINOR minor_version PATCH patch_level) +# +# MAJOR.MINOR version is used to set SOVERSION +# + +macro(proj_version) + parse_arguments(THIS_VERSION "MAJOR;MINOR;PATCH;" + "" + ${ARGN}) + + # Set version components + set(${PROJECT_INTERN_NAME}_VERSION_MAJOR ${THIS_VERSION_MAJOR}) + set(${PROJECT_INTERN_NAME}_VERSION_MINOR ${THIS_VERSION_MINOR}) + set(${PROJECT_INTERN_NAME}_VERSION_PATCH ${THIS_VERSION_PATCH}) + + # Set VERSION string + set(${PROJECT_INTERN_NAME}_VERSION + "${${PROJECT_INTERN_NAME}_VERSION_MAJOR}.${${PROJECT_INTERN_NAME}_VERSION_MINOR}.${${PROJECT_INTERN_NAME}_VERSION_PATCH}") + + # Set ABI version string used to name binary output + # On Windows, ABI version is specified using binary file name suffix. + if(WIN32) + set(${PROJECT_INTERN_NAME}_ABI_VERSION + "${${PROJECT_INTERN_NAME}_VERSION_MAJOR}_${${PROJECT_INTERN_NAME}_VERSION_MINOR}") + endif() + + message(STATUS "") + boost_report_value(${PROJECT_INTERN_NAME}_VERSION) + if(WIN32) + boost_report_value(${PROJECT_INTERN_NAME}_ABI_VERSION) + endif(WIN32) +endmacro() diff --git a/deps/libproj/proj/cmake/policies.cmake b/deps/libproj/proj/cmake/policies.cmake new file mode 100644 index 00000000..c16fbc12 --- /dev/null +++ b/deps/libproj/proj/cmake/policies.cmake @@ -0,0 +1,5 @@ +if (CMAKE_MAJOR_VERSION GREATER 2) + cmake_policy(SET CMP0022 OLD) # interface link libraries + cmake_policy(SET CMP0042 NEW) # osx rpath + cmake_policy(SET CMP0011 NEW) # policy setting +endif() diff --git a/deps/libproj/proj/compile b/deps/libproj/proj/compile new file mode 100755 index 00000000..531136b0 --- /dev/null +++ b/deps/libproj/proj/compile @@ -0,0 +1,347 @@ +#! /bin/sh +# Wrapper for compilers which do not understand '-c -o'. + +scriptversion=2012-10-14.11; # UTC + +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file 'INSTALL'. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; +esac + +ofile= +cfile= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no '-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # '.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` + +# Create the lock directory. +# Note: use '[/\\:.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/deps/libproj/proj/nad/CMakeLists.txt b/deps/libproj/proj/nad/CMakeLists.txt new file mode 100644 index 00000000..a9b08cbd --- /dev/null +++ b/deps/libproj/proj/nad/CMakeLists.txt @@ -0,0 +1,57 @@ +# +# files containing dictionnary of useful projection +# + +set(PROJ_DICTIONARY epsg + esri + world + esri.extra + other.extra + IGNF + nad27 + GL27 + nad83 + nad.lst + proj_def.dat + CH ) + +# +# gridshift file +# + +file(GLOB GSB_FILES *.gsb) +set(GRIDSHIFT_FILES ${GSB_FILES}) +set(GRIDSHIFT_FILES ${GRIDSHIFT_FILES} + ) +option(CONVERT_DATA "convert some ascii file to binary file for use in proj4" OFF) +if(CONVERT_DATA AND nad2bin) + message(ERROR " you need to compile nad2bin exe in order to convert data file" ) +else(CONVERT_DATA AND nad2bin) + set(LLA_GRID_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + proj_convert_grid_lla2gsb(LLA_GRID_DIR) + file(GLOB LLA_FILES *.lla) + proj_append_lla_output_file(LLA_FILES GRIDSHIFT_FILES) +endif(CONVERT_DATA AND nad2bin) + + +# +#install +# +set(ALL_DATA_FILE ${PROJ_DICTIONARY} + ${GRIDSHIFT_FILES} + ${GEOID_FILES}) +install(FILES ${ALL_DATA_FILE} + DESTINATION ${DATADIR}) + +# +# test +# +set(CS2CS_BIN "cs2cs") +set(PROJ_BIN "proj") +proj_add_test_script_sh("test27" PROJ_BIN ) +proj_add_test_script_sh("test83" PROJ_BIN ) +proj_add_test_script_sh("testvarious" CS2CS_BIN ) +proj_add_test_script_sh("testdatumfile" CS2CS_BIN "connu") +proj_add_test_script_sh("testIGNF" CS2CS_BIN "ntf_r93.gsb") +proj_add_test_script_sh("testntv2" CS2CS_BIN "ntv2_0.gsb") + diff --git a/deps/libproj/proj/src/CMakeLists.txt b/deps/libproj/proj/src/CMakeLists.txt new file mode 100644 index 00000000..aba5b4c4 --- /dev/null +++ b/deps/libproj/proj/src/CMakeLists.txt @@ -0,0 +1,45 @@ +# first include proj library +# always need +include(lib_proj.cmake) + +# configure executable build +option(BUILD_CS2CS "Build cs2cs (coordinate systems to coordinate systems translation tool)" ON) +option(BUILD_PROJ "Build proj (cartographic projection tool : latlong <-> projected coordinates" ON) +option(BUILD_GEOD "Build geod (computation of geodesic lines)" ON) +option(BUILD_NAD2BIN "Build nad2bin (format conversion tool) " ON) + +if(NOT MSVC) + if (NOT APPLE) + # Use relative path so that package is relocatable + set(CMAKE_INSTALL_RPATH "\$ORIGIN/../${LIBDIR}") + else () + set (CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${LIBDIR}") + # TO DO: cmake 2.8.12 introduces a way to make the install tree + # relocatable with OSX via + # (1) set(CMAKE_MACOSX_RPATH ON) and + # (2) setting the INSTALL_RPATH property on the executables to + # "@loader_path/../${LIBDIR}" + endif () +endif () + +if(BUILD_CS2CS) + include(bin_cs2cs.cmake) +endif(BUILD_CS2CS) + +if(BUILD_PROJ) + include(bin_proj.cmake) +endif(BUILD_PROJ) + +if(BUILD_GEOD) + include(bin_geod.cmake) +endif(BUILD_GEOD) + +if(BUILD_NAD2BIN) + include(bin_nad2bin.cmake) +endif(BUILD_NAD2BIN) + +if (MSVC OR CMAKE_CONFIGURATION_TYPES) + # Add _d suffix for your debug versions of the tools + set_target_properties (cs2cs binproj geod nad2bin PROPERTIES + DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +endif () diff --git a/deps/libproj/proj/src/bin_cs2cs.cmake b/deps/libproj/proj/src/bin_cs2cs.cmake new file mode 100644 index 00000000..59e57adc --- /dev/null +++ b/deps/libproj/proj/src/bin_cs2cs.cmake @@ -0,0 +1,14 @@ +set(CS2CS_SRC cs2cs.c + gen_cheb.c + p_series.c) + +source_group("Source Files\\Bin" FILES ${CS2CS_SRC}) + +if(WIN32) + set(CS2CS_SRC ${CS2CS_SRC} emess.c) +endif(WIN32) + +add_executable(cs2cs ${CS2CS_SRC} ${CS2CS_INCLUDE}) +target_link_libraries(cs2cs ${PROJ_LIBRARIES}) +install(TARGETS cs2cs + RUNTIME DESTINATION ${BINDIR}) diff --git a/deps/libproj/proj/src/bin_geod.cmake b/deps/libproj/proj/src/bin_geod.cmake new file mode 100644 index 00000000..c6dff717 --- /dev/null +++ b/deps/libproj/proj/src/bin_geod.cmake @@ -0,0 +1,16 @@ +set(GEOD_SRC geod.c + geod_set.c geod_interface.c ) +set(GEOD_INCLUDE geod_interface.h) + +source_group("Source Files\\Bin" FILES ${GEOD_SRC} ${GEOD_INCLUDE}) + +if(WIN32) + set(GEOD_SRC ${GEOD_SRC} emess.c) +endif(WIN32) + +#Executable +add_executable(geod ${GEOD_SRC} ${GEOD_INCLUDE}) +target_link_libraries(geod ${PROJ_LIBRARIES}) +install(TARGETS geod + RUNTIME DESTINATION ${BINDIR}) + diff --git a/deps/libproj/proj/src/bin_nad2bin.cmake b/deps/libproj/proj/src/bin_nad2bin.cmake new file mode 100644 index 00000000..57cbfe21 --- /dev/null +++ b/deps/libproj/proj/src/bin_nad2bin.cmake @@ -0,0 +1,17 @@ +if(WIN32 AND BUILD_LIBPROJ_SHARED) + message(warning " nad2nad can't be build with a DLL proj4 library you need a static lib") +endif(WIN32 AND BUILD_LIBPROJ_SHARED) + + +set(NAD2BIN_SRC nad2bin.c) +source_group("Source Files\\Bin" FILES ${NAD2BIN_SRC}) +if(WIN32) + set(NAD2BIN_SRC ${NAD2BIN_SRC} emess.c) +endif(WIN32) + +#Executable +add_executable(nad2bin ${NAD2BIN_SRC}) +target_link_libraries(nad2bin ${PROJ_LIBRARIES}) +install(TARGETS nad2bin + RUNTIME DESTINATION ${BINDIR}) + diff --git a/deps/libproj/proj/src/bin_proj.cmake b/deps/libproj/proj/src/bin_proj.cmake new file mode 100644 index 00000000..f20d2f3f --- /dev/null +++ b/deps/libproj/proj/src/bin_proj.cmake @@ -0,0 +1,19 @@ +set(PROJ_SRC proj.c + gen_cheb.c + p_series.c) + +source_group("Source Files\\Bin" FILES ${PROJ_SRC}) + +if(WIN32) + set(PROJ_SRC ${PROJ_SRC} emess.c) +endif(WIN32) + +#Executable +add_executable(binproj ${PROJ_SRC}) +set_target_properties(binproj + PROPERTIES + OUTPUT_NAME proj) +target_link_libraries(binproj ${PROJ_LIBRARIES}) +install(TARGETS binproj + RUNTIME DESTINATION ${BINDIR}) + diff --git a/deps/libproj/proj/src/lib_proj.cmake b/deps/libproj/proj/src/lib_proj.cmake new file mode 100644 index 00000000..8a6349d8 --- /dev/null +++ b/deps/libproj/proj/src/lib_proj.cmake @@ -0,0 +1,330 @@ +############################################## +### SWITCH BETWEEN STATIC OR SHARED LIBRARY### +############################################## +colormsg(_HIBLUE_ "Configuring proj library:") +message(STATUS "") + +# default config, shared on unix and static on Windows +if(UNIX) + set(BUILD_LIBPROJ_SHARED_DEFAULT ON ) +endif(UNIX) +if( WIN32) + set(BUILD_LIBPROJ_SHARED_DEFAULT OFF) +endif(WIN32) +option(BUILD_LIBPROJ_SHARED "Build libproj library shared." ${BUILD_LIBPROJ_SHARED_DEFAULT}) +if(BUILD_LIBPROJ_SHARED) + set(PROJ_LIBRARY_TYPE SHARED) +else(BUILD_LIBPROJ_SHARED) + set(PROJ_LIBRARY_TYPE STATIC) +endif(BUILD_LIBPROJ_SHARED) + + +option(USE_THREAD "Build libproj with thread/mutex support " ON) +if(NOT USE_THREAD) + add_definitions( -DMUTEX_stub) +endif(NOT USE_THREAD) +find_package(Threads QUIET) +if(USE_THREAD AND Threads_FOUND AND CMAKE_USE_WIN32_THREADS_INIT ) + add_definitions( -DMUTEX_win32) +endif(USE_THREAD AND Threads_FOUND AND CMAKE_USE_WIN32_THREADS_INIT ) +if(USE_THREAD AND Threads_FOUND AND CMAKE_USE_PTHREADS_INIT ) + add_definitions( -DMUTEX_pthread) +endif(USE_THREAD AND Threads_FOUND AND CMAKE_USE_PTHREADS_INIT ) +if(USE_THREAD AND NOT Threads_FOUND) + message(FATAL_ERROR "No thread library found and thread/mutex support is required by USE_THREAD option") +endif(USE_THREAD AND NOT Threads_FOUND) + + +############################################## +### librairie source list and include_list ### +############################################## +SET(SRC_LIBPROJ_PJ + nad_init.c + PJ_aea.c + PJ_aeqd.c + PJ_airy.c + PJ_aitoff.c + PJ_august.c + PJ_bacon.c + PJ_bipc.c + PJ_boggs.c + PJ_bonne.c + PJ_calcofi.c + PJ_cass.c + PJ_cc.c + PJ_cea.c + PJ_chamb.c + PJ_collg.c + PJ_crast.c + PJ_denoy.c + PJ_eck1.c + PJ_eck2.c + PJ_eck3.c + PJ_eck4.c + PJ_eck5.c + PJ_eqc.c + PJ_eqdc.c + PJ_fahey.c + PJ_fouc_s.c + PJ_gall.c + PJ_geos.c + PJ_gins8.c + PJ_gnom.c + PJ_gn_sinu.c + PJ_goode.c + PJ_gstmerc.c + PJ_hammer.c + PJ_hatano.c + PJ_igh.c + PJ_isea.c + PJ_imw_p.c + PJ_krovak.c + PJ_labrd.c + PJ_laea.c + PJ_lagrng.c + PJ_larr.c + PJ_lask.c + PJ_lcca.c + PJ_lcc.c + PJ_loxim.c + PJ_lsat.c + PJ_mbt_fps.c + PJ_mbtfpp.c + PJ_mbtfpq.c + PJ_merc.c + PJ_mill.c + PJ_mod_ster.c + PJ_moll.c + PJ_natearth.c + PJ_nell.c + PJ_nell_h.c + PJ_nocol.c + PJ_nsper.c + PJ_nzmg.c + PJ_ob_tran.c + PJ_ocea.c + PJ_oea.c + PJ_omerc.c + PJ_ortho.c + PJ_poly.c + PJ_putp2.c + PJ_putp3.c + PJ_putp4p.c + PJ_putp5.c + PJ_putp6.c + PJ_qsc.c + PJ_robin.c + PJ_rpoly.c + PJ_sconics.c + PJ_somerc.c + PJ_sterea.c + PJ_stere.c + PJ_sts.c + PJ_tcc.c + PJ_tcea.c + PJ_tmerc.c + PJ_tpeqd.c + PJ_urm5.c + PJ_urmfps.c + PJ_vandg.c + PJ_vandg2.c + PJ_vandg4.c + PJ_wag2.c + PJ_wag3.c + PJ_wag7.c + PJ_wink1.c + PJ_wink2.c + proj_etmerc.c +) + +SET(SRC_LIBPROJ_CORE + aasincos.c + adjlon.c + bch2bps.c + bchgen.c + biveval.c + dmstor.c + emess.c + emess.h + geocent.c + geocent.h + geodesic.c + mk_cheby.c + nad_cvt.c + nad_init.c + nad_intr.c + pj_apply_gridshift.c + pj_apply_vgridshift.c + pj_auth.c + pj_ctx.c + pj_fileapi.c + pj_datum_set.c + pj_datums.c + pj_deriv.c + pj_ell_set.c + pj_ellps.c + pj_errno.c + pj_factors.c + pj_fwd.c + pj_gauss.c + pj_gc_reader.c + pj_geocent.c + pj_gridcatalog.c + pj_gridinfo.c + pj_gridlist.c + PJ_healpix.c + pj_init.c + pj_initcache.c + pj_inv.c + pj_latlong.c + pj_list.c + pj_list.h + pj_log.c + pj_malloc.c + pj_mlfn.c + pj_msfn.c + pj_mutex.c + pj_open_lib.c + pj_param.c + pj_phi2.c + pj_pr_list.c + pj_qsfn.c + pj_release.c + pj_strerrno.c + pj_transform.c + pj_tsfn.c + pj_units.c + pj_utils.c + pj_zpoly1.c + proj_mdist.c + proj_rouss.c + rtodms.c + vector1.c + pj_strtod.c + ${CMAKE_CURRENT_BINARY_DIR}/proj_config.h + ) + +set(HEADERS_LIBPROJ + projects.h + proj_api.h + geodesic.h +) + +# Group source files for IDE source explorers (e.g. Visual Studio) +source_group("Header Files" FILES ${HEADERS_LIBPROJ}) +source_group("Source Files\\Core" FILES ${SRC_LIBPROJ_CORE}) +source_group("Source Files\\PJ" FILES ${SRC_LIBPROJ_PJ}) +include_directories( ${CMAKE_CURRENT_BINARY_DIR}) +source_group("CMake Files" FILES CMakeLists.txt) + + +# Embed PROJ_LIB data files location +add_definitions(-DPROJ_LIB="${CMAKE_INSTALL_PREFIX}/${DATADIR}") + +################################################# +## java wrapping with jni +################################################# +option(JNI_SUPPORT "Build support of java/jni wrapping for proj library" OFF) +find_package(JNI QUIET) +if(JNI_SUPPORT AND NOT JNI_FOUND) + message(FATAL_ERROR "jni support is required but jni is not found") +endif(JNI_SUPPORT AND NOT JNI_FOUND) +boost_report_value(JNI_SUPPORT) +if(JNI_SUPPORT) + set(SRC_LIBPROJ_CORE ${SRC_LIBPROJ_CORE} + jniproj.c ) + set(HEADERS_LIBPROJ ${HEADERS_LIBPROJ} + org_proj4_PJ.h + org_proj4_Projections.h) + source_group("Source Files\\JNI" FILES ${SRC_LIBPROJ_JNI}) + add_definitions(-DJNI_ENABLED) + include_directories( ${JNI_INCLUDE_DIRS}) + boost_report_value(JNI_INCLUDE_DIRS) +endif(JNI_SUPPORT) + +################################################# +## targets: libproj and proj_config.h +################################################# +set(ALL_LIBPROJ_SOURCES ${SRC_LIBPROJ_PJ} ${SRC_LIBPROJ_CORE}) +set(ALL_LIBPROJ_HEADERS ${HEADERS_LIBPROJ} ) +if(WIN32 AND BUILD_LIBPROJ_SHARED) + set(ALL_LIBPROJ_SOURCES ${ALL_LIBPROJ_SOURCES} proj.def ) +endif(WIN32 AND BUILD_LIBPROJ_SHARED) + +# Core targets configuration +string(TOLOWER "${PROJECT_INTERN_NAME}" PROJECTNAMEL) +set(PROJ_CORE_TARGET ${PROJECTNAMEL}) +proj_target_output_name(${PROJ_CORE_TARGET} PROJ_CORE_TARGET_OUTPUT_NAME) + +add_library( ${PROJ_CORE_TARGET} + ${PROJ_LIBRARY_TYPE} + ${ALL_LIBPROJ_SOURCES} + ${ALL_LIBPROJ_HEADERS} + ${PROJ_RESOURCES} ) + + +if(WIN32) + set_target_properties(${PROJ_CORE_TARGET} + PROPERTIES + VERSION "${${PROJECT_INTERN_NAME}_BUILD_VERSION}" + OUTPUT_NAME "${PROJ_CORE_TARGET_OUTPUT_NAME}" + CLEAN_DIRECT_OUTPUT 1) +elseif(BUILD_FRAMEWORKS_AND_BUNDLE) + set_target_properties(${PROJ_CORE_TARGET} + PROPERTIES + VERSION "${${PROJECT_INTERN_NAME}_BUILD_VERSION}" + INSTALL_NAME_DIR ${PROJ_INSTALL_NAME_DIR} + CLEAN_DIRECT_OUTPUT 1) +else() + set_target_properties(${PROJ_CORE_TARGET} + PROPERTIES + VERSION "${${PROJECT_INTERN_NAME}_BUILD_VERSION}" + SOVERSION "${${PROJECT_INTERN_NAME}_API_VERSION}" + CLEAN_DIRECT_OUTPUT 1) +endif() + +set_target_properties(${PROJ_CORE_TARGET} + PROPERTIES + LINKER_LANGUAGE C) + +############################################## +# Link properties +############################################## +set(PROJ_LIBRARIES ${PROJ_CORE_TARGET} ) +if(UNIX AND BUILD_LIBPROJ_SHARED) + find_library(M_LIB m) + if(M_LIB) + TARGET_LINK_LIBRARIES(${PROJ_CORE_TARGET} -lm) + endif() +endif(UNIX AND BUILD_LIBPROJ_SHARED) +if(USE_THREAD AND Threads_FOUND AND CMAKE_USE_PTHREADS_INIT AND BUILD_LIBPROJ_SHARED) + TARGET_LINK_LIBRARIES(${PROJ_CORE_TARGET} ${CMAKE_THREAD_LIBS_INIT}) +endif(USE_THREAD AND Threads_FOUND AND CMAKE_USE_PTHREADS_INIT AND BUILD_LIBPROJ_SHARED) + + +############################################## +# install +############################################## +install(TARGETS ${PROJ_CORE_TARGET} + EXPORT targets + RUNTIME DESTINATION ${BINDIR} + LIBRARY DESTINATION ${LIBDIR} + ARCHIVE DESTINATION ${LIBDIR} + FRAMEWORK DESTINATION ${FRAMEWORKDIR}) + +if(NOT BUILD_FRAMEWORKS_AND_BUNDLE) + install(FILES ${ALL_LIBPROJ_HEADERS} + DESTINATION ${INCLUDEDIR}) +endif(NOT BUILD_FRAMEWORKS_AND_BUNDLE) + +############################################## +# Core configuration summary +############################################## +boost_report_value(PROJ_CORE_TARGET) +boost_report_value(PROJ_CORE_TARGET_OUTPUT_NAME) +boost_report_value(PROJ_LIBRARY_TYPE) +boost_report_value(PROJ_LIBRARIES) + + + + diff --git a/package.json b/package.json index 66dafa11..08ba58db 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gdal", - "version": "0.9.0", + "version": "0.9.1", "description": "Bindings to GDAL (Geospatial Data Abstraction Library)", "license": "Apache-2.0", "url": "http://github.com/naturalatlas/node-gdal", diff --git a/yuidoc.json b/yuidoc.json index 729716c5..c6cfb6fd 100644 --- a/yuidoc.json +++ b/yuidoc.json @@ -1,7 +1,7 @@ { "name": "node-gdal", "description": "Node.js bindings for GDAL (Geospatial Data Abstraction Library)", - "version": "0.9.0", + "version": "0.9.1", "url": "https://github.com/naturalatlas/node-gdal", "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/GDALLogoColor.svg/200px-GDALLogoColor.svg.png", "options": {