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 fa3b5f8443dee4faee180b4a674ff2406fcaac55 Author: Jochen Topf <joc...@topf.org> Date: Tue Jul 22 11:09:39 2014 +0200 Improved cmake setup. --- CMakeLists.txt | 103 ++++++++++++++++++++++++++++++++++++++++++----- src/CMakeLists.txt | 17 +------- src/command_fileinfo.hpp | 2 +- src/command_help.cpp | 2 +- src/command_help.hpp | 2 +- src/config.hpp.in | 5 +++ src/main.cpp | 2 +- src/osmc.hpp | 4 +- 8 files changed, 106 insertions(+), 31 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 747e422..860e4b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,45 +1,73 @@ +#---------------------------------------------------------------------- +# +# Osmium Tool CMakeLists.txt +# +#---------------------------------------------------------------------- + +cmake_minimum_required(VERSION 2.8.5) +list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") + + +#---------------------------------------------------------------------- +# +# Projection version +# +#---------------------------------------------------------------------- project(osmium) -set(OSMIUM_VERSION 0.0.1) +set(OSMIUM_VERSION_MAJOR 0) +set(OSMIUM_VERSION_MINOR 0) +set(OSMIUM_VERSION_PATCH 1) -cmake_minimum_required(VERSION 2.8.5) +set(OSMIUM_VERSION ${OSMIUM_VERSION_MAJOR}.${OSMIUM_VERSION_MINOR}.${OSMIUM_VERSION_PATCH}) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") #---------------------------------------------------------------------- +# +# Find external dependencies +# +#---------------------------------------------------------------------- find_package(Threads REQUIRED) +list(APPEND LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) find_package(ZLIB REQUIRED) include_directories(${ZLIB_INCLUDE_DIRS}) +list(APPEND LIBRARIES ${ZLIB_LIBRARIES}) find_package(BZip2 REQUIRED) include_directories(${BZIP2_INCLUDE_DIRS}) +list(APPEND LIBRARIES ${BZIP2_LIBRARIES}) find_package(EXPAT REQUIRED) include_directories(${EXPAT_INCLUDE_DIRS}) +list(APPEND LIBRARIES ${EXPAT_LIBRARIES}) find_package(Protobuf REQUIRED) include_directories(${PROTOBUF_INCLUDE_DIRS}) +list(APPEND LIBRARIES ${PROTOBUF_LITE_LIBRARIES}) find_package(Boost COMPONENTS program_options REQUIRED) include_directories(${BOOST_INCLUDE_DIRS}) +list(APPEND LIBRARIES ${Boost_LIBRARIES}) find_package(Cryptopp REQUIRED) include_directories(${CRYPTOPP_INCLUDE_DIRS}) +list(APPEND LIBRARIES ${CRYPTOPP_LIBRARIES}) find_package(OSMPBF REQUIRED) include_directories(${OSMPBF_INCLUDE_DIRS}) +list(APPEND LIBRARIES ${OSMPBF_LIBRARIES}) find_package(Osmium REQUIRED) include_directories(${OSMIUM_INCLUDE_DIRS}) -#---------------------------------------------------------------------- -add_subdirectory(src) - -install(FILES README.md DESTINATION share/doc/osmium) #---------------------------------------------------------------------- +# +# Optional "cppcheck" target that checks C++ code +# +#---------------------------------------------------------------------- message(STATUS "Looking for cppcheck") find_program(CPPCHECK cppcheck) @@ -54,10 +82,14 @@ if(CPPCHECK) else() message(STATUS "Looking for cppcheck - not found") message(STATUS " Make target cppcheck not available") -endif() +endif(CPPCHECK) #---------------------------------------------------------------------- +# +# Optional "man" target to generate man pages +# +#---------------------------------------------------------------------- message(STATUS "Looking for pandoc") find_program(PANDOC pandoc) @@ -89,6 +121,59 @@ if(PANDOC) else() message(STATUS "Looking for pandoc - not found") message(STATUS " Manual pages will not be built") -endif() +endif(PANDOC) + + +#---------------------------------------------------------------------- +# +# Create src/config.hpp +# +#---------------------------------------------------------------------- +configure_file( + ${PROJECT_SOURCE_DIR}/src/config.hpp.in + ${PROJECT_BINARY_DIR}/src/config.hpp +) + +include_directories(${PROJECT_BINARY_DIR}/src) + + +#---------------------------------------------------------------------- +# +# C++ compilation options +# +#---------------------------------------------------------------------- +add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64) + +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") + +if(APPLE) + add_compile_options(-stdlib=libc++) + set(LDFLAGS ${LDFLAGS} -stdlib=libc++) +endif(APPLE) + + +#---------------------------------------------------------------------- + +add_subdirectory(src) + +install(FILES README.md DESTINATION share/doc/osmium) + #---------------------------------------------------------------------- diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 96b5431..742795f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,24 +1,9 @@ -add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64) - -if(USE_CRYPTOPP) - add_definitions(-DUSE_CRYPTOPP=${USE_CRYPTOPP}) -endif() - -add_compile_options(-O3) -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) - -if(APPLE) - add_compile_options(-stdlib=libc++) - set(LDFLAGS ${LDFLAGS} -stdlib=libc++) -endif(APPLE) - file(GLOB OSMIUM_SOURCE_FILES *.cpp) add_executable(osmium ${OSMIUM_SOURCE_FILES}) -target_link_libraries(osmium ${CMAKE_THREAD_LIBS_INIT} ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} ${EXPAT_LIBRARIES} ${PROTOBUF_LITE_LIBRARIES} ${Boost_LIBRARIES} ${CRYPTOPP_LIBRARIES} ${OSMPBF_LIBRARY}) +target_link_libraries(osmium ${LIBRARIES}) install(TARGETS osmium DESTINATION bin) diff --git a/src/command_fileinfo.hpp b/src/command_fileinfo.hpp index 2062cd4..2bd376b 100644 --- a/src/command_fileinfo.hpp +++ b/src/command_fileinfo.hpp @@ -6,7 +6,7 @@ Osmium -- OpenStreetMap data manipulation command line tool http://osmcode.org/osmium -Copyright (C) 2013 Jochen Topf <joc...@topf.org> +Copyright (C) 2013, 2014 Jochen Topf <joc...@topf.org> 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 diff --git a/src/command_help.cpp b/src/command_help.cpp index c6c578f..61035dd 100644 --- a/src/command_help.cpp +++ b/src/command_help.cpp @@ -3,7 +3,7 @@ Osmium -- OpenStreetMap data manipulation command line tool http://osmcode.org/osmium -Copyright (C) 2013 Jochen Topf <joc...@topf.org> +Copyright (C) 2013, 2014 Jochen Topf <joc...@topf.org> 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 diff --git a/src/command_help.hpp b/src/command_help.hpp index 7cccd02..f5830e3 100644 --- a/src/command_help.hpp +++ b/src/command_help.hpp @@ -6,7 +6,7 @@ Osmium -- OpenStreetMap data manipulation command line tool http://osmcode.org/osmium -Copyright (C) 2013 Jochen Topf <joc...@topf.org> +Copyright (C) 2013, 2014 Jochen Topf <joc...@topf.org> 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 diff --git a/src/config.hpp.in b/src/config.hpp.in new file mode 100644 index 0000000..2651580 --- /dev/null +++ b/src/config.hpp.in @@ -0,0 +1,5 @@ + +#define OSMIUM_VERSION "@OSMIUM_VERSION@" + +#define USE_CRYPTOPP @USE_CRYPTOPP@ + diff --git a/src/main.cpp b/src/main.cpp index 11e1efa..f6a1580 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3,7 +3,7 @@ Osmium -- OpenStreetMap data manipulation command line tool http://osmcode.org/osmium -Copyright (C) 2013 Jochen Topf <joc...@topf.org> +Copyright (C) 2013, 2014 Jochen Topf <joc...@topf.org> 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 diff --git a/src/osmc.hpp b/src/osmc.hpp index 83378ac..a76cca9 100644 --- a/src/osmc.hpp +++ b/src/osmc.hpp @@ -6,7 +6,7 @@ Osmium -- OpenStreetMap data manipulation command line tool http://osmcode.org/osmium -Copyright (C) 2013 Jochen Topf <joc...@topf.org> +Copyright (C) 2013, 2014 Jochen Topf <joc...@topf.org> 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 @@ -31,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include <osmium/util/verbose_output.hpp> -#define OSMIUM_VERSION "0.0.1" +#include "config.hpp" /** * Virtual base class for commands that can be called from the command line. -- 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