diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..2a3b61c --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,29 @@ +{ + "name": "Jelly Rescue", + "build": { + "context": "..", + "dockerfile": "../Dockerfile", + "args": {}, + "target": "development" + }, + "runArgs": [ + "--name=jelly-rescue-dev-cont", + "--net=host" + ], + "workspaceFolder": "/app", + "mounts": [ + "source=./src,target=/app/src,type=bind" + ], + "customizations": { + "vscode": { + "settings": {}, + "extensions": [ + "esbenp.prettier-vscode", + "ms-vscode.cpptools-extension-pack", + "jeff-hykin.better-cpp-syntax" + ] + } + }, + // "postCreateCommand": "/app/scripts/emsdk_setup.sh", + //"postStartCommand": "/app/scripts/emsdk_activate.sh" +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0628e8f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,60 @@ +FROM gcc:latest as base + +# RUN apt-get install cmake \ + # && rm -rf /var/cache/apt/* + + +FROM base as development +# RUN apt-get update \ +# && apt-get install -y entr \ +# && rm -rf /var/cache/apt/* + +RUN apt-get update \ + && apt-get install -y \ + entr \ + cmake \ + libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev \ + libglu1-mesa-dev libxcursor-dev libxinerama-dev libwayland-dev libxkbcommon-dev \ + sudo \ + && rm -rf /var/cache/apt/* + + +RUN groupadd -g 1000 dev && useradd -m -u 1000 -g dev dev +RUN chsh -s /bin/bash dev # Set the default shell to bash for the dev user + +WORKDIR /app +RUN chown -R dev:dev /app + +RUN echo "dev ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/dev && \ + chmod 0440 /etc/sudoers.d/dev + +COPY scripts ./scripts +RUN chmod +x /app/scripts/*.sh + +USER dev +SHELL ["/bin/bash", "-c"] +RUN g++ --version + +RUN git clone https://github.com/emscripten-core/emsdk.git && \ + cd emsdk && \ + ./emsdk install latest && \ + ./emsdk activate latest && \ + cd .. + +RUN echo 'source "/app/emsdk/emsdk_env.sh"' >> $HOME/.bash_profile + +RUN git clone https://github.com/raysan5/raylib.git raylib \ + && cd raylib \ + && mkdir build && cd build \ + && cmake -DBUILD_SHARED_LIBS=ON .. \ + && make \ + && sudo make install + +# RUN git clone https://github.com/raysan5/raylib.git raylib \ +# && cd raylib \ +# && mkdir build && cd build \ +# && cmake -DBUILD_SHARED_LIBS=ON .. \ +# && make \ +# && make install + +CMD ["bash"] diff --git a/Sources.xlsx b/Sources.xlsx new file mode 100644 index 0000000..3e44466 Binary files /dev/null and b/Sources.xlsx differ diff --git a/scripts/build_and_run_project.sh b/scripts/build_and_run_project.sh new file mode 100755 index 0000000..daa81bf --- /dev/null +++ b/scripts/build_and_run_project.sh @@ -0,0 +1,4 @@ +#!/bin/bash +clear +g++ src/main.cpp -o dist/websort_cpp +./dist/websort_cpp diff --git a/scripts/watch_project.sh b/scripts/watch_project.sh new file mode 100755 index 0000000..965c58d --- /dev/null +++ b/scripts/watch_project.sh @@ -0,0 +1,2 @@ +#!/bin/bash +find ./src/ -name "*.cpp" -o -name "*.h" | entr -r ./scripts/build_and_run_project.sh \ No newline at end of file