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()