premake / premake/premake-core

Filter projects and other "container" commands

Open
#206 14 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C
Stars
3.6k
Forks
654
Avg merge
1d 1h
Merged PRs (30d)
13

Description

StackOverflow thread: http://stackoverflow.com/questions/31675324/how-to-prevent-a-project-from-being-generated

It would be nice to be able to tell premake to generate a project or solution under certain conditions.
Those condition could be specified just like filters.

For example, a project could have a "containerfilter" command above it, and every following premake command would be ignored until a new "project" or "containerfilter" command comes up (pseudo names, just to get the idea).

On my side, I had a solution for an application and a lot of projects, some of them being modules only present under certain OSes. Currently I'm forced to implement some kind of big if blocks / hardcoding to prevent them from being generated, but it's not as pretty as it could be with Premake IMHO :)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing Premake's existing filter handling and the project and solution container commands described in the issue. Determine how a conditional container would affect following commands, then verify that projects can be included or skipped by conditions without requiring large hardcoded if blocks.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, lua
Domain
build-system, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.