1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
cmake_minimum_required(VERSION 3.28)
project(swift-inspect
LANGUAGES CXX Swift)
# Set C++ standard
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
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)
find_package(ArgumentParser CONFIG REQUIRED)
add_library(SymbolicationShims INTERFACE)
target_include_directories(SymbolicationShims INTERFACE
Sources/SymbolicationShims)
if(WIN32)
add_library(SwiftInspectClientInterface INTERFACE)
target_include_directories(SwiftInspectClientInterface INTERFACE
Sources/SwiftInspectClientInterface)
add_library(SwiftInspectClient SHARED
Sources/SwiftInspectClient/SwiftInspectClient.cpp)
target_link_libraries(SwiftInspectClient PRIVATE
SwiftInspectClientInterface)
endif()
add_executable(swift-inspect
Sources/swift-inspect/Operations/DumpArray.swift
Sources/swift-inspect/Operations/DumpCacheNodes.swift
Sources/swift-inspect/Operations/DumpConcurrency.swift
Sources/swift-inspect/Operations/DumpConformanceCache.swift
Sources/swift-inspect/Operations/DumpGenericMetadata.swift
Sources/swift-inspect/Operations/DumpRawMetadata.swift
Sources/swift-inspect/Backtrace.swift
Sources/swift-inspect/DarwinRemoteProcess.swift
Sources/swift-inspect/main.swift
Sources/swift-inspect/Process.swift
Sources/swift-inspect/RemoteMirror+Extensions.swift
Sources/swift-inspect/RemoteProcess.swift
Sources/swift-inspect/String+Extensions.swift
Sources/swift-inspect/Symbolication+Extensions.swift
Sources/swift-inspect/WindowsRemoteProcess.swift
Sources/swift-inspect/WinSDK+Extentions.swift)
target_compile_options(swift-inspect PRIVATE
-parse-as-library)
target_link_libraries(swift-inspect PRIVATE
ArgumentParser
swiftRemoteMirror)
if(WIN32)
target_link_libraries(swift-inspect PRIVATE
SwiftInspectClientInterface)
endif()
install(TARGETS swift-inspect
DESTINATION bin)
if(WIN32)
install(TARGETS SwiftInspectClient
RUNTIME DESTINATION bin)
endif()
|