Simulator (#28)

* WIP

* wip

* wip

* removed loop

* sending 1 frame

* send multiple frames

* c11 for server

* WIP

* WIP

* Add CMake for the simulators. Requires some refactoring to make slsDetectorServer a proper library.

* Working cmake for jungfrau

* Working cmake for eiger

* WIP

* WIP

* Add preliminary working eiger simulator and breaks the jungfrau simulator

* virtual servers connected

* changes to make it work for rhel7 and install binaries in bin

* removed some unnecessary prints

* removed binaries and virtual makefiles
This commit is contained in:
Dhanya Thattil
2019-06-03 10:16:54 +02:00
committed by GitHub
parent 073d06f143
commit 894cc1c9e0
22 changed files with 378 additions and 158 deletions

View File

@ -1,10 +1,14 @@
cmake_minimum_required(VERSION 3.9)
project(slsDetectorPackage)
set(PROJECT_VERSION 5.0.0)
include(cmake/project_version.cmake)
include(CheckIPOSupported)
include(cmake/project_version.cmake)
# Include additional modules that are used unconditionally
include(GNUInstallDirs)
@ -34,6 +38,7 @@ option (SLS_USE_HDF5 "HDF5 File format" OFF)
option (SLS_USE_TEXTCLIENT "Text Client" ON)
option (SLS_USE_RECEIVER "Receiver" ON)
option (SLS_USE_GUI "GUI" OFF)
option (SLS_USE_SIMULATOR "Simulator" OFF)
option (SLS_USE_TESTS "TESTS" OFF)
option (SLS_USE_INTEGRATION_TESTS "Integration Tests" OFF)
option(SLS_USE_SANITIZER "Sanitizers for debugging" OFF)
@ -87,10 +92,12 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
-Wno-misleading-indentation # mostly in rapidjson remove using clang format
-Wduplicated-cond
-Wnull-dereference )
endif()
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.0)
target_compile_options(slsProjectWarnings INTERFACE
-Wno-class-memaccess )
endif()
endif()
@ -115,6 +122,8 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_INSTALL_RPATH "$ORIGIN")
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
find_package(Doxygen)
find_package(ZeroMQ 4 REQUIRED)
@ -130,6 +139,7 @@ if (SLS_USE_TEXTCLIENT)
add_subdirectory(slsDetectorSoftware)
endif (SLS_USE_TEXTCLIENT)
if (SLS_USE_RECEIVER)
if (SLS_USE_HDF5)
find_package(HDF5 1.10 COMPONENTS CXX REQUIRED)
@ -146,6 +156,10 @@ if (SLS_USE_GUI)
endif()
endif (SLS_USE_GUI)
if (SLS_USE_SIMULATOR)
add_subdirectory(slsDetectorServers)
endif (SLS_USE_SIMULATOR)
if (SLS_USE_INTEGRATION_TESTS)
add_subdirectory(integrationTests)
endif (SLS_USE_INTEGRATION_TESTS)
@ -160,9 +174,13 @@ configure_file( .clang-tidy
if (DOXYGEN_FOUND)
# set input and output files
set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/doxygen/Doxyfile.in)
set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
# request to configure the file
configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
message("Doxygen build started")
# note the option ALL which allows to build the docs together with the application
add_custom_target( docs