CMake: не удается установить связь с импортированной библиотекой с зависимостями
У меня есть подкаталог с CMakeLists.txt, который должен скомпилировать библиотеку с использованием make и экспортировать результат как импортированную библиотеку в родительский каталог:
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)
CMakeLists.txt в родительском каталоге выглядит следующим образом:
add_subdirectory(deps/mylib)
add_executable(mybin source.c)
target_link_libraries(mybin mylib)
В OSX это работает просто отлично, но если я скомпилирую то же самое в Ubuntu, он, похоже, игнорирует CMakeLists подкаталога и жалуется:
/usr/bin/ld.bfd.real: cannot find -lmylib
Я использую Clang для компиляции.