1 set(LIBGROMACS_SOURCES)
3 add_subdirectory(legacyheaders)
4 add_subdirectory(gmxlib)
5 add_subdirectory(mdlib)
6 add_subdirectory(gmxpreprocess)
7 add_subdirectory(analysisdata)
8 add_subdirectory(commandline)
9 add_subdirectory(linearalgebra)
10 add_subdirectory(onlinehelp)
11 add_subdirectory(options)
12 add_subdirectory(selection)
13 add_subdirectory(trajectoryanalysis)
14 add_subdirectory(utility)
16 file(GLOB LIBGROMACS_HEADERS *.h)
17 install(FILES ${LIBGROMACS_HEADERS} DESTINATION ${INCL_INSTALL_DIR}/gromacs
18 COMPONENT development)
20 list(APPEND LIBGROMACS_SOURCES ${GMXLIB_SOURCES} ${MDLIB_SOURCES})
22 # add target that generates version.c every time a make is run
23 # only do this if we generate the version
25 add_custom_target(gmx_version ALL
26 COMMAND ${CMAKE_COMMAND}
27 -D GIT_EXECUTABLE="${GIT_EXECUTABLE}"
28 -D GIT_VERSION="${GIT_VERSION}"
29 -D PROJECT_VERSION="${PROJECT_VERSION}"
30 -D PROJECT_SOURCE_DIR="${PROJECT_SOURCE_DIR}"
31 -D VERSION_C_CMAKEIN="${CMAKE_CURRENT_SOURCE_DIR}/version.c.cmakein"
32 -D VERSION_C_OUT="${CMAKE_CURRENT_BINARY_DIR}/version.c"
33 -P ${CMAKE_SOURCE_DIR}/cmake/gmxGenerateVersionInfo.cmake
34 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/gmxlib
35 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/version.c.cmakein
36 COMMENT "Generating version information")
37 list(APPEND LIBGROMACS_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/version.c) # auto-generated
38 set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/version.c
39 PROPERTIES GENERATED true)
42 add_library(libgromacs ${LIBGROMACS_SOURCES})
44 add_dependencies(libgromacs gmx_version)
46 target_link_libraries(libgromacs
47 ${GMX_EXTRA_LIBRARIES} ${FFT_LIBRARIES} ${XML_LIBRARIES}
49 set_target_properties(libgromacs PROPERTIES
50 OUTPUT_NAME "gromacs${GMX_LIBS_SUFFIX}"
51 SOVERSION ${SOVERSION}
52 INSTALL_NAME_DIR "${LIB_INSTALL_DIR}")
54 install(TARGETS libgromacs DESTINATION ${LIB_INSTALL_DIR} COMPONENT libraries)
56 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libgromacs.pc.cmakein
57 ${CMAKE_CURRENT_BINARY_DIR}/libgromacs.pc @ONLY)
58 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libgromacs.pc
59 DESTINATION ${LIB_INSTALL_DIR}/pkgconfig
60 RENAME "libgromacs${GMX_LIBS_SUFFIX}.pc"
61 COMPONENT development)