Skip to content

Target Improvements #116

Open
Open
@coder137

Description

@coder137
  • Target states (Build, BuildComplete)
    • Build == TRUE when first build or rebuilt
    • Lock == TRUE after Build is called
  • Add LOCK/UNLOCK of usage of functions after Target::Build
    • Some APIs can only be used after build function is called
    • Some APIs should not be used after build function is called
  • Check if dependency on Generator is required (revert back to old implementation if required)
  • Target Config for defaults
  • Add language detection (.asm, .c, .cpp) flags (has_asm, has_c, has_cpp) for compiler specific commands
  • Friend classes for private functions
    • CompilePCH
    • CompileObject
    • LinkTarget
  • Basic Copy API instead of custom CopyTarget class
    • Copy by Target move
    • Copy by Target const ref
  • Target root and build dir customization
  • CRTP to add API and Features (https://www.fluentcpp.com/2017/05/16/what-the-crtp-brings-to-code/)
    • Copy API
    • Insert API
    • Source API
    • Header and Include Dir API
    • PCH API
    • Lib Dep and Lib Dir API
    • Flags API
    • Rebuild Deps API
    • Getters and Target Info API
  • Append APIs (Similar to Add APIs)
  • Target strings
    • Refactor magic strings to constexpr const char * const
  • Callbacks for Build customizability
  • Custom compile and link arguments with user defined variables similar to Command::AddDefaultArguments

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions