mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-05-16 09:20:42 +02:00

- qt4->qt5 - in built qt5 6.1.5 because rhel7 is not upto date with qt5, removed findqwt.cmake - made a fix in qwt lib (qwt_plot_layout.h) to work with 5.15 and lower versions for qrect constr. - qt5 forms fixed, qt4 many hard coding forms switched to forms including qtabwidget, scrolls etc, fonts moved to forms - docking option enabled by default, removed option to disable docking feature from "Mode" - added qVersionResolve utility functions to handle compatibility before and after qt5.12 - qtplots (ian's code) takes in gain mode enable to set some settings within the class, with proper gain plot ticks - ensure gain plots have no zooming of z axis in 2d and y axis in 1d - removed placeholder text in qpalette in main window form as its not supportd until 5.12 (so using qt5.9 designer insted of qt5.15 to cope) - tab order Servers: - fixed some error messages that were empty for fail in funcs (mostly minor as if this error, major issues)
129 lines
3.3 KiB
CMake
Executable File
129 lines
3.3 KiB
CMake
Executable File
# SPDX-License-Identifier: LGPL-3.0-or-other
|
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
set(CMAKE_AUTORCC ON)
|
|
|
|
|
|
find_package(Qt5 5.9 COMPONENTS Widgets Core Gui REQUIRED)
|
|
|
|
find_package(PNG REQUIRED)
|
|
find_package(ZLIB REQUIRED)
|
|
|
|
set(SOURCES
|
|
slsDetectorPlotting/src/SlsQt1DPlot.cpp
|
|
slsDetectorPlotting/src/SlsQt1DZoomer.cpp
|
|
slsDetectorPlotting/src/SlsQt2DHist.cpp
|
|
slsDetectorPlotting/src/SlsQt2DPlot.cpp
|
|
src/qDetectorMain.cpp
|
|
src/qDrawPlot.cpp
|
|
src/qCloneWidget.cpp
|
|
src/qTabMeasurement.cpp
|
|
src/qTabDataOutput.cpp
|
|
src/qTabPlot.cpp
|
|
src/qTabAdvanced.cpp
|
|
src/qTabSettings.cpp
|
|
src/qTabDebugging.cpp
|
|
src/qTabDeveloper.cpp
|
|
src/qTabMessages.cpp
|
|
src/qDacWidget.cpp
|
|
src/qVersionResolve.cpp
|
|
)
|
|
|
|
set(FORMS
|
|
forms/form_detectormain.ui
|
|
forms/form_tab_measurement.ui
|
|
forms/form_tab_dataoutput.ui
|
|
forms/form_tab_plot.ui
|
|
forms/form_tab_advanced.ui
|
|
forms/form_tab_settings.ui
|
|
forms/form_tab_debugging.ui
|
|
forms/form_tab_messages.ui
|
|
forms/form_tab_developer.ui
|
|
forms/form_dac.ui
|
|
forms/form_plot.ui
|
|
forms/form_cloneplot.ui
|
|
)
|
|
|
|
qt5_wrap_ui(FORMS_H ${FORMS})
|
|
|
|
set(HEADERS
|
|
slsDetectorPlotting/include/SlsQt1DPlot.h
|
|
slsDetectorPlotting/include/SlsQt1DZoomer.h
|
|
slsDetectorPlotting/include/SlsQt2DHist.h
|
|
slsDetectorPlotting/include/SlsQt2DPlot.h
|
|
slsDetectorPlotting/include/SlsQt2DZoomer.h
|
|
include/qDefs.h
|
|
include/qDetectorMain.h
|
|
include/qDrawPlot.h
|
|
include/qCloneWidget.h
|
|
include/qTabMeasurement.h
|
|
include/qTabDataOutput.h
|
|
include/qTabPlot.h
|
|
include/qTabAdvanced.h
|
|
include/qTabSettings.h
|
|
include/qTabDebugging.h
|
|
include/qTabDeveloper.h
|
|
include/qTabMessages.h
|
|
include/qDacWidget.h
|
|
include/qVersionResolve.h
|
|
)
|
|
set(RESOURCES
|
|
include/icons.qrc
|
|
)
|
|
qt5_add_resources(RESOURCES_SRCS ${RESOURCES})
|
|
|
|
|
|
add_definitions(
|
|
${Qt5Widgets_DEFINITIONS} -DPRINT_LOG #-DVERBOSE
|
|
)
|
|
|
|
add_executable(slsDetectorGui
|
|
${SOURCES}
|
|
${HEADERS}
|
|
${FORMS_H}
|
|
${RESOURCES_SRCS}
|
|
)
|
|
|
|
target_include_directories(slsDetectorGui PUBLIC
|
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
|
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/slsDetectorPlotting/include>"
|
|
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
|
|
"$<BUILD_INTERFACE:${QT5Widgets_INCLUDE_DIRS}>"
|
|
"$<BUILD_INTERFACE:${SLS_INTERNAL_QWT_DIR}/include>"
|
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>"
|
|
)
|
|
|
|
target_link_libraries(slsDetectorGui PUBLIC
|
|
slsProjectOptions
|
|
slsDetectorStatic
|
|
${SLS_INTERNAL_QWT_DIR}/lib/libqwt.so.6.1.5
|
|
PNG::PNG
|
|
ZLIB::ZLIB
|
|
Qt5::Widgets
|
|
Qt5::Gui
|
|
Qt5::Core
|
|
expat
|
|
|
|
PRIVATE
|
|
slsProjectWarnings
|
|
)
|
|
|
|
set_target_properties(slsDetectorGui PROPERTIES
|
|
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
|
#Instruct CMake to run moc automatically when needed
|
|
AUTOMOC ON
|
|
)
|
|
if((CMAKE_BUILD_TYPE STREQUAL "Release") AND SLS_LTO_AVAILABLE)
|
|
set_property(TARGET slsDetectorGui PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
|
endif()
|
|
|
|
install(TARGETS slsDetectorGui
|
|
# EXPORT "${TARGETS_EXPORT_NAME}" #do not export gui
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
# PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
)
|
|
|