File: CMakeLists.txt

package info (click to toggle)
swiftlang 6.1.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,791,532 kB
  • sloc: cpp: 9,901,743; ansic: 2,201,431; asm: 1,091,827; python: 308,252; objc: 82,166; f90: 80,126; lisp: 38,358; pascal: 25,559; sh: 20,429; ml: 5,058; perl: 4,745; makefile: 4,484; awk: 3,535; javascript: 3,018; xml: 918; fortran: 664; cs: 573; ruby: 396
file content (137 lines) | stat: -rw-r--r-- 4,586 bytes parent folder | download | duplicates (4)
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
if (COMPILER_RT_BUILD_SANITIZERS)
  set(SANITIZER_HEADERS
    sanitizer/allocator_interface.h
    sanitizer/asan_interface.h
    sanitizer/common_interface_defs.h
    sanitizer/coverage_interface.h
    sanitizer/dfsan_interface.h
    sanitizer/hwasan_interface.h
    sanitizer/linux_syscall_hooks.h
    sanitizer/lsan_interface.h
    sanitizer/msan_interface.h
    sanitizer/netbsd_syscall_hooks.h
    sanitizer/scudo_interface.h
    sanitizer/tsan_interface.h
    sanitizer/tsan_interface_atomic.h
    sanitizer/ubsan_interface.h
    )
  set(FUZZER_HEADERS
    fuzzer/FuzzedDataProvider.h
    )
endif(COMPILER_RT_BUILD_SANITIZERS)

if (COMPILER_RT_BUILD_MEMPROF)
  set(MEMPROF_HEADERS
    sanitizer/memprof_interface.h
    profile/MemProfData.inc
    )
  if (NOT COMPILER_RT_BUILD_SANITIZERS)
    set(MEMPROF_HEADERS
      ${MEMPROF_HEADERS}
      sanitizer/allocator_interface.h
      sanitizer/common_interface_defs.h
      )
  endif()
endif(COMPILER_RT_BUILD_MEMPROF)

if (COMPILER_RT_BUILD_XRAY)
  set(XRAY_HEADERS
    xray/xray_interface.h
    xray/xray_log_interface.h
    xray/xray_records.h
    )
endif(COMPILER_RT_BUILD_XRAY)

if (COMPILER_RT_BUILD_ORC)
  set(ORC_HEADERS
    orc_rt/c_api.h
    )
endif(COMPILER_RT_BUILD_ORC)

if (COMPILER_RT_BUILD_PROFILE)
  set(PROFILE_HEADERS
    profile/InstrProfData.inc
    profile/instr_prof_interface.h
    )
endif(COMPILER_RT_BUILD_PROFILE)

set(COMPILER_RT_HEADERS
  ${SANITIZER_HEADERS}
  ${FUZZER_HEADERS}
  ${MEMPROF_HEADERS}
  ${XRAY_HEADERS}
  ${ORC_HEADERS}
  ${PROFILE_HEADERS})

set(output_dir ${COMPILER_RT_OUTPUT_DIR}/include)

# Copy compiler-rt headers to the build tree.
set(out_files)
foreach( f ${COMPILER_RT_HEADERS} )
  set( src ${CMAKE_CURRENT_SOURCE_DIR}/${f} )
  set( dst ${output_dir}/${f} )
  add_custom_command(OUTPUT ${dst}
    DEPENDS ${src}
    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
    COMMENT "Copying compiler-rt's ${f}...")
  list(APPEND out_files ${dst})
endforeach( f )

add_custom_target(compiler-rt-headers ALL DEPENDS ${out_files})
add_dependencies(compiler-rt compiler-rt-headers)
set_target_properties(compiler-rt-headers PROPERTIES FOLDER "Compiler-RT/Resources")

# Install sanitizer headers.
install(FILES ${SANITIZER_HEADERS}
  COMPONENT compiler-rt-headers
  PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
  DESTINATION ${COMPILER_RT_INSTALL_INCLUDE_DIR}/sanitizer)
# Install fuzzer headers.
install(FILES ${FUZZER_HEADERS}
  COMPONENT compiler-rt-headers
  PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
  DESTINATION ${COMPILER_RT_INSTALL_INCLUDE_DIR}/fuzzer)
# Install memprof headers.
if (COMPILER_RT_BUILD_MEMPROF)
  install(FILES sanitizer/memprof_interface.h
    COMPONENT compiler-rt-headers
    PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
    DESTINATION ${COMPILER_RT_INSTALL_INCLUDE_DIR}/sanitizer)
  if (NOT COMPILER_RT_BUILD_SANITIZERS)
    install(FILES sanitizer/allocator_interface.h sanitizer/common_interface_defs.h
      COMPONENT compiler-rt-headers
      PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
      DESTINATION ${COMPILER_RT_INSTALL_INCLUDE_DIR}/sanitizer)
  endif()
endif(COMPILER_RT_BUILD_MEMPROF)
# Install xray headers.
install(FILES ${XRAY_HEADERS}
  COMPONENT compiler-rt-headers
  PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
  DESTINATION ${COMPILER_RT_INSTALL_INCLUDE_DIR}/xray)
# Install ORC headers.
install(FILES ${ORC_HEADERS}
  COMPONENT compiler-rt-headers
  PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
  DESTINATION ${COMPILER_RT_INSTALL_INCLUDE_DIR}/orc)
# Install profile headers.
install(FILES ${PROFILE_HEADERS}
  COMPONENT compiler-rt-headers
  PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
  DESTINATION ${COMPILER_RT_INSTALL_INCLUDE_DIR}/profile)

if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDEs.
  add_custom_target(install-compiler-rt-headers
                    DEPENDS compiler-rt-headers
                    COMMAND "${CMAKE_COMMAND}"
                            -DCMAKE_INSTALL_COMPONENT="compiler-rt-headers"
                            -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
                    USES_TERMINAL)
  add_custom_target(install-compiler-rt-headers-stripped
                    DEPENDS compiler-rt-headers
                    COMMAND "${CMAKE_COMMAND}"
                            -DCMAKE_INSTALL_COMPONENT="compiler-rt-headers"
                            -DCMAKE_INSTALL_DO_STRIP=1
                            -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
                    USES_TERMINAL)
endif()