include(../../cmake/AddPlatformExecutable.cmake) if (ENABLE_METAL) find_library(METAL Metal) set(EXTRA_LIBRARIES GFXMetal ${METAL} ${EXTRA_LIBRARIES}) set(EXTRA_SRC ${CMAKE_CURRENT_SOURCE_DIR}/sdl_metal.mm ${EXTRA_SRC}) endif () if (ENABLE_VULKAN) set(EXTRA_LIBRARIES GFXVulkan ${EXTRA_LIBRARIES}) set(EXTRA_SRC ${CMAKE_CURRENT_SOURCE_DIR}/sdl_vulkan.cpp ${EXTRA_SRC}) endif () if (ENABLE_DX12) set(EXTRA_LIBRARIES GFXDX12 ${EXTRA_LIBRARIES}) endif () if (TARGET SDL2::SDL2) set(EXTRA_LIBRARIES SDL2::SDL2 ${EXTRA_LIBRARIES}) endif () if (TARGET SDL2::Main) set(EXTRA_LIBRARIES SDL2::Main ${EXTRA_LIBRARIES}) endif () if (TARGET SDL2::SDL2main) set(EXTRA_LIBRARIES SDL2::SDL2main ${EXTRA_LIBRARIES}) endif () add_platform( SRC ${CMAKE_CURRENT_SOURCE_DIR}/file.cpp ${EXTRA_SRC} MAIN_FILE main.cpp.in EXECUTABLE_PROPERTIES MACOSX_BUNDLE ON MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in" LINK_LIBRARIES Core GFXDummy ${EXTRA_LIBRARIES} ) function(add_platform_commands target data_directory skip_data) if (NOT skip_data) if (ENABLE_MACOS) file(MAKE_DIRECTORY $/../Resources/game) add_custom_target(${target}_copy_assets COMMAND ${CMAKE_COMMAND} -E copy_directory ${data_directory} $/../Resources/game) file(MAKE_DIRECTORY $/../Resources/base) add_custom_target(${target}_copy_base COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/bin/base $/../Resources/base) add_dependencies(${target} ${target}_copy_assets ${target}_copy_base) else () file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin/game) add_custom_target(${target}_copy_assets COMMAND ${CMAKE_COMMAND} -E copy_directory ${data_directory} ${CMAKE_BINARY_DIR}/bin/game ) add_dependencies(${target} ${target}_copy_assets) endif () endif () endfunction()