# To avoid repeating yourself in targets you can create your own target type (template). All properties of the template are inherited when used as a target type. [project] name = "templates" description = "Target templates" [template.app] type = "executable" sources = ["src/templates.cpp"] compile-definitions = ["IS_APP"] # Unlike interface targets you can also inherit properties [template.app.properties] CXX_STANDARD = "11" CXX_STANDARD_REQUIRED = true [target.app-a] type = "app" compile-definitions = ["APP_A"] [target.app-b] type = "app" compile-definitions = ["APP_B"] # **Note**: In most cases you probably want to use an [interface](/examples/interface) target instead.