diff --git a/fortran/CMakeLists.txt b/fortran/CMakeLists.txt index 02622541..7773a10f 100644 --- a/fortran/CMakeLists.txt +++ b/fortran/CMakeLists.txt @@ -45,9 +45,12 @@ if (SPGLIB_INSTALL) "$") install(TARGETS Spglib_fortran EXPORT SpglibTargets-fortran - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Spglib_Runtime NAMELINK_COMPONENT Spglib_Development + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Spglib_Runtime + NAMELINK_COMPONENT Spglib_Development ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Spglib_Development - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT Spglib_Development) + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT Spglib_Development + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Spglib_Runtime + ) export_components(COMPONENT fortran LIB_TYPE ${SPGLIB_LIB_TYPE}) # Maybe it is handled automatically diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 14499af2..2fd49450 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -13,21 +13,18 @@ if (NOT Python_INSTALL_DIR) endif () endif () if (SPGLIB_INSTALL) - if (WIN32) - # Windows needs RUNTIME as well to install the .dll file to - install(TARGETS Spglib_symspg - LIBRARY DESTINATION ${Python_INSTALL_DIR} COMPONENT Spglib_Runtime - PUBLIC_HEADER DESTINATION ${Python_INSTALL_DIR} COMPONENT Spglib_Runtime - RUNTIME DESTINATION ${Python_INSTALL_DIR} COMPONENT Spglib_Runtime) - else () - # TODO: Cmake forces to install PUBLIC_HEADER when defined - # https://gitlab.kitware.com/cmake/cmake/-/issues/24326 - install(TARGETS Spglib_symspg - LIBRARY DESTINATION ${Python_INSTALL_DIR} COMPONENT Spglib_Runtime - PUBLIC_HEADER DESTINATION ${Python_INSTALL_DIR} COMPONENT Spglib_Runtime) - endif () + # TODO: Cmake forces to install PUBLIC_HEADER when defined + # https://gitlab.kitware.com/cmake/cmake/-/issues/24326 + install(TARGETS Spglib_symspg + LIBRARY DESTINATION ${Python_INSTALL_DIR} COMPONENT Spglib_Runtime + NAMELINK_COMPONENT Spglib_Development + ARCHIVE DESTINATION ${Python_INSTALL_DIR} COMPONENT Spglib_Development + PUBLIC_HEADER DESTINATION ${Python_INSTALL_DIR} COMPONENT Spglib_Development + RUNTIME DESTINATION ${Python_INSTALL_DIR} COMPONENT Spglib_Runtime + ) install(TARGETS Spglib_python - LIBRARY DESTINATION ${Python_INSTALL_DIR} COMPONENT Spglib_Runtime) + LIBRARY DESTINATION ${Python_INSTALL_DIR} COMPONENT Spglib_Runtime + ) if (NOT SKBUILD) install(DIRECTORY spglib/ DESTINATION ${Python_INSTALL_DIR} COMPONENT Spglib_Runtime) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ee1d07b6..6d9d7a93 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -92,20 +92,13 @@ endif () # Install if (NOT SKBUILD AND SPGLIB_INSTALL) - # Normal installation target to system. When using scikit-build check python subdirectory - if (WIN32) - # TODO: Probably wrong, please fix + # Normal installation target to system. When using scikit-build this is installed again in python path install(TARGETS Spglib_symspg EXPORT SpglibTargets - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Spglib_Runtime NAMELINK_COMPONENT Spglib_Development + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Spglib_Runtime + NAMELINK_COMPONENT Spglib_Development ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Spglib_Development PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT Spglib_Development - RUNTIME DESTINATION ${CMAKE_INSTALL_RUNTIMEDIR} COMPONENT Spglib_Runtime) - else () - install(TARGETS Spglib_symspg - EXPORT SpglibTargets - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Spglib_Runtime NAMELINK_COMPONENT Spglib_Development - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Spglib_Development - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT Spglib_Development) - endif () + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Spglib_Runtime + ) endif ()