2017-12-27 5 views
0

프로젝트를 CMake에 이식하고 헤더 검색 경로 (예 : 컴파일러 플래그와 함께 예 : -I "../../Source")를 설정하는 방법을 찾기 위해 고심하고 있습니다.CMake 및 헤더 검색 경로

target_include_directories (jni-bridge PRIVATE 
    "../../Analysis" 
    "../../Source" 
) 

을하지만이 작동하지 않습니다

내가 현재 가지고. 어떻게 경로를 설정해야합니까? 상대 경로는 무엇입니까?

+0

상위 디렉토리 CMakeLists.txt의 검색 경로에 해당 디렉토리를 추가하지 않는 이유는 무엇입니까? 그것들이 현재의 CMake 프로젝트의 일부가 아니라면, CMake 변수를 가진 디렉토리를 추가하여 프로젝트를 이식성있게 만드십시오. –

답변

0

내부적으로 CMake는 절대 경로을 포함 디렉토리로 사용합니다. 상대 경로가 target_include_directories과 함께 사용되면 현재 소스 디렉토리 (${CMAKE_CURRENT_SOURCE_DIR})과 관련하여 해석됩니다. 발전기 사용하지 않는 연산 식 때


는 사실이다.

생성자 표현 $<INSTALL_INTERFACE:..>은 설치 접두어에 상대적인 상대 경로를 사용할 수 있습니다 (강력하게 권장).

발전기 표현 $<BUILD_INTERFACE:...>은 절대 경로를 사용해야합니다.