gtsam/gtsam/3rdparty/GeographicLib/CMakeLists.txt

523 lines
20 KiB
CMake

project (GeographicLib)
# Version information
set (PROJECT_VERSION_MAJOR 1)
set (PROJECT_VERSION_MINOR 35)
set (PROJECT_VERSION_PATCH 0)
set (PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}")
if (PROJECT_VERSION_PATCH GREATER 0)
set (PROJECT_VERSION "${PROJECT_VERSION}.${PROJECT_VERSION_PATCH}")
endif ()
if (DEFINED CPACK_PACKAGE_VERSION_COUNT)
# majic (version 0.1.9 and later) invokes cmake defining, e.g.,
# -D CPACK_PACKAGE_VERSION=1.35-SNAPSHOT
# -D CPACK_PACKAGE_VERSION_COUNT=2
# -D CPACK_PACKAGE_VERSION_MAJOR=1
# -D CPACK_PACKAGE_VERSION_MINOR=35
# -D CPACK_PACKAGE_VERSION_SUFFIX=-SNAPSHOT
# Check that the first two version numbers are consistent.
if (CPACK_PACKAGE_VERSION_COUNT EQUAL 2)
set (CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
elseif (CPACK_PACKAGE_VERSION_COUNT LESS 2)
message (FATAL_ERROR "CPACK_PACKAGE_VERSION_COUNT must be 2 or more")
endif ()
if (NOT (
CPACK_PACKAGE_VERSION_MAJOR EQUAL PROJECT_VERSION_MAJOR AND
CPACK_PACKAGE_VERSION_MINOR EQUAL PROJECT_VERSION_MINOR))
message (FATAL_ERROR "Inconsistency in CPACK and PROJECT version numbers")
endif ()
set (PROJECT_VERSION_PATCH ${CPACK_PACKAGE_VERSION_PATCH})
set (PROJECT_VERSION ${CPACK_PACKAGE_VERSION})
else ()
set (CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
set (CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
set (CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
set (CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
endif ()
# The library version tracks the numbering given by libtool in the
# autoconf set up.
set (LIBVERSION 10)
set (LIBVERSIONFULL 10.1.2)
string (TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER)
string (TOUPPER ${PROJECT_NAME} PROJECT_NAME_UPPER)
cmake_minimum_required (VERSION 2.8.4) # This version was released 2011-02-16
# User-settable variables
# (1) COMMON_INSTALL_PATH governs the installation convention. If it
# is on ON (the Linux default), the installation is to a common
# directory, e.g., /usr/local. If it is OFF (the Windows default),
# the installation directory contains the package name, e.g.,
# c:/pkg/GeographicLib-1.22. The installation directories for the
# documentation, cmake configuration, python and matlab interfaces all
# depend on the variable with deeper paths relative to
# CMAKE_INSTALL_PREFIX being used when it's ON.
if (WIN32)
option (COMMON_INSTALL_PATH "Use a common installation path for packages" OFF)
else ()
option (COMMON_INSTALL_PATH "Use a common installation path for packages" ON)
endif ()
# The use of PACKAGE_PATH and INSTALL_PATH is now DEPRECATED.
# (2) PACKAGE_PATH and INSTALL_PATH govern the find_package search
# path and the installation directory. (find_package is not used by
# GeographicLib since it doesn't depend on other packages. However
# PACKAGE_PATH is used here for uniformity with other packages which
# adopt the same conventions.)
#
# If PACKAGE_PATH is defined, it is prepended to CMAKE_PREFIX_PATH.
#
# If INSTALL_PATH is not specified but PACKAGE_PATH is, then
# INSTALL_PATH is set to
# ${PACKAGE_PATH}, if COMMON_INSTALL_PATH is ON;
# ${PACKAGE_PATH}/${PROJECT_NAME}-${PROJECT_VERSION}, otherwise.
#
# If INSTALL_PATH is now defined, then set CMAKE_INSTALL_PREFIX to
# INSTALL_PATH.
#
# Typically, only PACKAGE_PATH needs to be specified, e.g.,
# cmake -D PACKAGE_PATH=/opt .. (on Linux)
# => CMAKE_PREFIX_PATH=/opt CMAKE_INSTALL_PREFIX=/opt
# cmake -D PACKAGE_PATH=C:/pkg .. (on Windows)
# => CMAKE_PREFIX_PATH=C:/pkg CMAKE_INSTALL_PREFIX=C:/pkg/GeographicLib-1.22
if (PACKAGE_PATH)
set (CMAKE_PREFIX_PATH ${PACKAGE_PATH} ${CMAKE_PREFIX_PATH})
message (STATUS "CMAKE_PREFIX_PATH set to ${CMAKE_PREFIX_PATH}")
endif ()
if (NOT INSTALL_PATH AND PACKAGE_PATH)
if (COMMON_INSTALL_PATH)
set (INSTALL_PATH ${PACKAGE_PATH} CACHE PATH "Installation directory" FORCE)
else ()
set (INSTALL_PATH ${PACKAGE_PATH}/${PROJECT_NAME}-${PROJECT_VERSION}
CACHE PATH "Installation directory" FORCE)
endif ()
endif ()
if (INSTALL_PATH)
file (TO_CMAKE_PATH ${INSTALL_PATH} CMAKE_INSTALL_PREFIX)
message (STATUS "CMAKE_INSTALL_PREFIX set to ${CMAKE_INSTALL_PREFIX}")
endif ()
# (3) Where to look for data files. Various classes look in the geoids,
# gravity, magnetic, subdirectories of ${GEOGRAPHICLIB_DATA}.
if (WIN32)
# The binary installers for the data files for Windows are created
# with Inno Setup which uses {commonappdata}. On most Windows
# systems this is
# "C:/Documents and Settings/All Users/Application Data", while on
# newer systems (Windows 7), it is C:/ProgramData. However the
# longer name "works" on all Windows systems.
set (GEOGRAPHICLIB_DATA
"C:/Documents and Settings/All Users/Application Data/GeographicLib"
CACHE PATH "Location for data for GeographicLib")
else ()
set (GEOGRAPHICLIB_DATA
"/usr/local/share/GeographicLib"
CACHE PATH "Location for data for GeographicLib")
endif ()
# (4) Build which libraries? Possible values are SHARED, STATIC, BOTH.
if (MSVC)
set (GEOGRAPHICLIB_LIB_TYPE STATIC CACHE STRING
"Types of library generated: SHARED, STATIC (default), or BOTH")
else ()
set (GEOGRAPHICLIB_LIB_TYPE SHARED CACHE STRING
"Types of library generated: SHARED (default), STATIC, or BOTH")
endif ()
set_property (CACHE GEOGRAPHICLIB_LIB_TYPE
PROPERTY STRINGS "SHARED" "STATIC" "BOTH")
if ("${GEOGRAPHICLIB_LIB_TYPE}" STREQUAL "BOTH")
set (GEOGRAPHICLIB_SHARED_LIB ON)
set (GEOGRAPHICLIB_STATIC_LIB ON)
set (GEOGRAPHICLIB_LIB_TYPE_VAL 2)
elseif ("${GEOGRAPHICLIB_LIB_TYPE}" STREQUAL "SHARED")
set (GEOGRAPHICLIB_SHARED_LIB ON)
set (GEOGRAPHICLIB_STATIC_LIB OFF)
set (GEOGRAPHICLIB_LIB_TYPE_VAL 1)
elseif ("${GEOGRAPHICLIB_LIB_TYPE}" STREQUAL "STATIC")
set (GEOGRAPHICLIB_SHARED_LIB OFF)
set (GEOGRAPHICLIB_STATIC_LIB ON)
set (GEOGRAPHICLIB_LIB_TYPE_VAL 0)
else ()
message (FATAL_ERROR
"Bad value of GEOGRAPHICLIB_LIB_TYPE, \"${GEOGRAPHICLIB_LIB_TYPE}\" "
"(should be SHARED, STATIC or BOTH)")
endif ()
if (GEOGRAPHICLIB_STATIC_LIB)
set (PROJECT_STATIC_LIBRARIES GeographicLib_STATIC)
set (PROJECT_STATIC_DEFINITIONS -DGEOGRAPHICLIB_SHARED_LIB=0)
else ()
set (PROJECT_STATIC_LIBRARIES)
set (PROJECT_STATIC_DEFINITIONS)
endif ()
if (GEOGRAPHICLIB_SHARED_LIB)
set (PROJECT_SHARED_LIBRARIES GeographicLib)
set (PROJECT_LIBRARIES ${PROJECT_SHARED_LIBRARIES})
set (PROJECT_SHARED_DEFINITIONS -DGEOGRAPHICLIB_SHARED_LIB=1)
set (PROJECT_DEFINITIONS ${PROJECT_SHARED_DEFINITIONS})
else ()
set (PROJECT_SHARED_LIBRARIES)
set (PROJECT_LIBRARIES ${PROJECT_STATIC_LIBRARIES})
set (PROJECT_SHARED_DEFINITIONS)
set (PROJECT_DEFINITIONS ${PROJECT_STATIC_DEFINITIONS})
endif ()
# (5) Compile the Matlab interfaces? Skip Matlab compilation if OFF
set (MATLAB_COMPILER OFF CACHE STRING
"Compiler for matlab/octave interface: mex or mkoctfile or OFF")
set_property (CACHE MATLAB_COMPILER PROPERTY STRINGS "mex" "mkoctfile" OFF)
# (6) Create the documentation? This depends on whether doxygen can be
# found. If this is OFF, then links will be provided to the online
# documentation on Sourceforge.
option (GEOGRAPHICLIB_DOCUMENTATION
"Use doxygen to create the documentation" OFF)
# (7) Build .NET wrapper library NETGeographicLib. This only applies to
# Windows. Default is OFF, because, currently, most people don't use
# this interface.
option (BUILD_NETGEOGRAPHICLIB "Build NETGeographicLib library" OFF)
# (8) Set the default "real" precision. This should probably be left
# at 2 (double).
set (GEOGRAPHICLIB_PRECISION 2 CACHE STRING
"Default real precision: 1 = float, 2 = double, 3 = long double")
set_property (CACHE GEOGRAPHICLIB_PRECISION PROPERTY STRINGS 1 2 3)
# (9) When making a binary package, should we include the debug version
# of the library? This applies to MSVC only, because that's the
# platform where debug and release compilations do not inter-operate.
# It requires building as follows:
# cmake --build . --config Debug --target ALL_BUILD
# cmake --build . --config Release --target ALL_BUILD
# cmake --build . --config Release --target PACKAGE
option (PACKAGE_DEBUG_LIBS
"Include debug versions of library in binary package" OFF)
set (LIBNAME Geographic)
if (MSVC OR CMAKE_CONFIGURATION_TYPES)
# For multi-config systems and for Visual Studio, the debug version of
# the library is called Geographic_d.
set (CMAKE_DEBUG_POSTFIX _d)
endif ()
if (NOT MSVC)
# Set the run time path for shared libraries for non-Windows machines.
# (1) include link path for external packages (not needed with
# GeographicLib because there are no external packages).
set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
# (2) include installed path for GeographicLib.
if (NOT APPLE)
# Use relative path so that package is relocatable
set (CMAKE_INSTALL_RPATH "\$ORIGIN/../lib${LIB_SUFFIX}")
else ()
# Need absolute path with MacOSx
set (CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
endif ()
endif ()
if (NOT (CYGWIN OR ANDROID))
# cygwin and android have a long double but the support for ::cbrtl,
# etc., is missing
include (CheckTypeSize)
check_type_size ("long double" LONG_DOUBLE BUILTIN_TYPES_ONLY)
endif ()
include (TestBigEndian)
test_big_endian (WORDS_BIGENDIAN)
# Create a Config.h to expose system information to the compiler
configure_file (
include/GeographicLib/Config.h.in
include/GeographicLib/Config.h )
# The documentation depends on doxygen. Need version 1.8.1.2 or later
# for support of greek letters and math symbols.
if (GEOGRAPHICLIB_DOCUMENTATION)
set (DOXYGEN_SKIP_DOT ON)
find_package (Doxygen 1.8.1.2)
if (DOXYGEN_FOUND)
execute_process (COMMAND ${DOXYGEN_EXECUTABLE} --version
OUTPUT_VARIABLE DOXYGEN_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
if (DOXYGEN_VERSION VERSION_LESS 1.4.0)
set (DOXYGEN_FOUND FALSE)
message (STATUS "Doxygen version found, ${DOXYGEN_VERSION}, is too old")
endif ()
endif ()
endif ()
# The man pages are written as pod files and converted to nroff format,
# C++ code, and html. Because this require tools that may not be
# available on an end-user's system, the creation of the final
# documentation is therefore only done in "MAINTAINER" mode. The
# maintainer runs "make distrib-all" which installs the transformed
# documentation files into the source tree.
if (NOT WIN32 AND NOT APPLE)
find_program (HAVE_POD2MAN pod2man)
find_program (HAVE_POD2HTML pod2html)
find_program (HAVE_COL col)
endif ()
if (HAVE_POD2MAN AND HAVE_POD2HTML AND HAVE_COL)
set (MAINTAINER ON)
else ()
set (MAINTAINER OFF)
endif ()
if (MAINTAINER)
add_custom_target (distrib-all)
add_dependencies (distrib-all distrib-man)
endif ()
# Look for the tool to compile the Matlab interfaces.
if (MATLAB_COMPILER)
if (WIN32)
set (MATLAB_COMPILER_EXT ".bat")
else ()
set (MATLAB_COMPILER_EXT "")
endif ()
find_program (MEX "${MATLAB_COMPILER}${MATLAB_COMPILER_EXT}")
if (MATLAB_COMPILER MATCHES "mex")
get_filename_component (MATLABDIR "${MEX}" REALPATH)
get_filename_component (MATLABDIR "${MATLABDIR}" PATH)
find_program (MEXEXTPROG "mexext${MATLAB_COMPILER_EXT}"
PATHS "${MATLABDIR}")
execute_process (COMMAND "${MEXEXTPROG}"
OUTPUT_VARIABLE MEXEXT OUTPUT_STRIP_TRAILING_WHITESPACE)
set (MEXOPTIONS "-largeArrayDims")
else ()
set (MEXEXT "mex")
set (MEXOPTIONS "--mex")
endif ()
if (NOT MSVC)
# mex files are shared objects => require static lib to be built with
# position independent code
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
endif ()
if (NOT MEX)
message (WARNING
"Cannot find Matlab compiler ${MATLAB_COMPILER}${MATLAB_COMPILER_EXT}")
elseif (NOT MEXEXT)
set (MEX OFF)
message (WARNING "Cannot determine extension for Matlab compiled code")
endif ()
endif ()
# 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 ()
# Make the compiler more picky.
if (MSVC)
string (REGEX REPLACE "/W[0-4]" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
else ()
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")
# check for C++11 support. If available, the C++11 static_assert and
# various math functions (std::atanh, etc.) are used. This flag is
# *not* propagated to clients that use GeographicLib. However, this
# is of no consequence. When the client code is being compiled (and
# the GeographicLib headers being included), work-alike substitutions
# for static_assert and std::atanh are used.
include (CheckCXXCompilerFlag)
set (CXX11FLAG "-std=c++11")
check_cxx_compiler_flag (${CXX11FLAG} CXX11TEST1)
if (NOT CXX11TEST1)
set (CXX11FLAG "-std=c++0x")
check_cxx_compiler_flag (${CXX11FLAG} CXX11TEST2)
if (NOT CXX11TEST2)
unset (CXX11FLAG)
endif ()
endif ()
if (CXX11FLAG)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX11FLAG}")
endif ()
endif ()
if (APPLE)
if (CMAKE_SYSTEM_PROCESSOR MATCHES "i.86" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "amd64" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "x86")
set (CMAKE_OSX_ARCHITECTURES "i386 -arch x86_64")
endif ()
endif ()
# The list of tools (to be installed into, e.g., /usr/local/bin)
#set (TOOLS CartConvert ConicProj GeodesicProj GeoConvert GeodSolve
# GeoidEval Gravity MagneticField Planimeter TransverseMercatorProj)
# The list of scripts (to be installed into, e.g., /usr/local/sbin)
set (SCRIPTS
geographiclib-get-geoids geographiclib-get-gravity geographiclib-get-magnetic)
set_property (GLOBAL PROPERTY USE_FOLDERS ON)
# Set the include directories. Look in ${PROJECT_BINARY_DIR}/include
# first because that's where Config.h will be
include_directories ("${PROJECT_BINARY_DIR}/include" include)
# The list of subdirectories to process
add_subdirectory (src)
add_subdirectory (include/GeographicLib)
# add_subdirectory (tools)
add_subdirectory (man)
add_subdirectory (doc)
add_subdirectory (matlab)
add_subdirectory (python/geographiclib)
# if (GEOGRAPHICLIB_PRECISION EQUAL 2)
# # The examples assume double precision
# add_subdirectory (examples)
# endif ()
if (BUILD_NETGEOGRAPHICLIB)
set (NETGEOGRAPHICLIB_LIBRARIES NETGeographicLib)
set (NETLIBNAME NETGeographic)
add_subdirectory (dotnet/NETGeographicLib)
if (GEOGRAPHICLIB_PRECISION EQUAL 2)
add_subdirectory (dotnet/examples/ManagedCPP)
endif ()
endif ()
add_subdirectory (cmake)
if (EXISTS ${PROJECT_SOURCE_DIR}/tests/CMakeLists.txt)
add_subdirectory (tests)
endif ()
# Packaging support; we deal with
# (1) a source distribution: cmake make a tar.gz file and the zip file
# is created from this. Only the maintainer can do this, because of
# the need to generate additional documentation files.
# (2) a binary distribution: code is included for Linux, Apple, and
# Windows, but only the Windows distribution has been exercised.
# Need to ensure that system dlls get included in a binary distribution
if (NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
# Visual Studio Express does include redistributable components so
# squelch the warning.
set (CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
endif ()
set (CMAKE_INSTALL_DEBUG_LIBRARIES ON)
include (InstallRequiredSystemLibraries)
# The configuration of CPack is via variable that need to be set before
# the include (CPack).
set (CPACK_PACKAGE_CONTACT charles@karney.com)
set (CPACK_PACKAGE_VENDOR "GeographicLib")
set (CPACK_PACKAGE_DESCRIPTION_SUMMARY
"GeographicLib library, utilities, and documentation")
# The list of files to be excluded from the source distribution.
set (CPACK_SOURCE_IGNORE_FILES
"#"
"~\$"
"/\\\\.git"
"${PROJECT_SOURCE_DIR}/BUILD"
"${PROJECT_SOURCE_DIR}/(tests|testdata|cgi-bin|.*\\\\.cache)/"
"${PROJECT_SOURCE_DIR}/(distrib|.*-distrib|.*-installer|geodesic-papers)/"
"${PROJECT_SOURCE_DIR}/[^/]*\\\\.(html|kmz|pdf)\$"
"${PROJECT_SOURCE_DIR}/(autogen|biblio|js-compress)\\\\.sh\$"
"${PROJECT_SOURCE_DIR}/(geodesic-biblio.txt|makefile-admin|[^/]*\\\\.png)\$"
"${PROJECT_SOURCE_DIR}/matlab/matlab-.*blurb.txt\$" )
set (CPACK_SOURCE_GENERATOR TGZ)
set (CPACK_RESOURCE_FILE_LICENSE ${PROJECT_SOURCE_DIR}/LICENSE.txt)
set (CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME}-${PROJECT_VERSION}")
set (CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}")
if (WIN32)
# The Windows binary packager is NSIS. Set the necessary variables
# for this.
set (CPACK_NSIS_CONTACT "charles@karney.com")
set (CPACK_NSIS_URL_INFO_ABOUT "http://geographiclib.sf.net")
set (CPACK_NSIS_HELP_LINK "mailto:charles@karney.com")
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
# Hardcode the prefix for Visual Studio 10
set (CPACK_NSIS_INSTALL_ROOT "C:\\\\pkg-vc10-x64")
set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}-win64")
set (CPACK_NSIS_PACKAGE_NAME "${PROJECT_NAME} x64 ${PROJECT_VERSION}")
set (CPACK_PACKAGE_INSTALL_REGISTRY_KEY
"${PROJECT_NAME}-x64-${PROJECT_VERSION}")
else ()
# Hardcode the prefix for Visual Studio 10
set (CPACK_NSIS_INSTALL_ROOT "C:\\\\pkg-vc10")
set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}-win32")
set (CPACK_NSIS_PACKAGE_NAME "${PROJECT_NAME} ${PROJECT_VERSION}")
set (CPACK_PACKAGE_INSTALL_REGISTRY_KEY
"${PROJECT_NAME}-${PROJECT_VERSION}")
endif ()
set (CPACK_NSIS_DISPLAY_NAME ${CPACK_NSIS_PACKAGE_NAME})
set (CPACK_NSIS_MENU_LINKS
"http://geographiclib.sf.net/${PROJECT_VERSION}/index.html"
"Library documentation"
"http://geographiclib.sf.net/${PROJECT_VERSION}/utilities.html"
"Utilities documentation"
"http://geographiclib.sf.net" "GeographicLib home page"
"http://sf.net/projects/geographiclib/" "Main project page")
set (CPACK_NSIS_MODIFY_PATH ON)
elseif (APPLE)
# Not tested
set (CPACK_GENERATOR Bundle)
set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}-darwin")
else ()
# Not tested
set (CPACK_GENERATOR TGZ)
endif ()
include (CPack)
# Another maintainer-specific target is building the source distribution
# via the target dist. This calls package_source to make a tar.gz file.
# However this needs to be touched up to support the vanilla Makefiles
# provided with GeographicLib. This entails
# (1) creating Makefile (which includes Makefile.mk);
# (2) creating a bare-bones Config.h (with just the version information);
# (3) making sure that make thinks the generated documentation files are
# up-to-date.
# Then a new tar.gz file and zip file are created. To avoid potential
# problems with directory permissions, tar and zip are told only to
# archive the files.
if (MAINTAINER)
add_custom_target (dist
COMMAND ${CMAKE_MAKE_PROGRAM} package_source
COMMAND
cd _CPack_Packages/Linux-Source/TGZ/${CPACK_SOURCE_PACKAGE_FILE_NAME} &&
echo include Makefile.mk > Makefile &&
sed -e "s/Unconfigured/${PROJECT_VERSION}/"
-e "s/MAJOR .*/MAJOR ${CPACK_PACKAGE_VERSION_MAJOR}/"
-e "s/MINOR .*/MINOR ${CPACK_PACKAGE_VERSION_MINOR}/"
-e "s/PATCH .*/PATCH ${CPACK_PACKAGE_VERSION_PATCH}/"
include/GeographicLib/Config.h > include/GeographicLib/Config.h.new &&
mv include/GeographicLib/Config.h.new include/GeographicLib/Config.h
COMMAND
cd _CPack_Packages/Linux-Source/TGZ/${CPACK_SOURCE_PACKAGE_FILE_NAME} &&
touch man/[A-Za-z]*.usage man/[A-Za-z]*.1 man/[A-Za-z]*.1.html &&
chmod -R g-w .
COMMAND
cd _CPack_Packages/Linux-Source/TGZ &&
find ${CPACK_SOURCE_PACKAGE_FILE_NAME} -type f |
tar cfzT ${CMAKE_BINARY_DIR}/${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz -
COMMAND
rm -f ${CMAKE_BINARY_DIR}/${CPACK_SOURCE_PACKAGE_FILE_NAME}.zip &&
rsync -a --delete
_CPack_Packages/Linux-Source/TGZ/${CPACK_SOURCE_PACKAGE_FILE_NAME}
_CPack_Packages/Linux-Source/TGZ.DOS/ &&
cd _CPack_Packages/Linux-Source/TGZ.DOS &&
find . -type f |
egrep '/\(doxyfile.*\\.in|MANIFEST.in|NEWS|AUTHORS|INSTALL|pom\\.xml|dummy.*\\.in|.*\\.\(cpp|hpp|h\\.in|txt|pro|usage|pod|py|m|mac|cmake\\.in|cmake|h|js|c|for|dox|cs|vb|inc|java|html\\.in\)\)$$' |
xargs unix2dos -q -k &&
find ${CPACK_SOURCE_PACKAGE_FILE_NAME} -type f |
zip -q ${CMAKE_BINARY_DIR}/${CPACK_SOURCE_PACKAGE_FILE_NAME}.zip -@
)
add_dependencies (dist distrib-all)
endif ()
# Add a test target; the tests are in tools.
enable_testing ()