Verwenden von CMake zum statischen Verknüpfen mit einer Bibliothek außerhalb des Projekts

Ich möchte CMake verwenden, um mein Projekt mit meiner freigegebenen Bibliothek zu verknüpfen. Die Bibliothek wird nur von einer Handvoll Projekten gemeinsam genutzt und ist recht klein. Daher würde ich sie gerne bauen, bevor sie verknüpft wird. Es scheint eine bessere Idee zu sein, es jedes Mal zu erstellen, als eine aktuell vorkompilierte Version warten zu müssen, da ich sie zusammen mit dem Projekt ändern muss. Es ist separat, weil es Dinge enthält, die ich mit ziemlicher Sicherheit im nächsten Projekt brauchen werde.

Wie kann ich CMake dafür konfigurieren?

Meine aktuelle CMakeLists.txt für das entsprechende Projekt sieht folgendermaßen aus:

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)

aber offensichtlich schlägt die Kompilierung fehl mit:

/usr/bin/ld: cannot find -lgrzeslib

Antworten auf die Frage(1)

Ihre Antwort auf die Frage