2009-08-06 8 views
1

빌드 명령이 긴 빌드 작업을 수행하는 사용자 지정 도구로 설정된 Visual Studio 2008의 NMake 프로젝트가 있습니다. 내 도구Visual Studio 빌드 도우미에 환경 변수를 유지하려면 어떻게해야합니까?

빌드 = "@call MyTool -config $ (ConfigurationName)"

내가 원하는 ("-quickbuild") 특별한 플래그를 전달하는 방법의 빠른 부분 집합을 수행하도록 지시하는 전반적인 빌드. 나는 그들 사이를 전환하기 쉽게하려는 그러나

빌드 = "@call MyTool -config $ (ConfigurationName) -quickbuild"

그래서 실제로 빌드 명령을 변경하지 않습니다.

빌드 = "@call MyTool -config $ (ConfigurationName) $ (ShouldQuickbuild)"

하고 설정하는 비주얼 스튜디오 매크로를 만들 :

내 생각은 다음과 빌드 명령을 변경했다 "ShouldQuickbuild"환경 변수를 "-quickbuild"로 설정 한 다음 프로젝트에서 DTE.Solution.SolutionBuild.BuildProject (...)를 호출하십시오. 문제는 "ShouldQuickbuild"환경 변수가 표시되지 않는다는 것입니다.

내가 어떻게 작동하는지에 대한 아이디어. 내가 원하는 것을하기위한 더 나은 접근법이 있습니까?

답변

0

% ShouldQuickBuild % 에서처럼 변수를 % 구분 기호 안에 넣으십시오.

+0

작동하지 않았습니다. 빌드 로그를 보면 % ShouldQuickBuild %가 바로 통과됩니다. – Screndib

0

"솔루션 구성"으로 제어 할 수 있습니다. "Debug Quick"및 "Release Quick"두 가지 새로운 구성을 작성하십시오. 이것들은 원본의 사본 일 것입니다. 그런 다음 각 구성에 대한 빌드 명령을 변경하십시오.

+0

원래 게시글에 언급 했어야했지만 불행히도 이미 구성을 사용하고있는 방식으로 인해 더 이상 편집하거나 추가 할 수 없습니다. – Screndib

1

배치 파일을 사용하고 환경을 배치 파일로 전달한 경우 배치 파일에서 해당 환경을 가져 와서 원하는 실제 도구를 호출 할 수 있습니다.

배치 파일은 다음과 같을 것이다 :


을 @echo MyTool -config % 1 % ShouldQuickbuild %


을 환경이 배치에 전달되지 않는 경우 파일을 사용하면 어떻게 든 전세계에 정보를 가져와야합니다. VS 매크로에서 파일을 만들 수 있습니까? 또는 EXE를 호출합니까? 그렇다면 매우 간단합니다.

관련 문제