aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BUILD.md10
-rw-r--r--Dockerfile26
2 files changed, 36 insertions, 0 deletions
diff --git a/BUILD.md b/BUILD.md
index b44817f2..06dc1fb9 100644
--- a/BUILD.md
+++ b/BUILD.md
@@ -3,6 +3,7 @@ The following steps will allow you to compile your own NorthstarLauncher executa
*This guide assumes you have already installed Northstar as shown in [this page](https://r2northstar.gitbook.io/r2northstar-wiki/installing-northstar/basic-setup)*
+## Windows
### Steps
1. **Install Git** from [this link](https://git-scm.com)
2. **Clone** the [R2Northstar/NorthstarLauncher](https://github.com/R2Northstar/NorthstarLauncher) repo with submodules using this command `git clone --recurse-submodules https://github.com/R2Northstar/NorthstarLauncher.git`
@@ -39,3 +40,12 @@ Developers who can work a command line may be interested in using [Visual Studio
- Run `cmake . -G "Ninja"` to generate build files.
- Run `cmake --build .` to build the project.
+
+## Linux
+### Steps
+1. Clone the GitHub repo
+2. Use `cd` to navigate to the cloned repo's directory
+3. Then, run the following commands in order:
+* `docker build --rm -t northstar-build-fedora .`
+* `docker run --rm -it -e CC=cl -e CXX=cl --mount type=bind,source="$(pwd)",destination=/build northstar-build-fedora cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_NAME=Windows -G "Ninja"`
+* `docker run --rm -it -e CC=cl -e CXX=cl --mount type=bind,source="$(pwd)",destination=/build northstar-build-fedora cmake --build .`
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 00000000..261d649f
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,26 @@
+FROM registry.fedoraproject.org/fedora-toolbox:38
+RUN dnf update -y && \
+ dnf install -y \
+ git \
+ wine \
+ wine-mono \
+ python3 \
+ msitools \
+ python3-simplejson \
+ python3-six \
+ cmake \
+ ninja-build \
+ make \
+ samba \
+ libunwind && \
+ dnf clean all && \
+ mkdir /opt/msvc/ /build
+
+RUN git config --global --add safe.directory /build
+RUN git clone https://github.com/mstorsjo/msvc-wine && \
+ ./msvc-wine/vsdownload.py --accept-license --dest /opt/msvc/ && \
+ ./msvc-wine/install.sh /opt/msvc/ && \
+ rm -rf ~/.wine ./msvc-wine/ && \
+ git config --global --add safe.directory '/build'
+ENV PATH="/opt/msvc/bin/x64:${PATH}"
+WORKDIR /build/