Skip to content

Jarod42/premake-sample-projects

Repository files navigation

Sample projects for integration testing premake4/premake5 and some modules

Results

Premake4's core

Results for Premake4's core

Premake5's core and Modules

Generator modules:

gmake gmake2 Codelite Msvc vs2019 Msvc vs2022 xcode4 CodeBlocks CMake Ninja qmake
Premake5 ubuntu gmake badge Premake5 ubuntu gmake2 badgePremake5 windows gmake2 badge Premake5 ubuntu codelite badge Premake5 windows msvc 2019 badge Premake5 windows msvc 2022 badge Premake5 mac_xcode4 badge Premake5 ubuntu codeblocks badge Premake5 ubuntu cmake badge Premake5 ubuntu ninja badgePremake5 window ninja badge Premake5 ubuntu qmake badge
location ✔️ ✔️ ✔️ ✔️ ✔️ ✔️1 ✔️ ✔️ ✔️
targetdir ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
targetname ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
objdir23 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ 4 ✔️
files ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
includedirs ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
sysincludedirs5 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ (Fixed) ✔️ ✔️
externalincludedirs ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️(Fixed) ✔️ ✔️
includedirsafter ✔️ ✔️ ✔️ ✔️ ✔️ 6 ✔️ ✔️(Fixed) ✔️
forceincludes ✔️ ✔️ ✔️ ✔️ ✔️ 7 ✔️ ✔️ (Fixed) ✔️
defines ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
undefines ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
buildoptions ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
kind "ConsoleApp" ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
kind "SharedLib" ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ (Fixed) ✔️ ✔️
kind "StaticLib" ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ (Fixed) ✔️ ✔️
kind "None" ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Pch ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Pre/post build ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ (Fixed) ✔️
Prelinkcommand ✔️8 ✔️ ✔️ ✔️ ✔️(Fixed)8 ✔️ (Fixed) ✔️
custom build ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️910 ✔️ (Fixed) ✔️
custom rule ✔️ ✔️ ✔️ ✔️ ✔️10 ✔️ (Fixed) ✔️
per-file config ✔️ ✔️ ✔️ 10 ✔️
buildaction "Copy" ✔️ ✔️ ✔️ ✔️ ✔️
buildaction "None" ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
flags {"ExcludeFromBuild"} ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
toolset "clang" ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
toolset "gcc" ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
toolset "msc" ✔️ ✔️ ✔️
compileas ✔️ ✔️ ✔️ 10 ✔️
dependson ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
nuget ✔️ ✔️
linkgroups ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️(Fixed) ✔️ ✔️
externalproject ✔️ ✔️
openMP ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
sanitize {"Address"} ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️(Fixed) ✔️
Duplicated source filename ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Qt's projects:

gmake gmake2 Codelite Msvc vs2019 Msvc vs2022 xcode4 CodeBlocks CMake Ninja qmake11
qt gmake badge qt gmake2 badge qt Codelite badge qt msvc badge qt msvc badge qt xcode badge qt codeblocks badge qt cmake badge qt ninja badge qt qmake badge
basic ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
moc ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️10 ✔️ ✔️ ✔️
qrc ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️10 ✔️ ✔️ ✔️
ts ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️10 ✔️ ✔️
uic ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Footnotes

  1. project location != workspace/solution location unsupported though.

  2. premake appends extra $(configName)/$(AppName).

  3. Not tested by the CI even if projects uses them.

  4. cmake doesn't allow to specify objdir.

  5. sysincludirs has been deprecated by externalincludedirs.

  6. Reported issue: https://github.com/premake/premake-core/issues/2062

  7. Reported issue: https://github.com/premake/premake-core/issues/1769

  8. Code::Blocks doesn't support generation of linkable cpp files from header files.

  9. Code::Blocks doesn't support rules/custom builds which are different by configuration (Using Tokens might allow to bypass that restriction). 2 3 4 5 6 7

  10. qmake handles Qt natively, so premake-qt is not enabled. 2

About

Premake sample projects to easily test generators

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published