cmake_minimum_required(VERSION 3.16) project(garmin2osmand VERSION 0.6.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(PNG REQUIRED) find_package(SQLite3 REQUIRED) find_package(Threads REQUIRED) add_executable(garmin2osmand src/main.cpp) add_executable(garmin2osm src/vector.cpp) target_link_libraries(garmin2osm PRIVATE PNG::PNG SQLite::SQLite3 Threads::Threads) target_link_libraries(garmin2osmand PRIVATE PNG::PNG SQLite::SQLite3 Threads::Threads) if(MSVC) target_compile_options(garmin2osmand PRIVATE /W4 /EHsc) else() target_compile_options(garmin2osmand PRIVATE -Wall -Wextra -Wpedantic -O2) endif() enable_testing() add_test(NAME help COMMAND garmin2osmand --help) find_package(Python3 COMPONENTS Interpreter QUIET) if(Python3_Interpreter_FOUND) add_test(NAME classic_and_gmp_end_to_end COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tests/test_smoke.py $) add_test(NAME native_vector_export COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tests/test_vector.py $) add_test(NAME bgmountains_legend_audit COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tests/test_legend_audit.py) endif()