Files
2025-10-20 20:43:44 +02:00

48 lines
1.4 KiB
CMake

ADD_LIBRARY(JFJochIndexing STATIC
Indexer.h
Indexer.cpp
IndexerFactory.h
IndexerFactory.cpp
IndexerThreadPool.cpp
IndexerThreadPool.h
AnalyzeIndexing.cpp
AnalyzeIndexing.h
FitProfileRadius.cpp
FitProfileRadius.h
EigenRefine.h
FFTResult.h
FFTIndexer.cpp
FFTIndexer.h)
TARGET_LINK_LIBRARIES(JFJochIndexing JFJochCommon)
IF (JFJOCH_CUDA_AVAILABLE)
SET(CMAKE_CUDA_ARCHITECTURES 75 80 86 89)
FetchContent_Declare(
fast-indexer
GIT_REPOSITORY https://github.com/paulscherrerinstitute/fast-feedback-indexer/
GIT_TAG ca9e17486a1eb96319a738acef33cc24c9cd8845
)
FetchContent_MakeAvailable(fast-indexer)
TARGET_SOURCES(JFJochIndexing PRIVATE
CUDAMemHelpers.h
FFTIndexerGPU.cu FFTIndexerGPU.h
FFBIDXIndexer.cpp FFBIDXIndexer.h)
TARGET_LINK_LIBRARIES(JFJochIndexing fast_indexer_static
CUDA::cufft
)
ELSE()
MESSAGE(WARNING "CUDA is strongly recommended for image analysis." )
TARGET_LINK_LIBRARIES(JFJochIndexing Eigen3::Eigen)
ENDIF()
IF(HAS_FFTW3_H AND FFTWF_LIBRARY)
TARGET_SOURCES(JFJochIndexing PRIVATE FFTIndexerCPU.cpp FFTIndexerCPU.h)
TARGET_LINK_LIBRARIES(JFJochIndexing ${FFTWF_LIBRARY})
MESSAGE(STATUS "FFT single-precision library found: ${FFTWF_LIBRARY}")
ELSE()
MESSAGE(WARNING "FFTW disabled")
ENDIF()