私はC++ライブラリMyLib
を書いており、別のプロジェクトExternPro
と統合したいと思います。だから、ExternPro
に私はこのようなCMakeLists.txt
を書いた:CMakeサブプロジェクトを別のものと統合する
add_subdirectory(MyLib)
ADD_EXECUTABLE(test test.cpp)
include_directories(${MyLib_INCLUDE_DIRS})
target_link_libraries(test ${MyLib_LIBRARIES})
を変数MyLib_LIBRARIES
とMyLib_INCLUDE_DIRS
を設定するには、私が書いた:必要な
set(MyLib_LIBRARIES ${PROJECT_SOURCE_DIR}/src/MyLib.a CACHE INTERNAL "")
set(MyLib_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/include CACHE INTERNAL "")
しかし、何か間違ったこと「ターゲットMYLIB/SRC/MyLib.aを作るためにはありませんルールを、テストによって。停止します。
だから私の質問は、どのように私は正しくCMakeLists.txt
を書いたはずですのでcmake
は私が最初にMyLib
の構築を支援し、その後ExternPro
の依存関係の世話をすることができますか?
ありがとうございましたaxalis!しかし、Githubの 'MyLib'をサブモジュールとしてクローン化し、' ExternPro'と統合したいのであれば、どうすれば 'FindMyLibrary.cmake'を修正すればいいですか?私はライブラリを使いやすくしたいと思います:) –