2017-01-07 4 views
0

저는 Incredibuild를 사용하고 있으며 "사용자 정의 빌드"(FASM 사용)를 병렬 처리하려고합니다. FASM OBJ를 빌드하려면 2 개의 응용 프로그램 (FASM.exe 및 다른 응용 프로그램 PECVT.exe를 사용하여 FASM .OBJ에 디버그 정보를 추가로 호출해야 함)Incredibuild에서 "custom build"에 대한 2 가지 응용 프로그램이 있습니다.

그래서 FASM OBJ를 만들려면 다음을 수행하는 사용자 정의 빌드가 필요합니다. 2 단계 다음 (PECVT.exe이 FASM.exe 후에 호출되는 것을 통지)

FASM.exe params 
PECVT.exe params 

내가 그 정의를 만들기 위해 읽고 것은 내가 다음과 같은 정보가 포함 된 XML 파일을 생성해야 IncrediBuild의와 parallelised 할 빌드 :

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> 


<Profile FormatVersion="1"> 


<Tools> 


<Tool Filename="fasm" AllowRemote="true" AllowPredictedBatch="true"/> 
<Tool Filename="pecvt" AllowRemote="true" AllowPredictedBatch="true"/> 

</Tools> 


</Profile> 

위와 같이 이제 FASM/PECVT가 실행됩니다. 어셈블리와 함께 내 .ASM 파일. 내가 가진 문제는 PECVT.exe 그래서 때로는 PECVT.EXE가 실행되고, 동시에 FASM.exe와 함께 호출 될 것입니다 내가 .xml 파일에서 "pecvt.exe"를 제거하면 FASM.exe

전에, .ASM 파일은 순차적으로 (병렬이 아닌) 어셈블됩니다.

Incredibuild는 어떻게 FASM을 병렬로 실행하지만 "PASV.EXE"는 항상 "FASM.EXE"다음에 실행되도록 할 수 있습니까?

감사합니다.

답변

2

두 개의 사용자 정의 도구를 병렬로 실행하도록 정의하면 빌드 순서가 사용자가 만든 모든 빌드마다 약간 다를 수 있습니다.

두 개의 사용자 지정 도구를 병렬로 실행하고 FASM.exe 이후에 항상 PECVT.EXE이 실행되도록하려면 - 가장 좋은 방법은 해당 사용자 지정 도구가 호출되도록하는 래퍼를 만드는 것입니다. 그런 식으로.

<Tool Filename="MyWrapper" AllowRemote="true" AllowPredictedBatch="true"/> 

가 도움이 희망 :이 래퍼가 준비되면

는, 이것은 당신의 profile.xml에서 유일하게 라인을해야한다.

+0

감사합니다. 그게 내가 생각한 것이고 나는 이미 그렇게했고 예상대로 작동한다. 고마워요! – raff

+0

듣고 행복하게 :) –