38 lines
1.2 KiB
Markdown
38 lines
1.2 KiB
Markdown
# Build
|
|
|
|
The migrated hooks currently require 32-bit MSVC because some patches use
|
|
`__declspec(naked)` and MSVC inline assembly.
|
|
|
|
## Requirements
|
|
|
|
- Visual Studio with C++ tools
|
|
- CMake 3.20 or newer; the Visual Studio bundled CMake works
|
|
- 32-bit/x86 compiler environment
|
|
|
|
## Configure and build
|
|
|
|
From this workspace, the verified command is:
|
|
|
|
```powershell
|
|
cmd /s /c '"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat" && "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -S . -B build-nmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release && "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" --build build-nmake'
|
|
```
|
|
|
|
The DLL is written to:
|
|
|
|
```text
|
|
build-nmake/bin/rem-essentials.dll
|
|
```
|
|
|
|
Copy `rem-essentials.dll` and `rem-essentials.ini` to Freelancer's `EXE`
|
|
directory and add the DLL to the `[Libraries]` section of `dacom.ini` and, for
|
|
server-side features, `dacomsrv.ini`.
|
|
|
|
## Current local verification status
|
|
|
|
Verified on this machine with Visual Studio 2022 Community's x86 developer
|
|
environment. The produced DLL was:
|
|
|
|
```text
|
|
build-nmake/bin/rem-essentials.dll
|
|
```
|