Skip to content

Автоматизация сборочного процесса + поддержка работы в Linux#1

Open
ololoshka2871 wants to merge 14 commits into
OakwoodTable:mainfrom
ololoshka2871:main
Open

Автоматизация сборочного процесса + поддержка работы в Linux#1
ololoshka2871 wants to merge 14 commits into
OakwoodTable:mainfrom
ololoshka2871:main

Conversation

@ololoshka2871

Copy link
Copy Markdown

Увидел ваш ролик на ютубе, давно хотел сделать нечто подобное.
Оказалось что у вас сборка только в Visual Studio, хотя все зависимости доступны и в Linux, немного переписал код и добавил сборку при помощи CMake.

@golxzn

golxzn commented Aug 6, 2022

Copy link
Copy Markdown

@ololoshka2871, Я поддерживаю твое стремление перевести этот проект на CMake + submodules, однако почему бы не подтягивать и SDL заодно?

Хотя, будем надеяться, что этот ПР вообще включат хотя бы как отдельную ветку)

Comment thread source/Main.cpp Outdated
}


#ifndef UNIX

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to use #if !defined(UNIX) :idk:

Comment thread source/Main.cpp Outdated
if (ImGui::Selectable(filenamesPartial[i], &selectedFilenames[i]))
{
ZeroMemory(selectedFilenames, sizeof(selectedFilenames));
memset(selectedFilenames, 0, sizeof(selectedFilenames));

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OH, It's so painful 😢
If we'll change selectedFilenames's type to std::array, there'll fill method for this stuff

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just fast fix 🥲

@OakwoodTable

Copy link
Copy Markdown
Owner

Здравствуйте, рад что вам понравился мой ролик. Также приятно знать что кому-то интересна программа. Плохо умею работать с этим сайтом, что мне сейчас нужно делать? Я внес изменения в код с тех пор, но сюда пока не выкладывал, скажите может быть мы оставим вашу ветку как отдельную и вы будете её вести. Никогда не работаю в Linux. Да и честно говоря вообще планировал забросить код после ещё одного видео, так как хочу написать новую программу на CLR + DirectX. Посоветуйте как лучше.

@ololoshka2871

Copy link
Copy Markdown
Author

@OakwoodTable Извините, я сам не особо силен в интерфейсе гитхаба, но в теории вам нужно согласиться принять этот запрос, но оформить его как новую ветку, например с именем cmake-build или вроде того.
Кроме того вы можете передать мне ваши изменения и я попробую их интегрировать чтобы у нас все сложилось вместе.

Я еще хотел поработать над автоматическим выделением количества рабочих потоков равным количеству ядер процессора. Ну если будет время.

@grpilot Я не имел опыта сборки SDL2 в Windows, просто погуглил и нашел готовый собранный дистрибутив, и оно заработало. Можно попробовать и submodul.

@ololoshka2871 ololoshka2871 left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добавил SDL2 в качестве субмодуля, теперь внешних зависимостей нет.

Comment thread source/Bot.h Outdated

//----------------------------------------------------------------------------------------------
//������� ��� ������������� ��������, ���������� � ����� ������� tick(), ���� �� ������������
//������� ��� ������������� ��������, ���������� � ����� ������� tick(), ���� �� ������������

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

у вас тут беды с utf-8....

@qwertilus qwertilus left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

все офигенно работает, тестил на Ubuntu 20.04 LTS + CLion

@proller

proller commented Aug 18, 2022

Copy link
Copy Markdown

может быть мы оставим вашу ветку как отдельную и вы будете её вести.

Пожалуйста не плодите долгоживущие ветки, сборка под любый ос с использованием cmake и без должна работать в основной ветке.

@edombek

edombek commented Aug 23, 2022

Copy link
Copy Markdown

не работает в ArchLinux:

X Error of failed request:  GLXBadDrawable
  Major opcode of failed request:  152 (GLX)
  Minor opcode of failed request:  5 (X_GLXMakeCurrent)
  Serial number of failed request:  229
  Current serial number in output stream:  229

@qwertilus

qwertilus commented Aug 23, 2022

Copy link
Copy Markdown

не работает в ArchLinux:

export MESA_GL_VERSION_OVERRIDE=4.5

5 сек гугла https://forum.winehq.org/viewtopic.php?f=8&t=34889

@edombek

edombek commented Aug 23, 2022

Copy link
Copy Markdown

MESA_GL_VERSION_OVERRIDE=4.5

неа, непомогает:

$ MESA_GL_VERSION_OVERRIDE=4.5 ./CyberBiology3 
X Error of failed request:  GLXBadDrawable
  Major opcode of failed request:  152 (GLX)
  Minor opcode of failed request:  5 (X_GLXMakeCurrent)
  Serial number of failed request:  229
  Current serial number in output stream:  229

@justuser-31

Copy link
Copy Markdown

Что-то не могу собрать в Void Linux.Поможете?

При запуске:
git submodule update --init --recursive
Выдаёт:
fatal: not a git repository (or any of the parent directories): .git
(Не критично,я и руками могу натаскать библеотек,но не приятно)

Далее.При запуске:
mkdir build && cd build
cmake ..

Выдаёт:

CMake Error at libs/CMakeLists.txt:5 (add_subdirectory):
The source directory
/home/void/Desktop/CyberBiology3-main/libs/SDL
does not contain a CMakeLists.txt file.
CMake Error at libs/CMakeLists.txt:9 (add_subdirectory):
The source directory
/home/void/Desktop/CyberBiology3-main/libs/SDL_ttf
does not contain a CMakeLists.txt file.
-- Configuring incomplete, errors occurred!
See also "/home/void/Desktop/CyberBiology3-main/build/CMakeFiles/CMakeOutput.log".

@0x8BADFOOD

Copy link
Copy Markdown

Посмотрите, как организована сборка проектов SDL для разных платформ(Win, MacOS, Linux) на примере популярных проектов. На пример тут: https://github.com/cxong/cdogs-sdl

@qwertilus

Copy link
Copy Markdown

"/home/void/Desktop/CyberBiology3-main/build/CMakeFiles/CMakeOutput.log".

думаю, стоит скинуть содержимое логов

@justuser-31

Copy link
Copy Markdown

думаю, стоит скинуть содержимое логов

Вот - https://pastebin.com/qzd4gBrk

@willbasky

Copy link
Copy Markdown

Спасибо за инструкцию, на Manjaro собралось и запускается. (Бинарник по умолчанию сохраняется сюда build/source/CyberBiology3)
@ololoshka2871 @OakwoodTable есть в проекте настройки, чтобы подкрутить масштабирование шрифтов? На большом экране 2K мелковато. И окно не разворачивается на весь экран.

@ololoshka2871

Copy link
Copy Markdown
Author

Смерджил последние изменения от @OakwoodTable

@marmusevich

Copy link
Copy Markdown

залейте/смержите пожалуйста, или в отдельном бранче, или подскажите как забрать изменения гитом, без установки гитхаба

@Rai220

Rai220 commented Nov 11, 2022

Copy link
Copy Markdown

Автору большое спасибо за программу и видео, очень интересно!
ololoshka2871 спасибо за адаптацию сборки.
Попробовал на маке - сборка проходит, правда при запуске Segmentation fault. Впрочем, чего я ждал :)

@SergeiNA

SergeiNA commented Dec 4, 2022

Copy link
Copy Markdown

Здравствуйте, планируется ли какой-то мердж?

@SergeiNA

SergeiNA commented Dec 4, 2022

Copy link
Copy Markdown

@ololoshka2871 cмерджил куда? Пишет это=(
This branch is 12 commits ahead, 17 commits behind OakwoodTable:main.

@SergeiNA

SergeiNA commented Dec 5, 2022

Copy link
Copy Markdown

@Rai220 получилось понять в чем дело?

@ololoshka2871

Copy link
Copy Markdown
Author

Смерджил последние изменения.
Пришлось сделать SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); в source/SDL.cpp:22 иначе на рабочем компе на встройке не запускалось.

@OakwoodTable

Copy link
Copy Markdown
Owner

Честно говоря я бы принял этот пул реквест, если бы у вас не была изменена структура файлов проекта и была бы моя версия CMakeLists.txt. Не могли бы вы убрать эти изменения, или это не обсуждается?:) Также для чего у вас используется SDL_tff?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.