SDL3 support

This commit is contained in:
2024-08-03 23:28:29 -07:00
parent ca3957398d
commit 50f4f02f85
8 changed files with 26 additions and 4 deletions

View File

@ -5,4 +5,6 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
include(InitializeSwift)
include(AddSwift)
find_package(SDL3 CONFIG REQUIRED)
add_subdirectory(Sources)

View File

@ -1,2 +1,3 @@
add_subdirectory(SwiftFrontend)
add_subdirectory(SDL3)
add_subdirectory(CppBackend)

View File

@ -0,0 +1,7 @@
add_library(SDL3 STATIC SDL3.h SDL3.cpp)
set_property(TARGET SDL3 PROPERTY Swift_MODULE_NAME "SDL3")
set_property(TARGET SDL3 PROPERTY CXX_STANDARD 20)
target_compile_options(SDL3 PUBLIC "$<$<COMPILE_LANGUAGE:Swift>:-cxx-interoperability-mode=default>")
target_include_directories(SDL3 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
target_link_libraries(SDL3 PUBLIC SDL3::SDL3)

1
Sources/SDL3/SDL3.cpp Normal file
View File

@ -0,0 +1 @@
#include "SDL3.h"

3
Sources/SDL3/SDL3.h Normal file
View File

@ -0,0 +1,3 @@
#pragma once
#include <SDL3/SDL.h>

View File

@ -0,0 +1,3 @@
module SDL3 {
header "SDL3.h"
}

View File

@ -1,2 +1,2 @@
add_executable(SwiftFrontend main.swift)
target_link_libraries(SwiftFrontend PRIVATE CppBackend)
target_link_libraries(SwiftFrontend PRIVATE CppBackend SDL3)

View File

@ -1,4 +1,9 @@
import CppBackend
import Foundation
import SDL3
backend_init()
print("Hello World")
guard SDL_Init(SDL_INIT_VIDEO) >= 0 else {
print("SDL init failed.")
exit(0)
}
print("SDL init success.")
SDL_Quit()