Updated readme for windows builds

pull/56/head
David Rebbe 2023-06-21 13:17:05 -04:00
parent ee9cf26eb2
commit a36d114e1f
1 changed files with 26 additions and 8 deletions

View File

@ -118,6 +118,25 @@ To enable debug printing set the `LIBICSNEO_PRINT_EVENTS` environmental variable
### FTD3XX ### FTD3XX
Some devices require FTD3XX for USB communication so the [FTDI D3XX library](https://ftdichip.com/drivers/d3xx-drivers/) will be automatically downloaded and included. If you would like to use a system copy of D3XX instead you can set `FTD3XX_ROOT` to the path containing `f3d3xx.h` (`-DFTD3XX_ROOT=<path to directory containing ftd3xx.h>`). Some devices require FTD3XX for USB communication so the [FTDI D3XX library](https://ftdichip.com/drivers/d3xx-drivers/) will be automatically downloaded and included. If you would like to use a system copy of D3XX instead you can set `FTD3XX_ROOT` to the path containing `f3d3xx.h` (`-DFTD3XX_ROOT=<path to directory containing ftd3xx.h>`).
### Windows ### Windows
- Open a terminal and install the following:
```
winget install Microsoft.VisualStudio.2022.Community
winget install Kitware.CMake
winget install Git.Git
winget install Ninja-build.Ninja
```
- Reboot so cmake is in the system path
- Open a developer Powershell for VS2022 and run the following:
```
git clone https://github.com/intrepidcs/libicsneo
cd libicsneo
cmake -S . -B build -G "Ninja"
cmake --build build
# All dlls and libs are now inside the build directory
```
Building will require MSVC 2017 version 15.7 or newer and CMake to be installed. Building will require MSVC 2017 version 15.7 or newer and CMake to be installed.
### macOS ### macOS
Getting the dependencies is easiest with the Homebrew package manager. You will also need XCode installed. You can then install CMake, an up-to-date version of GCC or Clang, and `libusb-1.0`. Getting the dependencies is easiest with the Homebrew package manager. You will also need XCode installed. You can then install CMake, an up-to-date version of GCC or Clang, and `libusb-1.0`.
@ -131,11 +150,11 @@ Getting the dependencies is easiest with the Homebrew package manager. You will
#### Fedora #### Fedora
``` ```
sudo dnf install git @development-tools gcc-c++ libpcap-devel libusb1-devel cmake dnf install git @development-tools gcc-c++ libpcap-devel libusb1-devel cmake
``` ```
#### Debian #### Debian/Ubuntu
``` ```
su -c "apt install git build-essential libpcap0.8-dev libusb-1.0-0-dev cmake" apt install git build-essential libpcap0.8-dev libusb-1.0-0-dev cmake
``` ```
#### Building #### Building
@ -143,16 +162,15 @@ su -c "apt install git build-essential libpcap0.8-dev libusb-1.0-0-dev cmake"
git clone https://github.com/intrepidcs/libicsneo git clone https://github.com/intrepidcs/libicsneo
cd libicsneo cd libicsneo
cmake -S . -B build cmake -S . -B build
cd build cmake --build build
make -j$((`nproc`+1))
# Optional: Install globally: # Optional: Install globally:
su -c "cp *.so /usr/local/lib/" cp *.so /usr/local/lib/
``` ```
#### udev #### udev
If you'd like to be able to run programs that use this library without being root, consider using the included udev rules: If you'd like to be able to run programs that use this library without being root, consider using the included udev rules:
``` ```
su -c "cp 99-intrepidcs.rules /etc/udev/rules.d/" cp 99-intrepidcs.rules /etc/udev/rules.d/
su -c "udevadm control --reload-rules && udevadm trigger" udevadm control --reload-rules && udevadm trigger
``` ```