Uso de CMake para enlazar estáticamente a una biblioteca fuera del proyecto

Me gustaría usar CMake para vincular mi proyecto a mi biblioteca compartida. La biblioteca solo se comparte entre un puñado de proyectos y es bastante pequeña, por lo que realmente me gustaría construirla antes de vincularla. Construirlo cada vez parece una mejor idea que tener que mantener una versión precompilada actualizada, porque tengo que cambiarla junto con el proyecto. Es separado, porque contiene cosas que casi seguramente necesitaré en el próximo proyecto.

¿Cómo puedo configurar CMake para hacerlo?

Mi actual CMakeLists.txt para el proyecto relevante se ve así:

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)

Pero obviamente la compilación falla con:

/usr/bin/ld: cannot find -lgrzeslib

Respuestas a la pregunta(1)

Su respuesta a la pregunta