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 )