48 lines
1.4 KiB
CMake
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()
|