File tree Expand file tree Collapse file tree 6 files changed +72
-0
lines changed Expand file tree Collapse file tree 6 files changed +72
-0
lines changed Original file line number Diff line number Diff line change 1+ cmake_minimum_required (VERSION 3.29)
2+ project (Subprocess LANGUAGES C Swift)
3+ list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR} /cmake/modules" )
4+
5+ add_compile_options ("$<$<COMPILE_LANGUAGE:Swift>:SHELL:-package-name ${PROJECT_NAME} >" )
6+
7+ include (InstallExternalDependencies)
8+
9+ add_subdirectory (Sources )
Original file line number Diff line number Diff line change 1+ add_library (Subprocess)
2+
3+ add_subdirectory (_SubprocessCShims)
4+ add_subdirectory (Subprocess)
5+
6+ target_compile_options (Subprocess PRIVATE
7+ "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature StrictConcurrency>"
8+ "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature NonescapableTyeps>"
9+ "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature LifetimeDependence>"
10+ "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature Span>" )
11+
12+ target_link_libraries (Subprocess PRIVATE SystemPackage)
Original file line number Diff line number Diff line change 1+ target_sources (Subprocess PRIVATE
2+ Execution.swift
3+ Buffer.swift
4+ Error.swift
5+ Teardown.swift
6+ Result.swift
7+ IO/Output .swift
8+ IO/Input .swift
9+ Span+Subprocess.swift
10+ AsyncBufferSequence.swift
11+ API.swift
12+ SubprocessFoundation/Span+SubprocessFoundation.swift
13+ SubprocessFoundation/Output +Foundation.swift
14+ SubprocessFoundation/Input +Foundation.swift
15+ Configuration .swift)
16+
17+ if (WIN32 )
18+ target_sources (Subprocess PRIVATE Platforms/Subprocess+Windows.swift)
19+ elseif (LINUX OR ANDROID)
20+ target_sources (Subprocess PRIVATE
21+ Platforms/Subprocess+Linux.swift
22+ Platforms/Subprocess+Unix .swift)
23+ elseif (APPLE )
24+ target_sources (Subprocess PRIVATE
25+ Platforms/Subprocess+Darwin.swift
26+ Platforms/Subprocess+Unix .swift)
27+ endif ()
Original file line number Diff line number Diff line change 1+ target_sources (Subprocess PRIVATE process_shims.c)
2+
3+ target_include_directories (Subprocess PRIVATE
4+ "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /include>" )
Original file line number Diff line number Diff line change 1+ module _SubprocessCShims {
2+ header "process_shims.h"
3+ header "target_conditionals.h"
4+ }
Original file line number Diff line number Diff line change 1+ include_guard ()
2+
3+ # TODO: Use find_package to find a pre-built SwiftSystem
4+
5+ include (FetchContent)
6+
7+ FetchContent_Declare(SwiftSystem
8+ GIT_REPOSITORY https://github.com/apple /swift-system .git
9+ GIT_TAG a34201439c74b53f0fd71ef11741af7e7caf01e1 # 1.4.2
10+ GIT_SHALLOW YES )
11+ list (APPEND dependencies SwiftSystem)
12+
13+
14+ if (dependencies)
15+ FetchContent_MakeAvailable(${dependencies} )
16+ endif ()
You can’t perform that action at this time.
0 commit comments