diff --git a/tools/phonon/CMakeLists.txt b/tools/phonon/CMakeLists.txt index 283b995590..02ccee25a3 100644 --- a/tools/phonon/CMakeLists.txt +++ b/tools/phonon/CMakeLists.txt @@ -47,6 +47,10 @@ add_executable(phana ) target_include_directories(phana PUBLIC $) +if(NOT LAMMPS_DIR) + set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/Modules) + set(LAMMPS_THIRDPARTY_URL "https://download.lammps.org/thirdparty") +endif() find_package(FFTW3) if(FFTW3_FOUND) target_compile_definitions(phana PRIVATE FFTW3) @@ -56,12 +60,29 @@ endif() # build bundeled libraries add_subdirectory(tricubic) +# standalone build must build our own version of linalg +if(NOT LAMMPS_DIR) + if(NOT USE_INTERNAL_LINALG) + find_package(LAPACK) + find_package(BLAS) + endif() + if(NOT LAPACK_FOUND OR NOT BLAS_FOUND OR USE_INTERNAL_LINALG) + file(GLOB LINALG_SOURCES CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../../lib/linalg/[^.]*.cpp) + add_library(linalg STATIC ${LINALG_SOURCES}) + set(BLAS_LIBRARIES "$") + set(LAPACK_LIBRARIES "$") + else() + list(APPEND LAPACK_LIBRARIES ${BLAS_LIBRARIES}) + endif() +endif() + option(USE_SPGLIB "Download and use spglib for phonon DOS and other optional properties" ON) if(USE_SPGLIB) set(SPGLIB_URL "https://github.com/spglib/spglib/archive/refs/tags/v1.11.2.1.tar.gz" CACHE STRING "URL for spglib v1.x tarball") set(SPGLIB_MD5 "3089782bc85b5034dd4765a18ee70bc7" CACHE STRING "MD5 checksum for spglib tarball") mark_as_advanced(SPGLIB_URL) mark_as_advanced(SPGLIB_MD5) + include(LAMMPSUtils) GetFallbackURL(SPGLIB_URL SPGLIB_FALLBACK) include(ExternalProject) diff --git a/tools/phonon/version.h.in b/tools/phonon/version.h.in new file mode 100644 index 0000000000..1f6fb01373 --- /dev/null +++ b/tools/phonon/version.h.in @@ -0,0 +1 @@ +#define VERSION @CMAKE_PROJECT_VERSION@