mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-19 18:40:01 +02:00
CMake support for CTB Gui (#51)
* WIP * WIP * WIP * WIP * WIP * WIP * WIP builds... * clean up * root 6.18 support
This commit is contained in:
parent
867bce8b38
commit
3ca52176b7
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.9)
|
||||
cmake_minimum_required(VERSION 3.11)
|
||||
project(slsDetectorPackage)
|
||||
set(PROJECT_VERSION 5.0.0)
|
||||
|
||||
@ -42,7 +42,8 @@ option (SLS_USE_TESTS "TESTS" OFF)
|
||||
option (SLS_USE_INTEGRATION_TESTS "Integration Tests" OFF)
|
||||
option(SLS_USE_SANITIZER "Sanitizers for debugging" OFF)
|
||||
option(SLS_USE_PYTHON "Python bindings" OFF)
|
||||
option(SLS_BUILD_DOCS "Documentations" OFF)
|
||||
option(SLS_USE_CTBGUI "ctb GUI" OFF)
|
||||
option(SLS_BUILD_DOCS "docs" OFF)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
@ -176,6 +177,10 @@ if (SLS_USE_PYTHON)
|
||||
add_subdirectory(python)
|
||||
endif(SLS_USE_PYTHON)
|
||||
|
||||
if (SLS_USE_CTBGUI)
|
||||
add_subdirectory(ctbGui)
|
||||
endif(SLS_USE_CTBGUI)
|
||||
|
||||
configure_file( .clang-tidy
|
||||
${CMAKE_BINARY_DIR}/.clang-tidy
|
||||
)
|
||||
|
78
ctbGui/CMakeLists.txt
Normal file
78
ctbGui/CMakeLists.txt
Normal file
@ -0,0 +1,78 @@
|
||||
|
||||
|
||||
find_package(ROOT CONFIG REQUIRED COMPONENTS Core Gui)
|
||||
find_package(TIFF REQUIRED)
|
||||
|
||||
target_include_directories(ROOT::Core INTERFACE "${ROOT_INCLUDE_DIRS}")
|
||||
add_library(ROOT::Flags_CXX IMPORTED INTERFACE)
|
||||
separate_arguments(ROOT_CXX_FLAGS)
|
||||
target_compile_options(ROOT::Flags_CXX INTERFACE ${ROOT_CXX_FLAGS})
|
||||
separate_arguments(ROOT_DEFINITIONS)
|
||||
target_compile_definitions(ROOT::Flags_CXX INTERFACE ${ROOT_DEFINITIONS})
|
||||
|
||||
# This fixes a bug in the linker flags
|
||||
string(REPLACE "-L " "-L" ROOT_EXE_LINKER_FLAGS "${ROOT_EXE_LINKER_FLAGS}")
|
||||
separate_arguments(ROOT_EXE_LINKER_FLAGS)
|
||||
|
||||
# Stuck into using old property method due to separate -L and -l arguments
|
||||
# (A full path to -l is better!)
|
||||
set_property(TARGET ROOT::Flags_CXX PROPERTY
|
||||
INTERFACE_LINK_LIBRARIES ${ROOT_EXE_LINKER_FLAGS})
|
||||
set_property(TARGET ROOT::Core PROPERTY
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${ROOT_INCLUDE_DIRS}")
|
||||
|
||||
|
||||
add_executable(ctbGui
|
||||
ctbGui.cpp
|
||||
ctbMain.cpp
|
||||
ctbDacs.cpp
|
||||
ctbPowers.cpp
|
||||
ctbSlowAdcs.cpp
|
||||
ctbSignals.cpp
|
||||
ctbAdcs.cpp
|
||||
ctbPattern.cpp
|
||||
ctbAcquisition.cpp
|
||||
${CMAKE_SOURCE_DIR}/slsDetectorCalibration/tiffIO.cpp
|
||||
)
|
||||
|
||||
#TODO! Replace with target
|
||||
target_include_directories(ctbGui PRIVATE
|
||||
${CMAKE_SOURCE_DIR}/slsDetectorCalibration/dataStructures
|
||||
${CMAKE_SOURCE_DIR}/slsDetectorCalibration/interpolations
|
||||
${CMAKE_SOURCE_DIR}/slsDetectorCalibration/
|
||||
)
|
||||
|
||||
# Headders needed for ROOT dictionary generation
|
||||
set( HEADERS
|
||||
ctbMain.h
|
||||
ctbDacs.h
|
||||
ctbPattern.h
|
||||
ctbSignals.h
|
||||
ctbAdcs.h
|
||||
ctbAcquisition.h
|
||||
ctbPowers.h
|
||||
ctbSlowAdcs.h
|
||||
)
|
||||
|
||||
#set(ROOT_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
# ROOT dictionary generation
|
||||
include("${ROOT_DIR}/modules/RootNewMacros.cmake")
|
||||
root_generate_dictionary(ctbDict ${HEADERS} LINKDEF ctbLinkDef.h)
|
||||
add_library(ctbRootLib SHARED ctbDict.cxx)
|
||||
target_include_directories(ctbRootLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_link_libraries(ctbRootLib PUBLIC
|
||||
ROOT::Core
|
||||
${ROOT_LIBRARIES}
|
||||
${ROOT_EXE_LINKER_FLAGS}
|
||||
)
|
||||
|
||||
target_link_libraries(ctbGui PUBLIC
|
||||
slsDetectorShared
|
||||
ctbRootLib
|
||||
${TIFF_LIBRARIES}
|
||||
)
|
||||
|
||||
set_target_properties(ctbGui PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
)
|
@ -55,29 +55,29 @@
|
||||
// CHECK(subFrameNumber == -1);
|
||||
// }
|
||||
|
||||
TEST_CASE("Parse header gotthard data", "[receiver]") {
|
||||
GotthardData data;
|
||||
struct packet {
|
||||
uint32_t frameNumber;
|
||||
unsigned char data[GOTTHARD_PACKET_SIZE];
|
||||
} __attribute__((packed));
|
||||
packet test_packet;
|
||||
test_packet.frameNumber = 25698u;
|
||||
// TEST_CASE("Parse header gotthard data", "[receiver]") {
|
||||
// GotthardData data;
|
||||
// struct packet {
|
||||
// uint32_t frameNumber;
|
||||
// unsigned char data[GOTTHARD_PACKET_SIZE];
|
||||
// } __attribute__((packed));
|
||||
// packet test_packet;
|
||||
// test_packet.frameNumber = 25698u;
|
||||
|
||||
int index = 0;
|
||||
char *packetData = reinterpret_cast<char *>(&test_packet);
|
||||
uint32_t dynamicRange{0};
|
||||
bool oddStartingPacket{0};
|
||||
uint64_t frameNumber{0};
|
||||
uint32_t packetNumber{0};
|
||||
uint32_t subFrameNumber{0};
|
||||
uint64_t bunchId{0};
|
||||
// int index = 0;
|
||||
// char *packetData = reinterpret_cast<char *>(&test_packet);
|
||||
// uint32_t dynamicRange{0};
|
||||
// bool oddStartingPacket{0};
|
||||
// uint64_t frameNumber{0};
|
||||
// uint32_t packetNumber{0};
|
||||
// uint32_t subFrameNumber{0};
|
||||
// uint64_t bunchId{0};
|
||||
|
||||
data.GetHeaderInfo(index, packetData, dynamicRange, oddStartingPacket,
|
||||
frameNumber, packetNumber, subFrameNumber, bunchId);
|
||||
// data.GetHeaderInfo(index, packetData, dynamicRange, oddStartingPacket,
|
||||
// frameNumber, packetNumber, subFrameNumber, bunchId);
|
||||
|
||||
CHECK(frameNumber == test_packet.frameNumber/2);
|
||||
CHECK(subFrameNumber == -1);
|
||||
CHECK(bunchId == -1);
|
||||
// CHECK(frameNumber == test_packet.frameNumber/2);
|
||||
// CHECK(subFrameNumber == -1);
|
||||
// CHECK(bunchId == -1);
|
||||
|
||||
}
|
||||
// }
|
Loading…
x
Reference in New Issue
Block a user