2

CMake에서는 멋진 크로스 플랫폼 도구이지만 복잡하고 큰 구성을 관리하는 데에도 좋습니다. 내가 타격을 가하는 하나의 도로 블록은 특별한 "Visual Studio"프로젝트 만 가질 수있는 교차 플랫폼 프로젝트를 허용하고 있습니다. 즉, 특정 비주얼 스튜디오 프로젝트를 컴파일 할 때 폼 디자이너 .resx 파일을 갖기 위해 CMake의 출력이 필요합니다. 다음과 같이 이것은 태그에 끝 :cmake에서 Visual Studio .resx 파일 추가

<ItemGroup> 
    <EmbeddedResource Include="Form1.resX"> 
     <DependentUpon>Form1.h</DependentUpon> 
     <SubType>Designer</SubType> 
    </EmbeddedResource> 
</ItemGroup> 

나는 사용자 정의 규칙을 작성하거나 텍스트를 작성하거나, 그렇지 않으면 Visual Studio를 .vcxproj 파일에 어떤 일이 일어나는지를 더 낮은 수준의 제어 할 수 있다면 나는이 작업을 수행 할 수 있습니다.

.vcxproj.filters 파일은 해당 항목이 있습니다

<ItemGroup> 
    <EmbeddedResource Include="Form1.resX"> 
     <Filter>Resource Files</Filter> 
    </EmbeddedResource> 
</ItemGroup> 

.vcxproj에 추가 리소스 파일을 얻을 수있는 요구 사항도 있습니다 :

<ItemGroup> 
    <ResourceCompile Include="app.rc" /> 
</ItemGroup> 

그리고 .vcxproj에

. 필터 :

이 코드를 CMake 또는 다른 방법으로 추가 할 수 있나요? 코드가 변경된 경우 코드가 변경되는 위치를 지적해야하며 필요한 업데이트를 할 수 있습니다.

+0

적합 할 수도 있습니다. http://stackoverflow.com/questions/8183156/cmake-and-visual-studio-resource-files – arrowd

+0

리소스 파일은 설명하지만 .resX 파일은 디자이너 용 .h 파일과 연결됩니다. .vcxproj 파일에서 사용되며 .vcxproj.filters 파일에서 다시 사용됩니다. 그것은 자원보다 복잡합니다. 제대로 설정하지 않으면 Visual Studio 디자이너가 작동하지 않습니다. 이것들은 모두 프로젝트 파일의 평범한 텍스트 항목이므로 CMAKE를 포함 할 수없는 이유는 없습니다 ...하지만 코드를 변경하지 않고이를 수행 할 수있는 방법이 있는지 확실하지 않습니다. CMAKE 자체. – DigitalInBlue

+0

결코 늦지 않는 것이 더 낫습니까? 나는 GitHub CMake 프로젝트에 pull 요청을했다. 바라기를 이것은 미래에 포함 된 기능이 될 것입니다! – DigitalInBlue

답변

0

당신은 소스 그룹을 만드는 시도 할 수 있습니다 :

source_group(Resources FILES Form1.resX) 

하지만 그건 확실히이 문제에 대한 기존 솔루션이있는 것처럼 그래서이 나타나지 않는

<DependentUpon>Form1.h</DependentUpon> 
<SubType>Designer</SubType> 
+0

Visual Studio 프로젝트 파일에 직접 쓸 수있는 "매크로"등을 만들 수있는 방법이 없습니까? 이것은 코드 변화에 점점 더 가까워지고 있습니다. 나는 변화를 만들지 만, 누군가 코드에서 내가 이것을 짜내기 시작할지도 모르는 부분을 지적 할 수 있을까? – DigitalInBlue

+0

음,'file (READ ...)'및'file (WRITE ...)'명령이 있지만, CMake가 현재 생성하지 않은 파일이기 때문에 프로젝트 파일을 수정하는 데 사용할 수 있을지는 의문입니다. 'CMakeLists.txt'에서 코드를 실행합니다. AFAIK, 이렇게 할 방법이 없습니다. – arrowd

1

를 얻을 도움이되지 않습니다 CMake. Visual Studio 솔루션 파일 안에 .resX 파일을 올바르게 포함 할 수 있도록 CMake를 수정했습니다. 초기 테스트에서는 모든 테스트가 제대로 수행되었음을 나타내지 만 더 많은 테스트가 필요합니다. 코드 변경은 간단했습니다. 그러나 제기 된 문제는 Visual Studio의 참조를 수동으로 관리한다는 것입니다. CMake에는이 기능이 있습니다 (문서가 부족함). 문제는 기본적으로 부기입니다.하지만 CMake가 프로젝트에 추가 할 수있게 해주는 참조, 리소스 등에 대해 구성 할 수있는 많은 옵션이 있습니다 만, 크게 구성 할 수는 없습니다. 나는 시험 버전을 시험 버전으로 제공 할 것이고, 일이 잘 풀리면 CMake 소스에 포함되도록 보내 줄 것이다.

관련 문제