refactor swift shim

This commit is contained in:
a dinosaur 2024-08-04 19:18:30 +10:00
parent a546bf5772
commit 09c39b59be
10 changed files with 16 additions and 16 deletions

2
.gitignore vendored
View File

@ -5,3 +5,5 @@
/.vscode
/.idea
.DS_Store
/build/
/cmake-build-*/

View File

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

View File

@ -1,9 +0,0 @@
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}")
find_library(SDL3_LIB SDL3 REQUIRED)
target_link_libraries(SDL3 PUBLIC ${SDL3_LIB})

View File

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

View File

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

View File

@ -0,0 +1,9 @@
find_library(SDL3 SDL3 REQUIRED)
add_library(SDLSwift INTERFACE)
set_property(TARGET SDLSwift PROPERTY Swift_MODULE_NAME "SDL3")
target_compile_options(SDLSwift INTERFACE "$<$<COMPILE_LANGUAGE:Swift>:-cxx-interoperability-mode=default>")
target_include_directories(SDLSwift INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}")
target_link_libraries(SDLSwift INTERFACE ${SDL3})

View File

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

View File

@ -1,5 +1,5 @@
add_executable(SwiftFrontend MACOSX_BUNDLE main.swift Application.swift)
target_link_libraries(SwiftFrontend PRIVATE CppBackend SDL3)
target_link_libraries(SwiftFrontend PRIVATE CppBackend SDLSwift)
set_target_properties(SwiftFrontend PROPERTIES
XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME NO
MACOSX_BUNDLE_BUNDLE_NAME "cxxswift"

View File

@ -1,4 +1,3 @@
import Foundation
import SDL3
exit(Application().run())