1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
rdkit_library(MolDraw2DQt MolDraw2DQt.cpp DrawTextQt.cpp
LINK_LIBRARIES
MolDraw2D)
target_compile_definitions(MolDraw2DQt PRIVATE RDKIT_MOLDRAW2DQT_BUILD)
target_compile_definitions(MolDraw2DQt PUBLIC "-DRDK_BUILD_QT_SUPPORT")
add_library(QtDependencies INTERFACE)
if (RDK_USE_QT6)
find_package(Qt6 COMPONENTS Core Widgets OpenGL REQUIRED)
target_link_libraries(QtDependencies INTERFACE Qt6::Core Qt6::OpenGL Qt6::Widgets)
set(RDK_QT_VERSION_STRING ${Qt6Core_VERSION})
else(RDK_USE_QT6)
find_package(Qt5 COMPONENTS Core Widgets OpenGL REQUIRED)
target_link_libraries(QtDependencies INTERFACE Qt5::Core Qt5::OpenGL Qt5::Widgets)
set(RDK_QT_VERSION_STRING ${Qt5Core_VERSION})
if (RDK_QT_VERSION_STRING STREQUAL "")
# QT < 5.9 uses Qt5Core_VERSION_STRING
set(RDK_QT_VERSION_STRING ${Qt5Core_VERSION_STRING})
endif()
endif(RDK_USE_QT6)
message(STATUS "Building with Qt version ${RDK_QT_VERSION_STRING}")
target_link_libraries(MolDraw2DQt PUBLIC QtDependencies)
target_compile_definitions(MolDraw2DQt PRIVATE "-DRDK_QT_VERSION=\"${RDK_QT_VERSION_STRING}\"")
install(TARGETS QtDependencies EXPORT ${RDKit_EXPORTED_TARGETS} COMPONENT dev )
rdkit_headers(MolDraw2DQt.h DEST GraphMol/MolDraw2D/Qt)
if(RDK_INSTALL_STATIC_LIBS)
target_link_libraries(MolDraw2DQt_static PUBLIC QtDependencies)
target_compile_definitions(MolDraw2DQt_static PRIVATE "-DRDK_QT_VERSION=\"${RDK_QT_VERSION_STRING}\"")
target_sources(MolDraw2DQt_static PRIVATE MolDraw2DQt.cpp DrawTextQt.cpp)
endif()
if(RDK_BUILD_FREETYPE_SUPPORT)
target_compile_definitions(MolDraw2DQt PUBLIC "-DRDK_BUILD_FREETYPE_SUPPORT")
target_sources(MolDraw2DQt PRIVATE DrawTextFTQt.cpp)
if(RDK_INSTALL_STATIC_LIBS)
target_compile_definitions(MolDraw2DQt_static PUBLIC "-DRDK_BUILD_FREETYPE_SUPPORT")
target_sources(MolDraw2DQt_static PRIVATE DrawTextFTQt.cpp)
endif()
# I think Emscripten with Qt is nonsense, so
find_package(Freetype REQUIRED)
target_link_libraries(MolDraw2DQt PUBLIC Freetype::Freetype)
if(RDK_INSTALL_STATIC_LIBS)
target_link_libraries(MolDraw2DQt_static PUBLIC Freetype::Freetype)
endif()
endif(RDK_BUILD_FREETYPE_SUPPORT)
if(RDK_BUILD_QT_SUPPORT)
rdkit_catch_test(moldraw2DTestQt catch_qt.cpp LINK_LIBRARIES MolDraw2DQt)
endif(RDK_BUILD_QT_SUPPORT)
if(RDK_BUILD_QT_DEMO)
add_subdirectory(QTDemo)
endif(RDK_BUILD_QT_DEMO)
if(RDK_BUILD_PYTHON_WRAPPERS)
add_subdirectory(Wrap)
endif()
|