-
Notifications
You must be signed in to change notification settings - Fork 171
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update doc to mention Sharpmake Extended layout
- Loading branch information
1 parent
cefaf48
commit 6164c85
Showing
8 changed files
with
104 additions
and
128 deletions.
There are no files selected for viewing
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,17 @@ | ||
## Contributing | ||
# Contributing | ||
|
||
### Tests | ||
## Tests | ||
|
||
We will only accept merge requests that pass every tests. The unit tests are written with NUnit and the regression tests are ran by comparing the samples' output with a reference output. You can run the regression_tests.py script after having built the solution in Visual Studio to run the regression tests. | ||
We will only accept merge requests that pass all tests. The unit tests are written with NUnit and the regression tests are ran by comparing the samples' output with a reference output. You can run the `regression_tests.py` script after having built the solution in Visual Studio to run the regression tests. | ||
|
||
Because the regression tests just do a direct comparison with the output, it is possible to get a false negative after having done a good change. In that case, please update the tests so they match the output after your change. You can run the UpdateSamplesOutput.bat and UpdateSharpmakeProjects.bat batch files to automatically overwrite the reference output files. | ||
Because the regression tests just do a direct comparison with the output, it is possible to get a false negative after having done a good change. In that case, please update the tests so they match the output after your change. You can run the `UpdateSamplesOutput.bat` batch files to automatically overwrite the reference output files. | ||
|
||
Naturally, we also recommend that you put your own tests after fixing a bug or adding a feature to help us avoid regressions. | ||
|
||
Functional tests are generating test projects and building them to test functionality | ||
Functional tests are generating test projects and building them to test functionality. | ||
|
||
used toolset for functional tests: | ||
## Additional Platforms | ||
|
||
tools\FastBuild - v1.01. http://www.fastbuild.org | ||
If you want to add support for an additional platform, please make sure that the platform is open and not tied to any NDA. Ubisoft has not published platform support for most video game consoles for that exact reason. | ||
|
||
### Additional Platforms | ||
|
||
If you want to add support for an additional platform, please make sure that the platform is open and that you are not breaking your NDA. Ubisoft has not published platform support for most video game consoles for that exact reason. We will not accept merge requests for new platforms that are not completely open for development. | ||
We will not accept merge requests for new platforms that are not completely open for development. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Platforms | ||
|
||
## Open Platforms | ||
|
||
Sharpmake ships with the platform extension *Sharpmake.CommonPlatforms.dll*. This is a .NET class library that contains everything you need to generate Visual Studio solutions for C++, C#, and C++/CLI code for Windows. Sharpmake also has support for generating Xcode and GNU Make-based projects for Mac and Linux. | ||
|
||
## NDA Platforms | ||
|
||
Sharpmake was originally designed with built-in support for generating projects and solutions for video game consoles, which are platforms under strict NDA and private SDKs. | ||
|
||
In order to release Sharpmake to the open-source community, these platforms have been removed from the code base and an extension mechanism have been created to allow developers to add them back at runtime. | ||
|
||
If you are an *authorized developer* outside of Ubisoft and would like to try Sharpmake to generate projects for Microsoft, Nintendo or Sony platforms, please contact one of the Sharpmake maintainers through the first party developer forums. | ||
|
||
## Referencing platforms from scripts | ||
|
||
Platforms are compiled as ordinary .NET class libraries that are referenced into Sharpmake script. Because scripts are standalone though, there is no `.csproj` to add that reference to. Instead, you specify a platform reference with the `Sharpmake.Reference` module attribute: | ||
|
||
```csharp | ||
[module: Reference("<path-of-your-platform>.dll")] | ||
``` | ||
|
||
Sharpmake will look for DLL files in the executable's directory, although a relative path from the executable should work. | ||
|
||
Please note that *Sharpmake.CommonPlatforms.dll* is always referenced, so putting `[module: Reference("Sharpmake.CommonPlatforms.dll")]` in your scripts is redundant. | ||
|
||
There is no problem referencing platforms directly from scripts. The platform system is designed to isolate Sharpmake itself from the platforms, not the scripts. |