2013-07-26 1 views
0

나는 CMake를 배우려고 노력 중이며 작은 딸꾹질을 겪었다. 내가 어느 정도이 같은 구조로 라이브러리를 가지고 : 이제CMake - 다른 프로젝트에 노출시키지 않고 라이브러리에 파일 포함하기

LibProj 
| include 
| | public1.h 
| | public2.h 
| library 
| | public1.cpp 
| | public2.cpp 

,의 내가 아니면 내가 파일 만 사용할 수하고자하는 .cpp 파일과 연관되지 않을 수있다 .H 파일을 원하는 가정 해 봅시다 도서관 내에서. 즉, 나는 그것을 라이브러리를 사용하는 프로젝트에 공개하고 싶지 않습니다. 이것을 할 수있는 방법이 있습니까?

감사합니다.

답변

2

일반적인 솔루션은 다른 디렉토리로 내부 물건을 이동하는 것입니다 :

다음
LibProj 
| include 
| | public1.h 
| internal 
| | private1.h 

그리고는 라이브러리에 포함 디렉토리로 internal 폴더를 추가하고이 install time에 복사되지 않습니다 있는지 확인하십시오. 일반적으로 디렉토리에서 하나의 헤더 파일을 포함하는 것을 허용 할 수는 없지만 다른 헤더 파일은 허용하지 않을 수 있습니다. 대부분의 컴파일러는 단 하나의 include 파일이 아닌 include 디렉토리 만 지정할 수 있습니다.

관련 문제