| 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 | } |
no test coverage detected