readout software for 2 channels [0 and 1] of the tdc-gpx2 board with raspberry pi 3B SPI readout.
This code is a fork of the original design by marvin.peter@physik.uni-giessen.de
https://github.com/marvin5300/tdc-gpx2_software
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.8 KiB
72 lines
1.8 KiB
cmake_minimum_required(VERSION 3.10)
|
|
project(readout LANGUAGES CXX C)
|
|
|
|
set(PROJECT_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src")
|
|
set(PROJECT_HEADER_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include")
|
|
set(PROJECT_CONFIG_DIR "${CMAKE_CURRENT_SOURCE_DIR}/config")
|
|
set(LIBRARY_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../gpx2-raspi-lib/include/")
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin")
|
|
|
|
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/version.cmake")
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
set(CMAKE_C_STANDARD 11)
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
|
|
if(${BUILD_TIDY})
|
|
set(CMAKE_CXX_CLANG_TIDY
|
|
clang-tidy;
|
|
-header-filter=^global;
|
|
-checks=-*,readability-*,bugprone-*,performace-*,clang-analyzer-*,modernize-*,hicpp-*;
|
|
)
|
|
endif(${BUILD_TIDY})
|
|
|
|
add_compile_options(
|
|
-Wall
|
|
-Wextra
|
|
-Wshadow
|
|
-Wpedantic
|
|
-O3
|
|
)
|
|
|
|
configure_file(
|
|
"${PROJECT_CONFIG_DIR}/version.h"
|
|
"${PROJECT_HEADER_DIR}/version.h"
|
|
)
|
|
|
|
set(READOUT_HEADER_FILES
|
|
"${PROJECT_HEADER_DIR}/gpio.h"
|
|
"${PROJECT_HEADER_DIR}/readout.h"
|
|
)
|
|
set(READOUT_SOURCE_FILES
|
|
"${PROJECT_SRC_DIR}/main.cpp"
|
|
"${PROJECT_SRC_DIR}/gpio.cpp"
|
|
"${PROJECT_SRC_DIR}/readout.cpp"
|
|
)
|
|
|
|
add_executable(readout ${READOUT_SOURCE_FILES} ${READOUT_HEADER_FILES})
|
|
|
|
target_include_directories(readout PUBLIC
|
|
${PROJECT_HEADER_DIR}
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/../spi/include/spidevices/gpx2/"
|
|
)
|
|
|
|
target_link_directories(readout PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/../lib/")
|
|
|
|
if (!WIN32)
|
|
find_library(LIBGPIOD libgpiod REQUIRED)
|
|
endif()
|
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
find_package(Threads REQUIRED)
|
|
|
|
target_link_libraries(readout
|
|
Threads::Threads
|
|
spi_static
|
|
gpiod
|
|
)
|
|
|
|
#set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
|
|
#set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
|