CMake を使用してプロジェクトを共有ライブラリにリンクしたいと考えています。ライブラリは少数のプロジェクト間でのみ共有されており、かなり小さいので、リンクする前にビルドしたいと思っています。プロジェクトと一緒に変更する必要があるため、最新のプリコンパイル済みバージョンを維持するよりも、毎回ビルドする方が良いと思われます。次のプロジェクトでほぼ確実に必要になるものが含まれているため、別のものです。
それを行うようにCMakeを構成するにはどうすればよいですか?
関連するプロジェクトの現在の CMakeLists.txt は次のようになります。
find_package( Boost REQUIRED COMPONENTS unit_test_framework)
include_directories(${BaumWelch_SOURCE_DIR}/../../grzesLib/src
${BaumWelch_SOURCE_DIR}/src
${Boost_INCLUDE_DIRS})
if(CMAKE_COMPILER_IS_GNUCXX)
add_definitions(-g -std=c++11 -Wall -Werror -Wextra -pedantic -Wuninitialized)
endif()
# Create the unit tests executable
add_executable(
baumwelchtests stateindextest.cpp baumiterationtest.cpp baumwelchtest.cpp sampleparameters.cpp sdetest.cpp
# Key includes for setting up Boost.Test
testrunner.cpp
# Just for handy reference
exampletests.cpp
)
# Link the libraries
target_link_libraries( baumwelchtests ${Boost_LIBRARIES} baumwelchlib grzeslib)
しかし、明らかにコンパイルは次のように失敗します:
/usr/bin/ld: cannot find -lgrzeslib