Skip to content
This repository has been archived by the owner on Sep 1, 2022. It is now read-only.

Add support for generate(BISON) and generate(FLEX) #28

Closed
bruxisma opened this issue Aug 31, 2019 · 1 comment
Closed

Add support for generate(BISON) and generate(FLEX) #28

bruxisma opened this issue Aug 31, 2019 · 1 comment
Assignees
Labels
✨ enhancement ✨ New feature or request modules 🔮 Public API packages 📦 Find Package Support tools 🛠️ Tooling Support

Comments

@bruxisma
Copy link
Member

The current find_package(BISON) implementation leaves a lot to be desired. We could do way better by supporting a generate(BISON) command. This will also have to work in conjunction with a generate(FLEX) command as well. The actual work for this might be pushed until after the pre-alpha release.

@bruxisma bruxisma added ✨ enhancement ✨ New feature or request packages 📦 Find Package Support modules 🔮 Public API tools 🛠️ Tooling Support labels Aug 31, 2019
@bruxisma bruxisma added this to the IXM Alpha Release milestone Aug 31, 2019
@bruxisma bruxisma self-assigned this Aug 31, 2019
@bruxisma bruxisma added this to To do in Alpha Release Aug 31, 2019
bruxisma added a commit that referenced this issue Sep 3, 2019
✨ Add Introspection API (Closes #19)
  Commands provided are "locals", "macros", "commands", and "functions".
  Each can be passed `REMOVE` or `KEEP` and this is used to filter the
  output from the commands.

:sparkles: inspect is now a macro
  This fixes the issue where ARGN can't be reached from the calling
  scope.

:sparkles: Add target(SOURCES) command
  This replaces the previous target_sources override. This will reduce
  the chances of name collision with builtin CMake commands.

:sparkles: Add `void` macro
  This unsets all arguments passed to it in the current calling scope

:construction: Add FindBison and FindFlex files
  This will help with #28. They are also meant to replace the fairly old
  and unmaintained FindBISON and FindFLEX CMake packages.

:truck: Move `dict()` command to API::Core (#15)
:truck: Move part of `log()` command to API::Core (#15)
:truck: Rename API::Author to API::Core (#15)

:fire: `dict(INSERT STRING)` is now `dict(INSERT CONCAT)`

:construction: Add target(COMPILE) skeleton (#18)
:construction: Add target(INTERFACE) skeleton (#18)
:construction: Add target(LIBRARY) skeleton (#18)
:construction: Add target(UNITY) skeleton (#18)
:construction: Add target(PLUGIN) skeleton (#18)
:construction: Add target(TEST) skeleton (#18)
:construction: Add target(PROGRAM) skeleton(#18)

:pencil: Removed Patreon link (as this is planned to be shutdown at some
point)
@bruxisma
Copy link
Member Author

These are being moved into specific modules so that if users want something beyond what IXM does by default, they can instead use find_package(Bison) (as opposed to find_package(BISON)), and then use add_bison_target. Documentation is forthcoming, but having this generate() call turned out to be a bust in terms of flexibility in the end :/

@bruxisma bruxisma removed this from To do in Alpha Release Feb 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
✨ enhancement ✨ New feature or request modules 🔮 Public API packages 📦 Find Package Support tools 🛠️ Tooling Support
Projects
None yet
Development

No branches or pull requests

1 participant