This is an automated email from the git hooks/post-receive script. sebastic pushed a commit to tag v1.0.0 in repository osmium-tool.
commit 6e0c6a3c289401959f9a33fc2bafd58fa1e56593 Author: Jochen Topf <joc...@topf.org> Date: Tue Dec 16 09:57:51 2014 +0100 Updated cmake config. This brings it in line with the changes done earlier in osmium-contrib. --- CMakeLists.txt | 42 ++---------------- cmake/FindOSMPBF.cmake | 6 +-- cmake/FindOsmium.cmake | 106 ++++++++++++++++++++++++++++++++++++++++++++++ cmake/OsmiumOptions.cmake | 32 ++++++++++++++ 4 files changed, 144 insertions(+), 42 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 708cc3a..3c01e77 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,7 +67,9 @@ if(NOT CRYPTOPP_FOUND) set(MISSING_LIB 1) endif() -find_package(Osmium REQUIRED) +include(OsmiumOptions) + +find_package(Osmium REQUIRED COMPONENTS io) include_directories(${OSMIUM_INCLUDE_DIRS}) if(NOT OSMIUM_FOUND) message(WARNING "Libosmium not found!\n") @@ -208,44 +210,6 @@ include_directories(${PROJECT_BINARY_DIR}/src) #---------------------------------------------------------------------- -# -# C++ compilation options -# -#---------------------------------------------------------------------- -add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64) - -if(MSVC) - add_definitions(-wd4996 -DNOMINMAX -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_WARNINGS) -else() - add_compile_options(-std=c++11) - add_compile_options( - -Wall - -Wextra - -pedantic - -Wredundant-decls - -Wdisabled-optimization - -Wctor-dtor-privacy - -Wnon-virtual-dtor - -Woverloaded-virtual - -Wsign-promo - -Wold-style-cast - ) - #always compile with optimization, even in debug mode - set(CMAKE_CXX_FLAGS_DEBUG -O3) - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g") -endif() - -if (WIN32) - list(APPEND LIBRARIES ws2_32) -endif() - -if(APPLE) - add_compile_options(-stdlib=libc++) - set(LDFLAGS ${LDFLAGS} -stdlib=libc++) -endif(APPLE) - - -#---------------------------------------------------------------------- add_subdirectory(src) diff --git a/cmake/FindOSMPBF.cmake b/cmake/FindOSMPBF.cmake index 168d064..734042e 100644 --- a/cmake/FindOSMPBF.cmake +++ b/cmake/FindOSMPBF.cmake @@ -9,7 +9,7 @@ # and not # #include <osmpbf.h> -FIND_PATH(OSMPBF_INCLUDE_DIR osmpbf/osmpbf.h +find_path(OSMPBF_INCLUDE_DIR osmpbf/osmpbf.h HINTS $ENV{OSMPBF_DIR} PATH_SUFFIXES include @@ -22,7 +22,7 @@ FIND_PATH(OSMPBF_INCLUDE_DIR osmpbf/osmpbf.h /opt ) -FIND_LIBRARY(OSMPBF_LIBRARY +find_library(OSMPBF_LIBRARY NAMES osmpbf HINTS $ENV{OSMPBF_DIR} @@ -36,7 +36,7 @@ FIND_LIBRARY(OSMPBF_LIBRARY /opt ) -INCLUDE(FindPackageHandleStandardArgs) +include(FindPackageHandleStandardArgs) # handle the QUIETLY and REQUIRED arguments and set OSMPBF_FOUND to TRUE if # all listed variables are TRUE FIND_PACKAGE_HANDLE_STANDARD_ARGS(OSMPBF DEFAULT_MSG OSMPBF_LIBRARY OSMPBF_INCLUDE_DIR) diff --git a/cmake/FindOsmium.cmake b/cmake/FindOsmium.cmake index 6f49169..da11989 100644 --- a/cmake/FindOsmium.cmake +++ b/cmake/FindOsmium.cmake @@ -9,6 +9,7 @@ find_path(OSMIUM_INCLUDE_DIR osmium/osm.hpp PATH_SUFFIXES include PATHS ../libosmium + ../../libosmium libosmium ~/Library/Frameworks /Library/Frameworks @@ -28,3 +29,108 @@ if(OSMIUM_FOUND) set(OSMIUM_INCLUDE_DIRS ${OSMIUM_INCLUDE_DIR}) endif() +if(Osmium_FIND_REQUIRED AND NOT OSMIUM_FOUND) + message(FATAL_ERROR "Can not find libosmium headers, please install them or configure the paths") +endif() + + +if(";${Osmium_FIND_COMPONENTS};" MATCHES ";io;") + find_package(OSMPBF) + find_package(Protobuf) + find_package(ZLIB) + find_package(BZip2) + find_package(EXPAT) + find_package(Threads) + + if(OSMPBF_FOUND AND PROTOBUF_FOUND AND ZLIB_FOUND AND BZIP2_FOUND AND EXPAT_FOUND AND Threads_FOUND) + list(APPEND OSMIUM_LIBRARIES + ${OSMPBF_LIBRARIES} ${PROTOBUF_LITE_LIBRARY} + ${ZLIB_LIBRARY} ${BZIP2_LIBRARIES} + ${EXPAT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) + list(APPEND OSMIUM_INCLUDE_DIRS + ${OSMPBF_INCLUDE_DIRS} + ${PROTOBUF_INCLUDE_DIR} + ${EXPAT_INCLUDE_DIR} + ${BZIP2_INCLUDE_DIR} + ${ZLIB_INCLUDE_DIR} + ) + if(WIN32) + list(APPEND OSMIUM_LIBRARIES ws2_32) + endif() + else() + set(MISSING_LIBRARIES 1) + if(Osmium_FIND_REQUIRED) + message(FATAL_ERROR "Can not find some libraries for Osmium input/output formats, please install them or configure the paths") + endif() + endif() +endif() + +if(";${Osmium_FIND_COMPONENTS};" MATCHES ";geos;") + ##### Find GEOS Library + find_path(GEOS_INCLUDE_DIR geos/geom.h) + find_library(GEOS_LIBRARY NAMES geos) + if(GEOS_INCLUDE_DIR AND GEOS_LIBRARY) + message(STATUS "Found GEOS: " ${GEOS_LIBRARY}) + SET(GEOS_FOUND 1) + list(APPEND OSMIUM_LIBRARIES ${GEOS_LIBRARY}) + list(APPEND OSMIUM_INCLUDE_DIRS ${GEOS_INCLUDE_DIR}) + else() + set(MISSING_LIBRARIES 1) + if(Osmium_FIND_REQUIRED) + message(FATAL_ERROR "GEOS library is required but not found, please install it or configure the paths") + endif() + endif() +endif() + +if(";${Osmium_FIND_COMPONENTS};" MATCHES ";gdal;") + find_package(GDAL) + if(NOT GDAL_FOUND) + set(MISSING_LIBRARIES 1) + if(Osmium_FIND_REQUIRED) + message(FATAL_ERROR "GDAL library is required but not found, please install it or configure the paths") + endif() + else() + list(APPEND OSMIUM_LIBRARIES ${GDAL_LIBRARY}) + list(APPEND OSMIUM_INCLUDE_DIRS ${GDAL_INCLUDE_DIR}) + endif() +endif() + +if(";${Osmium_FIND_COMPONENTS};" MATCHES ";proj;") + ##### Find Proj.4 Library + find_path(PROJ_INCLUDE_DIR proj_api.h) + find_library(PROJ_LIBRARY NAMES proj) + if(PROJ_INCLUDE_DIR AND PROJ_LIBRARY) + message(STATUS "Found PROJ: " ${PROJ_LIBRARY}) + set(PROJ_FOUND 1) + list(APPEND OSMIUM_LIBRARIES ${PROJ_LIBRARY}) + list(APPEND OSMIUM_INCLUDE_DIRS ${PROJ_INCLUDE_DIR}) + else() + set(MISSING_LIBRARIES 1) + if(Osmium_FIND_REQUIRED) + message(FATAL_ERROR "PROJ library is required but not found, please install it or configure the paths") + endif() + endif() +endif() + +if(";${Osmium_FIND_COMPONENTS};" MATCHES ";sparsehash;") + ##### Find Google SparseHash + find_path(SPARSEHASH_INCLUDE_DIR google/sparsetable) + if(SPARSEHASH_INCLUDE_DIR) + message(STATUS "Found SparseHash") + set(SPARSEHASH_FOUND 1) + list(APPEND OSMIUM_INCLUDE_DIRS ${SPARSEHASH_INCLUDE_DIR}) + else() + set(MISSING_LIBRARIES 1) + if(Osmium_FIND_REQUIRED) + message(FATAL_ERROR "SparseHash library is required but not found, please install it or configure the paths") + endif() + endif() +endif() + +list(REMOVE_DUPLICATES OSMIUM_INCLUDE_DIRS) +list(REMOVE_DUPLICATES OSMIUM_LIBRARIES) + +if(Osmium_DEBUG) + message(STATUS "OSMIUM_LIBRARIES=" ${OSMIUM_LIBRARIES}) + message(STATUS "OSMIUM_INCLUDE_DIRS=" ${OSMIUM_INCLUDE_DIRS}) +endif() diff --git a/cmake/OsmiumOptions.cmake b/cmake/OsmiumOptions.cmake new file mode 100644 index 0000000..01d8c0e --- /dev/null +++ b/cmake/OsmiumOptions.cmake @@ -0,0 +1,32 @@ +# Setup common compiler options adviced for building Osmium headers + +add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64) + +if(MSVC) + add_definitions(-wd4996 -DNOMINMAX -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_WARNINGS) +else() + add_compile_options(-std=c++11) + add_compile_options( + -Wall + -Wextra + -pedantic + -Wredundant-decls + -Wdisabled-optimization + -Wctor-dtor-privacy + -Wnon-virtual-dtor + -Woverloaded-virtual + -Wsign-promo + -Wold-style-cast + ) + + #always compile with optimization, even in debug mode + set(CMAKE_CXX_FLAGS_DEBUG -O3) + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g") +endif() + +if(APPLE) + add_compile_options(-stdlib=libc++) + set(LDFLAGS ${LDFLAGS} -stdlib=libc++) +endif(APPLE) + +message(STATUS "Some compiler and linker options were changed by OsmiumOptions") -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/osmium-tool.git _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel