Size: a a a

2018 November 19

II

Igor Ivanov in pro.buildsystems
вон выше Дмитрий и Егор говорят что работают, на винде и на линуксе
источник
2018 November 20

II

Igor Ivanov in pro.buildsystems
безотносительно того, что это выглядит  как страшный сон и что кьют нужно дёргать по другому
    add_executable(player EXCLUDE_FROM_ALL "archive-player/player.cpp")
   add_custom_command(OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/generated/moc-player.cpp"
       MAIN_DEPENDENCY "${CMAKE_CURRENT_SOURCE_DIR}/archive-player/player.cpp"
       COMMAND moc-qt4 ${CMAKE_CURRENT_SOURCE_DIR}/archive-player/player.cpp -o ${CMAKE_CURRENT_SOURCE_DIR}/generated/moc-player.cpp
   )
компиляция player.cpp не выполняется, при сборке таргета  player в строчке /usr/lib64/ccache/c++ -g -o player ... не фигурирует ни один объектник включая player.cpp.o

если add_custom_command убрать, player.cpp начинает компилироваться, player тоже собирается с учетом получившегося объектника
шта?
источник

SE

Stanislav Ershov in pro.buildsystems
Igor Ivanov
безотносительно того, что это выглядит  как страшный сон и что кьют нужно дёргать по другому
    add_executable(player EXCLUDE_FROM_ALL "archive-player/player.cpp")
   add_custom_command(OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/generated/moc-player.cpp"
       MAIN_DEPENDENCY "${CMAKE_CURRENT_SOURCE_DIR}/archive-player/player.cpp"
       COMMAND moc-qt4 ${CMAKE_CURRENT_SOURCE_DIR}/archive-player/player.cpp -o ${CMAKE_CURRENT_SOURCE_DIR}/generated/moc-player.cpp
   )
компиляция player.cpp не выполняется, при сборке таргета  player в строчке /usr/lib64/ccache/c++ -g -o player ... не фигурирует ни один объектник включая player.cpp.o

если add_custom_command убрать, player.cpp начинает компилироваться, player тоже собирается с учетом получившегося объектника
шта?
не понял, ты moc хочешь прогнать?
источник

SE

Stanislav Ershov in pro.buildsystems
https://cmake.org/cmake/help/v3.12/module/FindQt4.html это то чем не устраивает?
источник

SE

Stanislav Ershov in pro.buildsystems
источник

II

Igor Ivanov in pro.buildsystems
видел, проходил, с двух прочтений по диагонали не понял как это натянуть на текущую крайне дебильную систему с player.cpp:  #include "../generated/moc-player.cpp", попытался захардкодить хоть что-нибудь лишь бы оно собралось

я же говорю, безотносительно того что qtшные moc, rcc, uic и прочие нужно вызывать по другому - как так получается, что add_custom_command влияет на участвующие в сборке экзешника .cpp?
источник

II

Igor Ivanov in pro.buildsystems
у AUTOMOC тоже какие-то проблемы

work/sources_d/tech1utils/include/serialize-utils.:17: Parse error at "serialization_utils"

на 17й строке в serialize-utils.h: namespace serialization_utils T1_EXPORT {, определение T1_EXPORT лежит в соседнем инклюде, если макрос убрать то продолжает ругаться на него в других хедерах
источник

EP

Egor Pugin in pro.buildsystems
постоянная рубрика - чудеса симейка)
источник

EP

Egor Pugin in pro.buildsystems
${CMAKE_CURRENT_SOURCE_DIR}/generated/moc-player.cpp добавлен к таргету?
источник

SE

Stanislav Ershov in pro.buildsystems
Igor Ivanov
у AUTOMOC тоже какие-то проблемы

work/sources_d/tech1utils/include/serialize-utils.:17: Parse error at "serialization_utils"

на 17й строке в serialize-utils.h: namespace serialization_utils T1_EXPORT {, определение T1_EXPORT лежит в соседнем инклюде, если макрос убрать то продолжает ругаться на него в других хедерах
хренани лучше QT4_GENERATE_MOC
источник

SE

Stanislav Ershov in pro.buildsystems
он позволяет кастомные имена выдавать
источник

EP

Egor Pugin in pro.buildsystems
если генерируемый файл туда не добавлен, то может неправильно работать
источник

II

Igor Ivanov in pro.buildsystems
Egor Pugin
${CMAKE_CURRENT_SOURCE_DIR}/generated/moc-player.cpp добавлен к таргету?
вангую что приведёт к двойной компиляции и конфликтующим символам, ибо include moc-player.cpp
источник

EP

Egor Pugin in pro.buildsystems
почему
источник

EP

Egor Pugin in pro.buildsystems
если автомок не включен, то только ручное указание
источник

EP

Egor Pugin in pro.buildsystems
а его, видимо, нет
источник

SE

Stanislav Ershov in pro.buildsystems
вот да, generate_moc и добавляешь
источник

II

Igor Ivanov in pro.buildsystems
Stanislav Ershov
хренани лучше QT4_GENERATE_MOC
попробуем-с
источник

II

Igor Ivanov in pro.buildsystems
мда, QT4_WRAP_### макросы этапять - расширения на выходе строго .cxx, пути строго в BINARY_DIR/...
источник

EP

Egor Pugin in pro.buildsystems
а автомоком точно нельзя?
источник