Warning, /education/kalzium/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 add_executable(kalzium)
0002
0003 target_include_directories(kalzium PRIVATE
0004 tools
0005 calculator
0006 psetable
0007 isotopetable
0008 ${CMAKE_CURRENT_BINARY_DIR}/..
0009 )
0010
0011 ecm_setup_version(${RELEASE_SERVICE_VERSION}
0012 VARIABLE_PREFIX KALZIUM
0013 VERSION_HEADER kalzium_version.h
0014 )
0015
0016 ecm_qt_declare_logging_category(kalzium
0017 HEADER kalzium_debug.h
0018 IDENTIFIER KALZIUM_LOG
0019 CATEGORY_NAME org.kde.kalzium
0020 DESCRIPTION "Kalzium"
0021 EXPORT KALZIUM
0022 )
0023
0024 # The tools can only be built when OpenBabel is found.
0025 # The moleculeviewer needs not only OpenBabel but also Eigen and Avogadro,
0026 # so there is a nested if-check.
0027 if (HAVE_OPENBABEL)
0028 target_sources(kalzium PRIVATE
0029 tools/obconverter.cpp
0030 )
0031
0032 ki18n_wrap_ui(kalzium
0033 tools/obconverterwidget.ui
0034 )
0035 target_include_directories(kalzium SYSTEM PRIVATE ${OPENBABEL_INCLUDE_DIR})
0036
0037 if (EIGEN3_FOUND AND AvogadroLibs_FOUND)
0038 #include(${Avogadro_USE_FILE})
0039
0040 target_sources(kalzium PRIVATE
0041 tools/moleculeview.cpp
0042 ../compoundviewer/kalziumglwidget.cpp
0043 )
0044
0045 ki18n_wrap_ui(kalzium
0046 tools/moleculeviewerwidget.ui
0047 )
0048 endif ()
0049 endif ()
0050
0051 ## Kalzium calculator files
0052 target_sources(kalzium PRIVATE
0053 calculator/calculator.cpp
0054 calculator/calculator.h
0055 calculator/concCalculator.cpp
0056 calculator/concCalculator.h
0057 calculator/gasCalculator.cpp
0058 calculator/gasCalculator.h
0059 calculator/nuclearCalculator.cpp
0060 calculator/nuclearCalculator.h
0061 calculator/titrationCalculator.cpp
0062 calculator/titrationCalculator.h
0063 # calculator/massCalculator.cpp
0064 )
0065 ki18n_wrap_ui(kalzium
0066 calculator/calculator.ui
0067 calculator/nuclearCalculator.ui
0068 calculator/gasCalculator.ui
0069 calculator/concCalculator.ui
0070 calculator/settings_calc.ui
0071 calculator/titrationCalculator.ui
0072 # calculator/massCalculator.ui
0073 )
0074
0075 target_sources(kalzium PRIVATE
0076 colorutils.cpp
0077 colorutils.h
0078 detailedgraphicaloverview.cpp
0079 detailedgraphicaloverview.h
0080 detailinfodlg.cpp
0081 detailinfodlg.h
0082 elementdataviewer.cpp
0083 elementdataviewer.h
0084 exportdialog.cpp
0085 exportdialog.h
0086 gradientwidget_impl.cpp
0087 gradientwidget_impl.h
0088 isotopetable/informationitem.cpp
0089 isotopetable/informationitem.h
0090 isotopetable/isotopeguideview.cpp
0091 isotopetable/isotopeguideview.h
0092 isotopetable/isotopeitem.cpp
0093 isotopetable/isotopeitem.h
0094 isotopetable/isotopescene.cpp
0095 isotopetable/isotopescene.h
0096 isotopetable/isotopetabledialog.cpp
0097 isotopetable/isotopetabledialog.h
0098 isotopetable/isotopeview.cpp
0099 isotopetable/isotopeview.h
0100 kalzium.cpp
0101 kalziumdataobject.cpp
0102 kalziumdataobject.h
0103 kalziumelementproperty.cpp
0104 kalziumelementproperty.h
0105 kalziumgradienttype.cpp
0106 kalziumgradienttype.h
0107 kalzium.h
0108 kalziumnumerationtype.cpp
0109 kalziumnumerationtype.h
0110 kalziumschemetype.cpp
0111 kalziumschemetype.h
0112 kalziumunitcombobox.cpp
0113 kalziumunitcombobox.h
0114 kalziumutils.cpp
0115 kalziumutils.h
0116 kdeeduglossary.cpp
0117 kdeeduglossary.h
0118 legendwidget.cpp
0119 legendwidget.h
0120 main.cpp
0121 molcalcwidget.cpp
0122 molcalcwidget.h
0123 orbitswidget.cpp
0124 orbitswidget.h
0125 psetable/elementitem.cpp
0126 psetable/elementitem.h
0127 psetable/numerationitem.cpp
0128 psetable/numerationitem.h
0129 psetable/periodictablescene.cpp
0130 psetable/periodictablescene.h
0131 psetable/periodictablestates.cpp
0132 psetable/periodictablestates.h
0133 psetable/periodictableview.cpp
0134 psetable/periodictableview.h
0135 psetable/statemachine.cpp
0136 psetable/statemachine.h
0137 rsdialog.cpp
0138 rsdialog.h
0139 search.cpp
0140 search.h
0141 searchwidget.cpp
0142 searchwidget.h
0143 spectrumviewimpl.cpp
0144 spectrumviewimpl.h
0145 spectrumwidget.cpp
0146 spectrumwidget.h
0147 tableinfowidget.cpp
0148 tableinfowidget.h
0149 tablesdialog.cpp
0150 tablesdialog.h
0151 settings/kalziumconfigdialog.cpp
0152 settings/kalziumconfigdialog.h
0153 settings/unitsettingsdialog.cpp
0154 settings/unitsettingsdialog.h
0155 settings/isotopetablesettingsdialog.cpp
0156 settings/isotopetablesettingsdialog.h
0157 settings/isotopetablesettingscard.cpp
0158 settings/isotopetablesettingscard.h
0159
0160 kalzium.qrc
0161 )
0162
0163 if (LIBFACILE_FOUND)
0164 include(CMakeOCamlInstructions.cmake)
0165
0166 target_sources(kalzium PRIVATE
0167 eqchemview.cpp
0168 ${CMAKE_CURRENT_BINARY_DIR}/solver.o
0169 ${CMAKE_CURRENT_BINARY_DIR}/modwrap.o
0170 )
0171 ki18n_wrap_ui(kalzium
0172 equationview.ui
0173 )
0174 endif ()
0175
0176 ki18n_wrap_ui(kalzium
0177 isotopetable/isotopedialog.ui
0178 plotsetupwidget.ui
0179 molcalcwidgetbase.ui
0180 spectrumview.ui
0181 rswidget.ui
0182 gradientwidget.ui
0183 exportdialog.ui
0184 settings/settings_colors.ui
0185 settings/settings_gradients.ui
0186 )
0187
0188 kconfig_add_kcfg_files(kalzium GENERATE_MOC prefs.kcfgc)
0189
0190 file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/*-apps-kalzium.png")
0191 ecm_add_app_icon(kalzium ICONS ${ICONS_SRCS})
0192
0193 target_link_libraries(kalzium
0194 KF${KF_MAJOR_VERSION}::ConfigWidgets
0195 KF${KF_MAJOR_VERSION}::ItemViews
0196 KF${KF_MAJOR_VERSION}::KIOWidgets
0197 KF${KF_MAJOR_VERSION}::Plotting
0198 KF${KF_MAJOR_VERSION}::TextWidgets
0199 KF${KF_MAJOR_VERSION}::UnitConversion
0200 KF${KF_MAJOR_VERSION}::XmlGui
0201 Qt::Svg
0202 science
0203 )
0204 if (QT_MAJOR_VERSION STREQUAL "5")
0205 target_link_libraries(kalzium Qt::Script)
0206 else()
0207 target_link_libraries(kalzium Qt::StateMachine)
0208 endif()
0209 if (HAVE_OPENBABEL)
0210 target_link_libraries(kalzium ${OPENBABEL_LIBRARIES})
0211 if (EIGEN3_FOUND AND AvogadroLibs_FOUND)
0212 target_link_libraries(kalzium
0213 KF${KF_MAJOR_VERSION}::NewStuff
0214 Qt::OpenGL
0215 compoundviewer
0216 AvogadroQtGui
0217 AvogadroQtOpenGL
0218 AvogadroQtPlugins
0219 Eigen3::Eigen
0220 )
0221 install(FILES kalzium.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR})
0222 endif ()
0223 endif ()
0224
0225 if (LIBFACILE_FOUND)
0226 link_directories(${OCAMLC_DIR})
0227 set(CMAKE_LIBRARY_PATH ${OCAMLC_DIR})
0228
0229 find_library(OCAML_ASMRUN_LIBRARY NAMES asmrun)
0230 if (OCAML_ASMRUN_LIBRARY)
0231 target_link_libraries(kalzium ${OCAML_ASMRUN_LIBRARY})
0232 endif ()
0233
0234 find_library(OCAML_STR_LIBRARY NAMES str)
0235 if (OCAML_STR_LIBRARY)
0236 target_link_libraries(kalzium ${OCAML_STR_LIBRARY})
0237 endif ()
0238
0239 find_library(OCAML_NUMS_LIBRARY NAMES nums)
0240 if (OCAML_NUMS_LIBRARY)
0241 target_link_libraries(kalzium ${OCAML_NUMS_LIBRARY})
0242 endif ()
0243
0244 target_link_libraries(kalzium m ${CMAKE_DL_LIBS})
0245 endif ()
0246
0247 install(TARGETS kalzium ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0248
0249 install(PROGRAMS org.kde.kalzium.desktop org.kde.kalzium_cml.desktop DESTINATION ${KDE_INSTALL_APPDIR})
0250 install(FILES settings/kalzium.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR})
0251
0252 ecm_install_icons(ICONS
0253 16-apps-kalzium.png
0254 22-apps-kalzium.png
0255 32-apps-kalzium.png
0256 48-apps-kalzium.png
0257 64-apps-kalzium.png
0258 128-apps-kalzium.png
0259 sc-apps-kalzium.svgz
0260 DESTINATION ${KDE_INSTALL_ICONDIR}
0261 THEME hicolor
0262 )