Files
MapLibreParticleLab/cmake/metal.cmake

104 lines
5.8 KiB
CMake

if(NOT MLN_WITH_METAL)
return()
endif()
message(STATUS "Configuring Metal renderer backend")
target_compile_definitions(
mbgl-core
PUBLIC
MLN_RENDER_BACKEND_METAL=1
"MLN_USE_UNORDERED_DENSE=$<BOOL:${MLN_USE_UNORDERED_DENSE}>"
)
list(APPEND
INCLUDE_FILES
${PROJECT_SOURCE_DIR}/include/mln/mtl/buffer_resource.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/command_encoder.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/context.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/drawable.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/drawable_builder.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/dynamic_texture.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/index_buffer_resource.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/layer_group.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/mtl_fwd.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/offscreen_texture.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/render_pass.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/renderer_backend.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/renderable_resource.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/texture2d.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/tile_layer_group.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/uniform_buffer.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/upload_pass.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/vertex_attribute.hpp
${PROJECT_SOURCE_DIR}/include/mln/mtl/vertex_buffer_resource.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/background.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/circle.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/clipping_mask.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/common.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/collision.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/custom_geometry.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/custom_symbol_icon.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/debug.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/fill.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/fill_extrusion.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/heatmap.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/heatmap_texture.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/hillshade.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/hillshade_prepare.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/color_relief.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/line.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/location_indicator.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/particle_gpu_validation.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/retained_underlay_composite.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/raster.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/shader_group.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/shader_program.hpp
${PROJECT_SOURCE_DIR}/include/mln/shaders/mtl/symbol.hpp
)
list(APPEND
SRC_FILES
${PROJECT_SOURCE_DIR}/src/mln/mtl/buffer_resource.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/command_encoder.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/context.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/drawable.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/drawable_impl.hpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/drawable_builder.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/dynamic_texture.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/index_buffer_resource.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/layer_group.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/mtl.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/offscreen_texture.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/renderer_backend.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/texture2d.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/render_pass.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/tile_layer_group.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/uniform_buffer.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/upload_pass.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/vertex_attribute.cpp
${PROJECT_SOURCE_DIR}/src/mln/mtl/vertex_buffer_resource.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/shader_program.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/background.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/circle.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/collision.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/clipping_mask.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/custom_geometry.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/custom_symbol_icon.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/debug.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/fill.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/fill_extrusion.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/heatmap.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/heatmap_texture.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/hillshade.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/hillshade_prepare.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/color_relief.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/line.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/location_indicator.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/particle_gpu_validation.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/retained_underlay_composite.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/raster.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/symbol.cpp
${PROJECT_SOURCE_DIR}/src/mln/shaders/mtl/widevector.cpp
${PROJECT_SOURCE_DIR}/src/mln/style/layers/mtl/custom_layer_render_parameters.cpp
)
target_link_libraries(mbgl-core PRIVATE "-framework Metal")