i Уведомление от модератора Bizdelnick Отрезано от Публикация и разработка программы
Это только для проекта из одного файла годится. Или если вы не собираетесь делиться кодом.
Модератор: Модераторы разделов
i Уведомление от модератора Bizdelnick Отрезано от Публикация и разработка программы
А еще проще, писать сценарий для какой-нибудь такой хитровыпендренной штуковины, которой вообще ни у кого нет. А posix shell'ом и make'ом пользоваться невозможно и ни в коем случае не надо — они есть у всех :)
watashiwa_darede... писал(а): ↑30.06.2011 15:29А posix shell'ом и make'ом пользоваться невозможно и ни в коем случае не надо — они есть у всех
Я.
Во-первых, Debian Sid, ветка main: ~2.88%, достаточно много каких-то kde* пакетов. А если считать те, которыми я пользуюсь, так и вообще штучно.
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Bizdelnick писал(а): ↑30.06.2011 16:40бинарники складывает отдельно, а не раскидывает по всем каталогам.
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
watashiwa_darede... писал(а): ↑30.06.2011 16:22Во-вторых, то, что <3% пользуются cmake, еще не повод говорить, что проверенные временем make и autotools неюзабельны.
watashiwa_darede... писал(а): ↑30.06.2011 16:22В-третьих, есть разница между лабать для себя (или для компании) нечто, чего никто никогда не увидит или увидит только в бинарном виде, и писать нечто, распространяемое в исходниках и предназначенное для компиляции кем угодно в совершенно разнообразных окружениях.
watashiwa_daredeska писал(а): ↑30.06.2011 16:22Я.
Во-первых, Debian Sid, ветка main: ~2.88%, достаточно много каких-то kde* пакетов. А если считать те, которыми я пользуюсь, так и вообще штучно.
Во-вторых, то, что <3% пользуются cmake, еще не повод говорить, что проверенные временем make и autotools неюзабельны. Вполне возможно, что использование cmake в этих проектах — недостаток, до исправления которого просто руки еще не дошли.
В-третьих, есть разница между лабать для себя (или для компании) нечто, чего никто никогда не увидит или увидит только в бинарном виде, и писать нечто, распространяемое в исходниках и предназначенное для компиляции кем угодно в совершенно разнообразных окружениях.
Скажем так, я сталкивался с необходимостью сборки OpenSource-проектов в не-GNU среде, где из доступного только posix shell (и прочие posix-инструменты), ANSI-compatible C compiler и некоторые библиотеки, вроде libx11. cmake с этим справится? Или проекты, использующие cmake, замыкают себя на linux+windows (ну, может macosx в последнее время еще)?
Еще один умник выискался. Подавляющее большинство проектов использует autotools и не жужжит. Сборщики этого софта в пакеты не жужжат. Пользователи пакетов не жужжат. Один вот, нет, два, умника жужжат, и не могут сформулировать, о чем жужжат. Всё им хочется каких-то непонятных нестандартных плюшек, которые будут работать на неопределенном нестандартном множестве систем. Хотя, о чем это я? Нет системы окромя Убунты, и всё, что работает в ней, работает везде, да.Nazyvaemykh писал(а): ↑30.06.2011 19:18autotools предназначены для чего угодно, только не для сборки программ из исходного кода.
watashiwa_daredeska писал(а): ↑01.07.2011 01:15Скажем так, я сталкивался с необходимостью сборки OpenSource-проектов в не-GNU среде, где из доступного только posix shell (и прочие posix-инструменты), ANSI-compatible C compiler и некоторые библиотеки, вроде libx11. cmake с этим справится? Или проекты, использующие cmake, замыкают себя на linux+windows (ну, может macosx в последнее время еще)?
watashiwa_darede... писал(а): ↑01.07.2011 01:15я сталкивался с необходимостью сборки OpenSource-проектов в не-GNU среде, где из доступного только posix shell (и прочие posix-инструменты), ANSI-compatible C compiler и некоторые библиотеки, вроде libx11. cmake с этим справится?
Код: Выделить всё
SET(VLCQT_SRCS
core/Audio.cpp
core/Common.cpp
core/Enums.cpp
core/Error.cpp
core/Instance.cpp
core/Media.cpp
core/MediaPlayer.cpp
core/MetaManager.cpp
core/Video.cpp
gui/AudioControl.cpp
gui/SeekWidget.cpp
gui/VolumeSlider.cpp
gui/VideoControl.cpp
gui/VideoWidget.cpp
)
Код: Выделить всё
SOURCES = $(wildcard *.c) $(wildcard ../*.c)
HEADERS = $(wildcard *.h) $(wildcard ../*.h)
$(TARGET): $(OBJFILES) $(XDC_LFILE)
@echo
@echo Linking $@ from $^..
$(LINK.c) -o $@ $^
$(OBJFILES): %.o: %.c $(HEADERS) $(XDC_CFLAGS)
@echo Compiling $@ from $<..
$(COMPILE.c) $(shell cat $(XDC_CFLAGS)) -o $@ $<
watashiwa_daredeska писал(а): ↑30.06.2011 15:29А posix shell'ом и make'ом пользоваться невозможно и ни в коем случае не надо — они есть у всех
Код: Выделить всё
aux_source_directory(. SOURCES)
Код: Выделить всё
set(NOCUFILE ./NOCUDA.c)
if(CUDA_FOUND)
list(REMOVE_ITEM SOURCES ${NOCUFILE})
...
Собирал. Потому что проекты не требовали cmake.
Не проще, ибо надо собрать еще саму cmake.
watashiwa_darede... писал(а): ↑01.07.2011 11:11Я говорю, что autotools и make — НЕ негодные инструменты, как заявляет г-н eddy.
На windows вообще отдельная песня. Там нет вообще ничего стандартного, поэтому приходится таскать с собой или требовать от пользователя установки кучи нестандартных программ для сборки. Но это не повод так издеваться над пользователями других систем, в которых стандартно присутствуют необходимые инструменты для сборки.
watashiwa_darede... писал(а): ↑01.07.2011 11:11Я говорю, что autotools и make — НЕ негодные инструменты, как заявляет г-н eddy.
watashiwa_darede... писал(а): ↑01.07.2011 11:22Ежели б CMake умел генерить помимо Makefile еще и ./configure, то цены б ему не было.
Если же говорить об этом, то это смешивание разных моментов жизненного цикла. Разработчик может пользоваться чем угодно, ибо его рабочее место заточено под разработку, имеется куча хитровывернутых инструментов и пр. Но требовать от пользователя, которому надо просто собрать софтину под свои условия, ставить весь этот ненужный ему хлам — моветон. autotools в этом плане лояльны к пользователю — кроме стандартных утилит и того, что требуется непосредственно программе, ничего больше не требуется.
Этот мусор и время меньше, чем время, необходимое на то, чтобы найти и собрать лишнюю сущность по имени CMake. Ну, не нужна эта штука пользователю совершенно.Nazyvaemykh писал(а): ↑01.07.2011 11:22Мусор, генерируемый autotools, может в разы превышать размеры самих исходных текстов, а время конфигурации — время самой компиляции.