@@ -7,7 +7,7 @@ project(dlext LANGUAGES C CXX)
77find_package (HOOMD 2.6.0 QUIET )
88
99set (PROJECT_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR} /cmake/Modules" )
10- set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_MODULE_PATH} )
10+ set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_MODULE_PATH} )
1111
1212if (NOT HOOMD_FOUND)
1313 find_package (HOOMD 2.6.0 REQUIRED)
@@ -17,6 +17,11 @@ if(NOT HOOMD_INSTALL_PREFIX)
1717 set (HOOMD_INSTALL_PREFIX ${HOOMD_ROOT} )
1818endif ()
1919
20+ if (NOT HOOMD_LIBRARIES)
21+ set (HOOMD_LIBRARIES HOOMD::_hoomd)
22+ endif ()
23+
24+ include (GNUInstallDirs)
2025include ("${PROJECT_MODULE_PATH} /FetchCPM.cmake" )
2126include ("${PROJECT_MODULE_PATH} /FetchDLPack.cmake" )
2227
@@ -29,8 +34,28 @@ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
2934 set (CMAKE_INSTALL_PREFIX ${HOOMD_INSTALL_PREFIX} CACHE PATH "" FORCE)
3035endif ()
3136
37+ set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE )
38+
3239message (STATUS "Install plugin to: " ${CMAKE_INSTALL_PREFIX} )
3340
34- # Process subdirectories
35- add_subdirectory (${PROJECT_NAME} )
41+ # Create the main library
42+ add_library (${PROJECT_NAME} SHARED "" )
43+
44+ target_compile_features (${PROJECT_NAME} PRIVATE cxx_std_11)
45+ target_include_directories (${PROJECT_NAME} PUBLIC include )
46+ target_link_libraries (${PROJECT_NAME} PUBLIC ${HOOMD_LIBRARIES} dlpack::dlpack)
47+
48+ add_subdirectory (dlext)
49+
50+ # Install
51+ install (TARGETS ${PROJECT_NAME}
52+ DESTINATION ${HOOMD_ROOT}
53+ )
54+
55+ install (DIRECTORY include /
56+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} /hoomd/${PROJECT_NAME} "
57+ FILES_MATCHING PATTERN "*.h"
58+ )
59+
60+ # Create python module
3661add_subdirectory (python)
0 commit comments