- 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.
37 lines
1.1 KiB
CMake
37 lines
1.1 KiB
CMake
add_executable(
|
|
mbgl-expression-test
|
|
${MBGL_ROOT}/expression-test/expression_test_logger.cpp
|
|
${MBGL_ROOT}/expression-test/expression_test_logger.hpp
|
|
${MBGL_ROOT}/expression-test/expression_test_parser.cpp
|
|
${MBGL_ROOT}/expression-test/expression_test_parser.hpp
|
|
${MBGL_ROOT}/expression-test/expression_test_runner.cpp
|
|
${MBGL_ROOT}/expression-test/expression_test_runner.hpp
|
|
${MBGL_ROOT}/expression-test/main.cpp
|
|
)
|
|
|
|
target_compile_definitions(
|
|
mbgl-expression-test
|
|
PRIVATE TEST_RUNNER_ROOT_PATH="${MBGL_ROOT}"
|
|
)
|
|
|
|
# FIXME: Should not use core private interface
|
|
target_include_directories(
|
|
mbgl-expression-test
|
|
PRIVATE ${MBGL_ROOT}/src
|
|
)
|
|
|
|
target_link_libraries(
|
|
mbgl-expression-test
|
|
PRIVATE
|
|
Mapbox::Base::Extras::args
|
|
Mapbox::Base::Extras::filesystem
|
|
Mapbox::Base::io
|
|
mbgl-core
|
|
)
|
|
|
|
set_property(TARGET mbgl-expression-test PROPERTY FOLDER Executables)
|
|
|
|
string(RANDOM LENGTH 5 ALPHABET 0123456789 MBGL_EXPRESSION_TEST_SEED)
|
|
|
|
add_test(NAME mbgl-expression-test COMMAND mbgl-expression-test -s --seed=${MBGL_EXPRESSION_TEST_SEED} WORKING_DIRECTORY ${MBGL_ROOT})
|