@@ -24,78 +24,85 @@ set(SCOPY_MODULE admt)
2424
2525message (STATUS "building plugin: " ${SCOPY_MODULE} )
2626
27- project (scopy-${SCOPY_MODULE} VERSION 0.1 LANGUAGES CXX)
27+ project (scopy-${SCOPY_MODULE} VERSION 0.1 LANGUAGES CXX)
2828
2929set (PLUGIN_DISPLAY_NAME "ADMT" )
3030set (PLUGIN_DESCRIPTION "Plugin for ADMT Harmonic Calibration" )
3131
32- include (GenerateExportHeader)
32+ include (GenerateExportHeader)
3333
3434# TODO: split stylesheet/resources and add here TODO: export header files correctly
3535
36- set (CMAKE_CXX_STANDARD 17 )
37- set (CMAKE_CXX_STANDARD_REQUIRED ON )
36+ set (CMAKE_CXX_STANDARD 20 )
37+ set (CMAKE_CXX_STANDARD_REQUIRED ON )
3838
39- set (CMAKE_AUTOUIC_SEARCH_PATHS ${CMAKE_CURRENT_SOURCE_DIR} /ui)
40- set (CMAKE_AUTOUIC ON )
41- set (CMAKE_AUTOMOC ON )
42- set (CMAKE_AUTORCC ON )
39+ set (CMAKE_AUTOUIC_SEARCH_PATHS ${CMAKE_CURRENT_SOURCE_DIR} /ui)
40+ set (CMAKE_AUTOUIC ON )
41+ set (CMAKE_AUTOMOC ON )
42+ set (CMAKE_AUTORCC ON )
4343
44- set (CMAKE_INCLUDE_CURRENT_DIR ON )
44+ set (CMAKE_INCLUDE_CURRENT_DIR ON )
4545
46- set (CMAKE_CXX_VISIBILITY_PRESET hidden)
47- set (CMAKE_VISIBILITY_INLINES_HIDDEN TRUE )
46+ set (CMAKE_CXX_VISIBILITY_PRESET hidden)
47+ set (CMAKE_VISIBILITY_INLINES_HIDDEN TRUE )
4848
4949file (
50- GLOB
51- SRC_LIST
52- src/*.cpp
53- src/*.cc
54- src/widgets/*.cpp
55- )
50+ GLOB
51+ SRC_LIST
52+ src/*.cpp
53+ src/*.cc
54+ src/widgets/*.cpp
55+ )
5656file (
57- GLOB
58- HEADER_LIST
59- include /${SCOPY_MODULE} /*.h
60- include /${SCOPY_MODULE} /*.hpp
61- include /${SCOPY_MODULE} /widgets/*.h
57+ GLOB
58+ HEADER_LIST
59+ include /${SCOPY_MODULE} /*.h
60+ include /${SCOPY_MODULE} /*.hpp
61+ include /${SCOPY_MODULE} /widgets/*.h
6262)
6363
6464set (ENABLE_TESTING ON )
65- if (ENABLE_TESTING)
66- add_subdirectory (test )
67- endif ()
65+ if (ENABLE_TESTING)
66+ add_subdirectory (test )
67+ endif ()
68+
69+ set (PROJECT_SOURCES ${SRC_LIST} ${HEADER_LIST} )
70+ find_package (Qt${QT_VERSION_MAJOR} COMPONENTS REQUIRED Widgets Core)
6871
69- set (PROJECT_SOURCES ${SRC_LIST} ${HEADER_LIST} )
70- find_package (Qt${QT_VERSION_MAJOR} COMPONENTS REQUIRED Widgets Core)
72+ qt_add_resources(PROJECT_RESOURCES res/resources.qrc)
7173
72- qt_add_resources(PROJECT_RESOURCES res/resources.qrc)
73- add_library (${PROJECT_NAME} SHARED ${PROJECT_SOURCES} ${PROJECT_RESOURCES} )
74+ add_library (${PROJECT_NAME} SHARED ${PROJECT_SOURCES} ${PROJECT_RESOURCES} )
7475
75- generate_export_header(
76- ${PROJECT_NAME} EXPORT_FILE_NAME ${CMAKE_CURRENT_SOURCE_DIR} /include /${SCOPY_MODULE} /${PROJECT_NAME} _export.h
76+ generate_export_header(
77+ ${PROJECT_NAME} EXPORT_FILE_NAME ${CMAKE_CURRENT_SOURCE_DIR} /include /${SCOPY_MODULE} /${PROJECT_NAME} _export.h
7778)
7879
7980include (ScopyStyle)
8081generate_style("--plugin" ${CMAKE_CURRENT_SOURCE_DIR} /style ${CMAKE_CURRENT_SOURCE_DIR} /include /admt)
8182
83+ set (INCLUDE_DIRECTORIES
84+ ${CMAKE_CURRENT_SOURCE_DIR} /include /${SCOPY_MODULE} ${CMAKE_CURRENT_SOURCE_DIR} /include /${SCOPY_MODULE}
85+ ${CMAKE_CURRENT_SOURCE_DIR} /include /${SCOPY_MODULE} ${CMAKE_CURRENT_SOURCE_DIR} /include /${SCOPY_MODULE} /widgets
86+ )
87+
8288configure_file (
8389 include /${SCOPY_MODULE} /scopy-${SCOPY_MODULE} _config.h.cmakein
8490 ${CMAKE_CURRENT_SOURCE_DIR} /include /${SCOPY_MODULE} /scopy-${SCOPY_MODULE} _config.h @ONLY
8591)
8692
87- target_include_directories (${PROJECT_NAME} INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} /include )
88- target_include_directories (${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} / include / ${SCOPY_MODULE} )
93+ target_include_directories (${PROJECT_NAME} INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} /include )
94+ target_include_directories (${PROJECT_NAME} PRIVATE ${INCLUDE_DIRECTORIES} )
8995
90- target_include_directories (${PROJECT_NAME} PUBLIC scopy-pluginbase scopy-gui)
96+ target_include_directories (${PROJECT_NAME} PUBLIC scopy-pluginbase scopy-gui)
97+ target_include_directories (${PROJECT_NAME} PRIVATE ${IIO_INCLUDE_DIRS} scopy-gui scopy-iioutil)
9198
92- target_link_libraries (
93- ${PROJECT_NAME}
94- PUBLIC Qt::Widgets
95- Qt::Core
96- scopy-pluginbase
97- scopy-gui
98- scopy-iioutil
99+ target_link_libraries (
100+ ${PROJECT_NAME}
101+ PUBLIC Qt::Widgets
102+ Qt::Core
103+ scopy-pluginbase
104+ scopy-gui
105+ scopy-iioutil
99106)
100107
101108if (${CMAKE_SYSTEM_NAME} MATCHES "Windows" )
0 commit comments