Skip to content

Commit

Permalink
cmake
Browse files Browse the repository at this point in the history
  • Loading branch information
RobBuchananCompPhys committed May 10, 2024
1 parent 7d0de7e commit 0b0b471
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
49 changes: 49 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@ if(WIN32)
else(PARALLEL)
set(target_name Dissolve)
set(gui_target_name Dissolve-GUI)
set(qmlgui_target_name Dissolve-GUI-QML)
endif(PARALLEL)

# Adjust external include directories for GUI
Expand All @@ -157,6 +158,7 @@ if(UNIX)
else(PARALLEL)
set(target_name dissolve)
set(gui_target_name dissolve-gui)
set(qmlgui_target_name dissolve-gui-qml)
endif(PARALLEL)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
endif(UNIX)
Expand All @@ -176,6 +178,7 @@ if(APPLE)
else(PARALLEL)
set(target_name dissolve)
set(gui_target_name dissolve-gui)
set(qmlgui_target_name dissolve-gui-qml)
endif(PARALLEL)

add_definitions(-D_MAC)
Expand Down Expand Up @@ -254,6 +257,24 @@ if(GUI)
${Qt6OpenGLWidgets_INCLUDE_DIRS}
)

# Dissolve QML GUI
qt_add_executable(${qmlgui_target_name} MACOSX_BUNDLE ${SRCS}/dissolve-gui-qml.cpp)

# Set project-local include directories for target (we expect to need less of these dependencies over time)
target_include_directories(
${qmlgui_target_name}
PRIVATE ${PROJECT_SOURCE_DIR}/src
${PROJECT_BINARY_DIR}/src
${CMAKE_BINARY_DIR}/src/gui/gui_autogen/include
${FREETYPE_INCLUDE_DIRS}
${Qt6Core_INCLUDE_DIRS}
${Qt6Gui_INCLUDE_DIRS}
${Qt6OpenGL_INCLUDE_DIRS}
${Qt6Widgets_INCLUDE_DIRS}
${Qt6OpenGL_INCLUDE_DIRS}
${Qt6OpenGLWidgets_INCLUDE_DIRS}
)

endif(GUI)

# Set basic link libs for executables
Expand Down Expand Up @@ -354,6 +375,34 @@ if(GUI)
${THREADING_LINK_LIBS}
)

# Main Dissolve GUI
target_link_libraries(
${qmlgui_target_name}
PUBLIC ${WHOLE_ARCHIVE_FLAG}
${BASIC_LINK_LIBS}
# Module gui libs
${MODULEGUI_LINK_LIBS}
moduleWidgetProducer
# Main gui libs
render
widgets
keywordWidgets
delegates
models
gui
${NO_WHOLE_ARCHIVE_FLAG}
PRIVATE # External libs
Qt6::Widgets
Qt6::Core
Qt6::Qml
OpenGL::GL
${GUI_LINK_LIBS}
${FREETYPE_LIBRARIES}
${FTGL_LIBRARIES}
${CORE_LINK_LIBS}
${THREADING_LINK_LIBS}
)

qt_generate_deploy_qml_app_script(
TARGET
${gui_target_name}
Expand Down
1 change: 1 addition & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ add_subdirectory(neta)

if(GUI)
add_subdirectory(gui)
add_subdirectory(gui-qml)
endif(GUI)

add_subdirectory(modules)

0 comments on commit 0b0b471

Please sign in to comment.