Dhanya Thattil 4ceee97c03
Api (#48)
* WIP

* WIP

* WIP

* cleaned up multi

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* split up python module

* WIP

* WIP

* WIP

* WIP

* WIP

* ok

* fixed bugs from rebase

* WIP

* fixed broken test

* WIP

* fixed python

* WIP

* sphinx help

* including new commands

* docs

* WIP

* WIP

* more tests

* added missing public header

* WIP
2019-08-07 11:21:07 +02:00

151 lines
3.6 KiB
CMake
Executable File

set(SOURCES
src/multiSlsDetector.cpp
src/slsDetectorUsers.cpp
src/slsDetectorCommand.cpp
src/slsDetector.cpp
src/Detector.cpp
)
set(HEADERS
)
add_library(slsDetectorShared SHARED
${SOURCES}
${HEADERS}
)
check_ipo_supported(RESULT result)
if(result)
set_property(TARGET slsDetectorShared PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
endif()
target_include_directories(slsDetectorShared PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
)
target_link_libraries(slsDetectorShared PUBLIC
slsProjectOptions
slsProjectWarnings
slsSupportLib
${ZeroMQ_LIBRARIES}
)
set(PUBLICHEADERS
include/SharedMemory.h
include/slsDetector.h
include/slsDetectorUsers.h
include/detectorData.h
include/multiSlsDetector.h
include/Detector.h
include/Result.h
)
set_target_properties(slsDetectorShared PROPERTIES
LIBRARY_OUTPUT_NAME SlsDetector
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
PUBLIC_HEADER "${PUBLICHEADERS}"
)
# add_subdirectory(slsDetectorClient)
add_executable(sls_detector_get
src/sls_detector_client.cpp
)
target_link_libraries(sls_detector_get
slsProjectOptions
slsProjectWarnings
slsDetectorShared
slsSupportLib
pthread
${ZeroMQ_LIBRARIES}
rt
)
set_target_properties(sls_detector_get PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
COMPILE_DEFINITIONS GET=1
)
add_executable(sls_detector_put
src/sls_detector_client.cpp
)
target_link_libraries(sls_detector_put
slsProjectOptions
slsProjectWarnings
slsDetectorShared
pthread
${ZeroMQ_LIBRARIES}
rt
)
set_target_properties(sls_detector_put PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
COMPILE_DEFINITIONS PUT=1
)
add_executable(sls_detector_acquire
src/sls_detector_client.cpp
)
target_link_libraries(sls_detector_acquire
slsProjectOptions
slsProjectWarnings
slsDetectorShared
pthread
${ZeroMQ_LIBRARIES}
rt
)
set_target_properties(sls_detector_acquire PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
COMPILE_DEFINITIONS READOUT=1
)
add_executable(sls_detector_help
src/sls_detector_client.cpp
)
target_link_libraries(sls_detector_help
slsProjectOptions
slsProjectWarnings
slsDetectorShared
pthread
${ZeroMQ_LIBRARIES}
rt
)
set_target_properties(sls_detector_help PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
COMPILE_DEFINITIONS HELP=1
)
check_ipo_supported(RESULT result)
if(result)
set_property(TARGET sls_detector_help PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
set_property(TARGET sls_detector_get PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
set_property(TARGET sls_detector_put PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
set_property(TARGET sls_detector_acquire PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
endif()
install(TARGETS sls_detector_put sls_detector_get sls_detector_acquire sls_detector_help DESTINATION bin)
# if(DOXYGEN_FOUND)
# add_custom_target(doc
# ${DOXYGEN_EXECUTABLE}
# ${CMAKE_CURRENT_SOURCE_DIR}/slsDetectorUsers.doxy
# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
# COMMENT "Generating API documentation with Doxygen" VERBATIM
# )
# endif()
if (SLS_USE_TESTS)
add_subdirectory(tests)
endif(SLS_USE_TESTS)
install(TARGETS slsDetectorShared
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}
)