Sfoglia il codice sorgente

Use json5 toolchain files

default_compile_flags
vector-of-bool 5 anni fa
parent
commit
4157ce571e
8 ha cambiato i file con 58 aggiunte e 7 eliminazioni
  1. +3
    -3
      azure-pipelines.yml
  2. +3
    -1
      src/dds.main.cpp
  3. +6
    -0
      tests/deps/use-spdlog/gcc.tc.jsonc
  4. +4
    -0
      tests/deps/use-spdlog/msvc.tc.jsonc
  5. +1
    -1
      tests/deps/use-spdlog/use_spdlog_test.py
  6. +10
    -2
      tools/ci.py
  7. +17
    -0
      tools/gcc-9.jsonc
  8. +14
    -0
      tools/msvc.jsonc

+ 3
- 3
azure-pipelines.yml Vedi File

echo Executing Build and Tests echo Executing Build and Tests
reg add HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f || exit 1 reg add HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f || exit 1
python -m pip install pytest pytest-xdist || exit 1 python -m pip install pytest pytest-xdist || exit 1
python -u tools/ci.py -B download -T tools\msvc.dds || exit 1
python -u tools/ci.py -B download -T tools\msvc.dds -T2 tools\msvc.jsonc || exit 1
displayName: Full CI displayName: Full CI
- publish: _build/dds.exe - publish: _build/dds.exe
artifact: DDS Executable - Windows VS2019 artifact: DDS Executable - Windows VS2019
sudo apt install -y python3-minimal g++-9 ccache sudo apt install -y python3-minimal g++-9 ccache
python3 -m pip install pytest pytest-xdist python3 -m pip install pytest pytest-xdist
displayName: Prepare System displayName: Prepare System
- script: python3 -u tools/ci.py -B download -T tools/gcc-9.dds
- script: python3 -u tools/ci.py -B download -T tools/gcc-9.dds -T2 tools/gcc-9.jsonc
displayName: Full CI displayName: Full CI
- publish: _build/dds - publish: _build/dds
artifact: DDS Executable - Linux artifact: DDS Executable - Linux
- script: | - script: |
set -eu set -eu
python3 -m pip install pytest pytest-xdist python3 -m pip install pytest pytest-xdist
python3 -u tools/ci.py -B download -T tools/gcc-9.dds
python3 -u tools/ci.py -B download -T tools/gcc-9.dds -T2 tools/gcc-9.jsonc
displayName: Build and Run Unit Tests displayName: Build and Run Unit Tests
- publish: _build/dds - publish: _build/dds
artifact: DDS Executable - macOS artifact: DDS Executable - macOS

+ 3
- 1
src/dds.main.cpp Vedi File

#include <dds/repo/repo.hpp> #include <dds/repo/repo.hpp>
#include <dds/source/dist.hpp> #include <dds/source/dist.hpp>
#include <dds/toolchain/from_dds.hpp> #include <dds/toolchain/from_dds.hpp>
#include <dds/toolchain/from_json.hpp>
#include <dds/util/fs.hpp> #include <dds/util/fs.hpp>
#include <dds/util/paths.hpp> #include <dds/util/paths.hpp>
#include <dds/util/signal.hpp> #include <dds/util/signal.hpp>
} }
return std::move(*tc); return std::move(*tc);
} else { } else {
return dds::parse_toolchain_dds(dds::slurp_file(tc_path));
return dds::parse_toolchain_json5(dds::slurp_file(tc_path));
// return dds::parse_toolchain_dds(dds::slurp_file(tc_path));
} }
} }
}; };

+ 6
- 0
tests/deps/use-spdlog/gcc.tc.jsonc Vedi File

{
"compiler_id": 'gnu',
"cxx_version": 'c++17',
"cxx_compiler": 'g++-9',
"flags": '-DSPDLOG_COMPILED_LIB',
}

+ 4
- 0
tests/deps/use-spdlog/msvc.tc.jsonc Vedi File

{
"compiler_id": 'msvc',
"flags": '-DSPDLOG_COMPILED_LIB',
}

+ 1
- 1
tests/deps/use-spdlog/use_spdlog_test.py Vedi File



def test_get_build_use_spdlog(dds: DDS): def test_get_build_use_spdlog(dds: DDS):
dds.catalog_import(dds.source_root / 'catalog.json') dds.catalog_import(dds.source_root / 'catalog.json')
tc_fname = 'gcc.tc.dds' if 'gcc' in dds.default_builtin_toolchain else 'msvc.tc.dds'
tc_fname = 'gcc.tc.jsonc' if 'gcc' in dds.default_builtin_toolchain else 'msvc.tc.jsonc'
tc = str(dds.test_dir / tc_fname) tc = str(dds.test_dir / tc_fname)
dds.build(toolchain=tc, apps=True) dds.build(toolchain=tc, apps=True)
proc.check_run((dds.build_dir / 'use-spdlog').with_suffix(dds.exe_suffix)) proc.check_run((dds.build_dir / 'use-spdlog').with_suffix(dds.exe_suffix))

+ 10
- 2
tools/ci.py Vedi File



class CIOptions(NamedTuple): class CIOptions(NamedTuple):
toolchain: str toolchain: str
toolchain_json5: str




def _do_bootstrap_build(opts: CIOptions) -> None: def _do_bootstrap_build(opts: CIOptions) -> None:
'-T', '-T',
help='The toolchain to use for the CI process', help='The toolchain to use for the CI process',
required=True) required=True)
parser.add_argument(
'--toolchain-json5',
'-T2',
help='The toolchain JSON to use with the bootstrapped executable',
required=True,
)
args = parser.parse_args(argv) args = parser.parse_args(argv)


opts = CIOptions(toolchain=args.toolchain)
opts = CIOptions(
toolchain=args.toolchain, toolchain_json5=args.toolchain_json5)


if args.bootstrap_with == 'build': if args.bootstrap_with == 'build':
_do_bootstrap_build(opts) _do_bootstrap_build(opts)
]) ])
self_build( self_build(
paths.CUR_BUILT_DDS, paths.CUR_BUILT_DDS,
toolchain=opts.toolchain,
toolchain=opts.toolchain_json5,
dds_flags=[f'--repo-dir={ci_repo_dir}', f'--catalog={cat_path}']) dds_flags=[f'--repo-dir={ci_repo_dir}', f'--catalog={cat_path}'])
print('Bootstrap test PASSED!') print('Bootstrap test PASSED!')



+ 17
- 0
tools/gcc-9.jsonc Vedi File

{
"$schema": "../res/toolchain-schema.json",
"compiler_id": "gnu",
"c_compiler": "gcc-9",
"cxx_compiler": "g++-9",
"cxx_version": "c++17",
"flags": [
"-DSPDLOG_COMPILED_LIB", // Required to use a compiled spdlog
"-Werror=return-type"
],
"cxx_flags": [
"-fconcepts"
],
// "debug": true,
"optimize": true,
"compiler_launcher": "ccache"
}

+ 14
- 0
tools/msvc.jsonc Vedi File

{
"$schema": "../res/toolchain-schema.json",
"compiler_id": "msvc",
"flags": [
"/experimental:preprocessor", // Required for range-v3
"/DSPDLOG_COMPILED_LIB", // Required to use spdlog as a compiled lib
"/std:c++latest",
],
"link_flags": [
"rpcrt4.lib",
],
// "debug": true,
"optimize": true
}

Loading…
Annulla
Salva