170 похожих чатов

Есть вопросец по организации CMake таргетов для такой цели: есть

проект, в нем есть часть, отвечающая за работу бд. Сам модуль определяет интерфейсы в хэдерах, и есть разные реализации этих хэдеров под разные бд. Этот модуль соответственно используют другие таргеты, и плюс сам экзешник. Причем другие таргеты используют только интерфейсы из хэдеров, а имлементация создается и кидается соответственно в мейне.

Так вот, как правильно с точки зрения таргетов и их зависимостей это все организовать с симейке? Вроде бы если только используешь интерфейсный хэдер, то линковать таргет целиком смысла не имеет. Был вариант сделать отдельно таргеты для интерфейсов и для разных бэкендов, в таргетах линковаться к интерфейсам, а в главном таргете уже линковать один из реальных бэкэндов, но вот непонятно насколько это хорошее решение.

4 ответов

12 просмотров

Таргет для хедеров тоже норм

проблема в том что cmake пока не умеет, делать инклуды, если делаешь target_include... но он их умеет делать если target_lib

Я могу ошибаться, но как будто бы получаются куча таргетов db_impl1,...,db_implN, и таргет db_head с интерфейсными хедерами; в либах-модулях где нужно тыкать бд делается target_link_libraries(db_head), а в мейне target_link_libraries(main libA libB db_head db_impl1)

нормально про таргеты для интерфейсов и бекендов, их потом собираешь в ехе

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
Гляньте, че бывает: Сегодня по одному проекту одной вебстудии делал проект небольшой, на их хостинге. На Modx revo. В определенный момент , работая в админке, вдруг перестал р...
Artem
7
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
12
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Карта сайта