История изменений
Исправление kuzulis, (текущая версия) :
Пока что, для меня система Rule + Artifact выглядит как какой-то запутанный костыль,
Наоборот - все очень просто. У каждой рули есть набор входных и выходных артифактов. Наборы артифактов идентифицируются тегами. Т.е. к любому файлу/артифакту ты можешь назначить любой тег и обрабатывать этот файл по своему (например cpp файлы не компилять а шо нить другое с ними делать). Сами рули выстраиваются в цепочки, где выходы одних рулей соединяются со входами других… что то вроде pipeline.
Ваши CMake сосут по полной. ))
UPD: Так работает все в QBS, даже компиляция. Например этим занимается модуль cpp, который также содержит набор рулей, соединенных между собой. Например, руля компилятора берет на вход все файлы, оттегированные как ‘c’, ‘cpp’, ‘h’ и прочие (по умолчанию), эти файлы компиляться в объектники, которые являются выходными артифактами для этой рули (эти файлы также теггируются своими тегами). Потом эти объектники поступают на вход другой руле линкеру. Она берет объектники и линкует их в екзешку или чо то еще. Эта екзешка является выходным артифактом для этой рули. Далее можно эту экзешку подать на вход еще какой-нить юзерской руле… Например для генерации HEX файлов из ELF и прочее.
Ваши CMake сосут по полной все сильнее. ))
Исправление kuzulis, :
Пока что, для меня система Rule + Artifact выглядит как какой-то запутанный костыль,
Наоборот - все очень просто. У каждой рули есть набор входных и выходных артифактов. Наборы артифактов идентифицируются тегами. Т.е. к любому файлу/артифакту ты можешь назначить любой тег и обрабатывать этот файл по своему (например cpp файлы не компилять а шо нить другое с ними делать). Сами рули выстраиваются в цепочки, где выходы одних рулей соединяются со входами других… что то вроде pipeline.
Ваши CMake сосут по полной. ))
UPD: Так работает все в QBS, даже компиляция. Например этим занимается модуль cpp, который также содержит набор рулей, соединенных между собой. Например, руля компилятора берет на вход все файлы, оттегированные как ‘c’, ‘cpp’, ‘h’ и прочие (по умолчанию), эти файлы компиляться в объектники, которые являются выходными артифактами для этой рули (эти файлы также теггируются своими тегами). Потом эти объектники поступают на вход другой руле линкеру. Она берет объектники и линкует их в екзешку или чо то еще. Эта екзешка является выходным артифактом для этой рули. Далее можно эту экзешкуу подать на вход еще какой-нить юзерской руле… Например для генерации HEX файлов из ELF и прочее.
Ваши CMake сосут по полной все сильнее. ))
Исправление kuzulis, :
Пока что, для меня система Rule + Artifact выглядит как какой-то запутанный костыль,
Наоборот - все очень просто. У каждой рули есть набор входных и выходных артифактов. Наборы артифактов идентифицируются тегами. Т.е. к любому файлу/артифакту ты можешь назначить любой тег и обрабатывать этот файл по своему (например cpp файлы не компилять а шо нить другое с ними делать). Сами рули выстраиваются в цепочки, где выходы одних рулей соединяются со входами других… что то вроде pipeline.
Ваши CMake сосут по полной. ))
UPD: Так работает все в QBS, даже компиляция. Например этим занимается модуль cpp, который также содержит набор рулей, соединенных между собой. Например, руля компилятора берет на вход все файлы, оттегированные как ‘c’, ‘cpp’, ‘h’ и прочие (по умолчанию), эти файлы компиляться в объектники, которые являются выходными артифактами для этой рули (эти файлы также теггируются своими тегами). Потом эти объектники постпают на вход другой руле линкеру. Она берет объектники и линкует их в екзешку или чо то еще. Эта екзешка является выходным артифактом для этой рули. Далее можно эту экзешкуу подать на вход еще какой-нить юзерской руле… Например для генерации HEX файлов из ELF и прочее.
Ваши CMake сосут по полной все сильнее. ))
Исходная версия kuzulis, :
Пока что, для меня система Rule + Artifact выглядит как какой-то запутанный костыль,
Наоборот - все очень просто. У каждой рули есть набор входных и выходных артифактов. Наборы артифактов идентифицируются тегами. Т.е. к любому файлу/артифакту ты можешь назначить любой тег и обрабатывать этот файл по своему (например cpp файлы не компилять а шо нить другое с ними делать). Сами рули выстраиваются в цепочки, где выходы одних рулей соединяются со входами других… что то вроде pipeline.
Ваши CMake сосут по полной. ))