Merge pull request #1826 from nickclark2016/issues/1818

Added documentation for static and shared linking suffixes
This commit is contained in:
Kyriet 2022-03-30 09:21:50 +02:00 committed by GitHub
commit 5b69a5555f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -59,6 +59,19 @@ filter { "system:macosx" }
files "**.cpp"
```
You may specify the linking mechanism explicitly for each library. To set the link type of a library explicitly, add a `:static` or `:shared` suffix to the library. Note that this functionality is only available for the `gcc` and `clang` toolsets.
```lua
workspace "MyWorkspace"
configurations { "Debug", "Release" }
language "C++"
project "MyExecutable"
kind "ConsoleApp"
files "**.cpp"
links { "LibraryA:static", "LibraryB:shared" }
```
You may also create links between non-library projects. In this case, Premake will generate a build dependency (the linked project will build first), but not an actual link. In this example, MyProject uses a build dependency to ensure that MyTool gets built first. It then uses MyTool as part of its build process.
```lua