Skip to content

Latest commit

 

History

History
118 lines (108 loc) · 17.2 KB

File metadata and controls

118 lines (108 loc) · 17.2 KB

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 ℹ️1 Codelite Ninja Msvc vs2019 Msvc vs2022 xcode4 CodeBlocks CMake premake-ninja qmake
Premake5 ubuntu gmake badgePremake5 windows gmake badge Premake5 ubuntu codelite badge premake5 ubuntu Ninja core badgepremake5 windows Ninja core badge Premake5 windows msvc 2019 badge Premake5 windows msvc 2022 badge Premake5 mac_xcode4 badge Premake5 ubuntu codeblocks badge Premake5 ubuntu cmake badgePremake5 ubuntu cmake badge Premake5 ubuntu ninja badgePremake5 window ninja badge Premake5 ubuntu qmake badge
location ✔️ ✔️ ✔️ ✔️ ✔️ ✔️⚠️2 ✔️ ✔️ ✔️
targetdir ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
targetname ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
objdirℹ️34 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ 5 ✔️
files ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
includedirs ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
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 ✔️ ✔️ ✔️ ✔️ ❌(Fixed) ⚠️8 ✔️ (Fixed) ✔️
custom build ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️⚠️910 ✔️ (Fixed) ✔️
custom rule ✔️ ✔️ ✔️ ✔️ ✔️ ✔️⚠️10 ✔️ (Fixed) ✔️
disablewarnings ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
enablewarnings ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
fatalwarnings ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
per-file config ✔️ ✔️ ✔️ ✔️ ⚠️10 ✔️
buildaction "Copy" ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
buildaction "None" ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
excludefrombuild 'On' ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
toolset "clang" ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
toolset "gcc" ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
toolset "msc" ✔️ ✔️ ✔️ ✔️
language "C#" ✔️ ✔️
compileas ✔️ ✔️ ✔️ ✔️ ⚠️10 ✔️
dependson ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
nuget ✔️ ✔️
linkgroups ✔️ ✔️ ✔️ ℹ️ 11 ⛔ ℹ️ 11 ⛔ ℹ️11 ✔️ ⚠️ 12 ✔️(Fixed) ✔️ ⚠️13 ✔️ ℹ️ 11
wholearchive ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
externalproject ✔️ ✔️
openMP ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
sanitize {"Address"} ✔️ ✔️ ✔️ ✔️ ✔️ ✔️(Fixed) ✔️
structmemberalign ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Duplicated source filename ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
response file (Long link command line) ✔️ ✔️ ✔️ ✔️ ✔️
unsignedchar ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
clangtidy ✔️ ✔️ ✔️ ⚠️ 14:

Qt's projects:

gmake ℹ️1 Codelite Ninja Msvc vs2019 Msvc vs2022 xcode4 CodeBlocks CMake premake-ninja qmake ℹ️15
qt gmake2 badge qt Codelite badge qt Ninja core 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. ℹ️ https://github.com/premake/premake-core/pull/2408 renames gmake2 into gmake 2

  2. ⚠️ project location != workspace/solution location unsupported though.

  3. ℹ️ premake appends extra $(configName)/$(AppName).

  4. ℹ️ Not tested by the CI even if projects uses them.

  5. ⛔ cmake doesn't allow to specify objdir.

  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. ℹ️ msc doesn't need linkgroups, so "On"/"Off" acts identically 2 3 4

  11. ⚠️ xcode4 doesn't support linkgroups "Off"

  12. ⚠️ premake-cmake doesn't support linkgroups "Off"

  13. ⚠️ premake-ninja doesn't support clang-tidy with msc

  14. ℹ️ qmake handles Qt natively, so premake-qt is disabled. 2