@@ -838,6 +838,10 @@ export abstract class AbstractProject implements CustomConfigurationProvider, Pr
838838 return this . GetRootDir ( ) ;
839839 }
840840
841+ public getExecutablePathWithoutSuffix ( ) : string {
842+ return [ this . getRootDir ( ) . path , this . getOutputDir ( ) , this . getProjectName ( ) ] . join ( File . sep ) ;
843+ }
844+
841845 public getUid ( ) : string {
842846 const miscInfo = this . GetConfiguration ( ) . config . miscInfo ;
843847 if ( miscInfo . uid == undefined ) miscInfo . uid = md5 ( `${ this . getEideDir ( ) . path } -${ Date . now ( ) } ` ) ;
@@ -1170,18 +1174,27 @@ export abstract class AbstractProject implements CustomConfigurationProvider, Pr
11701174 }
11711175 }
11721176
1177+ /**
1178+ * get output dir top root name. like: `build`
1179+ */
1180+ getOutputRoot ( ) : string {
1181+ return this . GetConfiguration ( ) . getOutDirRoot ( ) ;
1182+ }
1183+
1184+ /**
1185+ * get output dir name. like: 'build\Debug'
1186+ */
11731187 getOutputDir ( ) : string {
11741188 return this . GetConfiguration ( ) . getOutDir ( ) ;
11751189 }
11761190
1191+ /**
1192+ * get output dir full file system path. like: 'c:\xxx\xxx\proj\build\Debug'
1193+ */
11771194 getOutputFolder ( ) : File {
11781195 return new File ( this . ToAbsolutePath ( this . GetConfiguration ( ) . getOutDir ( ) ) ) ;
11791196 }
11801197
1181- getOutputRoot ( ) : string {
1182- return this . GetConfiguration ( ) . getOutDirRoot ( ) ;
1183- }
1184-
11851198 getEideDir ( ) : File {
11861199 return < File > this . eideDir ;
11871200 }
@@ -1974,7 +1987,7 @@ export abstract class AbstractProject implements CustomConfigurationProvider, Pr
19741987 this . registerBuiltinVar ( 'ProjectName' , ( ) => this . GetConfiguration ( ) . config . name ) ;
19751988 this . registerBuiltinVar ( 'ConfigName' , ( ) => this . GetConfiguration ( ) . config . mode ) ;
19761989 this . registerBuiltinVar ( 'ProjectRoot' , ( ) => this . getRootDir ( ) . path ) ;
1977- this . registerBuiltinVar ( 'ExecutableName' , ( ) => [ this . getRootDir ( ) . path , this . GetConfiguration ( ) . getOutDir ( ) , this . GetConfiguration ( ) . config . name ] . join ( File . sep ) ) ;
1990+ this . registerBuiltinVar ( 'ExecutableName' , ( ) => this . getExecutablePathWithoutSuffix ( ) ) ;
19781991 }
19791992
19801993 private RegisterEvent ( ) : void {
0 commit comments