macro(set_engine_properties target)
target_compile_features(${target} PUBLIC cxx_std_17)
set_target_properties(${target} PROPERTIES CXX_EXTENSIONS OFF)
if(ENABLE_MACOS)
target_compile_definitions(${target} PUBLIC PLATFORM_MACOS)
endif()
if(ENABLE_WINDOWS)
target_compile_definitions(${target} PUBLIC PLATFORM_WINDOWS)
if(ENABLE_LINUX)
target_compile_definitions(${target} PUBLIC PLATFORM_LINUX)
if(ENABLE_IOS)
target_compile_definitions(${target} PUBLIC PLATFORM_IOS)
if(ENABLE_TVOS)
target_compile_definitions(${target} PUBLIC PLATFORM_TVOS)
if(ENABLE_VULKAN)
target_compile_definitions(${target} PUBLIC ENABLE_VULKAN)
if(ENABLE_METAL)
target_compile_definitions(${target} PUBLIC ENABLE_METAL)
if(ENABLE_WEBGPU)
target_compile_definitions(${target} PUBLIC ENABLE_WEBGPU)
if(ENABLE_DX12)
target_compile_definitions(${target} PUBLIC ENABLE_DX12)
endmacro()