Skip to content

Target Improvements #116

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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