实例介绍
Sharpmake简介
Sharpmake是一个用于生成Visual Studio项目和解决方案的工具,与CMake和Premake相似,但设计上更注重速度和规模。Ubisoft使用Sharpmake在几秒钟内生成数千个.vcxproj、.csproj和.sln文件,每个项目都可以支持大量的Visual Studio配置。
Sharpmake非常适合多平台游戏开发,能够快速生成所有配置,使得生成和重新生成整个项目变得非常简单。Sharpmake使用C#语言编写脚本,因此你可以在Visual Studio中编辑脚本,并享受C#工具(自动完成、重构、调试等)带来的便利。
Sharpmake不仅可以生成makefiles和Xcode项目,还可以在支持最新版dotnet运行时的现代操作系统上“原生”运行。Ubisoft在2011年为《刺客信条3》内部开发了Sharpmake,经过与其他工具的比较后,明确了需要一个定制的生成器来满足性能需求。
扩展Sharpmake
Sharpmake是一个开源项目,提供了一些通用功能。对于受NDA限制的附加功能(如平台支持)或仅限内部使用的功能,可以通过扩展机制添加支持。推荐的扩展方式是遵循特定的文件夹布局,将额外的平台(或扩展)放在专用文件夹中,以便进行管理和开发。
Sharpmake不仅适用于游戏开发人员,也适用于需要快速、灵活生成大型项目配置的软件开发人员。
【实例截图】
【核心代码】
文件清单
└── Sharpmake-7bb10dd8dff853936893751451638a0668fef86d
├── CODE_OF_CONDUCT.md
├── Compile.ps1
├── CONTRIBUTING.md
├── Directory.Build.props
├── docs
│ ├── Guidelines.md
│ ├── img
│ │ ├── AddDotNetRef.png
│ │ ├── AddExternalReference.png
│ │ ├── ResourceBuildAction.png
│ │ └── WebReferences.png
│ ├── Intro.md
│ ├── OVERVIEW.md
│ ├── Platforms.md
│ ├── Samples.md
│ ├── sharpmake_logo.svg
│ └── Why.md
├── extract-vcpkg.ps1
├── functional_test.py
├── LICENSE.md
├── README.md
├── regression_test.py
├── RunProcess.ps1
├── RunSample.ps1
├── RunSharpmake.ps1
├── samples
│ ├── CompileCommandDatabase
│ │ ├── CompileCommandDatabase.sharpmake.cs
│ │ ├── libgoodbye
│ │ │ ├── goodbye.cpp
│ │ │ └── goodbye.h
│ │ ├── libhello
│ │ │ ├── hello.cpp
│ │ │ └── hello.h
│ │ └── src
│ │ └── main.cpp
│ ├── ConfigureOrder
│ │ ├── codebase
│ │ │ ├── ChildProject
│ │ │ │ ├── main.cpp
│ │ │ │ ├── stdafx.cpp
│ │ │ │ └── stdafx.h
│ │ │ ├── FooBarProject
│ │ │ │ ├── main.cpp
│ │ │ │ ├── stdafx.cpp
│ │ │ │ └── stdafx.h
│ │ │ └── ParentProject
│ │ │ ├── main.cpp
│ │ │ ├── stdafx.cpp
│ │ │ └── stdafx.h
│ │ ├── ConfigureOrdering.sharpmake.cs
│ │ ├── main.sharpmake.cs
│ │ ├── reference
│ │ │ └── projects
│ │ │ ├── childproject.vcxproj
│ │ │ ├── childproject.vcxproj.filters
│ │ │ ├── configureorderingsolution.sln
│ │ │ ├── foobarproject.vcxproj
│ │ │ ├── foobarproject.vcxproj.filters
│ │ │ ├── parentproject.vcxproj
│ │ │ └── parentproject.vcxproj.filters
│ │ └── Util.sharpmake.cs
│ ├── CPPCLI
│ │ ├── CLRTest.sharpmake.cs
│ │ ├── codebase
│ │ │ ├── CLRCPPProj
│ │ │ │ ├── app.rc
│ │ │ │ ├── AssemblyInfo.cpp
│ │ │ │ ├── CLRCPPProj.cpp
│ │ │ │ ├── CLRCPPProj.h
│ │ │ │ └── ReadMe.txt
│ │ │ ├── CSharpProjBuildOrderDependency
│ │ │ │ ├── Class1.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── OtherCSharpProj
│ │ │ │ ├── Class1.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── TestCSharpConsole
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── theEmptyCPPProject
│ │ │ ├── TestClass.cpp
│ │ │ └── TestClass.h
│ │ ├── projects.sharpmake.cs
│ │ └── reference
│ │ └── projects
│ │ ├── clrcppproj.vs2017.v4_6_2.vcxproj
│ │ ├── clrcppproj.vs2017.v4_6_2.vcxproj.filters
│ │ ├── clrcppproj.vs2019.v4_7_2.vcxproj
│ │ ├── clrcppproj.vs2019.v4_7_2.vcxproj.filters
│ │ ├── CPPCLI.vs2017.v4_6_2.sln
│ │ ├── CPPCLI.vs2019.v4_7_2.sln
│ │ ├── CSharpProjBuildOrderDependency.vs2017.v4_6_2.csproj
│ │ ├── CSharpProjBuildOrderDependency.vs2019.v4_7_2.csproj
│ │ ├── OtherCSharpProj.vs2017.v4_6_2.csproj
│ │ ├── OtherCSharpProj.vs2019.v4_7_2.csproj
│ │ ├── TestCSharpConsole.vs2017.v4_6_2.csproj
│ │ ├── TestCSharpConsole.vs2019.v4_7_2.csproj
│ │ ├── theemptycppproject.vs2017.v4_6_2.vcxproj
│ │ ├── theemptycppproject.vs2017.v4_6_2.vcxproj.filters
│ │ ├── theemptycppproject.vs2019.v4_7_2.vcxproj
│ │ └── theemptycppproject.vs2019.v4_7_2.vcxproj.filters
│ ├── CSharpHelloWorld
│ │ ├── codebase
│ │ │ └── HelloWorld
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── common.sharpmake.cs
│ │ ├── HelloWorld.sharpmake.cs
│ │ └── reference
│ │ └── projects
│ │ ├── helloworld
│ │ │ ├── HelloWorld.vs2017.v4_6_1.csproj
│ │ │ └── HelloWorld.vs2022.net6_0.csproj
│ │ ├── HelloWorldSolution.vs2017.v4_6_1.sln
│ │ └── HelloWorldSolution.vs2022.net6_0.sln
│ ├── CSharpImports
│ │ ├── codebase
│ │ │ └── CSharpImports
│ │ │ ├── Debug.csharp
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Release.csharp
│ │ ├── common.sharpmake.cs
│ │ ├── CSharpImports-post.props
│ │ ├── CSharpImports-pre.props
│ │ ├── CSharpImports.sharpmake.cs
│ │ └── reference
│ │ └── projects
│ │ ├── csharpimports
│ │ │ └── CSharpImports.vs2019.v4_7_2.csproj
│ │ └── CSharpImportsSolution.vs2019.v4_7_2.sln
│ ├── CSharpVsix
│ │ ├── codebase
│ │ │ └── CSharpVsix
│ │ │ ├── CSharpVsix.vs2015.v4_5.csproj
│ │ │ ├── HelloWorldCommand.cs
│ │ │ ├── HelloWorldCommandPackage.cs
│ │ │ ├── HelloWorldCommandPackage.vsct
│ │ │ ├── index.html
│ │ │ ├── Key.snk
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Resources
│ │ │ │ ├── HelloWorldCommandPackage.ico
│ │ │ │ └── HelloWorldCommand.png
│ │ │ ├── source.extension.vsixmanifest
│ │ │ ├── stylesheet.css
│ │ │ └── VSPackage.resx
│ │ ├── CSharpVsix.sharpmake.cs
│ │ └── reference
│ │ └── projects
│ │ ├── csharpvsix
│ │ │ ├── CSharpVsix.vs2022.v4_7_2.csproj
│ │ │ └── CSharpVsix.vs2022.v4_7_2.csproj.user
│ │ └── CSharpVsixSolution.vs2022.v4_7_2.sln
│ ├── CSharpWCF
│ │ ├── codebase
│ │ │ ├── CSharpWCF
│ │ │ │ ├── app.config
│ │ │ │ ├── Class1.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service References
│ │ │ │ └── ServiceReference
│ │ │ │ ├── configuration91.svcinfo
│ │ │ │ ├── configuration.svcinfo
│ │ │ │ ├── CSharpWCF.ServiceReference.CompositeType.datasource
│ │ │ │ ├── Reference.cs
│ │ │ │ ├── Reference.svcmap
│ │ │ │ ├── Service11.xsd
│ │ │ │ ├── Service12.xsd
│ │ │ │ ├── Service1.disco
│ │ │ │ ├── Service1.wsdl
│ │ │ │ └── Service1.xsd
│ │ │ └── CSharpWCFApp
│ │ │ ├── IService1.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service1.svc
│ │ │ ├── Service1.svc.cs
│ │ │ ├── Web.config
│ │ │ ├── Web.Debug.config
│ │ │ └── Web.Release.config
│ │ ├── CSharpWCF.sharpmake.cs
│ │ └── reference
│ │ └── projects
│ │ ├── csharpwcf
│ │ │ └── CSharpWCF.vs2015.v4_5_2.csproj
│ │ ├── csharpwcfapp
│ │ │ └── CSharpWCFApp.vs2015.v4_5_2.csproj
│ │ └── CSharpWCFSolution.vs2015.v4_5_2.sln
│ ├── CustomBuildStep
│ │ ├── codebase
│ │ │ └── filegeneration.bat
│ │ └── CustomBuildStep.sharpmake.cs
│ ├── Directory.Build.props
│ ├── FastBuildSimpleExecutable
│ │ ├── codebase
│ │ │ └── main.cpp
│ │ ├── FastBuildSimpleExecutable.sharpmake.cs
│ │ └── reference
│ │ ├── fastbuildsample_vs2019_win64_fastbuild.bff
│ │ ├── fastbuildsample_vs2019_win64_fastbuild-globalsettings.bff
│ │ ├── fastbuildsample_vs2019_win64_fastbuild.sln
│ │ ├── fastbuildsample_vs2019_win64_msbuild.sln
│ │ ├── fastbuildsample_vs2022_win64_fastbuild.bff
│ │ ├── fastbuildsample_vs2022_win64_fastbuild-globalsettings.bff
│ │ ├── fastbuildsample_vs2022_win64_fastbuild.sln
│ │ ├── fastbuildsample_vs2022_win64_msbuild.sln
│ │ ├── fastbuildsimpleexecutable_vs2019_win64_fastbuild.bff
│ │ ├── fastbuildsimpleexecutable_vs2019_win64_fastbuild.vcxproj
│ │ ├── fastbuildsimpleexecutable_vs2019_win64_fastbuild.vcxproj.filters
│ │ ├── fastbuildsimpleexecutable_vs2019_win64_msbuild.vcxproj
│ │ ├── fastbuildsimpleexecutable_vs2019_win64_msbuild.vcxproj.filters
│ │ ├── fastbuildsimpleexecutable_vs2022_win64_fastbuild.bff
│ │ ├── fastbuildsimpleexecutable_vs2022_win64_fastbuild.vcxproj
│ │ ├── fastbuildsimpleexecutable_vs2022_win64_fastbuild.vcxproj.filters
│ │ ├── fastbuildsimpleexecutable_vs2022_win64_msbuild.vcxproj
│ │ └── fastbuildsimpleexecutable_vs2022_win64_msbuild.vcxproj.filters
│ ├── HelloAndroid
│ │ ├── codebase
│ │ │ ├── exe
│ │ │ │ ├── exe.sharpmake.cs
│ │ │ │ ├── main.cpp
│ │ │ │ ├── stdafx.cpp
│ │ │ │ └── stdafx.h
│ │ │ ├── HelloAndroid.sharpmake.cs
│ │ │ ├── static_lib1
│ │ │ │ ├── src
│ │ │ │ │ ├── ensure_debug.cpp
│ │ │ │ │ ├── ensure_release.cpp
│ │ │ │ │ ├── pch.cpp
│ │ │ │ │ ├── pch.h
│ │ │ │ │ ├── util_static_lib1.cpp
│ │ │ │ │ └── util_static_lib1.h
│ │ │ │ └── static_lib1.sharpmake.cs
│ │ │ └── static lib2
│ │ │ ├── static_lib2.sharpmake.cs
│ │ │ ├── sub folder
│ │ │ │ ├── useless_static_lib2.cpp
│ │ │ │ └── useless_static_lib2.h
│ │ │ ├── util_static_lib2.cpp
│ │ │ └── util_static_lib2.h
│ │ ├── gradle
│ │ │ ├── app
│ │ │ │ └── build.app.gradle.template
│ │ │ └── root
│ │ │ ├── build.gradle
│ │ │ ├── build.gradle.template
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ ├── gradle-wrapper.jar
│ │ │ │ ├── gradle-wrapper.properties
│ │ │ │ └── gradle-wrapper.properties.template
│ │ │ ├── gradlew.bat
│ │ │ └── settings.gradle.template
│ │ ├── HelloAndroid.CommonProject.sharpmake.cs
│ │ ├── HelloAndroid.CommonSolution.sharpmake.cs
│ │ ├── HelloAndroid.CommonTarget.sharpmake.cs
│ │ ├── HelloAndroid.Main.sharpmake.cs
│ │ └── resources
│ │ ├── AndroidManifest.xml
│ │ ├── AndroidManifest.xml.template
│ │ ├── build.xml
│ │ ├── project.properties
│ │ └── res
│ │ └── values
│ │ └── strings.xml
│ ├── HelloAndroidAgde
│ │ ├── codebase
│ │ │ ├── exe
│ │ │ │ ├── exe.sharpmake.cs
│ │ │ │ ├── main.cpp
│ │ │ │ ├── stdafx.cpp
│ │ │ │ └── stdafx.h
│ │ │ ├── HelloAndroidAgde.sharpmake.cs
│ │ │ ├── static_lib1
│ │ │ │ ├── src
│ │ │ │ │ ├── ensure_debug.cpp
│ │ │ │ │ ├── ensure_release.cpp
│ │ │ │ │ ├── pch.cpp
│ │ │ │ │ ├── pch.h
│ │ │ │ │ ├── util_static_lib1.cpp
│ │ │ │ │ └── util_static_lib1.h
│ │ │ │ └── static_lib1.sharpmake.cs
│ │ │ └── static lib2
│ │ │ ├── static_lib2.sharpmake.cs
│ │ │ ├── sub folder
│ │ │ │ ├── useless_static_lib2.cpp
│ │ │ │ └── useless_static_lib2.h
│ │ │ ├── util_static_lib2.cpp
│ │ │ └── util_static_lib2.h
│ │ ├── gradle
│ │ │ ├── app
│ │ │ │ ├── build.gradle
│ │ │ │ └── test-keystore.jks
│ │ │ └── root
│ │ │ ├── build.gradle
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ ├── gradle-wrapper.jar
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ ├── gradlew.bat
│ │ │ └── settings.gradle
│ │ ├── HelloAndroidAgde.CommonProject.sharpmake.cs
│ │ ├── HelloAndroidAgde.CommonSolution.sharpmake.cs
│ │ ├── HelloAndroidAgde.CommonTarget.sharpmake.cs
│ │ ├── HelloAndroidAgde.Main.sharpmake.cs
│ │ └── resources
│ │ ├── AndroidManifest.xml
│ │ ├── build.xml
│ │ └── project.properties
│ ├── HelloAssembly
│ │ ├── codebase
│ │ │ ├── hello_world.asm
│ │ │ ├── main.cpp
│ │ │ └── sub folder
│ │ │ └── utils.asm
│ │ ├── HelloAssembly.sharpmake.cs
│ │ └── reference
│ │ └── projects
│ │ ├── helloassembly_vs2019_win64.sln
│ │ ├── helloassembly_vs2019_win64.vcxproj
│ │ └── helloassembly_vs2019_win64.vcxproj.filters
│ ├── HelloClangCl
│ │ ├── codebase
│ │ │ ├── dll1
│ │ │ │ ├── dll1.sharpmake.cs
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── precomp.cpp
│ │ │ │ ├── precomp.h
│ │ │ │ ├── util_dll.cpp
│ │ │ │ └── util_dll.h
│ │ │ ├── exe
│ │ │ │ ├── exe.sharpmake.cs
│ │ │ │ ├── main.cpp
│ │ │ │ ├── stdafx.cpp
│ │ │ │ └── stdafx.h
│ │ │ ├── HelloClangCl.sharpmake.cs
│ │ │ ├── static_lib1
│ │ │ │ ├── src
│ │ │ │ │ ├── ensure_debug.cpp
│ │ │ │ │ ├── ensure_release.cpp
│ │ │ │ │ ├── pch.cpp
│ │ │ │ │ ├── pch.h
│ │ │ │ │ ├── util_static_lib1.cpp
│ │ │ │ │ └── util_static_lib1.h
│ │ │ │ └── static_lib1.sharpmake.cs
│ │ │ └── static lib2
│ │ │ ├── static_lib2.sharpmake.cs
│ │ │ ├── sub folder
│ │ │ │ ├── useless_static_lib2.cpp
│ │ │ │ └── useless_static_lib2.h
│ │ │ ├── util_static_lib2.cpp
│ │ │ └── util_static_lib2.h
│ │ ├── HelloClangCl.CommonProject.sharpmake.cs
│ │ ├── HelloClangCl.CommonSolution.sharpmake.cs
│ │ ├── HelloClangCl.CommonTarget.sharpmake.cs
│ │ └── HelloClangCl.Main.sharpmake.cs
│ ├── HelloEvents
│ │ ├── codebase
│ │ │ ├── dll1
│ │ │ │ ├── dll1.sharpmake.cs
│ │ │ │ ├── precomp.cpp
│ │ │ │ ├── precomp.h
│ │ │ │ ├── util_dll.cpp
│ │ │ │ └── util_dll.h
│ │ │ ├── exe
│ │ │ │ ├── exe.sharpmake.cs
│ │ │ │ ├── main.cpp
│ │ │ │ ├── stdafx.cpp
│ │ │ │ └── stdafx.h
│ │ │ ├── HelloEvents.sharpmake.cs
│ │ │ ├── static_lib1
│ │ │ │ ├── src
│ │ │ │ │ ├── ensure_debug.cpp
│ │ │ │ │ ├── ensure_release.cpp
│ │ │ │ │ ├── pch.cpp
│ │ │ │ │ ├── pch.h
│ │ │ │ │ ├── util_static_lib1.cpp
│ │ │ │ │ └── util_static_lib1.h
│ │ │ │ └── static_lib1.sharpmake.cs
│ │ │ └── static lib2
│ │ │ ├── static_lib2.sharpmake.cs
│ │ │ ├── sub folder
│ │ │ │ ├── useless_static_lib2.cpp
│ │ │ │ └── useless_static_lib2.h
│ │ │ ├── util_static_lib2.cpp
│ │ │ └── util_static_lib2.h
│ │ ├── HelloEvents.CommonProject.sharpmake.cs
│ │ ├── HelloEvents.CommonSolution.sharpmake.cs
│ │ ├── HelloEvents.CommonTarget.sharpmake.cs
│ │ └── HelloEvents.Main.sharpmake.cs
│ ├── HelloIOS
│ │ ├── codebase
│ │ │ ├── exe
│ │ │ │ ├── exe.sharpmake.cs
│ │ │ │ ├── ios
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ ├── main_ios.h
│ │ │ │ │ ├── main_ios.mm
│ │ │ │ │ ├── Main.storyboard
│ │ │ │ │ ├── unittest
│ │ │ │ │ │ ├── excluded_from_build.mm
│ │ │ │ │ │ └── unittest.mm
│ │ │ │ │ └── UnitTestInfo.plist
│ │ │ │ ├── main.mm
│ │ │ │ ├── stdafx.cpp
│ │ │ │ └── stdafx.h
│ │ │ ├── HelloIOS.sharpmake.cs
│ │ │ ├── static_lib1
│ │ │ │ ├── src
│ │ │ │ │ ├── ensure_debug.cpp
│ │ │ │ │ ├── ensure_release.cpp
│ │ │ │ │ ├── pch.cpp
│ │ │ │ │ ├── pch.h
│ │ │ │ │ ├── util_static_lib1.h
│ │ │ │ │ └── util_static_lib1.mm
│ │ │ │ └── static_lib1.sharpmake.cs
│ │ │ └── static lib2
│ │ │ ├── static_lib2.sharpmake.cs
│ │ │ ├── sub folder
│ │ │ │ ├── useless_static_lib2.h
│ │ │ │ └── useless_static_lib2.mm
│ │ │ ├── util_static_lib2.h
│ │ │ └── util_static_lib2.mm
│ │ ├── HelloIOS.CommonProject.sharpmake.cs
│ │ ├── HelloIOS.CommonSolution.sharpmake.cs
│ │ ├── HelloIOS.CommonTarget.sharpmake.cs
│ │ └── HelloIOS.Main.sharpmake.cs
│ ├── HelloLinux
│ │ ├── codebase
│ │ │ ├── dll1
│ │ │ │ ├── dll1.sharpmake.cs
│ │ │ │ ├── precomp.cpp
│ │ │ │ ├── precomp.h
│ │ │ │ ├── util_dll.cpp
│ │ │ │ └── util_dll.h
│ │ │ ├── exe
│ │ │ │ ├── exe.sharpmake.cs
│ │ │ │ ├── main.cpp
│ │ │ │ ├── stdafx.cpp
│ │ │ │ └── stdafx.h
│ │ │ ├── external_lib
│ │ │ │ └── external_lib.sharpmake.cs
│ │ │ ├── header-only-lib
│ │ │ │ ├── header-only-lib.h
│ │ │ │ └── header-only-lib.sharpmake.cs
│ │ │ ├── HelloLinux.sharpmake.cs
│ │ │ ├── lib_group
│ │ │ │ ├── lib_group.sharpmake.cs
│ │ │ │ ├── precomp.cpp
│ │ │ │ ├── precomp.h
│ │ │ │ ├── util_dll.cpp
│ │ │ │ └── util_dll.h
│ │ │ ├── static_lib1
│ │ │ │ ├── src
│ │ │ │ │ ├── ensure_debug.cpp
│ │ │ │ │ ├── ensure_release.cpp
│ │ │ │ │ ├── pch.cpp
│ │ │ │ │ ├── pch.h
│ │ │ │ │ ├── util_static_lib1.cpp
│ │ │ │ │ └── util_static_lib1.h
│ │ │ │ └── static_lib1.sharpmake.cs
│ │ │ └── static lib2
│ │ │ ├── static_lib2.sharpmake.cs
│ │ │ ├── sub folder
│ │ │ │ ├── useless_static_lib2.cpp
│ │ │ │ └── useless_static_lib2.h
│ │ │ ├── util_static_lib2.cpp
│ │ │ └── util_static_lib2.h
│ │ ├── Dockerfile
│ │ ├── HelloLinux.CommonProject.sharpmake.cs
│ │ ├── HelloLinux.CommonSolution.sharpmake.cs
│ │ ├── HelloLinux.CommonTarget.sharpmake.cs
│ │ ├── HelloLinux.Main.sharpmake.cs
│ │ └── reference
│ │ └── codebase
│ │ └── temp
│ │ ├── projects
│ │ │ ├── dll1
│ │ │ │ └── dll1_linux_make.make
│ │ │ ├── exe
│ │ │ │ └── exe_linux_make.make
│ │ │ ├── header-only-lib
│ │ │ │ └── header-only-lib_linux_make.make
│ │ │ ├── lib_group
│ │ │ │ └── lib_group_linux_make.make
│ │ │ ├── static_lib1
│ │ │ │ └── static_lib1_linux_make.make
│ │ │ └── static lib2
│ │ │ └── static lib2_linux_make.make
│ │ └── solutions
│ │ └── HelloLinux_linux_make.make
│ ├── HelloRust
│ │ ├── codebase
│ │ │ ├── cpp
│ │ │ │ └── main.cpp
│ │ │ └── hellorust
│ │ │ ├── build.rs
│ │ │ ├── Cargo.toml
│ │ │ └── src
│ │ │ └── lib.rs
│ │ └── HelloRust.sharpmake.cs
│ ├── HelloWorld
│ │ ├── codebase
│ │ │ ├── main.cpp
│ │ │ ├── stdafx.cpp
│ │ │ └── stdafx.h
│ │ ├── HelloWorld.sharpmake.cs
│ │ └── reference
│ │ └── projects
│ │ ├── helloworld_vs2019_win32.sln
│ │ ├── helloworld_vs2019_win32.vcxproj
│ │ ├── helloworld_vs2019_win32.vcxproj.filters
│ │ ├── helloworld_vs2019_win64.sln
│ │ ├── helloworld_vs2019_win64.vcxproj
│ │ └── helloworld_vs2019_win64.vcxproj.filters
│ ├── HelloXCode
│ │ ├── codebase
│ │ │ ├── dll1
│ │ │ │ ├── dll1.sharpmake.cs
│ │ │ │ ├── precomp.cpp
│ │ │ │ ├── precomp.h
│ │ │ │ ├── util_dll.cpp
│ │ │ │ └── util_dll.h
│ │ │ ├── exe
│ │ │ │ ├── exe.sharpmake.cs
│ │ │ │ ├── main.cpp
│ │ │ │ ├── stdafx.cpp
│ │ │ │ ├── stdafx.h
│ │ │ │ └── test.sc
│ │ │ ├── exe_prelinked
│ │ │ │ ├── exe_prelinked.sharpmake.cs
│ │ │ │ └── main.cpp
│ │ │ ├── HelloXCode.sharpmake.cs
│ │ │ ├── static_lib+1
│ │ │ │ ├── src
│ │ │ │ │ ├── ensure_debug.cpp
│ │ │ │ │ ├── ensure_release.cpp
│ │ │ │ │ ├── pch.cpp
│ │ │ │ │ ├── pch.h
│ │ │ │ │ ├── util_static_lib1.cpp
│ │ │ │ │ └── util_static_lib1.h
│ │ │ │ └── static_lib1.sharpmake.cs
│ │ │ ├── static lib2
│ │ │ │ ├── static_lib2.sharpmake.cs
│ │ │ │ ├── sub folder
│ │ │ │ │ ├── useless_static_lib2.cpp
│ │ │ │ │ └── useless_static_lib2.h
│ │ │ │ ├── util_static_lib2.cpp
│ │ │ │ └── util_static_lib2.h
│ │ │ ├── static_prelinked_lib_consumed
│ │ │ │ ├── src
│ │ │ │ │ ├── static_prelinked_lib_consumed.cpp
│ │ │ │ │ └── static_prelinked_lib_consumed.h
│ │ │ │ └── static_prelinked_lib_consumed.sharpmake.cs
│ │ │ └── static_prelinked_lib_consumer
│ │ │ ├── src
│ │ │ │ ├── static_prelinked_lib_consumer.cpp
│ │ │ │ └── static_prelinked_lib_consumer.h
│ │ │ └── static_prelinked_lib1.sharpmake.cs
│ │ ├── external
│ │ │ ├── additionsource
│ │ │ │ └── additionsourceplaceholder.cpp
│ │ │ ├── additionsourcetest.cpp
│ │ │ ├── external.cpp
│ │ │ └── external.h
│ │ ├── HelloXCode.CommonProject.sharpmake.cs
│ │ ├── HelloXCode.CommonSolution.sharpmake.cs
│ │ ├── HelloXCode.CommonTarget.sharpmake.cs
│ │ └── HelloXCode.Main.sharpmake.cs
│ ├── JumboBuild
│ │ ├── codebase
│ │ │ ├── main.cpp
│ │ │ ├── test1.cpp
│ │ │ ├── test1.h
│ │ │ ├── test2.cpp
│ │ │ └── test2.h
│ │ ├── JumboBuild.sharpmake.cs
│ │ └── reference
│ │ └── projects
│ │ ├── jumbobuild_vs2019_win32.sln
│ │ ├── jumbobuild_vs2019_win32.vcxproj
│ │ ├── jumbobuild_vs2019_win32.vcxproj.filters
│ │ ├── jumbobuild_vs2019_win64.sln
│ │ ├── jumbobuild_vs2019_win64.vcxproj
│ │ └── jumbobuild_vs2019_win64.vcxproj.filters
│ ├── NetCore
│ │ ├── DotNetCoreFrameworkHelloWorld
│ │ │ ├── codebase
│ │ │ │ ├── HelloWorld
│ │ │ │ │ └── Program.cs
│ │ │ │ └── HelloWorldMultiframework
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── HelloWorld.sharpmake.cs
│ │ │ └── reference
│ │ │ └── projects
│ │ │ ├── helloworld
│ │ │ │ ├── HelloWorld.vs2017.netcore3_1.csproj
│ │ │ │ └── HelloWorld.vs2019.netcore3_1.csproj
│ │ │ ├── helloworldmultiframework
│ │ │ │ └── HelloWorldMultiFramework.vs2022.csproj
│ │ │ ├── HelloWorldMultiFrameworkSolution.vs2022.sln
│ │ │ ├── HelloWorldSolution.vs2017.netcore3_1.sln
│ │ │ └── HelloWorldSolution.vs2019.netcore3_1.sln
│ │ ├── DotNetFrameworkHelloWorld
│ │ │ ├── codebase
│ │ │ │ ├── HelloWorld
│ │ │ │ │ └── Program.cs
│ │ │ │ └── HelloWorldMultiFramework
│ │ │ │ └── Program.cs
│ │ │ ├── HelloWorld.sharpmake.cs
│ │ │ └── reference
│ │ │ └── projects
│ │ │ ├── helloworld
│ │ │ │ ├── HelloWorld.vs2017.v4_6_1.csproj
│ │ │ │ └── HelloWorld.vs2019.v4_7_2.csproj
│ │ │ ├── helloworldmultiframework
│ │ │ │ └── HelloWorldMultiFramework.vs2019.csproj
│ │ │ ├── HelloWorldMultiFrameworkSolution.vs2019.sln
│ │ │ ├── HelloWorldSolution.vs2017.v4_6_1.sln
│ │ │ └── HelloWorldSolution.vs2019.v4_7_2.sln
│ │ ├── DotNetMultiFrameworksHelloWorld
│ │ │ ├── codebase
│ │ │ │ ├── HelloWorldLib
│ │ │ │ │ └── HelloWorldWriter.cs
│ │ │ │ └── HelloWorldMultiframeworks
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── HelloWorld.sharpmake.cs
│ │ │ └── reference
│ │ │ └── projects
│ │ │ ├── helloworldlib
│ │ │ │ └── HelloWorldLib.vs2019.csproj
│ │ │ ├── helloworldmultiframeworks
│ │ │ │ └── HelloWorldMultiFrameworks.vs2019.csproj
│ │ │ └── HelloWorldMultiFrameworksSolution.vs2019.sln
│ │ └── DotNetOSMultiFrameworksHelloWorld
│ │ ├── codebase
│ │ │ ├── HelloWorldLib
│ │ │ │ └── HelloWorldWriter.cs
│ │ │ └── HelloWorldMultiframeworks
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── HelloWorld.sharpmake.cs
│ │ └── reference
│ │ └── codebase
│ │ ├── helloworldlib
│ │ │ └── HelloWorldLib.vs2022.csproj
│ │ ├── helloworldmultiframeworks
│ │ │ └── HelloWorldExe.vs2022.csproj
│ │ └── temp
│ │ └── solutions
│ │ └── OSMultiFrameworksHelloWorldSolution.sln
│ ├── PackageReferences
│ │ ├── codebase
│ │ │ ├── CPPPackageReferences
│ │ │ │ └── main.cpp
│ │ │ └── CSharpPackageReferences
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── PackageReferences.sharpmake.cs
│ │ └── reference
│ │ └── projects
│ │ ├── cpppackagereferences
│ │ │ ├── cpppackagereferences.vs2017.v4_7_2.vcxproj
│ │ │ ├── cpppackagereferences.vs2017.v4_7_2.vcxproj.filters
│ │ │ ├── cpppackagereferences.vs2019.v4_7_2.vcxproj
│ │ │ ├── cpppackagereferences.vs2019.v4_7_2.vcxproj.filters
│ │ │ └── packages.config
│ │ ├── csharppackagereferences
│ │ │ ├── CSharpPackageReferences.vs2017.v4_7_2.csproj
│ │ │ └── CSharpPackageReferences.vs2019.v4_7_2.csproj
│ │ ├── PackageReferenceSolution.vs2017.v4_7_2.sln
│ │ └── PackageReferenceSolution.vs2019.v4_7_2.sln
│ ├── Properties
│ │ └── launchSettings.json
│ ├── QTFileCustomBuild
│ │ ├── codebase
│ │ │ ├── blank.png
│ │ │ ├── exec.qrc
│ │ │ ├── floatanglespinbox.cpp
│ │ │ ├── floatanglespinbox.h
│ │ │ ├── floatcosanglespinbox.cpp
│ │ │ ├── floatcosanglespinbox.h
│ │ │ ├── main.cpp
│ │ │ ├── privatewidget.cpp
│ │ │ ├── privatewidget.h
│ │ │ ├── privatewidget.ui
│ │ │ ├── stdafx.cpp
│ │ │ └── stdafx.h
│ │ ├── QTFileCustomBuild.sharpmake.cs
│ │ └── reference
│ │ └── projects
│ │ ├── qtfilecustombuild_vs2017_win64.sln
│ │ ├── qtfilecustombuild_vs2017_win64.vcxproj
│ │ └── qtfilecustombuild_vs2017_win64.vcxproj.filters
│ ├── Samples.csproj
│ ├── SimpleExeLibDependency
│ │ ├── libstuff
│ │ │ ├── hello.cpp
│ │ │ └── hello.h
│ │ ├── LibStuff.sharpmake.cs
│ │ ├── reference
│ │ │ └── projects
│ │ │ ├── ExeLibSolutionName_vs2017_win64.sln
│ │ │ ├── LibStuffProject_ProjectName.vcxproj
│ │ │ ├── LibStuffProject_ProjectName.vcxproj.filters
│ │ │ ├── SimpleExeProjectName_vs2017_win64.vcxproj
│ │ │ └── SimpleExeProjectName_vs2017_win64.vcxproj.filters
│ │ ├── SimpleExeLibDependency.sharpmake.cs
│ │ └── src
│ │ └── main.cpp
│ ├── vcpkg
│ │ ├── bootstrap-sample.bat
│ │ ├── extern
│ │ │ └── vcpkg.zip
│ │ ├── readme.md
│ │ ├── sharpmake
│ │ │ ├── baseclasses.sharpmake.cs
│ │ │ ├── externprojects.sharpmake.cs
│ │ │ ├── main.sharpmake.cs
│ │ │ └── projects.sharpmake.cs
│ │ ├── src
│ │ │ └── vcpkgsample
│ │ │ └── main.cpp
│ │ └── update-vcpkg-packages.bat
│ └── XCodeProjects
│ ├── BrightnessControl
│ │ ├── BrightnessControl.h
│ │ ├── BrightnessControl.mm
│ │ └── BrightnessControl.sharpmake.cs
│ ├── CLITool
│ │ ├── CLITool.sharpmake.cs
│ │ ├── main.mm
│ │ ├── stdafx.cpp
│ │ └── stdafx.h
│ ├── extern
│ │ ├── fmt
│ │ │ ├── fmt.sharpmake.cs
│ │ │ ├── include
│ │ │ │ └── fmt
│ │ │ │ ├── args.h
│ │ │ │ ├── chrono.h
│ │ │ │ ├── color.h
│ │ │ │ ├── compile.h
│ │ │ │ ├── core.h
│ │ │ │ ├── format.h
│ │ │ │ ├── format-inl.h
│ │ │ │ ├── os.h
│ │ │ │ ├── ostream.h
│ │ │ │ ├── printf.h
│ │ │ │ ├── ranges.h
│ │ │ │ ├── std.h
│ │ │ │ └── xchar.h
│ │ │ └── src
│ │ │ ├── fmt.cc
│ │ │ ├── format.cc
│ │ │ └── os.cc
│ │ ├── includes
│ │ │ └── MetalCpp
│ │ │ └── Metal.hpp
│ │ └── StoreKit
│ │ └── StoreKit.sharpmake.cs
│ ├── FromPasteboard
│ │ ├── FromPasteboard.sharpmake.cs
│ │ └── main.mm
│ ├── GetBrightness
│ │ ├── GetBrightness.sharpmake.cs
│ │ └── main.mm
│ ├── GotoVSCode
│ │ ├── GotoVSCode.sharpmake.cs
│ │ └── main.mm
│ ├── GotoXCode
│ │ ├── GotoXCode.sharpmake.cs
│ │ └── main.mm
│ ├── GUITool
│ │ ├── GUITool.sharpmake.cs
│ │ ├── main.mm
│ │ ├── stdafx.cpp
│ │ └── stdafx.h
│ ├── HasDebugger
│ │ ├── HasDebugger.sharpmake.cs
│ │ └── main.mm
│ ├── HelloKitConsumer
│ │ ├── HelloKitConsumer.sharpmake.cs
│ │ └── main.cpp
│ ├── HelloKitFramework
│ │ ├── Foobar
│ │ │ └── Hoge.h
│ │ ├── HelloKit.cpp
│ │ ├── HelloKitFramework.sharpmake.cs
│ │ ├── HelloKit.h
│ │ └── Info-Framework.plist
│ ├── intern
│ │ └── includes
│ │ └── Globals.h
│ ├── MetalNoStoryboard
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.mm
│ │ ├── exportOptions.plist
│ │ ├── foobar2.dat
│ │ ├── foobar.dat
│ │ ├── Info-catalyst.plist
│ │ ├── Info-ios.plist
│ │ ├── Info.plist
│ │ ├── Info-tvos.plist
│ │ ├── main.mm
│ │ ├── MetalNoStoryboardProject.sharpmake.cs
│ │ ├── Renderer.h
│ │ ├── Renderer.mm
│ │ ├── ViewController.h
│ │ └── ViewController.mm
│ ├── MetalWithStoryboard
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Assets.xcassets
│ │ │ ├── AccentColor.colorset
│ │ │ │ └── Contents.json
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ ├── ColorMap.textureset
│ │ │ │ ├── Contents.json
│ │ │ │ └── Universal.mipmapset
│ │ │ │ ├── ColorMap.png
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── Base-appkit.lproj
│ │ │ └── Main.storyboard
│ │ ├── Base-uikit.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── GameViewController.h
│ │ ├── GameViewController.m
│ │ ├── main.m
│ │ ├── MetalWithStoryboard.sharpmake.cs
│ │ ├── Renderer.h
│ │ ├── Renderer.m
│ │ ├── Shaders.metal
│ │ └── ShaderTypes.h
│ ├── OpenAppStore
│ │ ├── main.mm
│ │ └── OpenAppStore.sharpmake.cs
│ ├── OpenSettings
│ │ ├── main.mm
│ │ └── OpenSettings.sharpmake.cs
│ ├── ReadAppData
│ │ ├── foobar.dat
│ │ ├── huba
│ │ │ ├── fuga.dat
│ │ │ └── hoge.dat
│ │ ├── main.mm
│ │ └── ReadAppData.sharpmake.cs
│ ├── README.md
│ ├── SampleBundle
│ │ ├── samplebundle.cpp
│ │ └── SampleBundle.sharpmake.cs
│ ├── SetBrightness
│ │ ├── main.mm
│ │ └── SetBrightness.sharpmake.cs
│ ├── ShellExec
│ │ ├── main.mm
│ │ └── ShellExec.sharpmake.cs
│ ├── ShowInFinder
│ │ ├── main.mm
│ │ └── ShowInFinder.sharpmake.cs
│ ├── SysInfo
│ │ ├── main.mm
│ │ └── SysInfo.sharpmake.cs
│ ├── ToPasteboard
│ │ ├── main.mm
│ │ └── ToPasteboard.sharpmake.cs
│ ├── XCodeProjects.CommonProject.sharpmake.cs
│ ├── XCodeProjects.CommonSolution.sharpmake.cs
│ ├── XCodeProjects.CommonTargets.sharpmake.cs
│ ├── XCodeProjects.Main.sharpmake.cs
│ └── XCodeProjects.Solution.sharpmake.cs
├── SamplesDef.json
├── Sharpmake
│ ├── Analyzer
│ │ └── Analyzer.cs
│ ├── Assembler.cs
│ ├── AttributeParsers.cs
│ ├── Attributes.cs
│ ├── BuildContext
│ │ ├── BaseBuildContext.cs
│ │ ├── ConfigureDependencyAnalyzer.cs
│ │ ├── GenerateAll.cs
│ │ ├── RedirectOutput.cs
│ │ └── RegressionTest.cs
│ ├── Builder.cs
│ ├── BuilderExtension.cs
│ ├── CommandLine.cs
│ ├── Configurable.cs
│ ├── ConfigureCollection.cs
│ ├── DebugBreaks.cs
│ ├── DebugProjectGenerator.cs
│ ├── DependencyTracker.cs
│ ├── DotNetDependency.cs
│ ├── DotNetReferenceCollection.cs
│ ├── EnumExtensions.cs
│ ├── Exception.cs
│ ├── ExtensionLoader.cs
│ ├── ExtensionMethods.cs
│ ├── FakeFileTree.cs
│ ├── FastBuildSettings.cs
│ ├── FileListFilter.cs
│ ├── FileSystemStringComparer.cs
│ ├── GeneratedAssemblyConfig.cs
│ ├── GenerationOutput.cs
│ ├── GeneratorManager.cs
│ ├── GlobalSuppressions.cs
│ ├── IAssemblerContext.cs
│ ├── ICommandLineInterface.cs
│ ├── IFastBuildCompilerSettings.cs
│ ├── IFileGenerator.cs
│ ├── IPlatformDescriptor.cs
│ ├── IResolverHelper.cs
│ ├── IWindowsFastBuildCompilerSettings.cs
│ ├── KitsRootPaths.cs
│ ├── MSBuildGlobalSettings.cs
│ ├── Options.Agde.cs
│ ├── Options.Android.cs
│ ├── Options.AndroidMakefile.cs
│ ├── Options.Clang.cs
│ ├── Options.cs
│ ├── Options.CSharp.cs
│ ├── Options.Makefile.cs
│ ├── Options.Vc.cs
│ ├── Options.XCode.cs
│ ├── PackageReferences.cs
│ ├── PackageReferences.Template.cs
│ ├── PathUtil.cs
│ ├── PlatformAttributes.cs
│ ├── PlatformEventArgs.cs
│ ├── PlatformExceptions.cs
│ ├── PlatformRegistry.cs
│ ├── PreprocessorConditionParser.cs
│ ├── Project.Configuration.cs
│ ├── Project.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── ReferenceAlias.cs
│ ├── RegexCache.cs
│ ├── Resolver.cs
│ ├── RustProject.cs
│ ├── Sharpmake.csproj
│ ├── SharpmakeExtension.cs
│ ├── Solution.Configuration.cs
│ ├── Solution.cs
│ ├── SourceAttributeParser.cs
│ ├── Strings.cs
│ ├── Target.cs
│ ├── ThreadPool.cs
│ ├── Tools.cs
│ ├── TrackedConfiguration.cs
│ ├── TrackedProject.cs
│ ├── UniqueList.cs
│ ├── Util.cs
│ └── VariableAssignment.cs
├── Sharpmake.Application
│ ├── app.manifest
│ ├── CommandLineArguments.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── Sharpmake.Application.csproj
├── Sharpmake.FunctionalTests
│ ├── FastBuildFunctionalTest
│ │ ├── codebase
│ │ │ ├── AllCppWithDotCExe
│ │ │ │ ├── hello_c.c
│ │ │ │ ├── hello_c.h
│ │ │ │ └── main.cpp
│ │ │ ├── ExplicitlyOrderedPostBuildTest
│ │ │ │ └── main.cpp
│ │ │ ├── MixCppAndCExe
│ │ │ │ ├── hello_c.c
│ │ │ │ ├── hello_c.h
│ │ │ │ └── main.cpp
│ │ │ ├── PostBuildCopyDirTest
│ │ │ │ ├── dummyfile_to_be_copied_to_buildoutput.txt
│ │ │ │ └── main.cpp
│ │ │ ├── PostBuildCopySingleFileTest
│ │ │ │ └── main.cpp
│ │ │ ├── PostBuildExecuteTest
│ │ │ │ └── main.cpp
│ │ │ ├── PostBuildStampTest
│ │ │ │ └── main.cpp
│ │ │ ├── PostBuildTestExecution
│ │ │ │ └── main.cpp
│ │ │ ├── RequirePreBuildStep
│ │ │ │ ├── execute.bat
│ │ │ │ └── main.cpp
│ │ │ ├── SimpleExeWithLib
│ │ │ │ └── main.cpp
│ │ │ ├── SimpleLib
│ │ │ │ └── simplelib.cpp
│ │ │ ├── SpanMultipleSrcDirs
│ │ │ │ ├── additional_dir
│ │ │ │ │ ├── extra_class1.cpp
│ │ │ │ │ ├── extra_class1.h
│ │ │ │ │ ├── extra_class2.cpp
│ │ │ │ │ ├── extra_class2.h
│ │ │ │ │ └── extra_file.cpp
│ │ │ │ ├── dir_individual_files
│ │ │ │ │ ├── floating_class.cpp
│ │ │ │ │ ├── floating_class.h
│ │ │ │ │ ├── floating_file.cpp
│ │ │ │ │ └── floating_file_not_used.cpp
│ │ │ │ ├── dir_not_used
│ │ │ │ │ └── not_used.cpp
│ │ │ │ ├── main_dir
│ │ │ │ │ ├── main.cpp
│ │ │ │ │ ├── util.cpp
│ │ │ │ │ └── util.h
│ │ │ │ └── temp
│ │ │ │ └── isolate_list.txt
│ │ │ └── UsePrecompExe
│ │ │ ├── main.cpp
│ │ │ ├── noprecomp_util.cpp
│ │ │ ├── noprecomp_util.h
│ │ │ ├── precomp.cpp
│ │ │ ├── precomp.h
│ │ │ ├── util.cpp
│ │ │ ├── util.h
│ │ │ ├── util_noprecomp.cpp_
│ │ │ ├── util_noprecomp_excludedbyextension.ceepeepee
│ │ │ ├── util_noprecomp_excludedbyextension.h
│ │ │ ├── util_noprecomp.h_
│ │ │ ├── util_withprecomp_weirdextension.ceecee
│ │ │ └── util_withprecomp_weirdextension.h
│ │ ├── FastBuildFunctionalTest.sharpmake.cs
│ │ └── reference
│ │ └── projects
│ │ ├── explicitlyorderedpostbuildtest_vs2019_win64.bff
│ │ ├── explicitlyorderedpostbuildtest_vs2019_win64.vcxproj
│ │ ├── explicitlyorderedpostbuildtest_vs2019_win64.vcxproj.filters
│ │ ├── fastbuildfunctionaltest_all.bff
│ │ ├── fastbuildfunctionaltest_all.vcxproj
│ │ ├── fastbuildfunctionaltest.bff
│ │ ├── fastbuildfunctionaltest-globalsettings.bff
│ │ ├── fastbuildfunctionaltest.sln
│ │ ├── mixcppandcexe_vs2019_win64.bff
│ │ ├── mixcppandcexe_vs2019_win64.vcxproj
│ │ ├── mixcppandcexe_vs2019_win64.vcxproj.filters
│ │ ├── postbuildcopydirtest_vs2019_win64.bff
│ │ ├── postbuildcopydirtest_vs2019_win64.vcxproj
│ │ ├── postbuildcopydirtest_vs2019_win64.vcxproj.filters
│ │ ├── postbuildcopysinglefiletest_vs2019_win64.bff
│ │ ├── postbuildcopysinglefiletest_vs2019_win64.vcxproj
│ │ ├── postbuildcopysinglefiletest_vs2019_win64.vcxproj.filters
│ │ ├── postbuildexecutetest_vs2019_win64.bff
│ │ ├── postbuildexecutetest_vs2019_win64.vcxproj
│ │ ├── postbuildexecutetest_vs2019_win64.vcxproj.filters
│ │ ├── postbuildstamper_vs2019_win64.bff
│ │ ├── postbuildstamper_vs2019_win64.vcxproj
│ │ ├── postbuildstamper_vs2019_win64.vcxproj.filters
│ │ ├── postbuildstamptest_vs2019_win64.bff
│ │ ├── postbuildstamptest_vs2019_win64.vcxproj
│ │ ├── postbuildstamptest_vs2019_win64.vcxproj.filters
│ │ ├── postbuildtestexecution_vs2019_win64.bff
│ │ ├── postbuildtestexecution_vs2019_win64.vcxproj
│ │ ├── postbuildtestexecution_vs2019_win64.vcxproj.filters
│ │ ├── requireprebuildstep_vs2019_win64.bff
│ │ ├── requireprebuildstep_vs2019_win64.vcxproj
│ │ ├── requireprebuildstep_vs2019_win64.vcxproj.filters
│ │ ├── simpleexewithlib_vs2019_win64.bff
│ │ ├── simpleexewithlib_vs2019_win64.vcxproj
│ │ ├── simpleexewithlib_vs2019_win64.vcxproj.filters
│ │ ├── simplelib_vs2019_win64.bff
│ │ ├── simplelib_vs2019_win64.vcxproj
│ │ ├── simplelib_vs2019_win64.vcxproj.filters
│ │ ├── spanmultiplesrcdirsfbnoblobexclude_vs2019_win64.bff
│ │ ├── spanmultiplesrcdirsfbnoblobexclude_vs2019_win64.vcxproj
│ │ ├── spanmultiplesrcdirsfbnoblobexclude_vs2019_win64.vcxproj.filters
│ │ ├── spanmultiplesrcdirsfbnoblobinclude_vs2019_win64.bff
│ │ ├── spanmultiplesrcdirsfbnoblobinclude_vs2019_win64.vcxproj
│ │ ├── spanmultiplesrcdirsfbnoblobinclude_vs2019_win64.vcxproj.filters
│ │ ├── spanmultiplesrcdirsfbunityexclude_vs2019_win64.bff
│ │ ├── spanmultiplesrcdirsfbunityexclude_vs2019_win64.vcxproj
│ │ ├── spanmultiplesrcdirsfbunityinclude_vs2019_win64.bff
│ │ ├── spanmultiplesrcdirsfbunityinclude_vs2019_win64.vcxproj
│ │ ├── spanmultiplesrcdirsfbunityisolate_vs2019_win64.bff
│ │ ├── spanmultiplesrcdirsfbunityisolate_vs2019_win64.vcxproj
│ │ ├── useprecompexe_vs2019_win64.bff
│ │ ├── useprecompexe_vs2019_win64.vcxproj
│ │ └── useprecompexe_vs2019_win64.vcxproj.filters
│ ├── NoAllFastBuildProjectFunctionalTest
│ │ ├── codebase
│ │ │ ├── LibA
│ │ │ │ ├── LibA.cpp
│ │ │ │ └── LibA.h
│ │ │ ├── LibB
│ │ │ │ ├── LibB.cpp
│ │ │ │ └── LibB.h
│ │ │ ├── LibC
│ │ │ │ ├── LibC.cpp
│ │ │ │ └── LibC.h
│ │ │ ├── MainProject
│ │ │ │ └── main.cpp
│ │ │ ├── TestsA
│ │ │ │ └── TestsA.cpp
│ │ │ ├── TestsB
│ │ │ │ └── TestsB.cpp
│ │ │ └── TestsC
│ │ │ └── TestsC.cpp
│ │ └── NoAllFastBuildProjectFunctionalTest.sharpmake.cs
│ ├── OnlyNeededFastBuildTest
│ │ ├── codebase
│ │ │ ├── SomeExeWithLib
│ │ │ │ └── main.cpp
│ │ │ ├── SomeLib
│ │ │ │ └── somelib.cpp
│ │ │ └── SomeStandaloneExe
│ │ │ └── main.cpp
│ │ └── OnlyNeededFastBuildTest.sharpmake.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Sharpmake.FunctionalTests.csproj
│ └── SharpmakePackageFunctionalTest
│ ├── codebase
│ │ └── SimpleProject
│ │ └── SimpleProject.cs
│ ├── SharpmakePackageFunctionalTest.sharpmake.cs
│ └── SharpmakePackage.sharpmake.cs
├── Sharpmake.Generators
│ ├── Apple
│ │ ├── XCodeProj.cs
│ │ ├── XCodeProj.Template.cs
│ │ ├── XCode.Util.cs
│ │ ├── XCWorkspace.cs
│ │ └── XCWorkspace.Template.cs
│ ├── CompilerSettings.cs
│ ├── FastBuild
│ │ ├── Bff.cs
│ │ ├── Bff.Template.cs
│ │ ├── Bff.Util.cs
│ │ ├── IBffGenerationContext.cs
│ │ ├── IClangPlatformBff.cs
│ │ ├── IMicrosoftPlatformBff.cs
│ │ ├── IPlatformBff.cs
│ │ └── MasterBff.cs
│ ├── FileGenerator.cs
│ ├── FileGeneratorUtilities.cs
│ ├── GeneratorManager.cs
│ ├── Generic
│ │ ├── JsonCompilationDatabase.cs
│ │ ├── MakeApplication.cs
│ │ ├── MakeApplication.Template.cs
│ │ ├── Makefile.cs
│ │ ├── Makefile.Template.cs
│ │ ├── MakeProject.cs
│ │ └── MakeProject.Template.cs
│ ├── IGenerationContext.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Sharpmake.Generators.csproj
│ ├── VisualStudio
│ │ ├── Androidproj.cs
│ │ ├── Androidproj.Template.cs
│ │ ├── Csproj.cs
│ │ ├── Csproj.Template.cs
│ │ ├── IPlatformVcxproj.cs
│ │ ├── IVcxprojGenerationContext.cs
│ │ ├── LaunchSettingsJson.cs
│ │ ├── PackagesConfig.cs
│ │ ├── PackagesConfig.Template.cs
│ │ ├── ProjectJson.cs
│ │ ├── ProjectJson.Template.cs
│ │ ├── ProjectOptionsGenerator.cs
│ │ ├── Pyproj.cs
│ │ ├── Pyproj.Template.cs
│ │ ├── Sln.cs
│ │ ├── Sln.Template.cs
│ │ ├── UserFile.cs
│ │ ├── Vcxproj.cs
│ │ ├── Vcxproj.Template.cs
│ │ ├── VsProjCommon.cs
│ │ ├── VsProjCommon.Template.cs
│ │ └── VsUtil.cs
│ └── XmlFileGenerator.cs
├── Sharpmake.Platforms
│ └── Sharpmake.CommonPlatforms
│ ├── Android
│ │ ├── AndroidAgdePlatform.Bff.Template.cs
│ │ ├── AndroidAgdePlatform.cs
│ │ ├── AndroidFragments.cs
│ │ ├── AndroidPlatformAgde.Vcxproj.Template.cs
│ │ ├── AndroidPlatform.cs
│ │ ├── AndroidPlatform.Vcxproj.Template.cs
│ │ ├── GlobalSettings.cs
│ │ └── Util.cs
│ ├── Apple
│ │ ├── BaseApplePlatform.Bff.Template.cs
│ │ ├── BaseApplePlatform.cs
│ │ ├── iOsPlatform.cs
│ │ ├── MacCatalystPlatform.cs
│ │ ├── MacOsPlatform.cs
│ │ ├── tvOsPlatform.cs
│ │ └── watchOsPlatform.cs
│ ├── BaseMicrosoftPlatform.cs
│ ├── BaseMicrosoftPlatform.Vcxproj.Template.cs
│ ├── BasePlatform.cs
│ ├── BasePlatform.Vcxproj.Template.cs
│ ├── DefaultPlatform.cs
│ ├── DotNetPlatform.cs
│ ├── Linux
│ │ ├── GlobalSettings.cs
│ │ ├── LinuxOptions.cs
│ │ ├── LinuxPlatform.Bff.Template.cs
│ │ ├── LinuxPlatform.cs
│ │ └── LinuxPlatform.Vcxproj.Template.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Sharpmake.CommonPlatforms.csproj
│ └── Windows
│ ├── BaseWindowsPlatform.cs
│ ├── ClangForWindowsSettings.cs
│ ├── Win32Platform.cs
│ ├── Win64EnvironmentVariableResolver.cs
│ └── Win64Platform.cs
├── Sharpmake.sln
├── Sharpmake.sln.DotSettings
├── Sharpmake.UnitTests
│ ├── BffUnityResolverTest.cs
│ ├── CommandLineTest.cs
│ ├── ConfigureAttributesTest.cs
│ ├── CSharpDependencyPropagationTest.cs
│ ├── CsprojTest.cs
│ ├── DependencyPropagationTest.cs
│ ├── DotNetReferenceCollectionTest.cs
│ ├── JsonSerializerTest.cs
│ ├── KitsRootPathsTests.cs
│ ├── OrderableStringsTests.cs
│ ├── PackageReferencesTest.cs
│ ├── ResolverTest.cs
│ ├── SharpmakeFileParserTest.cs
│ ├── Sharpmake.UnitTests.csproj
│ ├── StringsTests.cs
│ ├── TargetTests.cs
│ ├── TestFileGenerator.cs
│ ├── TestProjectBuilder.cs
│ ├── TestsSetup.cs
│ ├── TestXcodeProjectGenerator.cs
│ ├── UniqueListTests.cs
│ └── UtilTest.cs
├── tools
│ └── FastBuild
│ ├── LICENSE.TXT
│ ├── Linux-x64
│ │ └── fbuild
│ ├── OSX-x64
│ │ └── FBuild
│ └── Windows-x64
│ └── FBuild.exe
└── UpdateSamplesOutput.bat
343 directories, 929 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论