#################################################################################
#
# Main GEOS build configuration file for CMake build system
#
# Copyright (C) 2009 Mateusz Loskot <mateusz@loskot.net>
#
# This is free software; you can redistribute and/or modify it under
# the terms of the GNU Lesser General Public Licence as published
# by the Free Software Foundation.
# See the COPYING file for more information.
#
#################################################################################
project(geos)
cmake_minimum_required(VERSION 2.6)
if(NOT CMAKE_VERSION)
set(CMAKE_VERSION
"${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}")
endif()
# Location of custom CMake modules with macros used by GEOS
set(CMAKE_MODULE_PATH "${geos_SOURCE_DIR}/cmake/modules")
#################################################################################
# Setup GEOS version
#################################################################################
# GEOS release version
# GEOS C++ library SONAME will use these encoding ABI break at every release
set(VERSION_MAJOR 3)
set(VERSION_MINOR 4)
set(VERSION_PATCH 2)
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
# JTS_PORT is the version of JTS this release is bound to
set(JTS_PORT 1.12.0)
message(STATUS "Setting GEOS version ${VERSION} as port of JTS ${JTS_PORT}")
# GEOS C API version
set(CAPI_INTERFACE_CURRENT 9)
set(CAPI_INTERFACE_REVISION 2)
set(CAPI_INTERFACE_AGE 8)
math(EXPR CAPI_VERSION_MAJOR "${CAPI_INTERFACE_CURRENT} - ${CAPI_INTERFACE_AGE}")
set(CAPI_VERSION_MINOR ${CAPI_INTERFACE_AGE})
set(CAPI_VERSION_PATCH ${CAPI_INTERFACE_REVISION})
set(CAPI_VERSION "${CAPI_VERSION_MAJOR}.${CAPI_VERSION_MINOR}.${CAPI_VERSION_PATCH}")
message(STATUS "Setting GEOS C API version ${CAPI_VERSION}")
if (NOT WIN32)
set(CAPI_SOVERSION ${CAPI_VERSION_MAJOR})
message(STATUS "Setting GEOS C API soversion ${CAPI_SOVERSION}")
endif()
#################################################################################
# Check custom global options
#################################################################################
option(GEOS_ENABLE_TESTS
"Set to OFF|ON (default) to control build of GEOS tests package" ON)
option(GEOS_ENABLE_INLINE
"Set to OFF|ON (default) to control GEOS compilation with small functions inlining" ON)
if(NOT MSVC)
option(GEOS_ENABLE_ASSERT
"Set to ON|OFF (default) to build GEOS with assert() macro enabled" OFF)
endif()
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
option(GEOS_ENABLE_FLOATSTORE
"Set to OFF|ON (default) to control IEEE754 conformance and remove extra precision" ON)
endif()
if(APPLE)
option(GEOS_ENABLE_MACOSX_FRAMEWORK
"Set to ON|OFF (default) to build GEOS as a Mac OS X framework" OFF)
option(GEOS_ENABLE_MACOSX_FRAMEWORK_UNIXCOMPAT
"Set to ON|OFF (default) to add Unix compatibility to the Mac OS X framework" OFF)
endif()
#################################################################################
# Setup C/C++ compiler options
#################################################################################
if(NOT MSVC_IDE)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Debug CACHE STRING
"Choose the type of build, options are: None Debug Release" FORCE)
endif()
message(STATUS "Setting GEOS build type - ${CMAKE_BUILD_TYPE}")
endif()
if(CMAKE_BUILD_TYPE STREQUAL Debug)
add_definitions(-D_DEBUG)
endif()
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
# General options
set(CMAKE_CXX_FLAGS "-pedantic -ansi ${CMAKE_CXX_FLAGS}")
# Numerical stability
if(GEOS_ENABLE_FLOATSTORE)
# Remove extra precision by forcing conformance to IEEE 754 rather than IEEE 854
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ffloat-store")
endif()
message(STATUS
"Forcing IEEE 754 using flag -ffloat-store - ${GEOS_ENABLE_FLOATSTORE}")
# Warnings specification
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long")
# Turn on Position Independent Code generation for GEOS C shared library
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
# Enable glibc ISO C99 features (macros isfinite, isnan)
set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_ISOC99_SOURCE=1")
elseif(MSVC)
# Set pedantic mode by default
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
string(REGEX REPLACE "/W[0-9]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
if(MSVC80 OR MSVC90 OR MSVC10 OR MSVC11)
# Option is to enable the /MP switch for Visual Studio 2005 or later
option(GEOS_MSVC_ENABLE_MP
"Set to ON to build GEOS with the /MP option (Visual Studio 2005 and above)." ON)
mark_as_advanced(GEOS_MSVC_ENABLE_MP)
if(GEOS_MSVC_ENABLE_MP)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
endif()
message(STATUS "Setting Visual Studio 2005+ option /MP to ${GEOS_MSVC_ENABLE_MP}")
add_definitions(-D_SCL_SECURE_NO_WARNINGS)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
add_definitions(-DNOMINMAX)
endif()
endif()
if(GEOS_ENABLE_INLINE)
add_definitions(-DGEOS_INLINE)
endif()
message(STATUS
"Setting GEOS compilation with small functions inlining - ${GEOS_ENABLE_INLINE}")
if(NOT MSVC)
if(GEOS_ENABLE_ASSERT)
string(REGEX REPLACE "[-/]D.*NDEBUG" "-U NDEBUG"
CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
endif()
message(STATUS
"Setting GEOS compilation with assert() macro enabled - ${GEOS_ENABLE_ASSERT}")
endif()
#################################################################################
# Setup C/C++ library features
#################################################################################
# check header files
include(CheckIncludeFiles)
check_include_files(stdint.h HAVE_STDINT_H)
check_include_files(inttypes.h HAVE_INTTYPES_H)
check_include_files(ieeefp.h HAVE_IEEEFP_H)
# check types and sizes
include(CheckTypeSize)
if(MSVC)
check_type_size("__int64" HAVE_INT64_T_64)
else()
if(HAVE_STDINT_H OR HAVE_INTTYPES_H)
check_type_size("int64_t" HAVE_INT64_T_64)
else()
check_type_size("long long int" HAVE_LONG_LONG_INT_64)
endif()
endif()
# check functions and macros
include(CheckPrototypeExists)
include(CheckSymbolExists)
check_prototype_exists(isnan cmath HAVE_STD_ISNAN)
if(NOT HAVE_STD_ISNAN)
if(MSVC)
check_prototype_exists(_isnan float.h HAVE_ISNAN)
elseif(APPLE)
check_prototype_exists(__isnand math.h HAVE_ISNAND_XCODE)
if(NOT HAVE_ISNAND_XCODE)
check_prototype_exists(__inline_isnand math.h HAVE_INLINE_ISNAND_XCODE)
endif()
else()
check_symbol_exists(isnan math.h HAVE_ISNAN)
endif()
endif()
check_prototype_exists(isfinite cmath HAVE_STD_ISFINITE)
if(NOT HAVE_STD_ISFINITE)
if(MSVC)
check_prototype_exists(_finite float.h HAVE_FINITE)
else()
#CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
check_symbol_exists(isfinite math.h HAVE_ISFINITE)
endif()
endif()
################################################################################
# Setup build directories
#################################################################################
# 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 ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
################################################################################
# Setup include directories
#################################################################################
# for including GEOS C++ API headers
include_directories(${geos_SOURCE_DIR}/include)
# for including build-specific GEOS C API headers
include_directories(${geos_BINARY_DIR}/capi)
# for including build-specific version.h, platform.h and geos_c.h
includ
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
geos-3.4.2_win_x64库 (1470个子文件)
Makefile.am 5KB
Makefile.am 4KB
Makefile.am 2KB
Makefile.am 1KB
Makefile.am 1KB
Makefile.am 1KB
Makefile.am 1KB
Makefile.am 1KB
Makefile.am 1000B
Makefile.am 987B
Makefile.am 985B
Makefile.am 911B
Makefile.am 865B
Makefile.am 823B
Makefile.am 784B
Makefile.am 750B
Makefile.am 723B
Makefile.am 711B
Makefile.am 707B
Makefile.am 622B
Makefile.am 618B
Makefile.am 610B
Makefile.am 579B
Makefile.am 567B
Makefile.am 561B
Makefile.am 550B
Makefile.am 536B
Makefile.am 497B
Makefile.am 490B
Makefile.am 480B
Makefile.am 472B
Makefile.am 471B
Makefile.am 471B
Makefile.am 448B
Makefile.am 434B
Makefile.am 434B
Makefile.am 429B
Makefile.am 426B
Makefile.am 423B
Makefile.am 420B
Makefile.am 419B
Makefile.am 415B
Makefile.am 411B
Makefile.am 408B
Makefile.am 407B
Makefile.am 405B
Makefile.am 400B
Makefile.am 400B
Makefile.am 399B
Makefile.am 387B
Makefile.am 370B
Makefile.am 365B
Makefile.am 353B
Makefile.am 350B
Makefile.am 346B
Makefile.am 346B
Makefile.am 344B
Makefile.am 343B
Makefile.am 342B
Makefile.am 337B
Makefile.am 336B
Makefile.am 317B
Makefile.am 313B
Makefile.am 313B
Makefile.am 309B
Makefile.am 307B
Makefile.am 303B
Makefile.am 298B
Makefile.am 297B
Makefile.am 293B
Makefile.am 291B
Makefile.am 291B
Makefile.am 287B
Makefile.am 285B
Makefile.am 285B
Makefile.am 283B
Makefile.am 281B
Makefile.am 280B
Makefile.am 279B
Makefile.am 275B
Makefile.am 271B
Makefile.am 271B
Makefile.am 271B
Makefile.am 270B
Makefile.am 258B
Makefile.am 252B
Makefile.am 246B
Makefile.am 244B
Makefile.am 241B
Makefile.am 217B
Makefile.am 216B
Makefile.am 205B
Makefile.am 199B
Makefile.am 195B
Makefile.am 190B
Makefile.am 190B
Makefile.am 160B
Makefile.am 153B
Makefile.am 144B
Makefile.am 105B
共 1470 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15
资源评论
garble零下1度
- 粉丝: 2
- 资源: 23
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 操作简单的Mongodb网页web管理工具,基于Spring Boot2.0支持mongodb集群.zip
- tms-mongodb-web,提供访问mongodb数据的REST API和可灵活扩展的mongodb web 客户端.zip
- SpringBoot整合mongodb学习MongoTemplate和MongoRepository两种方式CRUD使用.zip
- SpringBoot整合MongoDB实现对数据库的CRUD小demo.zip
- Python操作MongoDB数据库的基本一些操作 .zip
- NOSQL数据库监控工具,目前实现了对Redis、MongoDB的监控功能 .zip
- mongoDB数据库的增删改查,以及所需要的配置.zip
- mongodb数据库idea测试.zip
- koa 分别 连接 mysql、mongodb数据库操作.zip
- 基于pytorch实现的人体部件分割源码+模型.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功