From 52786895d88b844d163757df640a46d9fb43d426 Mon Sep 17 00:00:00 2001 From: japm48 Date: Sun, 16 Feb 2020 13:33:38 +0100 Subject: [PATCH] make installation directory configurable --- .gitignore | 4 ++++ CMakeLists.txt | 6 +++++- README.md | 3 ++- src/altera.cpp | 3 ++- src/xilinx.cpp | 3 ++- 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 7c17fb3..88c2b8c 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,7 @@ cycloader openFPGALoader *.swp + +# Build directory +build/ + diff --git a/CMakeLists.txt b/CMakeLists.txt index b62eeb0..1fc312f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,6 +9,10 @@ set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_CXX_FLAGS_DEBUG "-g -Wall -Wextra") +include(GNUInstallDirs) +# By default: DATA_DIR="/usr/local/share" +add_definitions(-DDATA_DIR=\"${CMAKE_INSTALL_FULL_DATAROOTDIR}\") + find_package(PkgConfig REQUIRED) pkg_check_modules(LIBFTDI REQUIRED libftdi1) pkg_check_modules(LIBFTDIPP REQUIRED libftdipp1) @@ -92,5 +96,5 @@ install(TARGETS openFPGALoader DESTINATION bin) install(FILES test_sfl.svf spiOverJtag/spiOverJtag_xc7a35.bit - DESTINATION share/openFPGALoader + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/openFPGALoader ) diff --git a/README.md b/README.md index aa73cd3..5fc45b2 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,8 @@ To install ```bash $ sudo make install ``` -Currently, the install path is hardcoded to /usr/local +The default install path is `/usr/local`, to change it, use +`-DCMAKE_INSTALL_PREFIX=myInstallDir` in cmake invokation. ## Usage diff --git a/src/altera.cpp b/src/altera.cpp index 65143cf..1cea967 100644 --- a/src/altera.cpp +++ b/src/altera.cpp @@ -5,7 +5,8 @@ #define IDCODE 6 #define IRLENGTH 10 -#define BIT_FOR_FLASH "/usr/local/share/openFPGALoader/test_sfl.svf" +// DATA_DIR is defined at compile time. +#define BIT_FOR_FLASH (DATA_DIR "/openFPGALoader/test_sfl.svf") Altera::Altera(FtdiJtag *jtag, std::string filename, bool verbose): Device(jtag, filename, verbose), _svf(_jtag, _verbose) diff --git a/src/xilinx.cpp b/src/xilinx.cpp index 4620dd4..eac2477 100644 --- a/src/xilinx.cpp +++ b/src/xilinx.cpp @@ -78,7 +78,8 @@ void Xilinx::program(unsigned int offset) void Xilinx::program_spi(unsigned int offset) { - std::string bitname = "/usr/local/share/openFPGALoader/spiOverJtag_"; + // DATA_DIR is defined at compile time. + std::string bitname = DATA_DIR "/openFPGALoader/spiOverJtag_"; bitname += fpga_list[idCode()].family + ".bit"; /* first: load spi over jtag */