最終出力が静的ライブラリであるプロジェクトをビルドしています。私の CMake ベースのビルド システムは、Src と Tests の 2 つのサブディレクトリで構成されています。テスト用のビルドは実行可能ファイルを生成し、ビルドされたライブラリにリンクします。 srcから。
私の問題は、エラーなしで続行するには、テストビルドでライブラリが既に存在している必要があることです。テストをビルドするときにライブラリが存在することを CMake に理解させる方法はありますか、それとも別の手順で行う必要がありますか?
次のように私のCMakeLists.txtファイル:
ルート ファイル:
cmake_minimum_required( VERSION 2.8 )
project( mylib )
add_subdirectory( Src )
add_subdirectory( Tests )
ソースファイル:
file( GLOB MYLIB_SOURCES *.cpp )
add_library( mylib ${MYLIB_SOURCES} )
テストファイル:
file( GLOB MYLIB_TESTS *.cpp )
add_executable( tests ${MYLIB_TESTS} )
find_package( GTest REQUIRED )
find_library( LIB_MYLIB NAMES mylib PATHS "${CMAKE_SOURCE_DIR}/Build/Src" )
include_directories( ../Src )
include_directories( ${GTEST_INCLUDE_DIRECTORIES} )
target_link_libraries( tests ${LIB_MYLIB} ${GTEST_LIBRARIES} pthread )