Usando o CMake para vincular estaticamente a uma biblioteca fora do projeto

Eu gostaria de usar o CMake para vincular meu projeto à minha biblioteca compartilhada. A biblioteca é compartilhada apenas entre um punhado de projetos e é bastante pequena, então eu realmente gostaria de construí-la antes que ela seja vinculada. Construí-lo sempre parece uma idéia melhor do que ter que manter uma versão pré-compilada atualizada, porque eu tenho que mudá-la junto com o projeto. É separado, porque contém coisas que quase certamente precisarei no próximo projeto.

Como posso configurar o CMake para fazer isso?

Meu CMakeLists.txt atual para o projeto relevante se parece com isto:

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)

mas obviamente a compilação falha com:

/usr/bin/ld: cannot find -lgrzeslib

questionAnswers(1)

yourAnswerToTheQuestion