MCPcopy Create free account
hub / github.com/Pagghiu/SaneCppLibraries / configureSingleFileLibs

Function configureSingleFileLibs

Tools/SC-build.cpp:743–797  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

741 continue;
742
743 StringView name, extension;
744 SC_TRY(Path::parseNameExtension(entry.name, name, extension));
745
746 String taskflowBenchmarksRoot = StringEncoding::Utf8;
747 bool hasTaskflowBenchmarks = false;
748 if (name == "FibersSkynetBenchmark")
749 {
750 SC_TRY(detail::findTaskflowBenchmarks(parameters, taskflowBenchmarksRoot, hasTaskflowBenchmarks));
751 if (not hasTaskflowBenchmarks)
752 {
753 continue;
754 }
755 }
756
757 Project project;
758 project.targetType = TargetType::ConsoleExecutable;
759 project.name = name;
760 project.targetName = name;
761 project.setRootDirectory(parameters.directories.projectDirectory.view());
762 project.addPresetConfiguration(Configuration::Preset::Debug, parameters);
763 project.addPresetConfiguration(Configuration::Preset::Release, parameters);
764
765 if (name == "FibersSkynetBenchmark")
766 {
767 project.files.compile.enableExceptions = true;
768 project.files.compile.enableRTTI = true;
769 project.files.compile.cppStandard = CppStandard::CPP20;
770 project.files.compile.includeStdCpp = true;
771 project.files.compile.disableClangWarnings({"implicit-int-float-conversion"});
772 project.link.linkStdCpp = true;
773 SC_TRY(addSaneCppLibraries(project, parameters));
774
775 String skynetRoot = StringEncoding::Utf8;
776 String taskflowSource = StringEncoding::Utf8;
777 SC_TRY(Path::join(skynetRoot, {taskflowBenchmarksRoot.view(), "benchmarks", "skynet"}));
778 SC_TRY(Path::join(taskflowSource, {skynetRoot.view(), "taskflow.cpp"}));
779 SC_TRY(project.addIncludePaths({taskflowBenchmarksRoot.view(), skynetRoot.view()}));
780 project.addFile(taskflowSource.view());
781 }
782 else if (name.startsWith("Await"))
783 {
784 project.files.compile.cppStandard = CppStandard::CPP20;
785 configureSaneStdHeadersNoRuntime(project);
786 SC_TRY(addSaneCppLibraries(project, parameters));
787 project.addFiles("Libraries/Await", "**.cpp");
788 project.addFiles("Libraries/Await", "**.h");
789 }
790 else
791 {
792 configureSaneStrictNoStdCpp(project);
793 SC_TRY(addSaneCppLibraries(project, parameters));
794 }
795 SC_TRY(project.addIncludePaths({parameters.directories.libraryDirectory.view()}));
796 project.addFiles(entry.path, "**.cpp");
797 workspace.projects.push_back(move(project));
798 }
799 return Result(true);
800}

Callers 1

configureFunction · 0.85

Calls 11

enumerateNextMethod · 0.80
startsWithMethod · 0.80
addFileMethod · 0.80
joinFunction · 0.50
ResultClass · 0.50
viewMethod · 0.45
initMethod · 0.45
getMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected