1 include_directories(${CMAKE_SOURCE_DIR}/src/gromacs/gmxpreprocess)
4 do_gct.c gctio.c genalg.c ionize.c
5 md.c md_openmm.c mdrun.c membed.c
6 repl_ex.c runner.c xutils.c)
9 add_subdirectory(gmx_gpu_utils)
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})
22 add_library(fahcore ${MDRUN_SOURCES})
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 set_target_properties(mdrun PROPERTIES OUTPUT_NAME "mdrun${GMX_BINARY_SUFFIX}")
28 install(TARGETS mdrun DESTINATION ${BIN_INSTALL_DIR} COMPONENT mdrun)
30 if(GMX_OPENMM AND MSVC)
31 set_target_properties(mdrun PROPERTIES LINK_FLAGS "/NODEFAULTLIB:LIBCMT")
34 # Create the custom install-mdrun target
35 if (BUILD_SHARED_LIBS)
36 # If shared libraries are used, we need to install the libraries in
37 # addition to the mdrun binary.
38 add_custom_target(install-mdrun
39 COMMAND ${CMAKE_COMMAND} -DCOMPONENT=libraries
40 -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
41 COMMAND ${CMAKE_COMMAND} -DCOMPONENT=mdrun
42 -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
43 COMMENT "Installing mdrun")
44 else (BUILD_SHARED_LIBS)
45 add_custom_target(install-mdrun
46 COMMAND ${CMAKE_COMMAND} -DCOMPONENT=mdrun
47 -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
48 COMMENT "Installing mdrun")
49 endif (BUILD_SHARED_LIBS)
50 add_dependencies(install-mdrun mdrun)