Skip to content

Premake4 with Embarcadero RAD Studio/C++Builder support

License

Notifications You must be signed in to change notification settings

benok/premake4-radstudio

 
 

Repository files navigation

Premake-4.x with Embarcadero RAD Studio support

Summary

  • Generates groupproj/cbproj for RAD Studio.
  • Supports RAD Studio 10-12, XE-XE3, 2010.
    • XE4-XE8 are omitted now, but almost all difference is generated ProductVersion number.
      • Most of codes are developped in 2012(XE3 era. please check "author date" with git log), I've just added 10 Settle .. 11 Alexandria support.
  • Supports Win32/Win64 architecture only.
  • If you choose WindowedApp, generates VCL application cbproj.
  • No vpath, Native support.
  • No unit tests included.

Supported Actions for RadStudio

Actions added to original prameke4 is below(extracted from premake4 --help).

 rs100             Generate Embarcadero RAD Studio 10 Seattle project files
 rs101             Generate Embarcadero RAD Studio 10.1 Berlin project files
 rs102             Generate Embarcadero RAD Studio 10.2 Tokyo project files
 rs103             Generate Embarcadero RAD Studio 10.3 Rio project files
 rs104             Generate Embarcadero RAD Studio 10.4 Sydney project files
 rs110             Generate Embarcadero RAD Studio 11 Alexandria project files
 rs120             Generate Embarcadero RAD Studio 12 Athens project files
 rs2010            Generate Embarcadero RAD Studio 2010 project files
 rsxe              Generate Embarcadero RAD Studio XE project files
 rsxe2             Generate Embarcadero RAD Studio XE2 project files
 rsxe3             Generate Embarcadero RAD Studio XE3 project files

Additonal options for RadStudio support

Bcc_UseNewCompiler flag

If specified, Win32 compiler use new clang based compiler.

configuration { "rs*", "x32" }
    flags { "BccUseNewCompiler" }

bcc_disable_warnings

  • Works with classic Win32 comipler.
  • Specify warnings by command line option's id.
configuration { "rs*", "x32" }
  bcc_disable_warnings {
    "whid", -- W8022: 'function1' hides virtual function 'function2' (-w-hid)
    "wccc", -- W8008: Condition is always true OR Condition is always false (-w-ccc)
    "wpch", -- W8058: Cannot create pre-compiled header 'reason' (-w-pch)
    "wpar", -- W8057: Parameter 'parameter' is never used (-w-par)
    "wrch", -- W8066: Unreachable code (-w-rch)
    "wpia", -- W8060: Possibly incorrect assignment (-w-pia)
    "wmls", -- W8104: Local Static with constructor dangerous for multi-threaded apps (-w-mls)
    "waus", -- W8004: 'identifier' is assigned a value that is never used (-w-aus)
  }    

bcc_clang_options, bcc_clanc_c_options, bcc_clang_cpp_options

configuration { "rs*", "x64" }    
  bcc_clang_options {
    "-fdiagnostics-show-option",
    "-Wno-deprecated-writable-strings",
  }

configuration { "rs104", "x64" }
  bcc_clang_cpp_options {
    "-std=c++14"
  }

How to develop, debug

About

Premake4 with Embarcadero RAD Studio/C++Builder support

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Lua 44.7%
  • C 33.9%
  • HTML 19.8%
  • Makefile 0.8%
  • Roff 0.7%
  • Batchfile 0.1%