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 detailedgraphicaloverview.cpp 0077 detailedgraphicaloverview.h 0078 detailinfodlg.cpp 0079 detailinfodlg.h 0080 elementdataviewer.cpp 0081 elementdataviewer.h 0082 exportdialog.cpp 0083 exportdialog.h 0084 gradientwidget_impl.cpp 0085 gradientwidget_impl.h 0086 isotopetable/informationitem.cpp 0087 isotopetable/informationitem.h 0088 isotopetable/isotopeguideview.cpp 0089 isotopetable/isotopeguideview.h 0090 isotopetable/isotopeitem.cpp 0091 isotopetable/isotopeitem.h 0092 isotopetable/isotopescene.cpp 0093 isotopetable/isotopescene.h 0094 isotopetable/isotopetabledialog.cpp 0095 isotopetable/isotopetabledialog.h 0096 isotopetable/isotopeview.cpp 0097 isotopetable/isotopeview.h 0098 kalzium.cpp 0099 kalziumdataobject.cpp 0100 kalziumdataobject.h 0101 kalziumelementproperty.cpp 0102 kalziumelementproperty.h 0103 kalziumgradienttype.cpp 0104 kalziumgradienttype.h 0105 kalzium.h 0106 kalziumnumerationtype.cpp 0107 kalziumnumerationtype.h 0108 kalziumschemetype.cpp 0109 kalziumschemetype.h 0110 kalziumunitcombobox.cpp 0111 kalziumunitcombobox.h 0112 kalziumutils.cpp 0113 kalziumutils.h 0114 kdeeduglossary.cpp 0115 kdeeduglossary.h 0116 legendwidget.cpp 0117 legendwidget.h 0118 main.cpp 0119 molcalcwidget.cpp 0120 molcalcwidget.h 0121 orbitswidget.cpp 0122 orbitswidget.h 0123 psetable/elementitem.cpp 0124 psetable/elementitem.h 0125 psetable/numerationitem.cpp 0126 psetable/numerationitem.h 0127 psetable/periodictablescene.cpp 0128 psetable/periodictablescene.h 0129 psetable/periodictablestates.cpp 0130 psetable/periodictablestates.h 0131 psetable/periodictableview.cpp 0132 psetable/periodictableview.h 0133 psetable/statemachine.cpp 0134 psetable/statemachine.h 0135 rsdialog.cpp 0136 rsdialog.h 0137 search.cpp 0138 search.h 0139 searchwidget.cpp 0140 searchwidget.h 0141 spectrumviewimpl.cpp 0142 spectrumviewimpl.h 0143 spectrumwidget.cpp 0144 spectrumwidget.h 0145 tableinfowidget.cpp 0146 tableinfowidget.h 0147 tablesdialog.cpp 0148 tablesdialog.h 0149 settings/kalziumconfigdialog.cpp 0150 settings/kalziumconfigdialog.h 0151 settings/unitsettingsdialog.cpp 0152 settings/unitsettingsdialog.h 0153 settings/isotopetablesettingsdialog.cpp 0154 settings/isotopetablesettingsdialog.h 0155 settings/isotopetablesettingscard.cpp 0156 settings/isotopetablesettingscard.h 0157 0158 kalzium.qrc 0159 ) 0160 0161 if (LIBFACILE_FOUND) 0162 include(CMakeOCamlInstructions.cmake) 0163 0164 target_sources(kalzium PRIVATE 0165 eqchemview.cpp 0166 ${CMAKE_CURRENT_BINARY_DIR}/solver.o 0167 ${CMAKE_CURRENT_BINARY_DIR}/modwrap.o 0168 ) 0169 ki18n_wrap_ui(kalzium 0170 equationview.ui 0171 ) 0172 endif () 0173 0174 ki18n_wrap_ui(kalzium 0175 isotopetable/isotopedialog.ui 0176 plotsetupwidget.ui 0177 molcalcwidgetbase.ui 0178 spectrumview.ui 0179 rswidget.ui 0180 gradientwidget.ui 0181 exportdialog.ui 0182 settings/settings_colors.ui 0183 settings/settings_gradients.ui 0184 ) 0185 0186 kconfig_add_kcfg_files(kalzium GENERATE_MOC prefs.kcfgc) 0187 0188 file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/*-apps-kalzium.png") 0189 ecm_add_app_icon(kalzium ICONS ${ICONS_SRCS}) 0190 0191 target_link_libraries(kalzium 0192 KF${KF_MAJOR_VERSION}::Completion 0193 KF${KF_MAJOR_VERSION}::ConfigWidgets 0194 KF${KF_MAJOR_VERSION}::ItemViews 0195 KF${KF_MAJOR_VERSION}::KIOWidgets 0196 KF${KF_MAJOR_VERSION}::Plotting 0197 KF${KF_MAJOR_VERSION}::TextWidgets 0198 KF${KF_MAJOR_VERSION}::UnitConversion 0199 KF${KF_MAJOR_VERSION}::XmlGui 0200 Qt::Svg 0201 science 0202 ) 0203 if (QT_MAJOR_VERSION STREQUAL "5") 0204 target_link_libraries(kalzium Qt::Script) 0205 else() 0206 target_link_libraries(kalzium Qt::StateMachine) 0207 endif() 0208 if (HAVE_OPENBABEL) 0209 target_link_libraries(kalzium ${OPENBABEL_LIBRARIES}) 0210 if (EIGEN3_FOUND AND AvogadroLibs_FOUND) 0211 target_link_libraries(kalzium 0212 KF${KF_MAJOR_VERSION}::NewStuff 0213 Qt::OpenGL 0214 compoundviewer 0215 AvogadroQtGui 0216 AvogadroQtOpenGL 0217 AvogadroQtPlugins 0218 Eigen3::Eigen 0219 ) 0220 install(FILES kalzium.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR}) 0221 endif () 0222 endif () 0223 0224 if (LIBFACILE_FOUND) 0225 link_directories(${OCAMLC_DIR}) 0226 set(CMAKE_LIBRARY_PATH ${OCAMLC_DIR}) 0227 0228 find_library(OCAML_ASMRUN_LIBRARY NAMES asmrun) 0229 if (OCAML_ASMRUN_LIBRARY) 0230 target_link_libraries(kalzium ${OCAML_ASMRUN_LIBRARY}) 0231 endif () 0232 0233 find_library(OCAML_STR_LIBRARY NAMES str) 0234 if (OCAML_STR_LIBRARY) 0235 target_link_libraries(kalzium ${OCAML_STR_LIBRARY}) 0236 endif () 0237 0238 find_library(OCAML_NUMS_LIBRARY NAMES nums) 0239 if (OCAML_NUMS_LIBRARY) 0240 target_link_libraries(kalzium ${OCAML_NUMS_LIBRARY}) 0241 endif () 0242 0243 target_link_libraries(kalzium m ${CMAKE_DL_LIBS}) 0244 endif () 0245 0246 install(TARGETS kalzium ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0247 0248 install(PROGRAMS org.kde.kalzium.desktop org.kde.kalzium_cml.desktop DESTINATION ${KDE_INSTALL_APPDIR}) 0249 install(FILES settings/kalzium.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR}) 0250 0251 ecm_install_icons(ICONS 0252 16-apps-kalzium.png 0253 22-apps-kalzium.png 0254 32-apps-kalzium.png 0255 48-apps-kalzium.png 0256 64-apps-kalzium.png 0257 128-apps-kalzium.png 0258 sc-apps-kalzium.svgz 0259 DESTINATION ${KDE_INSTALL_ICONDIR} 0260 THEME hicolor 0261 )