added Verlet scheme and NxN non-bonded functionality
[gromacs.git] / src / mdlib / CMakeLists.txt
blobbb4f80aaeb8453a76260993e4caa912dd6509e66
2 file(GLOB MDLIB_SOURCES *.c nbnxn_kernels/*.c)
4 if(GMX_GPU)
5     add_subdirectory(nbnxn_cuda)
6     set(GMX_GPU_LIBRARIES nbnxn_cuda)
7 endif()
9 # apply gcc 4.4.x bug workaround
10 if(GMX_USE_GCC44_BUG_WORKAROUND)
11    include(gmxGCC44O3BugWorkaround)
12    gmx_apply_gcc44_bug_workaround("force.c")
13    gmx_apply_gcc44_bug_workaround("constr.c")
14 endif()
16 # Files called xxx_test.c are test drivers with a main() function for 
17 # module xxx.c, so they should not be included in the library
19 if(NOT GMX_FFT_FFTPACK)
20 list(REMOVE_ITEM MDLIB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/fftpack.c)
21 endif()
23 add_library(md ${MDLIB_SOURCES})
25 target_link_libraries(md ${GMX_GPU_LIBRARIES} gmx ${GMX_EXTRA_LIBRARIES} ${FFT_LIBRARIES} ${XML_LIBRARIES} ${OpenMP_SHARED_LINKER_FLAGS})
27 set_target_properties(md PROPERTIES OUTPUT_NAME "md${GMX_LIBS_SUFFIX}" SOVERSION ${SOVERSION} INSTALL_NAME_DIR "${LIB_INSTALL_DIR}"
28     COMPILE_FLAGS "${OpenMP_C_FLAGS}")
30 install(TARGETS md DESTINATION ${LIB_INSTALL_DIR} COMPONENT libraries)
32 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libmd.pc.cmakein ${CMAKE_CURRENT_BINARY_DIR}/libmd.pc @ONLY)
33 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmd.pc
34         DESTINATION ${LIB_INSTALL_DIR}/pkgconfig
35         RENAME "libmd${GMX_LIBS_SUFFIX}.pc"
36         COMPONENT development)