| 581 | } |
| 582 | |
| 583 | Result configureTestSTLInterop(const Parameters& parameters, Workspace& workspace) |
| 584 | { |
| 585 | Project project = {"InteropSTL"}; |
| 586 | |
| 587 | project.setRootDirectory(parameters.directories.projectDirectory.view()); |
| 588 | project.addPresetConfiguration(Configuration::Preset::Debug, parameters); |
| 589 | project.addPresetConfiguration(Configuration::Preset::Release, parameters); |
| 590 | |
| 591 | project.files.compile.enableExceptions = true; |
| 592 | project.files.compile.enableRTTI = true; |
| 593 | project.files.compile.cppStandard = CppStandard::CPP17; |
| 594 | // InteropSTL is the explicit full-standard-C++ coverage target: headers and runtime link are both enabled. |
| 595 | project.files.compile.includeStdCpp = true; |
| 596 | project.link.linkStdCpp = true; |
| 597 | |
| 598 | SC_TRY(addCompiledLibraryRootDefine(project, parameters)); |
| 599 | project.addIncludePaths({"."}); |
| 600 | SC_TRY(addSaneCppLibraries(project, parameters, Libraries::Multiple)); |
| 601 | SC_TRY(project.addIncludePaths({parameters.directories.libraryDirectory.view()})); |
| 602 | addSaneCppDebugVisualizers(project, parameters); |
| 603 | project.addFiles("Tests/InteropSTL", "*.cpp"); |
| 604 | project.addFiles("Tests/InteropSTL", "*.h"); |
| 605 | |
| 606 | workspace.projects.push_back(move(project)); |
| 607 | return Result(true); |
| 608 | } |
| 609 | |
| 610 | static constexpr StringView EXAMPLE_PROJECT_NAME = "SCExample"; |
| 611 |
no test coverage detected