Merge release-4-6 into master
[alexxy/gromacs.git] / src / tools / CMakeLists.txt
index c5be93178bfd0191590cb2cd164c2e76969e164e..ab7e69cacdf7956d5d76e2fa95103e10140257f5 100644 (file)
@@ -1,9 +1,7 @@
-
 add_library(gmxana 
             autocorr.c      expfit.c        polynomials.c   levenmar.c      
             anadih.c        pp2shift.c      dlist.c         
-            eigio.c         cmat.c          
-            eigensolver.c   nsc.c           
+            eigio.c         cmat.c          nsc.c
             hxprops.c       fitahx.c        
             geminate.c      nsfactor.c
             gmx_analyze.c   gmx_anaeig.c    gmx_angle.c     gmx_bond.c      
@@ -20,24 +18,24 @@ add_library(gmxana
             gmx_polystat.c  gmx_potential.c gmx_rama.c      
             gmx_rdf.c       gmx_rms.c       gmx_rmsf.c      
             gmx_rotacf.c    gmx_saltbr.c    gmx_sas.c       gmx_sans.c
-            gmx_select.c    gmx_rmsdist.c   gmx_rotmat.c
+            gmx_rmsdist.c   gmx_rotmat.c
             gmx_sgangle.c   gmx_sorient.c   gmx_spol.c      gmx_tcaf.c      
             gmx_traj.c      gmx_velacc.c    gmx_helixorient.c 
-            gmx_clustsize.c gmx_mdmat.c     gmx_wham.c      
+            gmx_clustsize.c gmx_mdmat.c     gmx_wham.cpp
             correl.c        gmx_sham.c      gmx_nmtraj.c    
             gmx_trjconv.c   gmx_trjcat.c    gmx_trjorder.c  gmx_xpm2ps.c    
             gmx_editconf.c  gmx_genbox.c    gmx_genion.c    gmx_genconf.c   
             gmx_genpr.c     gmx_eneconv.c   gmx_vanhove.c   gmx_wheel.c     
             addconf.c       calcpot.c       edittop.c       gmx_bar.c
-            gmx_membed.c    gmx_pme_error.c gmx_options.c   gmx_dos.c
+            gmx_pme_error.c gmx_options.c   gmx_dos.c
             gmx_hydorder.c  gmx_densorder.c powerspect.c    dens_filter.c
             binsearch.c     gmx_dyecoupl.c  gmx_make_edi.c  gmx_sigeps.c
             gmx_do_dssp.c   gmx_anadock.c   gmx_make_ndx.c  gmx_mk_angndx.c
             )
 
 
-target_link_libraries(gmxana md gmx ${GSL_LIBRARIES})
-set_target_properties(gmxana PROPERTIES OUTPUT_NAME "gmxana${GMX_LIBS_SUFFIX}" SOVERSION ${SOVERSION} INSTALL_NAME_DIR "${LIB_INSTALL_DIR}"
+target_link_libraries(gmxana libgromacs ${GSL_LIBRARIES} ${GMX_SHARED_LINKER_FLAGS})
+set_target_properties(gmxana PROPERTIES OUTPUT_NAME "gmxana${GMX_LIBS_SUFFIX}" SOVERSION ${SOVERSION}
     COMPILE_FLAGS "${OpenMP_C_FLAGS}")
 
 # List of programs with single corresponding .c source file,
@@ -53,10 +51,10 @@ set(GMX_TOOLS_PROGRAMS
     g_dyndom g_enemat g_energy g_lie g_filter g_gyrate
     g_h2order g_hbond g_helix g_mindist g_msd g_morph g_nmeig
     g_nmens g_order g_kinetics g_polystat g_potential g_rama g_rdf g_rms
-    g_rmsf g_rotacf g_saltbr g_sas g_select g_sgangle g_sham g_sorient
+    g_rmsf g_rotacf g_saltbr g_sas g_sgangle g_sham g_sorient
     g_spol g_spatial g_tcaf g_traj g_tune_pme g_vanhove
     g_velacc g_clustsize g_mdmat g_wham g_sigeps g_bar
-    g_membed g_pme_error g_rmsdist g_rotmat g_options
+    g_pme_error g_rmsdist g_rotmat g_options
     g_dos    g_hydorder  g_densorder g_dyecoupl g_sans
     )
 
@@ -66,56 +64,19 @@ set(GMX_TOOLS_PROGRAMS_NOT_FOR_INSTALLATION
 
 
 foreach(TOOL ${GMX_TOOLS_PROGRAMS} ${GMX_TOOLS_PROGRAMS_NOT_FOR_INSTALLATION})
-    if(GMX_GPU OR GMX_OPENMM OR GMX_FORCE_CXX)
-        set_source_files_properties(${TOOL}.c PROPERTIES LANGUAGE CXX)
-        if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
-            set_source_files_properties(${TOOL}.c PROPERTIES COMPILE_FLAGS "-x c++")
-        endif()
-    endif()
     add_executable(${TOOL} ${TOOL}.c)
-    target_link_libraries(${TOOL} gmxana ${OpenMP_LINKER_FLAGS})
-    set_target_properties(${TOOL} PROPERTIES OUTPUT_NAME "${TOOL}${GMX_BINARY_SUFFIX}")
-endforeach()
-
-foreach(TOOL ${GMX_TOOLS_PROGRAMS})
     if (NOT ${TOOL} STREQUAL "g_options")
         gmx_add_man_page(${TOOL})
     endif()
+    target_link_libraries(${TOOL} gmxana ${GMX_EXE_LINKER_FLAGS})
+    set_target_properties(${TOOL} PROPERTIES OUTPUT_NAME "${TOOL}${GMX_BINARY_SUFFIX}")
+endforeach(TOOL ${GMX_TOOLS_PROGRAMS}) 
 
-    # Manage CPack component dependencies, and group membership; note that
-    # a component may belong to only one group
-    set(CPACK_COMPONENT_${TOOL}_DEPENDS libraries libraries-gmxana)
-    set(CPACK_COMPONENT_${TOOL}_GROUP tools)
-
-    # Create custom install-xxxx target
-    if (BUILD_SHARED_LIBS)
-    # If shared libraries are used, we need to install the libraries in
-    # addition to the tool binary.
-       add_custom_target(install-${TOOL}
-           COMMAND ${CMAKE_COMMAND} -DCOMPONENT=libraries
-                   -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
-           COMMAND ${CMAKE_COMMAND} -DCOMPONENT=libraries-gmxana
-                   -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
-           COMMAND ${CMAKE_COMMAND} -DCOMPONENT=${TOOL}
-                   -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
-           COMMENT "Installing ${TOOL}")
-    else()
-       add_custom_target(install-${TOOL}
-           COMMAND ${CMAKE_COMMAND} -DCOMPONENT=${TOOL}
-                   -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
-           COMMENT "Installing ${TOOL}")
-    endif()
-    add_dependencies(install-${TOOL} ${TOOL})
-
-    # Finally, trigger installation
-    install(
-      TARGETS ${TOOL}
-      COMPONENT ${TOOL}
-      DESTINATION ${BIN_INSTALL_DIR}
-      )
-endforeach()
 
-install(TARGETS gmxana DESTINATION ${LIB_INSTALL_DIR} COMPONENT libraries-gmxana)
+install(TARGETS gmxana DESTINATION ${LIB_INSTALL_DIR} COMPONENT runtime)
+install(TARGETS ${GMX_TOOLS_PROGRAMS}
+        DESTINATION ${BIN_INSTALL_DIR}
+        COMPONENT runtime)
 
 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libgmxana.pc.cmakein ${CMAKE_CURRENT_BINARY_DIR}/libgmxana.pc @ONLY)
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libgmxana.pc