-
Notifications
You must be signed in to change notification settings - Fork 1
/
CMakeLists.txt
132 lines (106 loc) · 3.99 KB
/
CMakeLists.txt
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
ADD_DEFINITIONS(${QT_DEFINITIONS})
ADD_DEFINITIONS(-DQT_PLUGIN)
ADD_DEFINITIONS(-DQT_SHARED)
set(DESTINATION_DIR ${Avogadro_PLUGIN_INSTALL_DIR}/extensions)
include_directories(${CMAKE_CURRENT_BINARY_DIR}
"${CMAKE_CURRENT_SOURCE_DIR}/gl2ps"
)
set(LINK_LIBS avogadro)
set(PLUGIN_LABEL extensions)
set(PLUGIN_TARGET extensions)
add_custom_target(extensions COMMENT "Meta target to build all Avogadro extensions.")
### Template extension - template for extensions
#avogadro_plugin(templateextension templateextension.cpp)
### Properties
avogadro_plugin_nogl(propextension
"../tools/skeletontree.cpp;propmodel.cpp;propextension.cpp")
avogadro_plugin_nogl(cartesianextension
cartesianextension.cpp
cartesianeditor.ui
cartesianextension.qrc)
avogadro_plugin_nogl(molecularpropextension
molecularpropextension.cpp
molecularpropdialog.ui)
target_link_libraries(molecularpropextension ${QT_QTNETWORK_LIBRARY})
### Molecular Mechanics force fields
set(forcefieldextension_SRCS forcefieldextension.cpp forcefielddialog.cpp
constraintsdialog.cpp constraintsmodel.cpp conformersearchdialog.cpp)
avogadro_plugin_nogl(forcefieldextension
"${forcefieldextension_SRCS}"
"forcefielddialog.ui;constraintsdialog.ui;conformersearchdialog.ui")
if(${CMAKE_CXX_COMPILER_ID} MATCHES Intel AND UNIX)
set_target_properties(forcefieldextension PROPERTIES COMPILE_FLAGS "-fvisibility=default")
endif()
### hydrogens
avogadro_plugin_nogl(hydrogensextension hydrogensextension.cpp)
### invertchirality
avogadro_plugin_nogl(invertchiralextension invertchiralextension.cpp)
### Selections
avogadro_plugin_nogl(selectextension selectextension.cpp)
### insert fragment
avogadro_plugin_nogl(insertfragmentextension
"insertfragmentextension.cpp;insertfragmentdialog.cpp;insertcommand.cpp;sortfiltertreeproxymodel.cpp"
insertfragmentdialog.ui)
### insert peptide (builder)
avogadro_plugin_nogl(insertpeptideextension
"insertpeptideextension.cpp;insertcommand.cpp"
insertpeptidedialog.ui)
### insert dna (builder)
avogadro_plugin_nogl(insertdnaextension
"insertdnaextension.cpp;insertcommand.cpp"
insertdnadialog.ui)
### h->methyl
avogadro_plugin_nogl(h2methylextension h2methylextension.cpp)
if(ENABLE_PYTHON AND ALL_PYTHON_FOUND)
### python terminal
message(STATUS "Enabled python terminal")
avogadro_plugin_nogl(pythonterminal
"pythonterminal.cpp;highlighter.cpp"
pythonterminalwidget.ui)
target_link_libraries(pythonterminal ${PYTHON_LIBRARIES})
file(GLOB python_SCRIPTS "python/*.py")
install(FILES ${python_SCRIPTS} DESTINATION share/libavogadro/extensionScripts)
endif()
### Animation
set(animationextension_SRCS animationextension.cpp animationdialog.cpp
povpainter.cpp trajvideomaker.cpp)
avogadro_plugin_nogl(animationextension
"${animationextension_SRCS}"
animationdialog.ui
animationextension.qrc)
### POV-Ray extension
avogadro_plugin_nogl(povrayextension
"povrayextension.cpp;povpainter.cpp;povraydialog.cpp"
povraydialog.ui)
### File import extension
avogadro_plugin_nogl(fileimportextension fileimportextension.cpp fileimportdialog.ui)
### Shader extension
if(GLEW_FOUND)
avogadro_plugin(shaderextension
shaderextension.cpp
shaderdialog.ui)
target_link_libraries(shaderextension ${GLEW_LIBRARY})
file(GLOB shader_VERT "shaders/*.vert")
file(GLOB shader_FRAG "shaders/*.frag")
file(GLOB shader_PARAMS "shaders/*.params")
install(FILES ${shader_VERT} ${shader_FRAG} ${shader_PARAMS}
DESTINATION share/libavogadro/shaders)
endif()
### super cells
avogadro_plugin_nogl(supercellextension
"supercellextension.cpp;supercelldialog.cpp"
supercelldialog.ui)
# Network fetch
avogadro_plugin_nogl(networkfetchextension networkfetchextension.cpp)
target_link_libraries(networkfetchextension ${QT_QTNETWORK_LIBRARY})
# GL2PS
avogadro_plugin(gl2psextension
"gl2psextension.cpp;gl2ps/gl2ps.c")
# Subdirs
add_subdirectory(crystallography)
add_subdirectory(spectra)
add_subdirectory(surfaces)
add_subdirectory(swcntbuilder)
add_subdirectory(qtaim)
add_subdirectory(quantuminput)
add_subdirectory(cp2k)