Commit dcbf9f7d authored by Christoph Junghans's avatar Christoph Junghans
Browse files

cmake: improve exported target

parent 7d71d5bf
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -541,6 +541,8 @@ endforeach()
configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc @ONLY)
configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
install(EXPORT LAMMPS_Targets FILE LAMMPS_Targets.cmake NAMESPACE LAMMPS:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LAMMPS)
install(EXPORT LAMMPS_Targets FILE LAMMPS_Targets.cmake NAMESPACE LAMMPS:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LAMMPS)
file(GLOB MODULE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/Modules/Find*.cmake)
install(FILES ${MODULE_FILES} DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LAMMPS)
include(CMakePackageConfigHelpers)
include(CMakePackageConfigHelpers)
configure_file(LAMMPSConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/LAMMPSConfig.cmake @ONLY)
configure_file(LAMMPSConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/LAMMPSConfig.cmake @ONLY)
write_basic_package_version_file("LAMMPSConfigVersion.cmake" VERSION ${PROJECT_VERSION} COMPATIBILITY ExactVersion)
write_basic_package_version_file("LAMMPSConfigVersion.cmake" VERSION ${PROJECT_VERSION} COMPATIBILITY ExactVersion)
+39 −48
Original line number Original line Diff line number Diff line
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
include(CMakeFindDependencyMacro)
include(CMakeFindDependencyMacro)
if(@BUILD_MPI@)
if(@BUILD_MPI@)
  find_dependency(MPI REQUIRED CXX)
  find_dependency(MPI REQUIRED CXX)
endif()
endif()
if(@BUILD_OMP@)
  find_dependency(OpenMP REQUIRED)
endif()
if(@PKG_KSPACE@)
if(@PKG_KSPACE@)
  if(@FFT@ STREQUAL "FFTW3")
  if(@FFT@ STREQUAL "FFTW3")
    if(@FFTW@ STREQUAL "FFTW3" AND NOT TARGET FFTW3::FFTW3)
    find_dependency(@FFTW@ REQUIRED MODULE)
      add_library(FFTW3::FFTW3 UNKNOWN IMPORTED)
      set_target_properties(FFTW3::FFTW3 PROPERTIES
        IMPORTED_LINK_INTERFACE_LANGUAGES "C"
        IMPORTED_LOCATION "@FFTW3_LIBRARY@"
        INTERFACE_INCLUDE_DIRECTORIES "@FFTW3_INCLUDE_DIRS@")
    endif()
    if(@FFTW@ STREQUAL "FFTW3F" AND NOT TARGET FFTW3F::FFTW3F)
      add_library(FFTW3F::FFTW3F UNKNOWN IMPORTED)
      set_target_properties(FFTW3F::FFTW3F PROPERTIES
        IMPORTED_LINK_INTERFACE_LANGUAGES "C"
        IMPORTED_LOCATION "@FFTW3F_LIBRARY@"
        INTERFACE_INCLUDE_DIRECTORIES "@FFTW3F_INCLUDE_DIRS@")
    endif()
  endif()
  endif()
endif()
endif()
if(NOT @BUILD_SHARED_LIBS@)
if(NOT @BUILD_SHARED_LIBS@)
@@ -28,36 +19,20 @@ if(NOT @BUILD_SHARED_LIBS@)
    find_dependency(PNG REQUIRED)
    find_dependency(PNG REQUIRED)
    find_dependency(ZLIB REQUIRED)
    find_dependency(ZLIB REQUIRED)
  endif()
  endif()
  if(@PKG_KIM@ AND NOT @DOWNLOAD_KIM@)
  if(@PKG_KIM@)
    find_dependency(PkgConfig REQUIRED)
    find_dependency(PkgConfig REQUIRED)
    pkg_check_modules(KIM-API REQUIRED IMPORTED_TARGET libkim-api>=@KIM-API_MIN_VERSION@)
    pkg_check_modules(KIM-API REQUIRED IMPORTED_TARGET libkim-api>=@KIM-API_MIN_VERSION@)
    if(@CURL_FOUND@)
    if(@CURL_FOUND@)
      find_dependency(CURL REQUIRED)
      find_dependency(CURL REQUIRED)
    endif()
    endif()
  endif()
  endif()
  if(@PKG_USER-SMD@ AND NOT @DOWNLOAD_EIGEN3@)
  if(@PKG_USER-SMD@)
    find_dependency(Eigen3 NO_MODULE REQUIRED)
    find_dependency(Eigen3 NO_MODULE REQUIRED)
  endif()
  endif()
  if(@PKG_KSPACE@)
  if(@PKG_USER-SCAFACOS@)
    if(@FFT@ STREQUAL "FFTW3" AND @FFT_FFTW_THREADS@)
      if(@FFTW@ STREQUAL "FFTW3" AND NOT TARGET FFTW3::FFTW3_OMP)
        add_library(FFTW3::FFTW3_OMP UNKNOWN IMPORTED)
        set_target_properties(FFTW3::FFTW3_OMP PROPERTIES
          IMPORTED_LINK_INTERFACE_LANGUAGES "C"
          IMPORTED_LOCATION "@FFTW3_OMP_LIBRARY@"
          INTERFACE_INCLUDE_DIRECTORIES "@FFTW3_OMP_INCLUDE_DIRS@")
      endif()
      if(@FFTW@ STREQUAL "FFTW3F" AND NOT TARGET FFTW3F::FFTW3F_OMP)
        add_library(FFTW3F::FFTW3F_OMP UNKNOWN IMPORTED)
        set_target_properties(FFTW3F::FFTW3F_OMP PROPERTIES
          IMPORTED_LINK_INTERFACE_LANGUAGES "C"
          IMPORTED_LOCATION "@FFTW3F_OMP_LIBRARY@"
          INTERFACE_INCLUDE_DIRECTORIES "@FFTW3F_OMP_INCLUDE_DIRS@")
      endif()
    endif()
  endif()
  if(@PKG_USER-SCAFACOS@ AND NOT @DOWNLOAD_SCAFACOS@)
    find_dependency(PkgConfig REQUIRED)
    find_dependency(PkgConfig REQUIRED)
    find_ependency(GSL REQUIRED)
    find_dependency(MPI REQUIRED C Fortran)
    pkg_check_modules(SCAFACOS REQUIRED IMPORTED_TARGET scafacos)
    pkg_check_modules(SCAFACOS REQUIRED IMPORTED_TARGET scafacos)
  endif()
  endif()
  if(@PKG_PYTHON@ AND NOT CMAKE_VERSION VERSION_LESS 3.12)
  if(@PKG_PYTHON@ AND NOT CMAKE_VERSION VERSION_LESS 3.12)
@@ -71,26 +46,42 @@ if(NOT @BUILD_SHARED_LIBS@)
      find_dependency(Kokkos 3 REQUIRED)
      find_dependency(Kokkos 3 REQUIRED)
    endif()
    endif()
  endif()
  endif()
  if(@PKG_VORONOI@ AND NOT @DOWNLOAD_VORO@)
  if(@PKG_VORONOI@)
    if(NOT TARGET VORO::VORO)
    find_dependency(VORO REQUIRED)
      add_library(VORO::VORO UNKNOWN IMPORTED)
      set_target_properties(VORO::VORO PROPERTIES
        IMPORTED_LOCATION "@VORO_LIBRARY@"
        INTERFACE_INCLUDE_DIRECTORIES "@VORO_INCLUDE_DIR@")
    endif()
  endif()
  endif()
  if(@PKG_USER-INTEL@)
  if(@PKG_USER-INTEL@)
    if(@INTEL_LRT_MODE@ STREQUAL "THREADS")
    if(@INTEL_LRT_MODE@ STREQUAL "THREADS")
      find_dependency(Threads REQUIRED)
      find_dependency(Threads REQUIRED)
    endif()
    endif()
    if(@TBB_MALLOC_FOUND@)
    if(@TBB_MALLOC_FOUND@)
      if(NOT TARGET TBB::TBB_MALLOC)
      find_ependency(TBB_MALLOC REQUIRED)
        add_library(TBB::TBB_MALLOC UNKNOWN IMPORTED)
    endif()
        set_target_properties(TBB::TBB_MALLOC PROPERTIES
  endif()
          IMPORTED_LOCATION "@TBB_MALLOC_LIBRARY@"
  if(@PKG_USER-ADIOS@)
          INTERFACE_INCLUDE_DIRECTORIES "@TBB_MALLOC_INCLUDE_DIR@")
    find_ependency(ADIOS2 REQUIRED)
  endif()
  if(@PKG_LATTE@)
    find_ependency(LATTE REQUIRED)
  endif()
  if(@PKG_MESSAGE@)
    if(@MESSAGE_ZMQ@)
      find_ependency(ZMQ REQUIRED)
    endif()
  endif()
  if(@PKG_MSCG@)
    find_ependency(GSL REQUIRED)
    find_ependency(MSCG REQUIRED)
  endif()
  if(@USER-NETCDF@)
    if(@NETCDF_FOUND@)
      find_ependency(NetCDF REQUIRED)
    endif()
    if(@PNETCDF_FOUND@)
      find_ependency(PNetCDF REQUIRED)
    endif()
    endif()
  endif()
  endif()
  if(@PKG_QUIP@)
    find_ependency(QUIP REQUIRED)
  endif()
  endif()
endif()
endif()
include("${CMAKE_CURRENT_LIST_DIR}/LAMMPS_Targets.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/LAMMPS_Targets.cmake")