diff --git a/CMakeLists.txt b/CMakeLists.txt index 3292dc4..1b857f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,8 @@ endif() list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/.cmake) -find_package(Python 3.5 REQUIRED COMPONENTS Interpreter Development) +find_package(Python 3.5 REQUIRED COMPONENTS Interpreter Development + OPTIONAL_COMPONENTS NumPy) find_package(FFTW REQUIRED) find_package(Motif) find_package(OpenMP REQUIRED COMPONENTS C CXX Fortran) diff --git a/contrib/CMakeLists.txt b/contrib/CMakeLists.txt index 4b8ba1e..e1c8031 100644 --- a/contrib/CMakeLists.txt +++ b/contrib/CMakeLists.txt @@ -5,7 +5,7 @@ add_subdirectory(frameUtils) #add_subdirectory(unwUtils) add_subdirectory(downsample_unwrapper) -#add_subdirectory(PyCuAmpcor) +add_subdirectory(PyCuAmpcor) add_subdirectory(splitSpectrum) add_subdirectory(alos2filter) add_subdirectory(alos2proc) diff --git a/contrib/PyCuAmpcor/CMakeLists.txt b/contrib/PyCuAmpcor/CMakeLists.txt new file mode 100644 index 0000000..93a08ad --- /dev/null +++ b/contrib/PyCuAmpcor/CMakeLists.txt @@ -0,0 +1,47 @@ +# Early exit if prereqs not available +if(NOT CMAKE_CUDA_COMPILER OR + NOT TARGET GDAL::GDAL OR + NOT TARGET Python::NumPy) + return() +endif() + +set(CMAKE_CUDA_STANDARD 11) +set(CMAKE_CUDA_STANDARD_REQUIRED TRUE) + +cython_add_module(PyCuAmpcor + src/PyCuAmpcor.pyx + src/GDALImage.cu + src/SConscript + src/SlcImage.cu + src/cuAmpcorChunk.cu + src/cuAmpcorController.cu + src/cuAmpcorParameter.cu + src/cuArrays.cu + src/cuArraysCopy.cu + src/cuArraysPadding.cu + src/cuCorrFrequency.cu + src/cuCorrNormalization.cu + src/cuCorrTimeDomain.cu + src/cuDeramp.cu + src/cuEstimateStats.cu + src/cuOffset.cu + src/cuOverSampler.cu + src/cuSincOverSampler.cu + ) +target_include_directories(PyCuAmpcor PRIVATE + src + ${CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES} # + ) +target_link_directories(PyCuAmpcor PRIVATE + ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES} # cufft + ) +target_link_libraries(PyCuAmpcor PRIVATE + GDAL::GDAL + Python::NumPy + cufft + ) + +InstallSameDir( + __init__.py + PyCuAmpcor + )