set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) set(GUI_SOURCES application.cc application.h basewindow.cc basewindow.h designwidget.cc designwidget.h fpgaviewwidget.cc fpgaviewwidget.h line_editor.cc line_editor.h lineshader.cc lineshader.h pyconsole.cc pyconsole.h pythontab.cc pythontab.h quadtree.h treemodel.cc treemodel.h worker.cc worker.h ${family}/mainwindow.cc ${family}/mainwindow.h ) qt5_add_resources(GUI_QT_RESOURCES base.qrc ${family}/nextpnr.qrc ) add_library(nextpnr-${target}-gui OBJECT ${GUI_SOURCES} ${GUI_QT_RESOURCES} ) target_compile_definitions(nextpnr-${target}-gui PUBLIC QT_NO_KEYWORDS ) target_include_directories(nextpnr-${target}-gui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/${family} ${CMAKE_CURRENT_SOURCE_DIR} ) target_include_directories(nextpnr-${target}-gui PRIVATE ${CMAKE_SOURCE_DIR}/frontend ${CMAKE_SOURCE_DIR}/json ${CMAKE_SOURCE_DIR}/3rdparty/QtPropertyBrowser/src ${CMAKE_SOURCE_DIR}/3rdparty/imgui ${CMAKE_SOURCE_DIR}/3rdparty/qtimgui ) target_link_libraries(nextpnr-${target}-gui PUBLIC Qt5::Widgets ) target_link_libraries(nextpnr-${target}-gui PRIVATE nextpnr-${target}-defs nextpnr_version Qt5::OpenGL QtPropertyBrowser pybind11::headers ) # Currently always the case when the GUI is built. if (BUILD_PYTHON) target_sources(nextpnr-${target}-gui PRIVATE ../3rdparty/python-console/ColumnFormatter.cpp ../3rdparty/python-console/ParseHelper.cpp ../3rdparty/python-console/ParseHelper.BlockParseState.cpp ../3rdparty/python-console/ParseHelper.BracketParseState.cpp ../3rdparty/python-console/ParseHelper.ContinuationParseState.cpp ../3rdparty/python-console/ParseMessage.cpp ../3rdparty/python-console/modified/pyredirector.cc ../3rdparty/python-console/modified/pyinterpreter.cc ../3rdparty/imgui/imgui_widgets.cpp ../3rdparty/imgui/imgui_draw.cpp ../3rdparty/imgui/imgui.cpp ../3rdparty/imgui/imgui_demo.cpp ../3rdparty/qtimgui/ImGuiRenderer.cpp ../3rdparty/qtimgui/QtImGui.cpp ) target_include_directories(nextpnr-${target}-gui PRIVATE ../3rdparty/python-console ../3rdparty/python-console/modified ) endif()