3 #################################
4 ## setup hoomd_config.h with current configuration options
6 # set up a hoomd_config.h file to include the appropriate precompiler directives
7 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/hoomd_config.h.in ${HOOMD_BINARY_DIR}/include/hoomd_config.h)
9 install(FILES ${HOOMD_BINARY_DIR}/include/hoomd_config.h DESTINATION ${INC_INSTALL_DIR})
11 # also configure and install hoomd.h
12 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/hoomd.h ${HOOMD_BINARY_DIR}/include/hoomd.h COPYONLY)
13 install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/hoomd.h DESTINATION ${INC_INSTALL_DIR})
15 #################################
16 ## setup hoomd-config.sh script for quick & dirty compiler option setup
18 # build a list of libraries used for linking.
19 set (PLUGINAPI_LIBS "")
20 # the name of the hoomd library for linking changes between static and dynamic builds
21 get_target_property(_HOOMD_LIB_LOC libhoomd LOCATION)
22 get_filename_component(_HOOMD_LIB_NAME ${_HOOMD_LIB_LOC} NAME)
24 set (_HOOMD_LIB_RELPATH "lib")
26 set (_HOOMD_LIB_RELPATH "lib/hoomd/python-module")
28 set(PLUGINAPI_LIBS "${PLUGINAPI_LIBS} \${HOOMD_ROOT}/${_HOOMD_LIB_RELPATH}/${_HOOMD_LIB_NAME} ")
30 # add all the common libs
31 set (_SKIP_THIS_AND_NEXT 0)
33 foreach(_LIBRARY ${HOOMD_COMMON_LIBS})
34 if (_SKIP_THIS_AND_NEXT)
35 set (_SKIP_THIS_AND_NEXT 0)
36 else (_SKIP_THIS_AND_NEXT)
37 string(COMPARE EQUAL ${_LIBRARY} "debug" _SKIP_THIS_AND_NEXT)
39 string(COMPARE EQUAL ${_LIBRARY} "optimized" _SKIP_THIS)
40 if (NOT _SKIP_THIS AND NOT _SKIP_THIS_AND_NEXT)
41 set(PLUGINAPI_LIBS "${PLUGINAPI_LIBS} ${_LIBRARY} ")
42 endif (NOT _SKIP_THIS AND NOT _SKIP_THIS_AND_NEXT)
43 endif (_SKIP_THIS_AND_NEXT)
44 endforeach(_LIBRARY ${HOOMD_COMMON_LIBS})
46 # add cudart (if CUDA is enabled)
48 set(PLUGINAPI_LIBS "${PLUGINAPI_LIBS} ${CUDA_LIBRARIES} ")
51 ## build a list of include directories needed
52 set (PLUGINAPI_CFLAGS "")
53 set(PLUGINAPI_CFLAGS "${PLUGINAPI_CFLAGS} -I\${HOOMD_ROOT}/include ")
54 set(PLUGINAPI_CFLAGS "${PLUGINAPI_CFLAGS} -isystem ${Boost_INCLUDE_DIR} ")
55 set(PLUGINAPI_CFLAGS "${PLUGINAPI_CFLAGS} -I${PYTHON_INCLUDE_DIR} ")
58 set(PLUGINAPI_CFLAGS "${PLUGINAPI_CFLAGS} -I${CUDA_INCLUDE_DIRS} ")
61 # configure the compiler options script and install it
62 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/hoomd-config.sh.in ${CMAKE_CURRENT_BINARY_DIR}/hoomd-config.sh @ONLY)
63 install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/hoomd-config.sh DESTINATION ${BIN_INSTALL_DIR})