File: CMakeLists.txt

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (69 lines) | stat: -rw-r--r-- 2,271 bytes parent folder | download
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
65
66
67
68
69
# Only set LLVM_CODESIGNING_IDENTITY for building on Apple hosts for Apple
# targets
if (CMAKE_HOST_APPLE AND APPLE)
  # Override locally, so the repl is ad-hoc signed.
  set(LLVM_CODESIGNING_IDENTITY "-")
endif()

# Requires system-provided Swift libs.
if(NOT APPLE_EMBEDDED)
  set(CMAKE_OSX_DEPLOYMENT_TARGET 10.14.4)
endif()

add_lldb_tool(repl_swift ADD_TO_FRAMEWORK
  main.c

  ENTITLEMENTS
  "${CMAKE_CURRENT_SOURCE_DIR}/get-task-allow-entitlements.plist"
  )
target_link_libraries(repl_swift PRIVATE ${CMAKE_DL_LIBS})
if(CMAKE_SYSTEM_NAME STREQUAL Windows)
  set_target_properties(repl_swift PROPERTIES
    WIN32_EXECUTABLE TRUE)
elseif(CMAKE_SYSTEM_NAME STREQUAL Linux)
  if(CMAKE_SYSTEM_PROCESSOR MATCHES ppc64le)
    set_target_properties(repl_swift PROPERTIES
      BUILD_RPATH ${SWIFT_LIBRARY_DIR}/swift/linux/powerpc64le)
  else()
    set_target_properties(repl_swift PROPERTIES
      BUILD_RPATH ${SWIFT_LIBRARY_DIR}/swift/linux)
  endif()
  set_target_properties(repl_swift PROPERTIES
    BUILD_WITH_INSTALL_RPATH NO
    INSTALL_RPATH "$ORIGIN/../lib/swift/linux")
endif()

# The dummy repl executable is a C program, but we always look for a mangled
# swift symbol (corresponding to main). If we build the repl with debug info,
# the debugger looks at the frame language (looking up the compile unit) and gets
# confused.
if(MSVC)
  # disable inline function expansion so that we have a function that we can
  # break upon
  target_compile_options(repl_swift PRIVATE /Ob0)
else()
  set_target_properties(repl_swift PROPERTIES
      COMPILE_FLAGS "-g0")
endif()

if(APPLE)
  # Set the RPATHs to locate libswiftCore. Prefer the just-built one.
  set(swift_buildtree ${SWIFT_BINARY_DIR}/lib/swift/macosx)
  set(system_libs /usr/lib/swift)

  if(LLDB_BUILD_FRAMEWORK)
    get_target_property(framework_build_dir liblldb LIBRARY_OUTPUT_DIRECTORY)
    set(lldb_buildtree ${framework_build_dir}/LLDB.framework/Versions/${LLDB_FRAMEWORK_VERSION}/Resources/Swift/macosx)
    set(lldb_installtree Swift/macosx) # repl_swift is installed to framework Resources
  endif()

  lldb_setup_rpaths(repl_swift
    BUILD_RPATH
      ${swift_buildtree}
      ${lldb_buildtree}
      ${system_libs}
    INSTALL_RPATH
      ${lldb_installtree}
      ${system_libs}
  )
endif()