Warning, /sdk/codevis/desktopapp/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 include_directories(${LLVM_INCLUDE_DIR} SYSTEM) 0002 include_directories(${CMAKE_CURRENT_SOURCE_DIR}) 0003 include_directories(${CMAKE_CURRENT_BINARY_DIR}) 0004 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../submodules/backward-cpp) 0005 0006 set(CodeVisDesktop_SRCS 0007 codevis_dbus_interface.cpp 0008 mainwindow.cpp 0009 projectsettingsdialog.cpp 0010 ) 0011 0012 cmake_language(CALL 0013 qt${QT_MAJOR_VERSION}_wrap_cpp 0014 CodeVisDesktop_SRCS 0015 mainwindow.h 0016 projectsettingsdialog.h 0017 codevis_dbus_interface.h 0018 ) 0019 0020 cmake_language(CALL 0021 qt${QT_MAJOR_VERSION}_add_resources 0022 CodeVisDesktop_SRCS 0023 desktopapp.qrc 0024 ) 0025 0026 cmake_language(CALL 0027 qt${QT_MAJOR_VERSION}_wrap_ui 0028 CodeVisDesktop_SRCS 0029 mainwindow.ui 0030 projectsettingsdialog.ui 0031 ) 0032 0033 set(CODEVIS_DESKTOP_QT_LIBRARIES 0034 Qt${QT_MAJOR_VERSION}::Core 0035 Qt${QT_MAJOR_VERSION}::Gui 0036 Qt${QT_MAJOR_VERSION}::Widgets 0037 ) 0038 0039 if (USE_QT_WEBENGINE) 0040 set(CODEVIS_DESKTOP_QT_LIBRARIES "${CODEVIS_DESKTOP_QT_LIBRARIES}" Qt${QT_MAJOR_VERSION}::WebEngineWidgets) 0041 endif() 0042 0043 # Mac and Windows are currently failing on the CI 0044 if (UNIX AND NOT APPLE) 0045 set(CodeVisDesktop_DBUS_SRCS 0046 ${CMAKE_CURRENT_BINARY_DIR}/org.codethink.CodeVis.xml 0047 ) 0048 0049 cmake_language(CALL 0050 qt${QT_MAJOR_VERSION}_generate_dbus_interface 0051 codevis_dbus_interface.h 0052 org.codethink.CodeVis.xml 0053 # Only parse scriptable properties. 0054 OPTIONS -p -s -m 0055 ) 0056 0057 # install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.codethink.CodeVis.xml DESTINATION ${DBUS_INTERFACES_INSTALL_DIR}) 0058 0059 cmake_language(CALL 0060 qt${QT_MAJOR_VERSION}_add_dbus_adaptor 0061 CodeVisDesktop_DBUS_SRCS 0062 ${CMAKE_CURRENT_BINARY_DIR}/org.codethink.CodeVis.xml 0063 codevis_dbus_interface.h 0064 CodeVisDBusInterface # Classname used for the adaptor. 0065 ) 0066 0067 set(CODEVIS_DESKTOP_QT_LIBRARIES ${CODEVIS_DESKTOP_QT_LIBRARIES} Qt${QT_MAJOR_VERSION}::DBus) 0068 endif() 0069 0070 if (APPLE) 0071 set(CodeVisIcon_SRCS ${PROJECT_SOURCE_DIR}/iconset.icns) 0072 set_source_files_properties(${CodeVisIcon_SRCS} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources") 0073 0074 # clang headers 0075 file(GLOB_RECURSE AppleHeaders_SRCS ${CT_CLANG_HEADERS_DIR}/*.h) 0076 set_source_files_properties(${AppleHeaders_SRCS} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources/include") 0077 endif() 0078 0079 if (WIN32) 0080 # set(CodeVisIcon_SRCS ${PROJECT_SOURCE_DIR}/packaging/windows/applicationicon.rc) 0081 set(WindowsKeyword WIN32) 0082 endif() 0083 0084 add_library(codevis_lib STATIC 0085 ${CodeVisDesktop_DBUS_SRCS} 0086 ${CodeVisIcon_SRCS} 0087 ${CodeVisDesktop_SRCS} 0088 ${AppleHeaders_SRCS} 0089 ) 0090 0091 if (${KF_VERSION_MINOR} LESS 90) 0092 message("Warning: Old KDE Framework version doesn't have KFNewStuffWidgets available. Disabling support.") 0093 set(KFNewStuffWidgetsIfAvailable "") # No such library 0094 else() 0095 set(KFNewStuffWidgetsIfAvailable KF${KF_MAJOR_VERSION}::NewStuffWidgets) 0096 endif() 0097 0098 target_link_libraries( 0099 codevis_lib 0100 0101 KF${KF_MAJOR_VERSION}::Crash 0102 KF${KF_MAJOR_VERSION}::WidgetsAddons 0103 KF${KF_MAJOR_VERSION}::XmlGui 0104 KF${KF_MAJOR_VERSION}::CoreAddons 0105 KF${KF_MAJOR_VERSION}::I18n 0106 KF${KF_MAJOR_VERSION}::Notifications 0107 KF${KF_MAJOR_VERSION}::NewStuffCore 0108 ${KFNewStuffWidgetsIfAvailable} 0109 0110 Codethink::lvtmdl 0111 Codethink::lvtprj 0112 Codethink::lvtqtw 0113 Codethink::lvtqtc 0114 Codethink::lvtplg 0115 Codethink::lvtcgn_adapter 0116 0117 resources 0118 0119 ${CODEVIS_DESKTOP_QT_LIBRARIES} 0120 ) 0121 0122 add_executable(codevis_desktop 0123 MACOSX_BUNDLE 0124 ${WindowsKeyword} 0125 desktopapp.m.cpp 0126 ) 0127 0128 target_link_libraries( 0129 codevis_desktop 0130 codevis_lib 0131 ) 0132 0133 if (NOT ${KDE_FRAMEWORKS_IS_OLD}) 0134 install(TARGETS codevis_desktop ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0135 install(FILES codevis.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR}) 0136 install( 0137 FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.kde.codevis.metainfo.xml 0138 DESTINATION ${KDE_INSTALL_METAINFODIR} 0139 ) 0140 install(FILES org.kde.codevis.desktop DESTINATION ${KDE_INSTALL_APPDIR}) 0141 install(FILES codevis.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFYRCDIR}) 0142 endif() 0143 0144 file(COPY ${CMAKE_SOURCE_DIR}/python/ DESTINATION ${CMAKE_BINARY_DIR}/desktopapp/python/) 0145 0146 if (COMPILE_TESTS) 0147 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/testcrash.lks ${CMAKE_CURRENT_BINARY_DIR}/testcrash.lks COPYONLY) 0148 0149 cmake_language(CALL 0150 qt${QT_MAJOR_VERSION}_wrap_cpp 0151 test_desktopapp_SRCS 0152 testmainwindow.h 0153 ) 0154 0155 macro(ADD_DESKTOP_TEST TEST_NAME FILE_NAME) 0156 add_executable(${TEST_NAME} 0157 ${test_desktopapp_SRCS} 0158 ${FILE_NAME} 0159 apptesting_fixture.cpp 0160 testmainwindow.cpp 0161 apptesting_fixture.h 0162 ) 0163 0164 target_link_libraries(${TEST_NAME} 0165 Codethink::lvttst 0166 Codethink::lvttst_fixture_qt 0167 Codethink::lvttst_tmpdir 0168 codevis_lib 0169 ${SYSTEM_EXTRA_LIBRARIES} 0170 Qt::Test 0171 ) 0172 add_test(NAME ${TEST_NAME} COMMAND ${TEST_NAME}) 0173 endmacro() 0174 0175 ADD_DESKTOP_TEST(mainwindow_auto_add_edges_from_classes mainwindow_auto_add_edges_from_classes.t.cpp) 0176 ADD_DESKTOP_TEST(mainwindow_auto_add_edges_from_components mainwindow_auto_add_edges_from_components.t.cpp) 0177 ADD_DESKTOP_TEST(mainwindow_auto_add_edges_from_packages mainwindow_auto_add_edges_from_packages.t.cpp) 0178 ADD_DESKTOP_TEST(mainwindow_basic_application_workflow mainwindow_basic_application_workflow.t.cpp) 0179 ADD_DESKTOP_TEST(mainwindow_load_project_test mainwindow_load_test_crash.t.cpp) 0180 ADD_DESKTOP_TEST(mainwindow_show_error_on_add_edge_failure mainwindow_show_error_on_add_edge_failure.t.cpp) 0181 ADD_DESKTOP_TEST(mainwindow_test mainwindow.t.cpp) 0182 ADD_DESKTOP_TEST(mainwindow_test_autosave mainwindow_test_autosave.t.cpp) 0183 ADD_DESKTOP_TEST(mainwindow_test_tool_selection mainwindow_test_tool_selection.t.cpp) 0184 0185 # This test doesn't work on Qt5 because of Bad API' 0186 if (QT_MAJOR_VERSION STREQUAL "6") 0187 ADD_DESKTOP_TEST(mainwindow_test_element_move mainwindow_test_element_move.t.cpp) 0188 endif() 0189 0190 add_executable(test_projectsettingsdialog projectsettingsdialog.t.cpp) 0191 target_link_libraries(test_projectsettingsdialog 0192 Codethink::lvttst 0193 Codethink::lvttst_fixture_qt 0194 codevis_lib 0195 ${EXTRA_SYSTEM_LIBRARIES} 0196 Qt::Test 0197 ) 0198 add_test(NAME test_projectsettingsdialog COMMAND test_projectsettingsdialog) 0199 endif()