| |
---|
| | } else { |
---|
| | m_info.version_ = "~" ~ branch.output.strip(); |
---|
| | } |
---|
| | } catch (Exception e) { |
---|
| | logDiagnostic("Failed to run git: %s", e.msg); |
---|
| | logDebug("Failed to run git: %s", e.msg); |
---|
| | } |
---|
| | |
---|
| | if (m_info.version_.length == 0) { |
---|
| | logDiagnostic("Note: Failed to determine version of package %s at %s. Assuming ~master.", m_info.name, this.path.toNativeString()); |
---|
| |
---|
| | return; |
---|
| | } |
---|
| | |
---|
| | if (auto pbt = build_type in m_info.buildTypes) { |
---|
| | logDiagnostic("Using custom build type '%s'.", build_type); |
---|
| | pbt.getPlatformSettings(settings, platform, this.path); |
---|
| | } else { |
---|
| | with(BuildOptions) switch (build_type) { |
---|
| | default: throw new Exception(format("Unknown build type for %s: %s", this.name, build_type)); |
---|
| | default: throw new Exception(format("Unknown build type for %s: '%s'", this.name, build_type)); |
---|
| | case "plain": break; |
---|
| | case "debug": settings.addOptions(debug_, debugInfo); break; |
---|
| | case "release": settings.addOptions(release, optimize, inline); break; |
---|
| | case "unittest": settings.addOptions(unittests, debug_, debugInfo); break; |
---|
| | case "docs": settings.addOptions(BuildOptions.syntaxOnly); settings.addDFlags("-c", "-Dddocs"); break; |
---|
| | case "ddox": settings.addOptions(BuildOptions.syntaxOnly); settings.addDFlags("-c", "-Df__dummy.html", "-Xfdocs.json"); break; |
---|
| | case "docs": settings.addOptions(syntaxOnly); settings.addDFlags("-c", "-Dddocs"); break; |
---|
| | case "ddox": settings.addOptions(syntaxOnly); settings.addDFlags("-c", "-Df__dummy.html", "-Xfdocs.json"); break; |
---|
| | case "profile": settings.addOptions(profile, optimize, inline, debugInfo); break; |
---|
| | case "cov": settings.addOptions(coverage, debugInfo); break; |
---|
| | case "unittest-cov": settings.addOptions(unittests, coverage, debug_, debugInfo); break; |
---|
| | } |
---|
| |
---|
| | |