Test change - can I push OK?
[kdeedu-porting.git] / kalzium / src / CMakeLists.txt
blob699a2cf6268d28309c2bb0839e2a59d7c451672f
1 add_subdirectory(tools)
3 include_directories(
4    ${CMAKE_SOURCE_DIR}/libkdeedu/libscience/
5    ${CMAKE_SOURCE_DIR}/kalzium/compoundviewer/
6    ${CMAKE_SOURCE_DIR}/kalzium/libavogadro-kalzium/include/
7    ${CMAKE_SOURCE_DIR}/libkdeedu/kdeeduui/
8    ${CMAKE_SOURCE_DIR}/kalzium/src/tools/
9    ${CMAKE_CURRENT_BINARY_DIR}/..
10    )
12 ########### next target ###############
14 #the tools can only be build (right now) when OpenBabel2 is
15 #found. The moleculeviewer needs not only OpenBabel2 but
16 #also Eigen and OpenGL, so there is a nested if-check
17 if(OPENBABEL2_FOUND)
18    set(kalziumtools_SRCS
19       tools/obconverter.cpp
20       )
22    kde4_add_ui_files(kalziumtools_SRCS
23       tools/obconverterwidget.ui
24       )
25    include_directories( ${OPENBABEL2_INCLUDE_DIR} )
27    if(OPENGL_FOUND AND EIGEN_FOUND)
29       set(kalziumtools_SRCS
30          ${kalziumtools_SRCS}
31          tools/moleculeview.cpp
32          ../compoundviewer/kalziumglpart.cpp
33          )
34       kde4_add_ui_files(kalziumtools_SRCS
35          tools/moleculeviewerwidget.ui
36          )
37       include_directories( ${EIGEN_INCLUDE_DIR} )
38    endif(OPENGL_FOUND AND EIGEN_FOUND)
39 endif(OPENBABEL2_FOUND)
41 set(kalzium_SRCS
42    ${kalziumtools_SRCS}
43    kalzium.cpp
44    main.cpp
45    periodictableview.cpp
46    detailinfodlg.cpp
47    tablesdialog.cpp
48    orbitswidget.cpp
49    elementdataviewer.cpp
50    detailedgraphicaloverview.cpp
51    molcalcwidget.cpp
52    somwidget_impl.cpp
53    timewidget_impl.cpp
54    kalziumdataobject.cpp
55    nuclideboard.cpp
56    kalziumutils.cpp
57    kalziumgradienttype.cpp
58    kalziumnumerationtype.cpp
59    kalziumpainter.cpp
60    kalziumschemetype.cpp
61    kalziumtabletype.cpp
62    search.cpp
63    searchwidget.cpp
64    rsdialog.cpp
65    legendwidget.cpp
66    exportdialog.cpp
67    nuclideboardview.cpp
68    #tableinfowidget.cpp #will readd in KDE4.1
69    spectrumviewimpl.cpp #will readd in KDE4.1
70    spectrumwidget.cpp #will readd in KDE4.1
71    )
73 if(LIBFACILE_FOUND)
74    include(CMakeOCamlInstructions.cmake)
76    set( kalzium_SRCS
77       ${kalzium_SRCS}
78       eqchemview.cpp
79       ${CMAKE_CURRENT_BINARY_DIR}/solver.o
80       ${CMAKE_CURRENT_BINARY_DIR}/modwrap.o
81       )
82    kde4_add_ui_files(kalzium_SRCS
83       equationview.ui
84       )
85 endif(LIBFACILE_FOUND)
88 kde4_add_ui_files(kalzium_SRCS
89    settings_colors.ui
90    plotsetupwidget.ui
91    molcalcwidgetbase.ui
92    somwidget.ui
93    spectrumview.ui 
94    settings_misc.ui
95    settings_units.ui
96    rswidget.ui
97    timewidget.ui
98    isotopedialog.ui
99    exportdialog.ui
100    )
102 kde4_add_kcfg_files(kalzium_SRCS prefs.kcfgc )
104 #uncomment this if oxygen icons for kalzium are available
105 #kde4_add_app_icon(kalzium_SRCS "${KDE4_ICON_DIR}/oxygen/*/apps/kalzium.png")
106 kde4_add_app_icon(kalzium_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/hi*-app-kalzium.png")
108 kde4_add_executable(kalzium ${kalzium_SRCS} )
110 target_link_libraries(kalzium ${KDE4_KHTML_LIBRARY} ${KDE4_KUTILS_LIBRARY} ${KDE4_KNEWSTUFF2_LIBS} science kdeeduui )
113 if (OPENBABEL2_FOUND)
114     target_link_libraries(kalzium ${OPENBABEL2_LIBRARIES})
115     if (OPENGL_FOUND AND EIGEN_FOUND)
116         target_link_libraries(kalzium ${QT_QTOPENGL_LIBRARY} compoundviewer avogadro-kalzium)
117     endif (OPENGL_FOUND AND EIGEN_FOUND)
118 endif (OPENBABEL2_FOUND)
120 if(LIBFACILE_FOUND)
121    link_directories (${OCAMLC_DIR})
122    set(CMAKE_LIBRARY_PATH ${OCAMLC_DIR})
123    set(kalzium_EXTRA_LIBS)
125    find_library(OCAML_ASMRUN_LIBRARY NAMES asmrun)
126    if (OCAML_ASMRUN_LIBRARY)
127       set(kalzium_EXTRA_LIBS ${kalzium_EXTRA_LIBS} ${OCAML_ASMRUN_LIBRARY})
128    endif (OCAML_ASMRUN_LIBRARY)
130    find_library(OCAML_STR_LIBRARY NAMES str)
131    if (OCAML_STR_LIBRARY)
132       set(kalzium_EXTRA_LIBS ${kalzium_EXTRA_LIBS} ${OCAML_STR_LIBRARY})
133    endif (OCAML_STR_LIBRARY)
135    find_library(OCAML_NUMS_LIBRARY NAMES nums)
136    if (OCAML_NUMS_LIBRARY)
137       set(kalzium_EXTRA_LIBS ${kalzium_EXTRA_LIBS} ${OCAML_NUMS_LIBRARY})
138    endif (OCAML_NUMS_LIBRARY)
140    target_link_libraries(kalzium ${kalzium_EXTRA_LIBS} m dl)
141 endif(LIBFACILE_FOUND)  
143 install(TARGETS kalzium  DESTINATION ${BIN_INSTALL_DIR} )
146 ########### install files ###############
148 install( FILES kalzium.desktop  DESTINATION  ${XDG_APPS_INSTALL_DIR} )
149 install( FILES kalzium.kcfg  DESTINATION  ${KCFG_INSTALL_DIR} )
150 install( FILES kalziumui.rc  DESTINATION  ${DATA_INSTALL_DIR}/kalzium )
151 install( FILES kalzium.knsrc  DESTINATION  ${CONFIG_INSTALL_DIR} )
153 kde4_install_icons( ${ICON_INSTALL_DIR}   )