Здравствуйте, vsb, Вы писали:
vsb>Если компилируется библиотека для windows, то использовать докер для windows.
хорошо
а где брать имидж докера с windows
компилятором от visual studio
как ставить дополнительны библиотеки на этот образ если половина инсталяторов с GUI и без командной строки
Здравствуйте, vsb, Вы писали:
vsb>1. Использовать виртуальную машину. Программа должна собираться в только что установленной макоси определённой версии. Скриптом установить нужные пакеты (xcode, sdk) и всё, остальное уже в исходниках приложения. Ну и сказать людям, чтобы использовали виртуальную машину, а не свою хостовую систему. Если на хосте макось, запускать гостевую макось — варианты есть, как платные, так и бесплатные.
Здравствуйте, sergey2b, Вы писали:
vsb>>Если компилируется библиотека для windows, то использовать докер для windows.
S>хорошо S>а где брать имидж докера с windows
Установить библиотеку в виртуалку, разобраться, какие папки/файлы она создала, собрать эти файлы в tar архив и устанавливать в докер-образ через ADD этот tar-архив по нужному пути, вместо инсталлятора. Использовать GUI в докере наверное не получится, ну по крайней мере я не знаю, как. Но вообще многие инсталляторы библиотек и инструментов для разработки таки поддерживают установку без GUI.
Ещё есть разные пакетные менеджеры для Windows — официальный windows package manager, chocolatey и тд. Можно на них посмотреть, они популярные библиотеки перепаковывают.
S>А третья библиотека нуждается в этих h-файлах, которые должны были быть скопированы, но не скопировались т.к. был пропущен шаг.
Ну, а find_package(собраная_или_установленная_либа REQUIRED) возвращает правильные пути к заголовкам? (Будь они в директории сборки проекта или где-то в системе)
Здравствуйте, Shmj, Вы писали:
S>А конкретно, какой-то CMake-файл проверяет установлена ли либа и если установлена — то пропускает ее сборку и использует ее. А третья библиотека нуждается в этих h-файлах, которые должны были быть скопированы, но не скопировались т.к. был пропущен шаг.
Ну это же баг. Просто не дотестировали.
Открой им ишью с описанием проблемы, ну или отправь PR вместо нытья на форумах. Поможешь себе и мир немного лучше сделаешь.
А то докеры — костылёкеры. CMake, по идее, был рождён для воспроизводимости сборки в том числе, но от багов никто не застрахован.
Здравствуйте, Doom100500, Вы писали:
D>Здравствуйте, Shmj, Вы писали:
S>>А конкретно, какой-то CMake-файл проверяет установлена ли либа и если установлена — то пропускает ее сборку и использует ее. А третья библиотека нуждается в этих h-файлах, которые должны были быть скопированы, но не скопировались т.к. был пропущен шаг.
D>Ну это же баг. Просто не дотестировали.
Это сторонние скрипты и не просто баг а коряво написаны.
D>Открой им ишью с описанием проблемы, ну или отправь PR вместо нытья на форумах. Поможешь себе и мир немного лучше сделаешь. D>А то докеры — костылёкеры. CMake, по идее, был рождён для воспроизводимости сборки в том числе, но от багов никто не застрахован.