This commit is contained in:
parent
9f50e272f3
commit
18f51ffb93
14
CMakeLists.txt
Normal file
14
CMakeLists.txt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.29)
|
||||||
|
project(Meta LANGUAGES Swift)
|
||||||
|
|
||||||
|
if(POLICY CMP0157)
|
||||||
|
cmake_policy(SET CMP0157 NEW)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_Swift_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/swift)
|
||||||
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||||
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||||
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||||
|
|
||||||
|
add_subdirectory(Sources)
|
||||||
|
add_subdirectory(Tests)
|
||||||
@ -24,17 +24,26 @@ let package = Package(
|
|||||||
targets: [
|
targets: [
|
||||||
.target(
|
.target(
|
||||||
name: "Meta",
|
name: "Meta",
|
||||||
path: "Sources"
|
path: "Sources",
|
||||||
|
exclude: [
|
||||||
|
"CMakeLists.txt"
|
||||||
|
]
|
||||||
),
|
),
|
||||||
.target(
|
.target(
|
||||||
name: "SampleBackends",
|
name: "SampleBackends",
|
||||||
dependencies: ["Meta"],
|
dependencies: ["Meta"],
|
||||||
path: "Tests/SampleBackends"
|
path: "Tests/SampleBackends",
|
||||||
|
exclude: [
|
||||||
|
"CMakeLists.txt"
|
||||||
|
]
|
||||||
),
|
),
|
||||||
.executableTarget(
|
.executableTarget(
|
||||||
name: "DemoApp",
|
name: "DemoApp",
|
||||||
dependencies: ["SampleBackends"],
|
dependencies: ["SampleBackends"],
|
||||||
path: "Tests/DemoApp"
|
path: "Tests/DemoApp",
|
||||||
|
exclude: [
|
||||||
|
"CMakeLists.txt"
|
||||||
|
]
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
swiftLanguageModes: [.v5]
|
swiftLanguageModes: [.v5]
|
||||||
|
|||||||
26
Sources/CMakeLists.txt
Normal file
26
Sources/CMakeLists.txt
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
file(GLOB META_SOURCES
|
||||||
|
"Model/Data Flow/*.swift"
|
||||||
|
|
||||||
|
"Model/Extensions/*.swift"
|
||||||
|
|
||||||
|
"Model/User Interface/App/*.swift"
|
||||||
|
"Model/User Interface/Scene/*.swift"
|
||||||
|
"Model/User Interface/View/Properties/*.swift"
|
||||||
|
"Model/User Interface/View/*.swift"
|
||||||
|
|
||||||
|
"View/*.swift"
|
||||||
|
)
|
||||||
|
|
||||||
|
add_library(Meta ${META_SOURCES})
|
||||||
|
|
||||||
|
target_compile_options(Meta PUBLIC -enable-testing)
|
||||||
|
|
||||||
|
set_target_properties(Meta PROPERTIES
|
||||||
|
Swift_LANGUAGE_VERSION 5
|
||||||
|
)
|
||||||
|
|
||||||
|
install(TARGETS Meta
|
||||||
|
LIBRARY DESTINATION lib
|
||||||
|
ARCHIVE DESTINATION lib
|
||||||
|
RUNTIME DESTINATION bin
|
||||||
|
)
|
||||||
2
Tests/CMakeLists.txt
Normal file
2
Tests/CMakeLists.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
add_subdirectory(SampleBackends)
|
||||||
|
add_subdirectory(DemoApp)
|
||||||
13
Tests/DemoApp/CMakeLists.txt
Normal file
13
Tests/DemoApp/CMakeLists.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
add_executable(DemoApp
|
||||||
|
DemoApp.swift
|
||||||
|
)
|
||||||
|
|
||||||
|
target_compile_options(DemoApp PUBLIC
|
||||||
|
-parse-as-library
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(DemoApp PRIVATE SampleBackends)
|
||||||
|
|
||||||
|
set_target_properties(DemoApp PROPERTIES
|
||||||
|
Swift_LANGUAGE_VERSION 5
|
||||||
|
)
|
||||||
12
Tests/SampleBackends/CMakeLists.txt
Normal file
12
Tests/SampleBackends/CMakeLists.txt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
add_library(SampleBackends
|
||||||
|
Backend1.swift
|
||||||
|
Backend2.swift
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(SampleBackends
|
||||||
|
PRIVATE Meta
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties(SampleBackends PROPERTIES
|
||||||
|
Swift_LANGUAGE_VERSION 5
|
||||||
|
)
|
||||||
Loading…
x
Reference in New Issue
Block a user