
Eugene
07.09.2017
19:51:10
Как "так"?
Типа использовать современные возмоности cmake, всякие target_include_directories, properties и т.п. Но проблема опять же в том, что реальных примеров всего этого добра мало, приходится шерстить чьи-то исходники, чтобы выяснить "как же сделать вот эту хрень".
Например, я бы никогда не догадался, как сделать подпапки для VS Solution. Оказывается, всё "просто"
set_property(TARGET MyTarget PROPERTY FOLDER Folder/Path)
есть что-то лучше Cmake?
Что там в Qt пилили-пилили Qbs вроде. Оно живое вообще? Я даже не трогал. И может ли оно выйти за границы экостистемы Qt?

Matwey
07.09.2017
19:53:32

Eugene
07.09.2017
19:53:33

Google

Matwey
07.09.2017
19:54:02
Ну исходники модулей можно смотреть
Чтобы понять как та или иная переменная устанавливается и какие значения принимает в каких ситуациях

Alexander
07.09.2017
19:54:44

Eugene
07.09.2017
19:54:45
Исходники модулей, да, туда смотрю постоянно. Во всякие Find<PackageName>

Alexander
07.09.2017
19:55:00

Eugene
07.09.2017
19:56:43
Кстати для буста модуль поиска у них кривой.
Если не задать Boost_LIBRARY_DIR, он не может найти библиотеки. Но при этом он эту переменную не инициализирует, и если про неё не знать, то придётся для каждой библиотеки прописывать путь руками. При том, что он пишет сообщение с неправильным названием переменной. Типа, определите переменную такую-то, но это бесполезно. :)

Anton
07.09.2017
19:56:57

Alexander
07.09.2017
19:57:42
голый make? autotools? scons? smth else?
у нас на работе своя билд система на перле писаная

Anton
07.09.2017
19:58:45

Matwey
07.09.2017
19:58:48
Во!
Только вспомнил байку про Perl!

Google

Matwey
07.09.2017
19:59:16
Люди из make --debug извлекали граф зависимостей и на перле генерировали сборочный bat для windows.

Alexander
07.09.2017
19:59:26
http://releases.llvm.org/5.0.0/tools/clang/docs/ReleaseNotes.html

Eugene
07.09.2017
20:13:17
http://releases.llvm.org/5.0.0/tools/clang/docs/ReleaseNotes.html
GCC сильно отстаёт от clang по возможностям и поддержке разных штук? clang же помимо стандарта поддерживает кучу экспериментальных возможностей.
Когда смотришь на исходники GCC, то вообще не понятно, как они это поддерживают и развивают.
https://raw.githubusercontent.com/gcc-mirror/gcc/master/gcc/cp/parser.c
На LLVM, мне думается, всяко проще делать и развивать такие вещи как "язык программирования" и компилятор к нему :)

Evgeniy
07.09.2017
20:19:59

Pavel
07.09.2017
20:20:39
ну цмейк заявляет о поддержке компиляции на разные платформы, с разными компиляторами, сам умеет выводить флаги для клмпиляторов, делать пакеты для всех популярных осей, статический анализ, запуск тестов, кросскомпилирование и хз что ещё забыл
попроуй сделай это переносимо на qmake или недайбог автотулз/мейк
в видео то там всё достаточно последовательно и логично
ну и вот же я же показывал. https://github.com/cginternals/cmake-init
говорят, что надо так
автор няшка :3


Eugene
07.09.2017
20:40:14

Alexander
07.09.2017
20:43:29
статический анализ PVS-Studio пробовал

Pavel
07.09.2017
20:44:02
да я и не делал так никогда. мне никто и не говорил как надо то. как то вот не приходилось работать с такими адекватными людьми.
я, впринципе, знаю что есть clang-tidy и прочие санитазеры. но я их юзал только из командной строки а не встроеными в цмейк
с другой стороны вот смотрю я на многие проекты на гитхабе и там тоже какоето болото

Google

Pavel
07.09.2017
20:52:20
и зачем тогда conan а не hunter?
https://github.com/weidai11/cryptopp/blob/master/CMakeLists.txt#L396
вон какой адищще
ну а как подругому?
почемуто CMAKE_CXX_KNOWN_FEATURES в цмейк завези, а, например, с simd они подобное не осилили чтоли?

Eugene
07.09.2017
21:03:52

Pavel
07.09.2017
21:04:53
нуда, это я видел. ещё бы завезли чтонибудь по поводу того поддерживает ли хост на который собирают всякие sse и прочие avx
ну, флаги архитектуры а не языка

Eugene
07.09.2017
21:05:14
вон какой адищще
Во время конфигурирования до сих пор нельзя прямо определить target arch, типа x86 или x64

Pavel
07.09.2017
21:05:26
или решение тут "пишите просто нормально" компилятор вам сам заоптимизирует
хм
дела..

Eugene
07.09.2017
21:06:44
Вот такое городить надо
https://github.com/axr/solar-cmake/blob/master/TargetArch.cmake

Pavel
07.09.2017
21:09:18
хотя вот у них есть CMAKE_TOOLCHAIN_FILE

Square
07.09.2017
21:16:31

Alex Фэils?︙
07.09.2017
21:22:16

Ilia
08.09.2017
04:36:24

Александр
08.09.2017
05:58:20
Есть способы заставить компилятор генерировать код вида:
mov eax, ptr; call eax
вместо
call ptr
при наличии ptr в виде числа? Пока остановился на
static const auto volatile f = (func_t)ptr; f();
, без volatile генерит call ptr. Нужен именно position independent code. И насколько надёжен вариант с volatile?

Admin
ERROR: S client not available

Vladislav
08.09.2017
06:01:25
но зачем так делать?

Google

Александр
08.09.2017
06:09:45
Код в динамической библиотеке, функция - нет.

Vladislav
08.09.2017
06:10:41
собрать с -fPIC?

Ilia
08.09.2017
06:19:59

Александр
08.09.2017
06:30:58

Berkus
08.09.2017
06:33:38
если только попатчить кодогенератор

Vladislav
08.09.2017
06:35:54

Александр
08.09.2017
06:44:08
Да, забыл -fPIC. Проблема решена

Berkus
08.09.2017
07:05:02
кек

Vladislav
08.09.2017
07:06:16
ура, еще одна XY-проблема побеждена

Александр
08.09.2017
07:08:56
Почему XY? Я сразу сказал про PIC

Berkus
08.09.2017
07:12:43
ты сказал "как заставить конпелятор"

Matwey
08.09.2017
07:17:31
Заставить опицей

Nikolai
08.09.2017
07:44:32

Evgeniy
08.09.2017
08:15:14

Александр
08.09.2017
08:18:01

Pavel
08.09.2017
08:20:03
Всем привет! Есть отдельный чат для Qt?

Google

Александр
08.09.2017
08:21:10
https://t.me/qt_chat

Саня
08.09.2017
09:17:25
Привет всем, я спрошу у вас, но не уверен что вы мне поможете.Вообщем, недели две назад, наушники начли определятся как гарнитура и открываться гуглнау, я забил и пелваьть, сегодня наушники перестали работать, но если предавить штекер- работают, тоесть, чисто не определяются.И так со всеми наушниками, наушники держутся крепко- разъем не трахнут.Спасибо за помощь.

Anatoly
08.09.2017
09:18:40
Привет всем, я спрошу у вас, но не уверен что вы мне поможете.Вообщем, недели две назад, наушники начли определятся как гарнитура и открываться гуглнау, я забил и пелваьть, сегодня наушники перестали работать, но если предавить штекер- работают, тоесть, чисто не определяются.И так со всеми наушниками, наушники держутся крепко- разъем не трахнут.Спасибо за помощь.
и теперь ты должен сделать плавный переход на вопрос о С++

Саня
08.09.2017
09:19:19
как написать на с++ заплатку, что бы определялись наушники !

Evgeniy
08.09.2017
09:20:42
держи нас вкусе