nekoexmachina
25.01.2013 11:47
изливаю волны говна на cmake
вот блядь, нахуя было на него trinity desktop портировать? Ебать как я задолбался с тем, что не могу добавить в мейкфайл инклюд-диру так же просто, как было до cmake'а... :/
Кто подскажет, почему:
/home/neko/src/trinity/dependencies/arts/mcop/extensionloader.h:28:18: error: ltdl.h: No such file or directory
хотя в инклюдах есть путь до ltdl.h (/usr/local/include) и сам ltdl.h там существует?
покажи cmake/
в смысле CMakeLists.txt
cmake говно и не нужен
http://pastie.org/5855068
ебать тебе припекло. Уж куда нужнее bjam
+1, блин
надо написать тимоти престону про это что ли
покажи код метода check_include_file — где-то в модулях должно быть, вероятно. в ./cmake/modules
%grep -i check_inc cmake/modules/*
%
и вообще этого модуля в исходниках нема (e.g. grep -R возвращает только CMakeLists.txt)
а ты когда запускаешь cmake — он тебе не ругается, что не нашел инклуд?
В том-то и дело, что НЕТ
Он генерит какой-то пиздец какой сомнительный Makefile в билд-дире, в котором я не могу разобарться (там ни сифлагов, ни инклюдов, ни либдиров не декларируется, какая-то хуита в чистом виде), и нормально отрабатывает.
Законтачил с trinity-desktop IRCшечкой, они посоветовали обратиться в канал cmake. Ебать, ну пиздец просто, вот нахуй было с самого начала эти говны использовать в качестве билд-системы? .___.
//не осилил, да
это потому что никто не пиарит bjam. а то бы все уже давно только им и пользовались
>boost
BOOOSHTEEET
почитал чуть-чуть про н6его, глянул скрипты, няшечка
лол. Он еще больший пиздец, чем смейк
я б попросил у тебя обосновать, но на псто это не принято
обоснуй обратное
бжэм использует декларативный синтаксис. при написании жэмфайлов программист задаёт какие исходники в какие бинарники отображаются, ну а бжэм автоматически выводит правила для создания всех промежуточных объектов. именно это и требуется от билдсистемы — отобразить сорсы в бинари.
в цмэйке же синтаксис императивный, какие-то if'ы, условия, макросы, блджад. говно полное, короче.
че бля? Расскажи мне сказку про отсутствие if'ов в bjam. У меня есть проект на нем — так что меня не наебешь.
и нахуй ты пишешь if'ы в bjam?
флаги, например.
кроссплатформенность, опять же.
блджад. какие флаги? флаги компилятора? это делается через features, я вообще не понимаю как ты их if'ами пишешь
тащемта, единственный, имхо, плюс, это большая похожесть на нормальный язык программирования, чем на какую-то макросоподобную хуету. А юзанье либ там уебищное.
нет. Например --openssl=smth
что это? как я тебе пойму за хуйню ты несёшь вне контекста?
блеать. Ок. Как мне слинковать кроссплатформенную проект с opensll. Только через if. А Если еще есть варианты --openssl=a --openssl=b и openssl=c ?Так что без if тут не обойтись.
я всё равно нихуя не понял, почему нельзя просто произвести подстановку значения параметра без if'ов
как?
а с if'ом как?
сейчас там что-то вроде:
if <openssl>a in $(properties)
{
if <target-os>windows in $(properties)
result += <library>ssleay32;
}
else
{
result += <library>ssl;
}
тут урезано.
lib ssl : : <name>ssl ;
lib ssl : : <name>sslay32 <target-os>windows,<openssl>a ;
не?