awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
premake avatar

premake/premake-core

0
View on GitHub↗
3,566 stars·646 forks·C·bsd-3-clause·6 vuespremake.github.io↗

Premake Core

Premake is a build system generator and cross-platform build configuration tool. It functions as a scripting engine that transforms scripted workspace definitions into native project files for multiple build toolsets and compilers. Additionally, it can generate JSON-formatted compilation databases for use with language servers and static analysis tools.

The project distinguishes itself through a programmable runtime that allows for internal function hooking and the interception of build logic. This extensibility enables users to create custom toolset generators, implement modular extensions for new compilers or IDEs, and modify the project generation sequence.

The system covers a broad range of build configuration capabilities, including the management of compiler flags, linker settings, and project hierarchies. It provides tools for automating build pipelines via custom shell commands, managing dependency propagation, and handling cross-platform path normalization.

The tool integrates HTTP and HTTPS requests directly into the configuration process to automate the retrieval of remote assets and external dependencies.

Features

  • Build Configuration Languages - Uses a domain-specific scripting language to define workspaces, compiler flags, and linker settings instead of manual IDE configuration.
  • Build System Abstractions - Functions as a meta-build system that generates native project files for multiple different build systems and platforms.
  • IDE Project Generators - Transforms scripted project definitions into native project files for a wide variety of IDEs and compilers.
  • Project File Generators - Implements a script-based system that generates project files for various IDEs and build toolsets.
  • Automation Scripting Engines - Provides a programmable runtime for executing scripts that automate the creation of project hierarchies and build settings.
  • Cross-Platform Build Systems - Automates the configuration of software to be compiled across different operating systems and hardware architectures.
  • Compiler Flag Customization - Provides interfaces for setting compiler flags and target architectures on a per-project or per-file basis.
  • Compilation Setting Configuration - Offers a unified scripting interface to specify compiler options and platform flags to control code processing.
  • Cross-Platform Build Systems - Manages hardware and operating system variations by defining platform-specific build axes and toolset requirements.
  • Build Target Definitions - Allows users to define build target artifacts, including source files, languages, and output types for binaries.
  • Cross-Platform Path Manipulation - Resolves absolute paths and normalizes path separators to ensure consistency across different operating systems.
  • Custom Toolset Generators - A functionality that transforms scripted definitions into compatible files for various build toolsets and editors.
  • Build Property Propagation - Tracks how include directories and library requirements flow from a defining project to its recursive consumers.
  • Programmable Build Logic - Provides a programmable runtime to execute complex build logic and file management during project configuration.
  • Source File Management - Implements a system for specifying the code and resource files to be included in a build using paths or recursive wildcards.
  • Workspace Configurations - Offers a scripting interface to define workspaces and project configurations for software build processes.
  • Workspace Container Management - Implements top-level workspace containers that manage shared configurations and global settings inherited by projects.
  • Project Hierarchies - Uses a scripted inheritance model to organize source files and settings into nested workspaces and projects.
  • Function Hooking - Implements a programmable runtime that allows hooking into internal functions to alter execution flow and add new actions.
  • Domain Specific Languages - Uses a custom scripting language to describe project hierarchies and build settings instead of static configuration files.
  • Embedded Scripting Extensions - Uses an embedded scripting language to define project structures and automate the build configuration process.
  • Global and Project Scopes - Organizes build settings into global and project scopes to share common values across multiple targets.
  • Conditional Build Configuration - Supports targeting project settings to specific build configurations or platforms using matching patterns.
  • Hierarchical Configuration Systems - Implements a workspace and project nesting structure to inherit and override build settings across multiple targets.
  • Library Dependency Managers - Defines include directories and library search paths to ensure external dependencies are correctly located during linking.
  • Language and Framework Support Modules - Allows extending the build system with modular support for new languages and frameworks through add-on modules.
  • Build Configuration Mappings - A system for translating global workspace configurations to project-specific values and restricting profile application.
  • Custom Build Hooks - Allows the addition of shell commands or executable calls to handle non-standard compilation steps.
  • Custom Build Rules - Provides a system for specifying custom build actions and dependencies to control compilation and linking.
  • Scripted Logic Overrides - Provides a scripting environment to overwrite internal functions and call arrays to modify project processing.
  • Build Output Directories - Provides functionality to define and manage the directories where generated workspace and project files are stored.
  • Reusable Compilation Property Sets - Implements named sets of build properties to share consistent compiler and linker settings across targets.
  • Command Flag Configurations - Provides a system for defining user-configurable flags and enumerated lists that trigger specific configuration logic.
  • Command Line Extensions - Allows the definition of named custom commands that execute specific internal functions when triggered via CLI.
  • Compilation Database Generators - Produces JSON-formatted compilation databases to provide language servers and static analysis tools with project structure information.
  • Library Search Paths - Allows developers to define the directories where the build system searches for library files during the linking phase.
  • Reusable Build Instructions - Provides a system for creating reusable sets of build instructions that apply across multiple projects or targets.
  • Platform Axes - Establishes configuration axes to handle variations in target hardware or operating systems.
  • Cross-Platform Scripting Runtimes - Enables scripting of portable command-line actions for installation and cleanup tasks across different operating systems.
  • Reusable Build Parameters - A system for defining reusable sets of build and link parameters in functions to ensure consistency across projects.
  • Task Automation Scripts - Provides a runtime for executing portable automation scripts to handle maintenance tasks like source checkouts and packaging.
  • Third-Party Toolset Integrations - Allows integrating third-party scripts to extend the build system with support for new toolsets and languages.
  • Build Automation - Provides a system for configuring pre-build and post-build commands and custom build rules to automate the build process.
  • Per-File Build Settings - Allows assigning specific build settings and configurations to individual files instead of applying them globally.
  • Project Metadata Specifications - Provides a system for specifying project names and target directories to organize generated build files.
  • Static Linking Configurations - Provides capabilities for specifying the libraries, frameworks, and search directories required for linking the final binary.
  • Build System Extensibility - Enables the addition of custom build logic and new output formats through modular extensions and action handlers.
  • Platform Support - Enables the definition of new target platforms within scripts to tailor output for specific hardware.
  • Build-Time Optimization Configuration - Provides capabilities for setting up precompiled headers and toggling optimization levels for size or speed.
  • External Library Linking - Provides a mechanism to specify external libraries and synthesize platform-specific linking prefixes and extensions.
  • Preprocessor and Include Configurations - Provides a capability for setting preprocessor symbols and include directories to control the compilation process.
  • Compilation Dialect Configuration - Provides a scripting interface for setting language dialects, optimization levels, and preprocessor defines.
  • Dynamic Function Interception - Provides a mechanism to intercept internal functions and modify the project generation sequence at runtime.
  • Modular Extension Systems - Enables the addition of support for new compilers or IDEs via custom action handlers and markup emitters.
  • Dependency Requirement Propagation - Provides logic to propagate build properties and include requirements from a project to its recursive consumers.
  • Systèmes de build - Generates build scripts for various IDEs and toolsets.

Historique des stars

Graphique de l'historique des stars pour premake/premake-coreGraphique de l'historique des stars pour premake/premake-core

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Premake Core

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Premake Core.
  • nuitka/nuitkaAvatar de Nuitka

    Nuitka/Nuitka

    14,938Voir sur GitHub↗

    Nuitka is a compilation framework that translates Python source code into C, enabling the creation of standalone machine code binaries. By converting interpreted scripts into compiled executables, it removes the requirement for a language interpreter on the target machine and provides a mechanism for distributing Python applications as self-contained packages. The project distinguishes itself through advanced optimization techniques, including link-time code generation and profile-guided binary optimization, which improve execution speed by bypassing standard interpreted overhead. It manages

    Pythoncompilernuitkapackaging-tool
    Voir sur GitHub↗14,938
  • nasa/fprimeAvatar de nasa

    nasa/fprime

    10,766Voir sur GitHub↗

    F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight software. It provides a modular architecture that decouples software logic from communication interfaces, allowing developers to define system structures through a domain-specific modeling language. This model-based approach enables automated code generation, ensuring consistency across complex system topologies while maintaining strict interface contracts between software modules. The framework distinguishes itself through its integrated build system and ground data operations suite

    C++componentscppembedded
    Voir sur GitHub↗10,766
  • mesonbuild/mesonAvatar de mesonbuild

    mesonbuild/meson

    6,547Voir sur GitHub↗

    The Meson Build System

    Python
    Voir sur GitHub↗6,547
  • cake-build/cakeAvatar de cake-build

    cake-build/cake

    4,179Voir sur GitHub↗

    Cake is a cross-platform build automation system and scripting framework that allows users to define software build pipelines using C# scripts. It functions as a CI/CD pipeline orchestrator and build runner, providing a strongly-typed domain-specific language to simplify the orchestration of compilation, testing, and packaging processes across Windows, Linux, and macOS. The system ensures reproducible build environments by pinning the versions of build tools, modules, and dependencies. It distinguishes itself by enabling a C# scripting workflow with full IDE support, including autocomplete, s

    C#build-automationbuild-automation-toolbuild-tool
    Voir sur GitHub↗4,179
Voir les 30 alternatives à Premake Core→

Questions fréquentes

Que fait premake/premake-core ?

Premake is a build system generator and cross-platform build configuration tool. It functions as a scripting engine that transforms scripted workspace definitions into native project files for multiple build toolsets and compilers. Additionally, it can generate JSON-formatted compilation databases for use with language servers and static analysis tools.

Quelles sont les fonctionnalités principales de premake/premake-core ?

Les fonctionnalités principales de premake/premake-core sont : Build Configuration Languages, Build System Abstractions, IDE Project Generators, Project File Generators, Automation Scripting Engines, Cross-Platform Build Systems, Compiler Flag Customization, Compilation Setting Configuration.

Quelles sont les alternatives open-source à premake/premake-core ?

Les alternatives open-source à premake/premake-core incluent : nuitka/nuitka — Nuitka is a compilation framework that translates Python source code into C, enabling the creation of standalone… nasa/fprime — F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight… mesonbuild/meson — The Meson Build System. cake-build/cake — Cake is a cross-platform build automation system and scripting framework that allows users to define software build… theos/theos — Theos is a cross-platform mobile development toolchain and build system designed for compiling and packaging software… facebook/buck2 — Buck2 is a programmable monorepo build tool and hermetic build system designed to manage large-scale projects with…