mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
d04b554065
If stdout is a TTY (meaning that the output is not redirected), tell the build tool (GNU Make or Ninja) to enable colorized output. GNU Make and Ninja also check if their stdout is redirected and strip color escape sequences in that case. CLICOLOR_FORCE environment variable overrides this behavior. With this change, if the compiler was launched with the -fcolor-diagnostics flag and idf.py output is not redirected, the final output in the terminal will be colorized. (-fcolor-diagnostics is handled at CMake level by the previous commit)
37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
import collections
|
|
import multiprocessing
|
|
import os
|
|
import platform
|
|
from typing import Dict, Union
|
|
|
|
GENERATORS: Dict[str, Union[str, Dict, list]] = collections.OrderedDict([
|
|
# - command: build command line
|
|
# - version: version command line
|
|
# - dry_run: command to run in dry run mode
|
|
# - verbose_flag: verbose flag
|
|
# - force_progression: one liner status of the progress
|
|
('Ninja', {
|
|
'command': ['ninja'],
|
|
'version': ['ninja', '--version'],
|
|
'dry_run': ['ninja', '-n'],
|
|
'verbose_flag': '-v',
|
|
# as opposed to printing the status updates each in a in new line
|
|
'force_progression': True,
|
|
}),
|
|
])
|
|
|
|
if os.name != 'nt':
|
|
MAKE_CMD = 'gmake' if platform.system() == 'FreeBSD' else 'make'
|
|
GENERATORS['Unix Makefiles'] = {'command': [MAKE_CMD, '-j', str(multiprocessing.cpu_count() + 2)],
|
|
'version': [MAKE_CMD, '--version'],
|
|
'dry_run': [MAKE_CMD, '-n'],
|
|
'verbose_flag': 'VERBOSE=1',
|
|
'force_progression': False}
|
|
|
|
URL_TO_DOC = 'https://docs.espressif.com/projects/esp-idf'
|
|
|
|
SUPPORTED_TARGETS = ['esp32', 'esp32s2', 'esp32c3', 'esp32s3', 'esp32c2']
|
|
PREVIEW_TARGETS = ['linux', 'esp32h2', 'esp32c6']
|