2011-04-14 6 views
1

CMake 사용 타사 라이브러리 TinyThread ++를 사용하고 있는데이 라이브러리는 간단한 스레드 라이브러리 래퍼이며 하나의 소스 파일과 두 개의 헤더 파일 만 포함합니다. 내 프로젝트 CMakeList.txt에서 CMake : 타사 헤더를 디렉토리로 내 보냅니다.

나는 다음 줄 추가 :

add_library(TinyThread STATIC ${CMAKE_CURRENT_SOURCE_DIR}/../../third_party/TinyThread/source/tinythread.cpp) 

을 그리고이 중대한 작동하고 내 실행 파일이 라이브러리에 종속성을 추가했다.

두 개의 헤더 파일을 내 프로젝트에서 사용하는 공통 include 디렉토리로 복사하거나 내보내는 방법을 알아 내려고합니다.

${CMAKE_CURRENT_SOURCE_DIR}/../../include 

어떻게하는 것이 좋습니까?

답변

1

단순히 컴파일하는 동안 그 headerfiles을 "사용"하려면 Naszta이 설명처럼, 당신은 include_directories()를 사용할 수 있습니다.

실제로 파일을 복사하려는 경우 configure_file() 또는 file(COPY ...)을 사용할 수 있습니다 (file() 명령의 섹션 하단을 확인하십시오).

1

난 당신이 이런 식으로 뭔가를해야한다고 생각 :

SET(TINY_THREAD_INCLUDE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" CACHE PATH "TinyThread include path") 
SET(TINY_THREAD_SOURCE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/tinythread.cpp" CACHE FILEPATH "TinyThread source file") 
... 
INCLUDE_DIRECTORIES(${TINY_THREAD_INCLUDE_PATH}) 
ADD_LIBRARY(TinyThread STATIC ${TINY_THREAD_SOURCE_FILE}) 

이 방법 당신은 그들의 이름을 나중에 다시 사용할 수 있습니다. 당신이 정상 모드에서 숨길하려는 경우 :

MARK_AS_ADVANCED(TINY_THREAD_INCLUDE_PATH TINY_THREAD_SOURCE_FILE)