나는 CMake를 사용하여 Visual Studio 2010 프로젝트 및 솔루션 파일을 생성합니다. 실제로 나는 다른 설정을 할 수 있었는데, 경고 레벨, 증분 건물 플래그 요법과 같은 을 좋아한다. CMake에서. 그러나 추가 포함 및 라이브러리, VC++ 디렉터리 구성 탭에 나열된 설정할 수 없습니다. 실제로 나는이 디렉토리들을 수동으로 설정해야합니다. CMAKE_INCLUDE_PATH, INCLUDE_DIRECTORY 하지만 아무것도 무슨 일이 생긴 없습니다 :이 Visual Studio Solution에 CMake 포함 및 라이브러리를 추가하는 방법은 무엇입니까?
내가 다음 CMake 변수를 설정하려고 ... 바보 지루한입니다. 프로젝트를 열면 솔루션의 추가 include 디렉토리가 항상 비어 있습니다 (표준 MSVE 설정 만 제공됨).실행 파일 생성 후에도이 변수를 설정하는 것이 지겹지 만 효과가 없습니다.
이
내가 cmake 파일의 헤더에 직접 할 것입니다 다음 .deps에서CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(${MODULE_NAME})
IF (MSVC)
# Activate C++ exception handling
IF (NOT CMAKE_CXX_FLAGS MATCHES "/EHsc")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc")
ENDIF()
# Set Warning level always to 4
IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
ELSE()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
ENDIF()
#read path of dependency modules
file(READ "msvc.deps" MSVC_PROPERTIES)
STRING(REGEX REPLACE ";" "\\\\;" MSVC_PROPERTIES "${MSVC_PROPERTIES}")
STRING(REGEX REPLACE "\n" ";" MSVC_PROPERTIES "${MSVC_PROPERTIES}")
FOREACH(e ${MSVC_PROPERTIES})
SET(INCLUDE ${INCLUDE} ${e})
MESSAGE(STATUS "[INFO]: Value ${e}")
ENDFOREACH(e)
INCLUDE_DIRECTORIES(${INCLUDE})
ENDIF()
내가 내 dependeny 모듈의 경로에 추가 한 파일, 라인은 분리 :
c:\binrev\development\boost\1.47\includes
c:\binrev\repository\modules\brCore\trunk\includes
두 가지 모두 성공적으로 읽었지만 디렉토리를 내 MSVC 솔루션에 추가로 설정할 수 없습니다. 나는 당신의 질문을 이해 한 경우
안부, 헬 하운드
CMake는 잘 설명되어 있지만이 변수는 작동하지 않습니다. 나는 이러한 변수 중 하나를 설정했지만 MSVC 솔루션을 열면 아무 것도 설정되지 않습니다. – Hellhound
또한 SET (ENV $ {PATH} "c : \ test \ ... \")를 사용하여 MSVC 환경 변수 INCLUDE 및 PATH를 설정하려고 시도했지만이 또한 아무 효과가 없습니다. MSVC 솔루션의 디렉터리가 비어 있습니다. – Hellhound
'CMakeLists.txt' 파일에'include_directory (/ path/to/include) '를 추가 한 후에도 설정되지 않았습니까? 타겟을 선언하기 전에'include_directories'를 추가하고 있습니까? (명령은 중요합니다). 만일 그렇다면'CMakeLists.txt' 파일의 일부 또는 전부를 게시 할 수 있습니까?'CMAKE_INCLUDE_PATH' 변수는 컴파일러에서 사용하는 포함 경로와 관련이 없으며 'INCLUDE_DIRECTORY'라는 변수 나 명령이 없습니다. –