- Try as much as possible not to use explicit compiler flags, relying on CMake to do the job in a portable away. - Build mbgl-core as a single static library and leverage lto as much as possible. - Support a MinSizRel build for other platforms. - Make GLFW and Node a client of mbgl-core public interface. - Same for the offline tool and static render tool. - Use only target settings (do not pollute the global scope) - Confine core code in a single file. - Confine platform code inside a single include (exception being Qt that needs AUTOMOC before adding the targets) - Align the Android build with the Android toolchain file.
51 lines
1.2 KiB
CMake
51 lines
1.2 KiB
CMake
add_executable(
|
|
mbgl-render-test
|
|
${MBGL_ROOT}/render-test/allocation_index.cpp
|
|
${MBGL_ROOT}/render-test/allocation_index.hpp
|
|
${MBGL_ROOT}/render-test/filesystem.hpp
|
|
${MBGL_ROOT}/render-test/main.cpp
|
|
${MBGL_ROOT}/render-test/metadata.hpp
|
|
${MBGL_ROOT}/render-test/parser.cpp
|
|
${MBGL_ROOT}/render-test/parser.hpp
|
|
${MBGL_ROOT}/render-test/runner.cpp
|
|
${MBGL_ROOT}/render-test/runner.hpp
|
|
)
|
|
|
|
target_compile_definitions(
|
|
mbgl-render-test
|
|
PRIVATE TEST_RUNNER_ROOT_PATH="${MBGL_ROOT}"
|
|
)
|
|
|
|
# FIXME: Should not use core private interface
|
|
target_include_directories(
|
|
mbgl-render-test
|
|
PRIVATE ${MBGL_ROOT}/src
|
|
)
|
|
|
|
include(${PROJECT_SOURCE_DIR}/vendor/boost.cmake)
|
|
|
|
target_link_libraries(
|
|
mbgl-render-test
|
|
PRIVATE
|
|
Mapbox::Base::Extras::args
|
|
Mapbox::Base::Extras::filesystem
|
|
Mapbox::Base::pixelmatch-cpp
|
|
mbgl-core
|
|
mbgl-vendor-boost
|
|
)
|
|
|
|
set_property(TARGET mbgl-render-test PROPERTY FOLDER Executables)
|
|
|
|
string(RANDOM LENGTH 5 ALPHABET 0123456789 MBGL_RENDER_TEST_SEED)
|
|
|
|
add_test(
|
|
NAME mbgl-render-test
|
|
COMMAND
|
|
mbgl-render-test
|
|
--recycle-map
|
|
--shuffle
|
|
--seed
|
|
${MBGL_RENDER_TEST_SEED}
|
|
WORKING_DIRECTORY ${MBGL_ROOT}
|
|
)
|