damaris-backends/machines/CMakeLists.txt
2022-11-06 21:38:55 +01:00

109 lines
4.8 KiB
CMake

cmake_minimum_required(VERSION 3.0)
include(FindPkgConfig)
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
#pkg_check_modules (XERCES xerces-c REQUIRED)
#include_directories(.. ${XERCES_INCLUDE_DIRS})
#link_directories(${XERCES_LIBRARY_DIRS})
find_package(Boost REQUIRED)
#find_library(PB24 SpinCore-PulseBlaster24Bit PATH ${CMAKE_SOURCE_DIR})
link_directories(../drivers/SpinCore-PulseBlaster24Bit
../drivers/SpinCore-PulseBlaster
../drivers/SpinCore-PulseBlasterDDSIII
../drivers)
set(PB24 SpinCore-PulseBlaster24Bit SpinCore-PulseBlaster PulseBlasterProgram)
set(PBDDS SpinCore-PulseBlasterDDSIII SpinCore-PulseBlaster PulseBlasterProgram)
add_executable(dummycore dummycore.cpp hardware.cpp)
target_link_libraries(dummycore ${XERCES_LIBRARIES} core dummy tempcont Eurotherm-2000Series pthread)
install(TARGETS dummycore DESTINATION lib/damaris/backends)
add_executable(berta berta.cpp hardware.cpp)
target_link_libraries(berta ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS pthread)
install(TARGETS berta DESTINATION lib/damaris/backends)
add_executable(birgit birgit.cpp hardware.cpp)
target_link_libraries(birgit ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS pthread)
install(TARGETS birgit DESTINATION lib/damaris/backends)
add_executable(bg_backend bg_backend.cpp hardware.cpp)
target_link_libraries(bg_backend ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS pthread)
#include_directories(${Boost_INCLUDE_DIRS})
#add_executable(damaris damaris.cpp hardware.cpp)
#target_link_libraries(damaris ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS dummy tempcont Eurotherm-2000Series )
add_executable(Mobilecore Mobilecore.cpp hardware.cpp)
target_link_libraries(Mobilecore ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS pthread)
add_executable(Mobilecore_wo_sync_backend Mobile_wo_sync_backend.cpp hardware.cpp)
target_link_libraries(Mobilecore_wo_sync_backend ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS pthread)
add_executable(deuteron_backend deuteron_backend.cpp hardware.cpp)
target_link_libraries(deuteron_backend ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} ${PBDDS} PTS pthread)
add_executable(PFGcore PFGcore.cpp hardware.cpp)
target_link_libraries( PFGcore ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS DAC20 pthread)
add_executable(fc1neu_backend fc1neu_backend.cpp hardware.cpp)
target_link_libraries( fc1neu_backend ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS DAC20 pthread)
# spcm linux driver needs to be installed (see http://spectrum-instrumentation.com/de/downloads/drivers)
find_library(SPCM_LIB spcm_linux HINTS /usr/lib64)
if (NOT SPCM_LIB)
message(WARNING "spcm not found, install library (see http://spectrum-instrumentation.com/de/downloads/drivers)")
else()
include_directories(${CMAKE_SOURCE_DIR}/drivers/Spectrum-M2i40xxSeries/include)
add_executable(fc1_vierkanal_backend fc1_vierkanal_backend.cpp hardware.cpp)
target_link_libraries( fc1_vierkanal_backend ${XERCES_LIBRARIES} core spcm_linux Spectrum-M2i40xxSeries ${PB24} PTS DAC20 )
include_directories(${CMAKE_SOURCE_DIR}/drivers/Spectrum-M2i40xxSeries/include)
add_executable(fc1_backend fc1_backend.cpp hardware.cpp)
target_link_libraries( fc1_backend ${XERCES_LIBRARIES} core spcm_linux Spectrum-M2i40xxSeries ${PB24} PTS DAC20 )
endif()
add_executable(fc2_backend fc2_backend.cpp hardware.cpp)
target_link_libraries( fc2_backend ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS DAC20 pthread)
add_executable(fc2_AD5791_backend fc2_backend_AD5791.cpp hardware.cpp)
target_link_libraries( fc2_AD5791_backend ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS DAC20 pthread)
add_executable(general general.cpp hardware.cpp)
target_link_libraries( general ${XERCES_LIBRARIES} ${GLIB2_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS DAC20 pthread)
add_executable(magnexgrad_backend magnexgrad_backend.cpp hardware.cpp)
target_link_libraries( magnexgrad_backend ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS DAC20 tempcont Eurotherm-2000Series pthread)
add_executable(magnexgrad_dds_backend magnexgrad_backend_dds.cpp hardware.cpp)
target_link_libraries( magnexgrad_dds_backend ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PBDDS} PTS DAC20 tempcont Eurotherm-2000Series pthread)
add_executable(pulseblaster_only pulseblaster_only.cpp hardware.cpp)
target_link_libraries(pulseblaster_only ${XERCES_LIBRARIES} core ${PB24} PTS dummy DAC20 tempcont Eurotherm-2000Series pthread)
install(TARGETS dummycore
berta
birgit
bg_backend
Mobilecore
Mobilecore_wo_sync_backend
deuteron_backend
fc1neu_backend
PFGcore
fc2_backend
fc2_AD5791_backend
general
magnexgrad_backend
magnexgrad_dds_backend
pulseblaster_only
DESTINATION lib/damaris/backends)