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 (119 lines) | stat: -rw-r--r-- 5,617 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
set(libstdcxx_modulemap_target_list)
foreach(sdk ${SWIFT_SDKS})
  if(NOT sdk IN_LIST SWIFT_LIBSTDCXX_PLATFORMS)
    continue()
  endif()

  set(module_dir "${SWIFTLIB_DIR}/${SWIFT_SDK_${sdk}_LIB_SUBDIR}")
  set(module_dir_static "${SWIFTSTATICLIB_DIR}/${SWIFT_SDK_${sdk}_LIB_SUBDIR}")

  set(libstdcxx_header "libstdcxx.h")
  set(libstdcxx_header_out "${module_dir}/libstdcxx.h")
  set(libstdcxx_header_out_static "${module_dir_static}/libstdcxx.h")
  set(libstdcxx_modulemap "libstdcxx.modulemap")
  set(libstdcxx_modulemap_out "${module_dir}/libstdcxx.modulemap")
  set(libstdcxx_modulemap_out_static "${module_dir_static}/libstdcxx.modulemap")

  add_custom_command_target(
      copy_libstdcxx_modulemap
      COMMAND
      "${CMAKE_COMMAND}" "-E" "make_directory" ${module_dir}
      COMMAND
      "${CMAKE_COMMAND}" "-E" "copy_if_different" "${CMAKE_CURRENT_SOURCE_DIR}/${libstdcxx_modulemap}" "${libstdcxx_modulemap_out}"
      OUTPUT ${libstdcxx_modulemap_out}
      DEPENDS ${libstdcxx_modulemap}
      COMMENT "Copying libstdcxx modulemap to resources")
  list(APPEND libstdcxx_modulemap_target_list ${copy_libstdcxx_modulemap})
  add_dependencies(swift-stdlib-${SWIFT_SDK_${sdk}_LIB_SUBDIR} ${copy_libstdcxx_modulemap})

  add_custom_command_target(
      copy_libstdcxx_header
      COMMAND
      "${CMAKE_COMMAND}" "-E" "make_directory" ${module_dir}
      COMMAND
      "${CMAKE_COMMAND}" "-E" "copy_if_different" "${CMAKE_CURRENT_SOURCE_DIR}/${libstdcxx_header}" "${libstdcxx_header_out}"
      OUTPUT ${libstdcxx_header_out}
      DEPENDS ${libstdcxx_header}
      COMMENT "Copying libstdcxx header to resources")
  list(APPEND libstdcxx_modulemap_target_list ${copy_libstdcxx_header})
  add_dependencies(swift-stdlib-${SWIFT_SDK_${sdk}_LIB_SUBDIR} ${copy_libstdcxx_header})

  if(SWIFT_BUILD_STATIC_STDLIB OR SWIFT_SDK_${sdk}_STATIC_ONLY)
    add_custom_command_target(
        copy_libstdcxx_modulemap_static
        COMMAND
        "${CMAKE_COMMAND}" "-E" "make_directory" ${module_dir_static}
        COMMAND
        "${CMAKE_COMMAND}" "-E" "copy_if_different"
        "${libstdcxx_modulemap_out}" "${libstdcxx_modulemap_out_static}"
        OUTPUT ${libstdcxx_modulemap_out_static}
        DEPENDS ${copy_libstdcxx_modulemap}
        COMMENT "Copying libstdcxx modulemap to static resources")
    list(APPEND libstdcxx_modulemap_target_list ${copy_libstdcxx_modulemap_static})
    add_dependencies(swift-stdlib-${SWIFT_SDK_${sdk}_LIB_SUBDIR} ${copy_libstdcxx_modulemap_static})

    add_custom_command_target(
        copy_libstdcxx_header_static
        COMMAND
        "${CMAKE_COMMAND}" "-E" "make_directory" ${module_dir_static}
        COMMAND
        "${CMAKE_COMMAND}" "-E" "copy_if_different"
        "${libstdcxx_header_out}" "${libstdcxx_header_out_static}"
        OUTPUT ${libstdcxx_header_out_static}
        DEPENDS ${copy_libstdcxx_header}
        COMMENT "Copying libstdcxx header to static resources")
    list(APPEND libstdcxx_modulemap_target_list ${copy_libstdcxx_header_static})
    add_dependencies(swift-stdlib-${SWIFT_SDK_${sdk}_LIB_SUBDIR} ${copy_libstdcxx_header_static})
  endif()

  swift_install_in_component(FILES "${libstdcxx_modulemap_out}"
      DESTINATION "lib/swift/${SWIFT_SDK_${sdk}_LIB_SUBDIR}"
      COMPONENT sdk-overlay)
  swift_install_in_component(FILES "${libstdcxx_header_out}"
      DESTINATION "lib/swift/${SWIFT_SDK_${sdk}_LIB_SUBDIR}"
      COMPONENT sdk-overlay)

  if(SWIFT_BUILD_STATIC_STDLIB OR SWIFT_SDK_${sdk}_STATIC_ONLY)
    swift_install_in_component(FILES "${libstdcxx_modulemap_out_static}"
        DESTINATION "lib/swift_static/${SWIFT_SDK_${sdk}_LIB_SUBDIR}"
        COMPONENT sdk-overlay)
    swift_install_in_component(FILES "${libstdcxx_header_out_static}"
        DESTINATION "lib/swift_static/${SWIFT_SDK_${sdk}_LIB_SUBDIR}"
        COMPONENT sdk-overlay)
  endif()

  if(BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*")
    foreach(bootstrapping "0" "1")
      get_bootstrapping_path(bootstrapping_dir ${module_dir} ${bootstrapping})
      set(libstdcxx_modulemap_out_bootstrapping "${bootstrapping_dir}/libstdcxx.modulemap")
      set(libstdcxx_header_out_bootstrapping "${bootstrapping_dir}/libstdcxx.h")

      add_custom_command_target(unused_var
          COMMAND
          "${CMAKE_COMMAND}" "-E" "make_directory" "${bootstrapping_dir}"
          COMMAND
          "${CMAKE_COMMAND}" "-E" "copy_if_different"
          "${CMAKE_CURRENT_SOURCE_DIR}/${libstdcxx_modulemap}" "${libstdcxx_modulemap_out_bootstrapping}"

          CUSTOM_TARGET_NAME "copy-libstdcxx-modulemap-bootstrapping${bootstrapping}"
          OUTPUT "${libstdcxx_modulemap_out_bootstrapping}"
          DEPENDS ${libstdcxx_modulemap}
          COMMENT "Copying libstdcxx modulemap to resources for bootstrapping${bootstrapping}")

      add_custom_command_target(unused_var
          COMMAND
          "${CMAKE_COMMAND}" "-E" "make_directory" "${bootstrapping_dir}"
          COMMAND
          "${CMAKE_COMMAND}" "-E" "copy_if_different"
          "${CMAKE_CURRENT_SOURCE_DIR}/${libstdcxx_header}" "${libstdcxx_header_out_bootstrapping}"

          CUSTOM_TARGET_NAME "copy-libstdcxx-header-bootstrapping${bootstrapping}"
          OUTPUT "${libstdcxx_header_out_bootstrapping}"
          DEPENDS ${libstdcxx_header}
          COMMENT "Copying libstdcxx header to resources for bootstrapping${bootstrapping}")
    endforeach()
  endif()
endforeach()
add_custom_target(libstdcxx-modulemap DEPENDS ${libstdcxx_modulemap_target_list})
set_property(TARGET libstdcxx-modulemap PROPERTY FOLDER "Miscellaneous")
add_dependencies(sdk-overlay libstdcxx-modulemap)