Browse Source

ddslim -> dds

default_compile_flags
vector-of-bool 5 years ago
parent
commit
fc06ecff9c
8 changed files with 24 additions and 24 deletions
  1. +9
    -9
      azure-pipelines.yml
  2. +1
    -1
      library.dds
  3. +1
    -1
      package.dds
  4. +1
    -1
      src/dds/dds.main.cpp
  5. +2
    -2
      src/dds/proc.nix.cpp
  6. +3
    -3
      src/dds/util/paths.hpp
  7. +4
    -4
      tools/build.py
  8. +3
    -3
      tools/test.py

+ 9
- 9
azure-pipelines.yml View File

echo Executing build/test script echo Executing build/test script
python -u tools/build.py --cxx cl.exe --test --static || exit 1 python -u tools/build.py --cxx cl.exe --test --static || exit 1
displayName: Build and Run Unit Tests displayName: Build and Run Unit Tests
- publish: _build/ddslim.exe
artifact: DDSLiM Executable - Windows VS2019
- publish: _build/dds.exe
artifact: DDS Executable - Windows VS2019
- script: | - script: |
echo Loading VS environment echo Loading VS environment
call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\Common7\\Tools\\vsdevcmd" -arch=x64 || exit 1 call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\Common7\\Tools\\vsdevcmd" -arch=x64 || exit 1
python -u tools/test.py --exe _build/ddslim.exe -T tools/msvc.dds || exit 1
python -u tools/test.py --exe _build/dds.exe -T tools/msvc.dds || exit 1
displayName: Smoke Tests displayName: Smoke Tests


- job: Linux_GCC8 - job: Linux_GCC8
displayName: Prepare System displayName: Prepare System
- script: python3 -u tools/build.py --cxx g++-8 --test --static - script: python3 -u tools/build.py --cxx g++-8 --test --static
displayName: Build and Run Unit Tests displayName: Build and Run Unit Tests
- publish: _build/ddslim
artifact: DDSLiM Executable - Linux
- script: python3 -u tools/test.py --exe _build/ddslim -T:gcc-8
- publish: _build/dds
artifact: DDS Executable - Linux
- script: python3 -u tools/test.py --exe _build/dds -T:gcc-8
displayName: Smoke Tests displayName: Smoke Tests


- job: macOS_GCC8 - job: macOS_GCC8
displayName: Prepare System displayName: Prepare System
- script: python3 -u tools/build.py --cxx g++-8 --test - script: python3 -u tools/build.py --cxx g++-8 --test
displayName: Build and Run Unit Tests displayName: Build and Run Unit Tests
- publish: _build/ddslim
artifact: DDSLiM Executable - macOS
- script: python3 -u tools/test.py --exe _build/ddslim -T:gcc-8
- publish: _build/dds
artifact: DDS Executable - macOS
- script: python3 -u tools/test.py --exe _build/dds -T:gcc-8
displayName: Smoke Tests displayName: Smoke Tests

+ 1
- 1
library.dds View File

Name: ddslim
Name: dds


Uses: taywee/args Uses: taywee/args
Uses: spdlog/spdlog Uses: spdlog/spdlog

+ 1
- 1
package.dds View File

Name: ddslim
Name: dds
Version: 0.1.0 Version: 0.1.0

src/dds/ddslim.main.cpp → src/dds/dds.main.cpp View File



int main(int argc, char** argv) { int main(int argc, char** argv) {
spdlog::set_pattern("[%H:%M:%S] [%^%l%$] %v"); spdlog::set_pattern("[%H:%M:%S] [%^%l%$] %v");
args::ArgumentParser parser("DDSLiM - The drop-dead-simple library manager");
args::ArgumentParser parser("DDS - The drop-dead-simple library manager");


cli_base cli{parser}; cli_base cli{parser};
cli_build build{cli}; cli_build build{cli};

+ 2
- 2
src/dds/proc.nix.cpp View File



if (errno == ENOENT) { if (errno == ENOENT) {
std::cerr << fmt:: std::cerr << fmt::
format("[ddslim child executor] The requested executable ({}) could not be found.",
format("[dds child executor] The requested executable ({}) could not be found.",
strings[0]); strings[0]);
std::exit(-1); std::exit(-1);
} }


std::cerr << "[ddslim child executor] execvp returned! This is a fatal error: "
std::cerr << "[dds child executor] execvp returned! This is a fatal error: "
<< std::system_category().message(errno) << '\n'; << std::system_category().message(errno) << '\n';


std::terminate(); std::terminate();

+ 3
- 3
src/dds/util/paths.hpp View File

fs::path user_cache_dir(); fs::path user_cache_dir();
fs::path user_config_dir(); fs::path user_config_dir();


inline fs::path dds_data_dir() { return user_data_dir() / "ddslim"; }
inline fs::path dds_cache_dir() { return user_cache_dir() / "ddslim-cache"; }
inline fs::path dds_config_dir() { return user_config_dir() / "ddslim"; }
inline fs::path dds_data_dir() { return user_data_dir() / "dds"; }
inline fs::path dds_cache_dir() { return user_cache_dir() / "dds-cache"; }
inline fs::path dds_config_dir() { return user_config_dir() / "dds"; }


} // namespace dds } // namespace dds

+ 4
- 4
tools/build.py View File

build_dir = ROOT / '_build' build_dir = ROOT / '_build'
src_dir = ROOT / 'src' src_dir = ROOT / 'src'
relpath = cpp_file.relative_to(src_dir) relpath = cpp_file.relative_to(src_dir)
obj_path = build_dir / relpath.with_name(relpath.name + opts.obj_suffix)
obj_path = build_dir / '_obj' / relpath.with_name(relpath.name + opts.obj_suffix)
obj_path.parent.mkdir(exist_ok=True, parents=True) obj_path.parent.mkdir(exist_ok=True, parents=True)
cmd = _create_compile_command(opts, cpp_file, obj_path) cmd = _create_compile_command(opts, cpp_file, obj_path)
msg = f'Compile C++ file: {cpp_file.relative_to(ROOT)}' msg = f'Compile C++ file: {cpp_file.relative_to(ROOT)}'
def _create_archive_command(opts: BuildOptions, def _create_archive_command(opts: BuildOptions,
objects: Iterable[Path]) -> Tuple[Path, List[str]]: objects: Iterable[Path]) -> Tuple[Path, List[str]]:
if opts.is_msvc: if opts.is_msvc:
lib_file = ROOT / '_build/libddslim.lib'
lib_file = ROOT / '_build/libdds.lib'
cmd = ['lib', '/nologo', f'/OUT:{lib_file}', *map(str, objects)] cmd = ['lib', '/nologo', f'/OUT:{lib_file}', *map(str, objects)]
return lib_file, cmd return lib_file, cmd
else: else:
lib_file = ROOT / '_build/libddslim.a'
lib_file = ROOT / '_build/libdds.a'
cmd = ['ar', 'rsc', str(lib_file), *map(str, objects)] cmd = ['ar', 'rsc', str(lib_file), *map(str, objects)]
return lib_file, cmd return lib_file, cmd


build_opts, build_opts,
objects[next(iter(main_sources))], objects[next(iter(main_sources))],
lib, lib,
out=ROOT / '_build/ddslim')
out=ROOT / '_build/dds')


if args.test: if args.test:
list(pool.map(run_test, test_exes)) list(pool.map(run_test, test_exes))

+ 3
- 3
tools/test.py View File

def bootstrap_self(opts: TestOptions): def bootstrap_self(opts: TestOptions):
# Copy the exe to another location, as windows refuses to let a binary be # Copy the exe to another location, as windows refuses to let a binary be
# replaced while it is executing # replaced while it is executing
new_exe = ROOT / '_ddslime.bootstrap-test.exe'
new_exe = ROOT / '_dds.bootstrap-test.exe'
shutil.copy2(opts.exe, new_exe) shutil.copy2(opts.exe, new_exe)
res = subprocess.run([ res = subprocess.run([
str(new_exe), str(new_exe),
parser.add_argument( parser.add_argument(
'--exe', '--exe',
'-e', '-e',
help='Path to the ddslim executable to test',
help='Path to the dds executable to test',
required=True) required=True)
parser.add_argument( parser.add_argument(
'--toolchain', '--toolchain',
'-T', '-T',
help='The ddslim toolchain to use while testing',
help='The dds toolchain to use while testing',
required=True, required=True,
) )
parser.add_argument( parser.add_argument(

Loading…
Cancel
Save