3 autocorr.c expfit.c polynomials.c levenmar.c
4 anadih.c pp2shift.c dlist.c
9 gmx_analyze.c gmx_anaeig.c gmx_angle.c gmx_bond.c
10 gmx_bundle.c gmx_chi.c gmx_cluster.c gmx_confrms.c
11 gmx_covar.c gmx_current.c
12 gmx_density.c gmx_densmap.c gmx_dih.c
14 gmx_kinetics.c gmx_spatial.c gmx_tune_pme.c
15 gmx_dipoles.c gmx_disre.c gmx_dist.c gmx_dyndom.c
16 gmx_enemat.c gmx_energy.c gmx_lie.c gmx_filter.c
17 gmx_gyrate.c gmx_h2order.c gmx_hbond.c gmx_helix.c
18 gmx_mindist.c gmx_msd.c gmx_morph.c gmx_nmeig.c
19 gmx_nmens.c gmx_order.c gmx_principal.c
20 gmx_polystat.c gmx_potential.c gmx_rama.c
21 gmx_rdf.c gmx_rms.c gmx_rmsf.c
22 gmx_rotacf.c gmx_saltbr.c gmx_sas.c gmx_sans.c
23 gmx_select.c gmx_rmsdist.c gmx_rotmat.c
24 gmx_sgangle.c gmx_sorient.c gmx_spol.c gmx_tcaf.c
25 gmx_traj.c gmx_velacc.c gmx_helixorient.c
26 gmx_clustsize.c gmx_mdmat.c gmx_wham.c
27 correl.c gmx_sham.c gmx_nmtraj.c
28 gmx_trjconv.c gmx_trjcat.c gmx_trjorder.c gmx_xpm2ps.c
29 gmx_editconf.c gmx_genbox.c gmx_genion.c gmx_genconf.c
30 gmx_genpr.c gmx_eneconv.c gmx_vanhove.c gmx_wheel.c
31 addconf.c calcpot.c edittop.c gmx_bar.c
32 gmx_membed.c gmx_pme_error.c gmx_options.c gmx_dos.c
33 gmx_hydorder.c gmx_densorder.c powerspect.c dens_filter.c
34 binsearch.c gmx_dyecoupl.c gmx_make_edi.c gmx_sigeps.c
35 gmx_do_dssp.c gmx_anadock.c gmx_make_ndx.c gmx_mk_angndx.c
39 target_link_libraries(gmxana md gmx ${GSL_LIBRARIES})
40 set_target_properties(gmxana PROPERTIES OUTPUT_NAME "gmxana${GMX_LIBS_SUFFIX}" SOVERSION ${SOVERSION} INSTALL_NAME_DIR "${LIB_INSTALL_DIR}"
41 COMPILE_FLAGS "${OpenMP_C_FLAGS}")
43 # List of programs with single corresponding .c source file,
44 # used to create build rules automatically.
46 set(GMX_TOOLS_PROGRAMS
47 do_dssp editconf eneconv genbox genconf genrestr g_nmtraj
48 make_ndx mk_angndx trjcat trjconv trjorder g_wheel
49 xpm2ps genion g_anadock make_edi g_analyze g_anaeig
50 g_angle g_bond g_bundle g_chi g_cluster g_confrms g_covar
51 g_current g_density g_densmap g_dih g_dielectric
52 g_helixorient g_principal g_dipoles g_disre g_dist
53 g_dyndom g_enemat g_energy g_lie g_filter g_gyrate
54 g_h2order g_hbond g_helix g_mindist g_msd g_morph g_nmeig
55 g_nmens g_order g_kinetics g_polystat g_potential g_rama g_rdf g_rms
56 g_rmsf g_rotacf g_saltbr g_sas g_select g_sgangle g_sham g_sorient
57 g_spol g_spatial g_tcaf g_traj g_tune_pme g_vanhove
58 g_velacc g_clustsize g_mdmat g_wham g_sigeps g_bar
59 g_membed g_pme_error g_rmsdist g_rotmat g_options
60 g_dos g_hydorder g_densorder g_dyecoupl g_sans
63 set(GMX_TOOLS_PROGRAMS_NOT_FOR_INSTALLATION
64 # names of any executables that should be built but not installed can go here
68 foreach(TOOL ${GMX_TOOLS_PROGRAMS} ${GMX_TOOLS_PROGRAMS_NOT_FOR_INSTALLATION})
69 if(GMX_GPU OR GMX_OPENMM OR GMX_FORCE_CXX)
70 set_source_files_properties(${TOOL}.c PROPERTIES LANGUAGE CXX)
71 if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
72 set_source_files_properties(${TOOL}.c PROPERTIES COMPILE_FLAGS "-x c++")
75 add_executable(${TOOL} ${TOOL}.c)
76 target_link_libraries(${TOOL} gmxana ${OpenMP_LINKER_FLAGS})
77 set_target_properties(${TOOL} PROPERTIES OUTPUT_NAME "${TOOL}${GMX_BINARY_SUFFIX}")
80 foreach(TOOL ${GMX_TOOLS_PROGRAMS})
81 if (NOT ${TOOL} STREQUAL "g_options")
82 gmx_add_man_page(${TOOL})
85 # Manage CPack component dependencies, and group membership; note that
86 # a component may belong to only one group
87 set(CPACK_COMPONENT_${TOOL}_DEPENDS libraries libraries-gmxana)
88 set(CPACK_COMPONENT_${TOOL}_GROUP tools)
90 # Create custom install-xxxx target
91 if (BUILD_SHARED_LIBS)
92 # If shared libraries are used, we need to install the libraries in
93 # addition to the tool binary.
94 add_custom_target(install-${TOOL}
95 COMMAND ${CMAKE_COMMAND} -DCOMPONENT=libraries
96 -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
97 COMMAND ${CMAKE_COMMAND} -DCOMPONENT=libraries-gmxana
98 -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
99 COMMAND ${CMAKE_COMMAND} -DCOMPONENT=${TOOL}
100 -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
101 COMMENT "Installing ${TOOL}")
103 add_custom_target(install-${TOOL}
104 COMMAND ${CMAKE_COMMAND} -DCOMPONENT=${TOOL}
105 -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
106 COMMENT "Installing ${TOOL}")
108 add_dependencies(install-${TOOL} ${TOOL})
110 # Finally, trigger installation
114 DESTINATION ${BIN_INSTALL_DIR}
118 install(TARGETS gmxana DESTINATION ${LIB_INSTALL_DIR} COMPONENT libraries-gmxana)
120 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libgmxana.pc.cmakein ${CMAKE_CURRENT_BINARY_DIR}/libgmxana.pc @ONLY)
121 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libgmxana.pc
122 DESTINATION ${LIB_INSTALL_DIR}/pkgconfig
123 RENAME "libgmxana${GMX_LIBS_SUFFIX}.pc"
124 COMPONENT development)