Implement two metaflags for minimal bulds#168
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR introduces two metaflags to enable minimal builds of EXP, reducing unnecessary install targets for specific use cases. The metaflags allow users to compile only the libraries needed for either basic EXP support or Python bindings.
- Adds
ENABLE_MINIMALflag to compile only core support libraries (libexpuiandlibexputils) - Adds
ENABLE_PYEXP_ONLYflag to compile only libraries needed for thepyEXPPython module - Conditionalizes utility compilation with
ENABLE_UTILSflag
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| CMakeLists.txt | Adds two new metaflags (ENABLE_MINIMAL and ENABLE_PYEXP_ONLY) that configure other build options, and conditionalizes subdirectory builds |
| expui/CMakeLists.txt | Wraps utility executable compilation in ENABLE_UTILS conditional block |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
Thanks! Everything looks good to me; with |
|
Looks great to me -- no build problems here for me either, so I'll merge this in. |
The issue
Default builds of EXP for applications or pyEXP only has too many unnecessary install targets.
Proposed solution
Enabled two CMake flags that allow flavors of minimal bulds
ENABLE_MINIMALcompiles onlylibexpuiandlibexputilsand necessary submodule librarires with no binaries, etc.ENABLE_PYEXP_ONLYcompiles only the libraries needed for thepyEXPmodule with no binariesTests
ENABLE_MINIMALworks with the current Gala interfaceENABLE_PYTHON_ONLYprovides a complete and workingpyEXPmodule