33 lines
1.5 KiB
CMake
33 lines
1.5 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(garmin2osmand VERSION 0.95.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 garmin2osm --help)
|
|
|
|
find_package(Python3 COMPONENTS Interpreter QUIET)
|
|
if(Python3_Interpreter_FOUND)
|
|
add_test(NAME legacy_native_vector_parser COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tests/test_vector.py $<TARGET_FILE:garmin2osm>)
|
|
add_test(NAME v092_native_osm_translation COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tests/test_v092.py)
|
|
endif()
|
|
if(Python3_Interpreter_FOUND)
|
|
add_test(NAME v093_memory_and_mapping_regressions COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tests/test_v093.py)
|
|
endif()
|
|
|
|
if(Python3_Interpreter_FOUND)
|
|
add_test(NAME v095_cli_config_and_obf_orchestration COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tests/test_v095.py)
|
|
add_test(NAME native_registry_audit COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tests/test_registry_audit.py)
|
|
endif()
|