buildCompilerNameFilters
Этот код я копипастил из QtC.
регэкспы в gccProbe
Согласен, по-хорошему там все надо переделывать, да в автотесты добавить, но уж не оч хочется копаться там.
ЗЫ: Я сейчас занят оч. (пытаюсь пришпандорить к QtC кейловский отладчик из uVision4, чтобы не только GDB && CDB были).
UPD: У меня вот такой результат на винде (через Power Shell):
QBS 1.14.1 (релиз, из установлнного QtC)
PS C:\Qt-meta\Tools\QtCreator\bin> Measure-Command {.\qbs-setup-toolchains.exe --detect}
Days : 0
Hours : 0
Minutes : 0
Seconds : 4
Milliseconds : 579
Ticks : 45792279
TotalDays : 5,30003229166667E-05
TotalHours : 0,00127200775
TotalMinutes : 0,076320465
TotalSeconds : 4,5792279
TotalMilliseconds : 4579,2279
QBS 1.16.0 (отладка, из мастер ветки)
PS E:\git\ng\git\123\qbs-git\build-qbs-Desktop_Qt_5_13_1_MSVC2017_32bit-Debug\bin> Measure-Command {.\qbs-setup-toolchains.exe --detect}
Days : 0
Hours : 0
Minutes : 0
Seconds : 4
Milliseconds : 963
Ticks : 49639633
TotalDays : 5,74532789351852E-05
TotalHours : 0,00137887869444444
TotalMinutes : 0,0827327216666667
TotalSeconds : 4,9639633
TotalMilliseconds : 4963,9633
Больше всего времени тратится на MSVC пробу (я закомментировал все пробы кроме нее):
PS E:\git\ng\git\123\qbs-git\build-qbs-Desktop_Qt_5_13_1_MSVC2017_32bit-Debug\bin> Measure-Command {.\qbs-setup-toolchains.exe --detect}
Days : 0
Hours : 0
Minutes : 0
Seconds : 4
Milliseconds : 323
Ticks : 43230334
TotalDays : 5,00351087962963E-05
TotalHours : 0,00120084261111111
TotalMinutes : 0,0720505566666667
TotalSeconds : 4,3230334
TotalMilliseconds : 4323,0334
Если оставить только Clang-CL, то:
PS E:\git\ng\git\123\qbs-git\build-qbs-Desktop_Qt_5_13_1_MSVC2017_32bit-Debug\bin> Measure-Command {.\qbs-setup-toolchains.exe --detect}
Could not detect any toolchains. No profile created.
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 31
Ticks : 310493
TotalDays : 3,59366898148148E-07
TotalHours : 8,62480555555556E-06
TotalMinutes : 0,000517488333333333
TotalSeconds : 0,0310493
TotalMilliseconds : 31,0493
Если только GCC:
PS E:\git\ng\git\123\qbs-git\build-qbs-Desktop_Qt_5_13_1_MSVC2017_32bit-Debug\bin> Measure-Command {.\qbs-setup-toolchains.exe --detect}
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 356
Ticks : 3562163
TotalDays : 4,12287384259259E-06
TotalHours : 9,89489722222222E-05
TotalMinutes : 0,00593693833333333
TotalSeconds : 0,3562163
TotalMilliseconds : 356,2163
Если только Clang:
PS E:\git\ng\git\123\qbs-git\build-qbs-Desktop_Qt_5_13_1_MSVC2017_32bit-Debug\bin> Measure-Command {.\qbs-setup-toolchains.exe --detect}
Could not detect any toolchains. No profile created.
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 303
Ticks : 3038970
TotalDays : 3,51732638888889E-06
TotalHours : 8,44158333333333E-05
TotalMinutes : 0,00506495
TotalSeconds : 0,303897
TotalMilliseconds : 303,897
Если только IAR EW:
PS E:\git\ng\git\123\qbs-git\build-qbs-Desktop_Qt_5_13_1_MSVC2017_32bit-Debug\bin> Measure-Command {.\qbs-setup-toolchains.exe --detect}
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 47
Ticks : 475093
TotalDays : 5,49876157407407E-07
TotalHours : 1,31970277777778E-05
TotalMinutes : 0,000791821666666667
TotalSeconds : 0,0475093
TotalMilliseconds : 47,5093
Если только KEIL:
PS E:\git\ng\git\123\qbs-git\build-qbs-Desktop_Qt_5_13_1_MSVC2017_32bit-Debug\bin> Measure-Command {.\qbs-setup-toolchains.exe --detect}
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 41
Ticks : 413757
TotalDays : 4,78885416666667E-07
TotalHours : 1,149325E-05
TotalMinutes : 0,000689595
TotalSeconds : 0,0413757
TotalMilliseconds : 41,3757
Если только SDCC:
PS E:\git\ng\git\123\qbs-git\build-qbs-Desktop_Qt_5_13_1_MSVC2017_32bit-Debug\bin> Measure-Command {.\qbs-setup-toolchains.exe --detect}
Could not detect any toolchains. No profile created.
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 114
Ticks : 1147311
TotalDays : 1,32790625E-06
TotalHours : 3,186975E-05
TotalMinutes : 0,001912185
TotalSeconds : 0,1147311
TotalMilliseconds : 114,7311
Возможно, что там еще разница по времени зависит от кол-ва обнаруженых тулчейнов:
PS E:\git\ng\git\123\qbs-git\build-qbs-Desktop_Qt_5_13_1_MSVC2017_32bit-Debug\bin> .\qbs-setup-toolchains.exe --detect
Detecting MSVC toolchains...
MSVC 2017 (x64) detected in
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64
MSVC 2017 (x64_x86) detected in
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x86
MSVC 2017 (x86_x64) detected in
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x64
MSVC 2017 (x86) detected in
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x86
Detecting build environment...
Setting up profile 'MSVC2017-x64'.
Setting up profile 'MSVC2017-x64_x86'.
Setting up profile 'MSVC2017-x86_x64'.
Setting up profile 'MSVC2017-x86'.
Trying to detect clang-cl...
clang-cl was not found.
Trying to detect gcc...
Profile 'rl78-elf-gcc-4_9_2_201902-GNURL78' created for 'C:/GCC/GCC for Renesas RL78 4.9.2.201902-GNURL78-ELF/rl78-elf/rl78-elf/bin/rl78-elf-gcc-4.9.2.201902-GNURL78.exe'.
Profile 'xc32-gcc' created for 'C:/microchip/xc32/v2.20/bin/xc32-gcc.exe'.
Trying to detect clang...
No clang toolchains found.
Trying to detect IAR toolchains...
Profile 'iar-10_10_1-mcs51' created for 'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.0/8051/bin/icc8051.exe'.
Trying to detect KEIL toolchains...
Profile 'keil-9_53_0-mcs51' created for 'C:/Keil_v5/C51/BIN/c51.exe'.
Trying to detect SDCC toolchains...
Profile 'sdcc-3_9_0-mcs51' created for 'C:/Program Files/SDCC/bin/sdcc.exe'.
Profile 'sdcc-3_9_0-stm8' created for 'C:/Program Files/SDCC/bin/sdcc.exe'.
PS E:\git\ng\git\123\qbs-git\build-qbs-Desktop_Qt_5_13_1_MSVC2017_32bit-Debug\bin>
Например, для SDCC, возможно надо время делить на два. Для GCC наверно тоже. Хотя не уверен, надо проверять - да лень.