Merge branch 'maint'
[hoomd-blue.git] / libhoomd / api / CMakeLists.txt
blob3acc2481cfe88d65a09cd3e0e439c5449347d96f
1 # Maintainer: joaander
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)
8 # install it
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)
23 if (ENABLE_STATIC)
24 set (_HOOMD_LIB_RELPATH "lib")
25 else (ENABLE_STATIC)
26 set (_HOOMD_LIB_RELPATH "lib/hoomd/python-module")
27 endif (ENABLE_STATIC)
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)
32 set (_SKIP_THIS 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)
38         set (_SKIP_THIS 0)
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)
47 if (ENABLE_CUDA)
48 set(PLUGINAPI_LIBS "${PLUGINAPI_LIBS} ${CUDA_LIBRARIES} ")
49 endif (ENABLE_CUDA)
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} ")
57 if (ENABLE_CUDA)
58 set(PLUGINAPI_CFLAGS "${PLUGINAPI_CFLAGS} -I${CUDA_INCLUDE_DIRS} ")
59 endif (ENABLE_CUDA)
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})