История изменений
Исправление AntonI, (текущая версия) :
Тут основной вопрос в использовании. Я знаю два сценария:
-
самый типовой сценарий - на машине ровно один юзер такой штуки. развертывается в локальную директорию и в ней же юзается, системная установка не требуется.
-
крайне редко - на одной машине несколько пользователей такой штуки. Это чаще всего студенты которые делают лабораторные, реже научные сотрудники. Если это студенты - и.о. сисадмина ручками ставит приложение системно. Если это научные сотрудники - каждый ставит приложение себе сам локально, либо кто то ручками ставит приложение системно.
Вывод - cmake тут нужен только в случае если приложение кроссплатформенное, а так достаточно gnu make. Если очень прямо чешется, можно добавить цели install и links-install (прописывает в систему мягкие ссылки к локальной копии - так удобнее накатывать обновления).
При локальной установке с путями вообще проблем нет, при глобальной - все ставится туда где питоньи либы лежат в виде отдельного модуля, включая .so
PS про биндинг C++ кода - гляньте таки SWIG, для наших свистелок это ИМНО оптимальное решение. Последняя версия научилась doxygen комментарии в питон засасывать;-)
PPS еще раз подчеркну - для людей которые используют такие вещи по работе нет проблемы набрать
git clone ...
cd ...
make
;-)
Я бы лично сильно испугался если бы такой код при установке начал сам че то качать из зависимостей и их как то собирать…
Исправление AntonI, :
Тут основной вопрос в использовании. Я знаю два сценария:
-
самый типовой сценарий - на машине ровно один юзер такой штуки. развертывается в локальную директорию и в ней же юзается, системная установка не требуется.
-
крайне редко - на одной машине несколько пользователей такой штуки. Это чаще всего студенты которые делают лабораторные, реже научные сотрудники. Если это студенты - и.о. сисадмина ручками ставит приложение системно. Если это научные сотрудники - каждый ставит приложение себе сам локально, либо кто то ручками ставит приложение системно.
Вывод - cmake тут нужен только в случае если приложение кроссплатформенное, а так достаточно gnu make. Если очень прямо чешется, можно добавить цели install и links-install (прописывает в систему мягкие ссылки к локальной копии - так удобнее накатывать обновления).
При локальной установке с путями вообще проблем нет, при глобальной - все ставится туда где питоньи либы лежат в виде отдельного модуля, включая .so
PS про биндинг C++ кода - гляньте таки SWIG, для наших свистелок это ИМНО оптимальное решение. Последняя версия научилась doxygen комментарии в питон засасывать;-)
Исходная версия AntonI, :
Тут основной вопрос в использовании. Я знаю два сценария:
-
самый типовой сценарий - на машине ровно один юзер такой штуки. развертывается в локальную директорию и в ней же юзается, системная установка не требуется.
-
крайне редко - на одной машине несколько пользователей такой штуки. Это чаще всего студенты которые делают лабораторные, реже научные сотрудники. Если это студенты - и.о. сисадмина ручками ставит приложение системно. Если это научные сотрудники - каждый ставит приложение себе сам локально, либо кто то ручками ставит приложение системно.
Вывод - cmake тут нужен только в случае если приложение кроссплатформенное, а так достаточно gnu make. Если очень прямо чешется, можно добавить цели install и links-install (прописывает в систему мягкие ссылки к локальной копии - так удобнее накатывать обновления).
При локальной установке с путями вообще проблем нет, при глобальной - все ставится туда где питоньи либы лежат в виде отдельного модуля, включая .so