Dhanya Thattil 894cc1c9e0
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
2019-06-03 10:16:54 +02:00

104 lines
2.3 KiB
CMake
Executable File

set(SOURCES
src/slsReceiverImplementation.cpp
src/slsReceiverTCPIPInterface.cpp
src/slsReceiver.cpp
src/slsReceiverUsers.cpp
src/File.cpp
src/BinaryFile.cpp
src/ThreadObject.cpp
src/Listener.cpp
src/DataProcessor.cpp
src/DataStreamer.cpp
src/Fifo.cpp
)
# HDF5
if (SLS_USE_HDF5)
if (HDF5_FOUND)
add_definitions(
-DHDF5C ${HDF5_DEFINITIONS}
)
list (APPEND SOURCES
src/HDF5File.cpp
)
endif ()
endif (SLS_USE_HDF5)
add_library(slsReceiverShared SHARED
${SOURCES}
${HEADERS}
)
check_ipo_supported(RESULT result)
if(result)
set_property(TARGET slsReceiverShared PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
endif()
target_link_libraries(slsReceiverShared PUBLIC
slsProjectOptions
slsProjectWarnings
slsSupportLib
)
target_include_directories(slsReceiverShared PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
# HDF5
if (SLS_USE_HDF5)
if (HDF5_FOUND)
target_link_libraries(slsReceiverShared PUBLIC
${HDF5_LIBRARIES})
target_include_directories(slsReceiverShared PUBLIC
${HDF5_INCLUDE_DIRS}
${CMAKE_INSTALL_PREFIX}/include)
endif ()
endif (SLS_USE_HDF5)
#What is included in slsReceiverLib?
set(PUBLICHEADERS
include/slsReceiverUsers.h
)
set_target_properties(slsReceiverShared PROPERTIES
LIBRARY_OUTPUT_NAME SlsReceiver
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
PUBLIC_HEADER "${PUBLICHEADERS}"
)
add_executable(slsReceiver
src/main.cpp)
set_target_properties(slsReceiver PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
)
target_link_libraries(slsReceiver PUBLIC
slsProjectOptions
slsProjectWarnings
slsSupportLib
slsReceiverShared
pthread
${ZeroMQ_LIBRARIES}
rt
)
if (SLS_USE_TESTS)
add_subdirectory(tests)
endif(SLS_USE_TESTS)
install(TARGETS slsReceiverShared slsReceiver
EXPORT "${TARGETS_EXPORT_NAME}"
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(FILES ${ZMQ_STATIC_ARCHIVE}
DESTINATION lib)