Cmake: «ожидаемый выходной файл» для цели внутри проектаC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Cmake: «ожидаемый выходной файл» для цели внутри проекта

Сообщение Anonymous »

В одном файле CMakeLists.txt имеется целевой объект общей библиотеки SL и целевой объект исполняемого файла X, связывающийся с SL. Хотя каждая цель создается правильно по отдельности, когда обе они занимают один и тот же файл CMakeLists.txt, я получаю следующую ошибку:

Код: Выделить всё

Expected output file at path/to/libSL.so for target SL but there was none
В упрощенной форме CMakeLists.txt выглядит так:

Код: Выделить всё

add_library(SL SHARED ${SL_sources})
add_executable(X ${X_sources})
target_link_libraries(X SL)
Явное добавление зависимости не помогает:

Код: Выделить всё

add_dependencies(X SL)
Почему cmake отказывается создавать SL перед попыткой создания ссылки на X? Есть ли проблема с помещением этих двух целей в один файл? Это ошибка в cmake?
Проверено на Fedora с cmake 3.22 и 3.27 (результат тот же).

Подробнее здесь: https://stackoverflow.com/questions/788 ... he-project
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»