Berkus
там оптимайзер тупо сводит T create() { return T(); } до T()
Berkus
а дальше все практически как в истории про A b = a;, только справа у тебя move
Berkus
я прости не понимаю что ты хочешь сказать
Berkus
я тебе показал код
Berkus
покажи теперь ты
Berkus
он и не вызывался
ttldtor
можно ещё и это порекомендовать https://www.youtube.com/watch?v=PNRju6_yn3o
правда, он почти истерит
ttldtor
В смысле, там тоже есть про rv-ref и perfect forwading
🐙 Antony
раньше не читал
Billy
хорошая статья
Berkus
есть же meson
Sergey
когда там qbs придет?
Sergey
чтобы на нормальном языке описывать сборку
Sergey
на js я имею в виду
Berkus
хотя мне больше gyp + buck нравятся в комбинации
Sergey
на js я имею в виду
Nikita
Berkus
Billy
нравится или Не нравится?
Igor
build2 на реддите периодически пиарится, но хз, не трогал
Billy
ничего, в том то и дело )
Billy
есть premake ну как-то там пару тройку лет назад было тухло все
Anonymous
Meson. Многие опенсорц проекты переходят на него.
Anonymous
https://github.com/mesonbuild/meson
Matwey
даешь систему сборки плюсов на плюсах
Matwey
почему? можно сделать синтаксис какой-нибудь приятный с помощью шаблонной магии
Matwey
потом делаешь
g++ -o build build.cpp
Matwey
и ./build тебе начинает всё собирать
Matwey
удобно же
Berkus
tup!
Matwey
он не на голом C, он на m4
Matwey
Berkus
это система сборки для плюсов на плюсах, всё как заказывали!
Berkus
ну там какой-то DSL еще прикручен, это дело десятое
Aidar
Люди почему конструктор vector работает как push а не emplace?
Matwey
Я предлагаю всю систему сборки сделать в виде библиотеки. А описание проекта в виде модуля, без всякого DSL
Berkus
Berkus
и m4
Aidar
Anonymous
Более удобный формат манифестов сборки.
Anonymous
Anonymous
Anonymous
Пример на Meson:
cc = meson.get_compiler('c')
ldl = cc.find_library('dl', required: false)
pth = cc.find_library('pthread', required: false)
utl = cc.find_library('util', required: false)
mth = cc.find_library('m', required: false)
Pavel
Pavel
scons?
Pavel
Pavel
помнится мне что там как раз питон + мироадок
Anonymous
Anonymous
https://github.com/systemd/systemd/blob/master/meson.build - пример билд-манифеста systemd на Meson.
Berkus
Berkus
Berkus
Pavel
нужно понимать что cmake еще имеет 100500 сторонних cmake файлов под всякие тулчайны и прочее
Ioann_
Настоящие хакеры пишут файлы сборки проекта руками
Pavel
Aidar
Berkus
Anonymous
Berkus
Ioann_
Ладно, я тоже за СМейк
Berkus
кучи ненужного бойлерплейта
Anonymous
Pavel
и то в конторе наверное он внедрен был как хотелка начальства а не пожелание коллектива
Anatoly
c bjam-а я перешел на cmake - это был революционный скачек
Ned
🐙 Antony
Кстати, а никто случайно не занет, какой License Agreement надо добавить в репозитарий github, чтобы потом можно было менять лицензию не опрашивая всех авторов pull requestов?
Berkus
Berkus
но можно добавить пару строк что контрибуторы контрибутя соглашаются на возможную смену лицензии априори
🐙 Antony
Не похоже что этого достаточно: The meaning of a signoff depends on the project, but it typically certifies that committer has the rights to submit this work under the same license