CMake: Das Verknüpfen mit einer importierten Bibliothek mit Abhängigkeiten schlägt fehl

Ich habe ein Unterverzeichnis mit einer CMakeLists.txt, die eine Bibliothek mit make kompilieren und das Ergebnis als importierte Bibliothek in das übergeordnete Verzeichnis exportieren soll:

set(static_lib ${CMAKE_CURRENT_BINARY_DIR}/lib/mylib.a)

add_custom_command(
    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
    OUTPUT ${static_lib}
    COMMAND make
    COMMAND make install PREFIX=${CMAKE_CURRENT_BINARY_DIR}
)

add_custom_target(compile_mylib DEPENDS ${static_lib})

add_library(mylib STATIC IMPORTED)
set_property(TARGET mylib PROPERTY IMPORTED_LOCATION ${static_lib})
add_dependencies(mylib compile_mylib)

Die CMakeLists.txt im übergeordneten Verzeichnis sieht folgendermaßen aus:

add_subdirectory(deps/mylib)
add_executable(mybin source.c)
target_link_libraries(mybin mylib)

Unter OSX funktioniert das einwandfrei - aber wenn ich dasselbe unter Ubuntu kompiliere, scheint es die CMakeLists des Unterverzeichnisses zu ignorieren und beschwert sich:

/usr/bin/ld.bfd.real: cannot find -lmylib

Ich benutze Clang zum Kompilieren.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage