Changeset View
Changeset View
Standalone View
Standalone View
projectbuilders/ninjabuilder/ninjajob.cpp
Show First 20 Lines • Show All 81 Lines • ▼ Show 20 Line(s) | 76 | { | |||
---|---|---|---|---|---|
82 | setStandardToolView( KDevelop::IOutputView::BuildView ); | 82 | setStandardToolView( KDevelop::IOutputView::BuildView ); | ||
83 | setBehaviours(KDevelop::IOutputView::AllowUserClose | KDevelop::IOutputView::AutoScroll ); | 83 | setBehaviours(KDevelop::IOutputView::AllowUserClose | KDevelop::IOutputView::AutoScroll ); | ||
84 | setFilteringStrategy(new NinjaJobCompilerFilterStrategy(buildDir.toUrl())); | 84 | setFilteringStrategy(new NinjaJobCompilerFilterStrategy(buildDir.toUrl())); | ||
85 | setProperties( NeedWorkingDirectory | PortableMessages | DisplayStderr | IsBuilderHint | PostProcessOutput ); | 85 | setProperties( NeedWorkingDirectory | PortableMessages | DisplayStderr | IsBuilderHint | PostProcessOutput ); | ||
86 | 86 | | |||
87 | // hardcode the ninja output format so we can parse it reliably | 87 | // hardcode the ninja output format so we can parse it reliably | ||
88 | addEnvironmentOverride(QStringLiteral("NINJA_STATUS"), QStringLiteral("[%s/%t] ")); | 88 | addEnvironmentOverride(QStringLiteral("NINJA_STATUS"), QStringLiteral("[%s/%t] ")); | ||
89 | 89 | | |||
90 | *this << ninjaBinary(); | 90 | *this << ninjaExecutable(); | ||
91 | *this << arguments; | 91 | *this << arguments; | ||
92 | 92 | | |||
93 | QStringList targets; | 93 | QStringList targets; | ||
94 | foreach( const QString& arg, arguments ) { | 94 | foreach( const QString& arg, arguments ) { | ||
95 | if( !arg.startsWith( '-' ) ) { | 95 | if( !arg.startsWith( '-' ) ) { | ||
96 | targets << arg; | 96 | targets << arg; | ||
97 | } | 97 | } | ||
98 | } | 98 | } | ||
99 | QString title; | 99 | QString title; | ||
100 | if( !targets.isEmpty() ) | 100 | if( !targets.isEmpty() ) | ||
101 | title = i18n("Ninja (%1): %2", item->text(), targets.join(" ")); | 101 | title = i18n("Ninja (%1): %2", item->text(), targets.join(" ")); | ||
102 | else | 102 | else | ||
103 | title = i18n("Ninja (%1)", item->text()); | 103 | title = i18n("Ninja (%1)", item->text()); | ||
104 | setJobName( title ); | 104 | setJobName( title ); | ||
105 | 105 | | |||
106 | connect(this, &NinjaJob::finished, this, &NinjaJob::emitProjectBuilderSignal); | 106 | connect(this, &NinjaJob::finished, this, &NinjaJob::emitProjectBuilderSignal); | ||
107 | } | 107 | } | ||
108 | 108 | | |||
109 | void NinjaJob::setIsInstalling( bool isInstalling ) | 109 | void NinjaJob::setIsInstalling( bool isInstalling ) | ||
110 | { | 110 | { | ||
111 | m_isInstalling = isInstalling; | 111 | m_isInstalling = isInstalling; | ||
112 | } | 112 | } | ||
113 | 113 | | |||
114 | QString NinjaJob::ninjaBinary() | 114 | QString NinjaJob::ninjaExecutable() | ||
115 | { | 115 | { | ||
116 | QString path = QStandardPaths::findExecutable("ninja-build"); | 116 | QString path = QStandardPaths::findExecutable("ninja-build"); | ||
117 | if (path.isEmpty()) { | 117 | if (path.isEmpty()) { | ||
118 | path = QStandardPaths::findExecutable("ninja"); | 118 | path = QStandardPaths::findExecutable("ninja"); | ||
119 | } | 119 | } | ||
120 | return path; | 120 | return path; | ||
121 | } | 121 | } | ||
122 | 122 | | |||
▲ Show 20 Lines • Show All 94 Lines • Show Last 20 Lines |