akvirtualcamera-wiki/Build-and-install.md
2021-05-30 12:22:47 -03:00

115 lines
3.3 KiB
Markdown

## Dependencies
* [CMake](https://cmake.org/)
**Mac**
* [Xcode Command Line Tools](https://developer.apple.com/xcode/) (_xcode-select --install_ from a terminal)
**Windows**
* [MSYS2](https://www.msys2.org/)
* [Visual Studio Build Tools](https://visualstudio.microsoft.com/downloads/)
## Build
For building akvirtualcamera, open a terminal and run the following commands:
**Note:** Replace _/path/to_ with the actual path of the sources directory.
**Mac**
```
cmake -S /path/to/akvirtualcamera -B /path/to/akvirtualcamera-build-directory
make -C /path/to/akvirtualcamera-build-directory
```
**MSYS2**
```
cmake -G "MSYS Makefiles" -S /path/to/akvirtualcamera -B /path/to/akvirtualcamera-build-directory
make -C /path/to/akvirtualcamera-build-directory
```
**Visual Studio**
```
cmake -G "Visual Studio 16 2019" -S /path/to/akvirtualcamera -B /path/to/akvirtualcamera-build-directory
cmake --build /path/to/akvirtualcamera-build-directory
```
For other generators check [CMake documentation](https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html).
You can also compile akvirtualcamera using [cmake-gui](https://cmake.org/cmake/help/latest/guide/user-interaction/index.html#cmake-gui-tool).
The generated plugin files are located at _/path/to/akvirtualcamera-build-directory/build_.
**Note:** For Windows, you must build both 32 and 64 bits versions, and put _x86_ and _x64_ folders together in the same folder.
## Install
akvirtualcamera service needs to be installed and running for the virtual camera to properly work.
**Note:** Replace _/path/to_ with the actual path of the plugin.
**Mac**
Run the following commands as root
```
# Is highly recommendable Linking the plugin instead of copying it.
ln -s /path/to/AkVirtualCamera.plugin /Library/CoreMediaIO/Plug-Ins/DAL/AkVirtualCamera.plugin
# Create the configuration file for the assistant.
cat << EOF > /Library/LaunchDaemons/org.webcamoid.cmio.AkVCam.Assistant.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.webcamoid.cmio.AkVCam.Assistant</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/AkVirtualCamera.plugin/Contents/Resources/AkVCamAssistant</string>
<string>--timeout</string>
<string>300.0</string>
</array>
<key>MachServices</key>
<dict>
<key>org.webcamoid.cmio.AkVCam.Assistant</key>
<true/>
</dict>
<key>StandardOutPath</key>
<string>/tmp/AkVCamAssistant.log</string>
<key>StandardErrorPath</key>
<string>/tmp/AkVCamAssistant.log</string>
</dict>
</plist>
EOF
# If the service was disabled re-enable it.
launchctl enable system/org.webcamoid.cmio.AkVCam.Assistant
# Configure and launch the service.
launchctl bootstrap system /Library/LaunchDaemons/org.webcamoid.cmio.AkVCam.Assistant.plist
```
**Windows**
Open an administrator CMD and run the following commands:
```
rem If you are running in 64 bits Windows run:
/path/to/x64/AkVCamAssistant.exe --install
rem If you are running in 32 bits Windows run:
/path/to/x86/AkVCamAssistant.exe --install
rem Start the service
sc start AkVCamAssistant
```