Używanie CMake do statycznego łączenia się z biblioteką poza projektem

Chciałbym użyć CMake, aby połączyć mój projekt z moją udostępnioną biblioteką. Biblioteka jest współdzielona tylko przez kilka projektów i jest raczej mała, więc naprawdę chciałbym ją zbudować, zanim zostanie połączona. Budowanie go za każdym razem wydaje się lepszym pomysłem niż utrzymywanie aktualnej wersji prekompilowanej, ponieważ dziesięć razy zmieniam go wraz z projektem. Jest osobny, ponieważ zawiera rzeczy, które prawie na pewno będę potrzebować w następnym projekcie.

Jak mogę skonfigurować CMake, aby to zrobić?

Mój aktualny CMakeLists.txt dla odpowiedniego projektu wygląda tak:

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)

ale oczywiście kompilacja kończy się niepowodzeniem:

/usr/bin/ld: cannot find -lgrzeslib

questionAnswers(1)

yourAnswerToTheQuestion