Size: a a a

2018 November 28

EP

Egor Pugin in pro.buildsystems
тест в скрипт обернуть и пусть себе до успеха в цикле крутится
источник

II

Igor Ivanov in pro.buildsystems
звучит упорото и пахнет сборками, зависающими на полчаса там где хватило бы обломиться через пару секунд
источник

EP

Egor Pugin in pro.buildsystems
с чего обламываться, если ты хочешь перезапускать тест
источник

II

Igor Ivanov in pro.buildsystems
я хочу перезапускать тест руками, увидев что он не прошёл из-за какойто оплошности не связанной с билдом, и при этом не пересобирать сам бинарник теста
источник

EP

Egor Pugin in pro.buildsystems
ну зависимости у тста не поменялись - он не должен пересобираться
источник

II

Igor Ivanov in pro.buildsystems
пока что я наблюдал обратное с add_custom_command(my_test COMMAND "./my_test")
источник

EP

Egor Pugin in pro.buildsystems
значит это симейк так работает
источник

S

Spoonson in pro.buildsystems
Igor Ivanov
я хочу перезапускать тест руками, увидев что он не прошёл из-за какойто оплошности не связанной с билдом, и при этом не пересобирать сам бинарник теста
мне кажется, все же обычно делают уровня cmake && make && make test, если тестов по каким-то причинам для данной комбинации нет, можно и noop сделать например.
источник

II

Igor Ivanov in pro.buildsystems
Spoonson
мне кажется, все же обычно делают уровня cmake && make && make test, если тестов по каким-то причинам для данной комбинации нет, можно и noop сделать например.
обычно да, но у нас тут всё через одно место
разводить билд на отдельные make test и make install я буду позже
источник

II

Igor Ivanov in pro.buildsystems
в итоге получилась такая хрень:
    set(target_run_test "${target_build_test}-RUN")
   set(target_run_done_file "${CMAKE_CURRENT_BINARY_DIR}/${target_run}")
   add_custom_command(
       DEPENDS ${target_build_test}
       COMMAND ${_cmd}
       COMMAND touch ${target_run_done_file}
       OUTPUT ${target_run_done_file}
   )
   add_custom_target(${target_run_test}
       DEPENDS ${target_run_done_file}
   )
осталось найти кроссплатформенный touch 🤔
источник

S

Spoonson in pro.buildsystems
Igor Ivanov
в итоге получилась такая хрень:
    set(target_run_test "${target_build_test}-RUN")
   set(target_run_done_file "${CMAKE_CURRENT_BINARY_DIR}/${target_run}")
   add_custom_command(
       DEPENDS ${target_build_test}
       COMMAND ${_cmd}
       COMMAND touch ${target_run_done_file}
       OUTPUT ${target_run_done_file}
   )
   add_custom_target(${target_run_test}
       DEPENDS ${target_run_done_file}
   )
осталось найти кроссплатформенный touch 🤔
-E: CMake command mode.

For true platform independence, CMake provides a list of commands that can be used on all systems. Run with -E help for the usage information. Commands available are: chdir, compare_files, copy, copy_directory, copy_if_different, echo, echo_append, environment, make_directory, md5sum, remove, remove_directory, rename, tar, time, touch, touch_nocreate. In addition, some platform specific commands are available. On Windows: comspec, delete_regv, write_regv. On UNIX: create_symlink.
источник

II

Igor Ivanov in pro.buildsystems
...это touch предлагается заменить на условный ${CMAKE_COMMAND} touch ?
источник

S

Spoonson in pro.buildsystems
${CMAKE_COMMAND} -E touch только
источник

II

Igor Ivanov in pro.buildsystems
проиграл, чего только не заваляется в этом швейцарском ноже
спасибо
источник

II

Igor Ivanov in pro.buildsystems
Igor Ivanov
проиграл, чего только не заваляется в этом швейцарском ноже
спасибо
существует ли в симейке практика определения тулчейна для кросс-компиляции на лету?

есть шесть разных тулчейнов под разные платы, со своими сдк и флагами сборки, хотел запилить один единственный toolchain-cross.cmake, вызывать cmake -DBoard=hi3531av100 -DCMAKE_TOOLCHAIN_FILE=toolchain-cross и на месте определять, под что мы конфигуримся - меняться должны пара дефайнов, путь до компилятора, и путь до папки с SDK
суровая реальность такова, что смак видимо в дальнейшем сам вызывает где-то под капотом cmake -DCMAKE_TOOLCHAIN_FILE=..., и мои кастомные переменные вроде Board=hi3531av100 дальше не передаются

выглядит так, будто юзеру придётся генерить конкретные тулчейн-файлы из какого-то шаблона
источник

EP

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

II

Igor Ivanov in pro.buildsystems
угу, вот только выглядит так, будто флаги по пути где-то теряются
источник

IZ

Ilia Zviagin in pro.buildsystems
#question
По PCH.
Кто знает особенности работы precompiled headers
с проектами типа subdirs ?

Можно задать PCH на самом верхнем уровне, или надо задать для каждого подпроекта отдельно?

Я задал на верхнем, но что-то не вижу эффект, может что-то не так сделал?
источник

IZ

Ilia Zviagin in pro.buildsystems
Ilia Zviagin
#question
По PCH.
Кто знает особенности работы precompiled headers
с проектами типа subdirs ?

Можно задать PCH на самом верхнем уровне, или надо задать для каждого подпроекта отдельно?

Я задал на верхнем, но что-то не вижу эффект, может что-то не так сделал?
Это про Qmake
источник
2018 November 29

ee

elias eliatto in pro.buildsystems
привет. У меня почему-то в Windows при попытке использовать динамическую curl в CMake 3.13.1проекте переменная CURL_LIBRARIES = D:/vcpkg/installed/x64-windows/debug/bin/libcurld.dll. По идее должна же линковаться библиотека импорта.
источник