私はCMakeを使ってVisual Studio 2010プロジェクトとソリューションファイルを生成します。実際には、私は別の設定、 警告レベルのような、増分の建物の旗の法律を設定することができます。 CMakeから。しかし、追加のインクルードとライブラリを設定することはできません。 がVC++ディレクトリ設定タブに表示されます。実際には、私はこれらのディレクトリを手動で設定する必要があります。これは愚かな と退屈な...Visual Studio SolutionにCMakeインクルードとライブラリを追加するには?
私は次のCMake変数を設定しようとしました:CMAKE_INCLUDE_PATH、INCLUDE_DIRECTORY 何も起こらないです。私がプロジェクトを開くと、ソリューションの追加インクルードディレクトリは常に空です(標準のMSVE設定のみが与えられます)。
実行可能ファイルの作成後にこの変数を設定するのも疲れましたが、これも効果がありません。
これは私がcmakeの ファイルのヘッダに直接何をすべきかです:私は ラインが分離、私dependenyモジュールのパスに追加した.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()
:
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'という変数やコマンドはありません。 –