premake-core: Complex macro regression for gmake/codelite

What seems to be the problem?

Complex MACRO are broken at least with gmake/codelite in premake5 whereas they worked in premake4

defines {'COMPLEX_MACRO="void f() {}"'} (want to define function, not a string)

What did you expect to happen? That the macro is correctly transcript in generators.

so gcc -DCOMPLEX_MACRO="void f() {}"

What have you tried so far?

Workaround for gmake is to remove quote defines {'COMPLEX_MACRO=void f() {}'} but still produces error on codelite.

I might be ok with that syntax (but different behavior in premake4) as long as all generator accept it.

How can we reproduce this?

I have created https://github.com/Jarod42/premake-sample-projects on that purpose. it is project-01

What version of Premake are you using?

dev version of premake5 (taken by github action checkout) (and the one from apt-get install for premake4)

About this issue

  • Original URL
  • State: open
  • Created 4 years ago
  • Comments: 19 (19 by maintainers)

Most upvoted comments

I tested both buildoptions and defines. Premake should handle both (up to you to prioritize bug resolution though 😉 ) It is easier for me to use -D in buildoptions for testing purpose.