Merge release-4-6 into master
[alexxy/gromacs.git] / src / programs / mdrun / CMakeLists.txt
1 include_directories(${CMAKE_SOURCE_DIR}/src/gromacs/gmxpreprocess)
2
3 set(MDRUN_SOURCES
4     do_gct.c      gctio.c       genalg.c    ionize.c
5     md.c          md_openmm.c   mdrun.c     membed.c
6     pme_loadbal.c repl_ex.c     runner.c    xutils.c
7     ../main.cpp)
8
9 if(GMX_OPENMM) 
10     include_directories(./gmx_gpu_utils ${OpenMM_INCLUDE_DIR})
11     link_directories(${OpenMM_LIBRARY_DIR}) 
12     # with this define no evn.var. is needed with OPENMM_PLUGIN_DIR
13     # if the same OpenMM installation is used for running and building 
14     add_definitions( -DOPENMM_PLUGIN_DIR="${OpenMM_PLUGIN_DIR}" ) 
15     file(TO_CMAKE_PATH ${OpenMM_PLUGIN_DIR} _path)
16     add_library(openmm_api_wrapper STATIC openmm_wrapper.cpp)
17     target_link_libraries(openmm_api_wrapper gmx_gpu_utils ${OpenMM_LIBRARIES})
18     set(GMX_OPENMM_LIBRARIES openmm_api_wrapper gmx_gpu_utils ${OpenMM_LIBRARIES})   
19 endif(GMX_OPENMM)
20
21 if(GMX_FAHCORE)
22     add_library(fahcore ${MDRUN_SOURCES})
23 else(GMX_FAHCORE)
24     add_executable(mdrun ${MDRUN_SOURCES})
25     gmx_add_man_page(mdrun)
26     target_link_libraries(mdrun ${GMX_EXTRA_LIBRARIES} libgromacs ${GMX_OPENMM_LIBRARIES}
27         ${GMX_EXE_LINKER_FLAGS})
28     set_target_properties(mdrun PROPERTIES OUTPUT_NAME "mdrun${GMX_BINARY_SUFFIX}"
29         COMPILE_FLAGS "${OpenMP_C_FLAGS}")
30     install(TARGETS mdrun DESTINATION ${BIN_INSTALL_DIR} COMPONENT mdrun)
31
32     if(GMX_OPENMM AND MSVC)
33         set_target_properties(mdrun PROPERTIES LINK_FLAGS "/NODEFAULTLIB:LIBCMT")
34     endif()
35
36     # Create the custom install-mdrun target
37     if (BUILD_SHARED_LIBS)
38         # If shared libraries are used, we need to install the libraries in
39         # addition to the mdrun binary.
40         add_custom_target(install-mdrun
41             COMMAND ${CMAKE_COMMAND} -DCOMPONENT=libraries
42                     -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
43             COMMAND ${CMAKE_COMMAND} -DCOMPONENT=mdrun
44                     -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
45             COMMENT "Installing mdrun")
46     else (BUILD_SHARED_LIBS)
47         add_custom_target(install-mdrun
48             COMMAND ${CMAKE_COMMAND} -DCOMPONENT=mdrun
49                     -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
50             COMMENT "Installing mdrun")
51     endif (BUILD_SHARED_LIBS)
52     add_dependencies(install-mdrun mdrun)
53 endif(GMX_FAHCORE)