commit
aaa6efebad
|
@ -5,6 +5,9 @@ set(components
|
||||||
|
|
||||||
find_package(X11 COMPONENTS ${components})
|
find_package(X11 COMPONENTS ${components})
|
||||||
|
|
||||||
|
# The X11::{component} targets only exist for CMake ≥ 3.14,
|
||||||
|
# so we create them here for backwards compatibility.
|
||||||
|
|
||||||
if(X11_FOUND)
|
if(X11_FOUND)
|
||||||
|
|
||||||
# make X11 look like a regular find_package component
|
# make X11 look like a regular find_package component
|
||||||
|
@ -13,11 +16,9 @@ if(X11_FOUND)
|
||||||
list(APPEND components X11)
|
list(APPEND components X11)
|
||||||
|
|
||||||
foreach(component ${components})
|
foreach(component ${components})
|
||||||
message("${component} include = ${X11_${component}_INCLUDE_PATH}")
|
if(X11_${component}_FOUND AND
|
||||||
if(X11_${component}_FOUND)
|
NOT TARGET X11::${component})
|
||||||
if(NOT TARGET X11::${component})
|
add_library(X11::${component} IMPORTED INTERFACE)
|
||||||
add_library(X11::${component} IMPORTED INTERFACE)
|
|
||||||
endif()
|
|
||||||
target_link_libraries(X11::${component}
|
target_link_libraries(X11::${component}
|
||||||
INTERFACE ${X11_${component}_LIB})
|
INTERFACE ${X11_${component}_LIB})
|
||||||
target_include_directories(X11::${component} SYSTEM
|
target_include_directories(X11::${component} SYSTEM
|
||||||
|
|
|
@ -14,13 +14,15 @@ set(CMAKE_CXX_STANDARD 11)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED y)
|
set(CMAKE_CXX_STANDARD_REQUIRED y)
|
||||||
set(CMAKE_CXX_EXTENSIONS n)
|
set(CMAKE_CXX_EXTENSIONS n)
|
||||||
|
|
||||||
# TODO (fix RPATHs)
|
include(GNUInstallDirs)
|
||||||
# We have to hack our RPATHs a bit for these shared libraries to be
|
|
||||||
# loaded by others on the install-side. Maybe these libraries should
|
# add automatically determined parts of the RPATH, which point to directories
|
||||||
# be combined and/or installed to a common ISCE2 lib directory.
|
# outside of the build tree, to the install RPATH
|
||||||
# Is there a semantic way to propagate their RPATHs
|
|
||||||
# without using these global variables?
|
|
||||||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH ON)
|
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH ON)
|
||||||
list(APPEND CMAKE_INSTALL_RPATH
|
|
||||||
${CMAKE_INSTALL_PREFIX}/${ISCE2_PKG}/components/isceobj/Util
|
# the RPATH to be used when installing, but only if it's not a system directory
|
||||||
)
|
set(abs_libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
|
||||||
|
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES ${abs_libdir} isSystemDir)
|
||||||
|
if("${isSystemDir}" STREQUAL "-1")
|
||||||
|
list(APPEND CMAKE_INSTALL_RPATH ${abs_libdir})
|
||||||
|
endif()
|
||||||
|
|
|
@ -50,22 +50,16 @@ endfunction()
|
||||||
# Note that it first checks if a provided file is a target,
|
# Note that it first checks if a provided file is a target,
|
||||||
# and if so, installs it as a TARGET instead. Make sure your
|
# and if so, installs it as a TARGET instead. Make sure your
|
||||||
# filenames and target names don't have any overlap!
|
# filenames and target names don't have any overlap!
|
||||||
|
|
||||||
function(InstallSameDir)
|
function(InstallSameDir)
|
||||||
mark_as_advanced(isce2_bin_base)
|
|
||||||
foreach(name ${ARGN})
|
foreach(name ${ARGN})
|
||||||
if(TARGET ${name})
|
if(TARGET ${name})
|
||||||
set(installtype TARGETS)
|
set(installtype TARGETS)
|
||||||
else()
|
else()
|
||||||
set(installtype FILES)
|
set(installtype FILES)
|
||||||
endif()
|
endif()
|
||||||
file(RELATIVE_PATH path ${isce2_bin_dir} ${CMAKE_CURRENT_BINARY_DIR})
|
file(RELATIVE_PATH path ${isce2_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
install(${installtype} ${name}
|
install(${installtype} ${name}
|
||||||
DESTINATION ${ISCE2_PKG}/${path}
|
DESTINATION ${ISCE2_PKG}/${path}
|
||||||
)
|
)
|
||||||
endforeach()
|
endforeach()
|
||||||
endfunction()
|
endfunction()
|
||||||
# We use this instead of CMAKE_BINARY_DIR to handle
|
|
||||||
# cases where isce2 is added as a subdirectory
|
|
||||||
set(isce2_bin_dir ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
|
|
||||||
"ISCE2 root build directory")
|
|
||||||
|
|
|
@ -2,15 +2,19 @@ cmake_minimum_required(VERSION 3.12 FATAL_ERROR)
|
||||||
|
|
||||||
project(isce2 LANGUAGES C CXX Fortran)
|
project(isce2 LANGUAGES C CXX Fortran)
|
||||||
|
|
||||||
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/.cmake)
|
||||||
|
|
||||||
include(CheckLanguage)
|
include(CheckLanguage)
|
||||||
check_language(CUDA)
|
check_language(CUDA)
|
||||||
if(CMAKE_CUDA_COMPILER)
|
if(CMAKE_CUDA_COMPILER)
|
||||||
|
set(CMAKE_CUDA_STANDARD 11)
|
||||||
|
set(CMAKE_CUDA_STANDARD_REQUIRED TRUE)
|
||||||
enable_language(CUDA)
|
enable_language(CUDA)
|
||||||
|
find_package(CUDAToolkit) # TODO added in cmake 3.17 - copy this module
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/.cmake)
|
find_package(Python 3.5 REQUIRED COMPONENTS Interpreter Development
|
||||||
|
OPTIONAL_COMPONENTS NumPy)
|
||||||
find_package(Python 3.5 REQUIRED COMPONENTS Interpreter Development)
|
|
||||||
find_package(FFTW REQUIRED)
|
find_package(FFTW REQUIRED)
|
||||||
find_package(Motif)
|
find_package(Motif)
|
||||||
find_package(OpenMP REQUIRED COMPONENTS C CXX Fortran)
|
find_package(OpenMP REQUIRED COMPONENTS C CXX Fortran)
|
||||||
|
|
55
README.md
55
README.md
|
@ -33,8 +33,10 @@ TERRASARX, and UAVSAR.
|
||||||
- [Note On 'python3' Exectuable Convention](#python3-convention)
|
- [Note On 'python3' Exectuable Convention](#python3-convention)
|
||||||
- [License required for dependencies to enable some workflows in ISCE](#license-required-for-dependencies-to-enable-some-workflows-in-isce)
|
- [License required for dependencies to enable some workflows in ISCE](#license-required-for-dependencies-to-enable-some-workflows-in-isce)
|
||||||
2. [Building ISCE](#building-isce)
|
2. [Building ISCE](#building-isce)
|
||||||
- [Configuration control: SCONS\_CONFIG\_DIR and SConfigISCE](#configuration-control)
|
- [SCons](#scons-recommended)
|
||||||
- [Install ISCE](#install-isce)
|
- [Configuration control: SCONS\_CONFIG\_DIR and SConfigISCE](#configuration-control)
|
||||||
|
- [Install ISCE](#install-isce)
|
||||||
|
- [CMake](#cmake-experimental)
|
||||||
- [Setup Your Environment](#setup-your-environment)
|
- [Setup Your Environment](#setup-your-environment)
|
||||||
3. [Running ISCE](#running-isce)
|
3. [Running ISCE](#running-isce)
|
||||||
- [Running ISCE from the command line](#running-isce-from-the-command-line)
|
- [Running ISCE from the command line](#running-isce-from-the-command-line)
|
||||||
|
@ -192,7 +194,9 @@ the older data with the same workflows available in this open source release.
|
||||||
|
|
||||||
## Building ISCE
|
## Building ISCE
|
||||||
|
|
||||||
### Configuration control
|
### SCons (recommended)
|
||||||
|
|
||||||
|
#### Configuration control
|
||||||
|
|
||||||
Scons requires that configuration information be present in a directory
|
Scons requires that configuration information be present in a directory
|
||||||
specified by the environment variable SCONS\_CONFIG\_DIR. First, create a
|
specified by the environment variable SCONS\_CONFIG\_DIR. First, create a
|
||||||
|
@ -252,7 +256,7 @@ and the install files. Also, in the following the capitalization of 'isce' as
|
||||||
lower case does matter. This is the case-sensitive package name that Python
|
lower case does matter. This is the case-sensitive package name that Python
|
||||||
code uses for importing isce.
|
code uses for importing isce.
|
||||||
|
|
||||||
### Install ISCE
|
#### Install ISCE
|
||||||
|
|
||||||
cd isce
|
cd isce
|
||||||
scons install
|
scons install
|
||||||
|
@ -273,7 +277,7 @@ This will build the necessary components and install them into the location
|
||||||
specified in the configuration file as PRJ\_SCONS\_INSTALL.
|
specified in the configuration file as PRJ\_SCONS\_INSTALL.
|
||||||
|
|
||||||
|
|
||||||
#### Note about compiling ISCE after an unsuccessful build.
|
##### Note about compiling ISCE after an unsuccessful build.
|
||||||
|
|
||||||
When building ISCE, scons will check the list of header files and libraries that
|
When building ISCE, scons will check the list of header files and libraries that
|
||||||
ISCE requires. Scons will cache the results of this dependency checking. So,
|
ISCE requires. Scons will cache the results of this dependency checking. So,
|
||||||
|
@ -290,6 +294,47 @@ directory containing the SConstruct file):
|
||||||
|
|
||||||
and then try "scons install" again.
|
and then try "scons install" again.
|
||||||
|
|
||||||
|
### CMake (experimental)
|
||||||
|
Make sure you have the following prerequisites:
|
||||||
|
* CMake ≥ 3.12
|
||||||
|
* GCC ≥ 4.8 (with C++11 support)
|
||||||
|
* Python ≥ 3.5
|
||||||
|
* Cython
|
||||||
|
* FFTW 3
|
||||||
|
* GDAL
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/isce-framework/isce2
|
||||||
|
cd isce2
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake .. -DCMAKE_INSTALL_PREFIX=/my/isce/install/location
|
||||||
|
make install
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Additional cmake configuration options
|
||||||
|
|
||||||
|
CMake uses `CMAKE_PREFIX_PATH` as a global prefix for finding packages,
|
||||||
|
which can come in handy when using e.g. Anaconda:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cmake [...] -DCMAKE_PREFIX_PATH=$CONDA_PREFIX
|
||||||
|
```
|
||||||
|
|
||||||
|
On macOS, cmake will also look for systemwide "frameworks",
|
||||||
|
which is usually not what you want when using Conda or Macports.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cmake [...] -DCMAKE_FIND_FRAMEWORK=NEVER
|
||||||
|
```
|
||||||
|
|
||||||
|
For packagers, the `PYTHON_MODULE_DIR` can be used to specify ISCE2's
|
||||||
|
package installation location relative to the installation prefix
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cmake [...] -DPYTHON_MODULE_DIR=lib/python3.8m/site-packages
|
||||||
|
```
|
||||||
|
|
||||||
### Setup Your Environment
|
### Setup Your Environment
|
||||||
|
|
||||||
Once everything is installed, you will need to set the following environment
|
Once everything is installed, you will need to set the following environment
|
||||||
|
|
|
@ -2,7 +2,14 @@ add_subdirectory(db)
|
||||||
add_subdirectory(TOPS)
|
add_subdirectory(TOPS)
|
||||||
add_subdirectory(MultiMode)
|
add_subdirectory(MultiMode)
|
||||||
|
|
||||||
|
add_library(asa_im_decode src/asa_im_decode/asa_im_decode.c)
|
||||||
|
set_target_properties(asa_im_decode PROPERTIES
|
||||||
|
PREFIX ""
|
||||||
|
OUTPUT_NAME envisat
|
||||||
|
SUFFIX .so)
|
||||||
|
|
||||||
set(installfiles
|
set(installfiles
|
||||||
|
asa_im_decode
|
||||||
alos
|
alos
|
||||||
__init__.py
|
__init__.py
|
||||||
ALOS.py
|
ALOS.py
|
||||||
|
|
|
@ -81,15 +81,9 @@ add_library(utilLib SHARED
|
||||||
target_include_directories(utilLib PUBLIC
|
target_include_directories(utilLib PUBLIC
|
||||||
include
|
include
|
||||||
)
|
)
|
||||||
target_link_libraries(utilLib PUBLIC
|
target_link_libraries(utilLib PRIVATE
|
||||||
FFTW::Float
|
FFTW::Float
|
||||||
)
|
)
|
||||||
# TODO (fortran module include)
|
|
||||||
# This seems to be needed to use this library's modules,
|
|
||||||
# but is there a more idiomatic way to do this?
|
|
||||||
target_include_directories(utilLib INTERFACE
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
add_library(combinedLib SHARED
|
add_library(combinedLib SHARED
|
||||||
Library/geometry/src/geometryModule.F
|
Library/geometry/src/geometryModule.F
|
||||||
|
@ -120,17 +114,24 @@ target_include_directories(combinedlibmodule PUBLIC
|
||||||
target_link_libraries(combinedlibmodule PUBLIC
|
target_link_libraries(combinedlibmodule PUBLIC
|
||||||
combinedLib
|
combinedLib
|
||||||
)
|
)
|
||||||
# TODO (fortran module include)
|
|
||||||
# This seems to be needed to use this library's modules,
|
# Set up fortran module paths
|
||||||
# but is there a more idiomatic way to do this?
|
set(mdir ${CMAKE_CURRENT_BINARY_DIR}/utillib_fortran_modules)
|
||||||
|
set_property(TARGET utilLib PROPERTY Fortran_MODULE_DIRECTORY ${mdir})
|
||||||
|
target_include_directories(utilLib INTERFACE
|
||||||
|
$<$<COMPILE_LANGUAGE:Fortran>:${mdir}>
|
||||||
|
)
|
||||||
|
set(mdir ${CMAKE_CURRENT_BINARY_DIR}/combinelib_fortran_modules)
|
||||||
|
set_property(TARGET combinedLib PROPERTY Fortran_MODULE_DIRECTORY ${mdir})
|
||||||
target_include_directories(combinedLib INTERFACE
|
target_include_directories(combinedLib INTERFACE
|
||||||
${CMAKE_CURRENT_BINARY_DIR}
|
$<$<COMPILE_LANGUAGE:Fortran>:${mdir}>
|
||||||
)
|
)
|
||||||
|
|
||||||
install(TARGETS
|
install(TARGETS
|
||||||
utilLib
|
utilLib
|
||||||
combinedLib
|
combinedLib
|
||||||
LIBRARY DESTINATION lib)
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
)
|
||||||
|
|
||||||
InstallSameDir(
|
InstallSameDir(
|
||||||
combinedlibmodule
|
combinedlibmodule
|
||||||
|
|
|
@ -8,15 +8,14 @@ add_library(formslcLib SHARED
|
||||||
formslcLib/src/io.c
|
formslcLib/src/io.c
|
||||||
)
|
)
|
||||||
set_property(TARGET formslcLib PROPERTY POSITION_INDEPENDENT_CODE ON)
|
set_property(TARGET formslcLib PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||||
target_include_directories(formslcLib PRIVATE formslcLib/include)
|
|
||||||
target_link_libraries(formslcLib PUBLIC
|
target_link_libraries(formslcLib PUBLIC
|
||||||
utilLib
|
utilLib
|
||||||
)
|
)
|
||||||
# TODO (fortran module include)
|
|
||||||
# This seems to be needed to use this library's modules,
|
set(mdir ${CMAKE_CURRENT_BINARY_DIR}/formslc_fortran_modules)
|
||||||
# but is there a more idiomatic way to do this?
|
set_property(TARGET formslcLib PROPERTY Fortran_MODULE_DIRECTORY ${mdir})
|
||||||
target_include_directories(formslcLib INTERFACE
|
target_include_directories(formslcLib INTERFACE
|
||||||
${CMAKE_CURRENT_BINARY_DIR}
|
$<$<COMPILE_LANGUAGE:Fortran>:${mdir}>
|
||||||
)
|
)
|
||||||
|
|
||||||
add_subdirectory(correct)
|
add_subdirectory(correct)
|
||||||
|
|
|
@ -3,7 +3,13 @@ add_subdirectory(geozero)
|
||||||
add_subdirectory(topozero)
|
add_subdirectory(topozero)
|
||||||
|
|
||||||
if(CMAKE_CUDA_COMPILER)
|
if(CMAKE_CUDA_COMPILER)
|
||||||
# add_subdirectory(GPUampcor) TODO cublas_device removed from CUDA ≥ 10
|
|
||||||
|
# cublas_device removed from CUDA ≥ 10
|
||||||
|
if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA" AND
|
||||||
|
CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 10)
|
||||||
|
add_subdirectory(GPUampcor)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_subdirectory(GPUgeo2rdr)
|
add_subdirectory(GPUgeo2rdr)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
if(NOT TARGET CUDA::cublas)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
return() # TODO get cublas_device working or remove usage of it
|
||||||
|
|
||||||
cython_add_module(GPUampcor
|
cython_add_module(GPUampcor
|
||||||
GPUampcor.pyx
|
GPUampcor.pyx
|
||||||
cuda/GPUamp.cu
|
cuda/GPUamp.cu
|
||||||
|
@ -9,6 +15,11 @@ target_include_directories(GPUampcor PUBLIC
|
||||||
include
|
include
|
||||||
)
|
)
|
||||||
target_link_libraries(GPUampcor PRIVATE
|
target_link_libraries(GPUampcor PRIVATE
|
||||||
cublas
|
CUDA::cublas
|
||||||
DataAccessor_static
|
DataAccessor_static
|
||||||
|
FFTW::Float
|
||||||
|
)
|
||||||
|
InstallSameDir(
|
||||||
|
GPUampcor
|
||||||
|
__init__.py
|
||||||
)
|
)
|
||||||
|
|
|
@ -5,7 +5,7 @@ add_subdirectory(frameUtils)
|
||||||
#add_subdirectory(unwUtils)
|
#add_subdirectory(unwUtils)
|
||||||
add_subdirectory(downsample_unwrapper)
|
add_subdirectory(downsample_unwrapper)
|
||||||
|
|
||||||
#add_subdirectory(PyCuAmpcor)
|
add_subdirectory(PyCuAmpcor)
|
||||||
add_subdirectory(splitSpectrum)
|
add_subdirectory(splitSpectrum)
|
||||||
add_subdirectory(alos2filter)
|
add_subdirectory(alos2filter)
|
||||||
add_subdirectory(alos2proc)
|
add_subdirectory(alos2proc)
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
# Early exit if prereqs not available
|
||||||
|
if(NOT TARGET GDAL::GDAL
|
||||||
|
OR NOT TARGET Python::NumPy
|
||||||
|
OR NOT TARGET CUDA::cublas
|
||||||
|
OR NOT TARGET CUDA::cufft
|
||||||
|
)
|
||||||
|
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
|
||||||
|
)
|
||||||
|
target_link_libraries(PyCuAmpcor PRIVATE
|
||||||
|
CUDA::cufft
|
||||||
|
CUDA::cublas
|
||||||
|
GDAL::GDAL
|
||||||
|
Python::NumPy
|
||||||
|
)
|
||||||
|
|
||||||
|
InstallSameDir(
|
||||||
|
__init__.py
|
||||||
|
PyCuAmpcor
|
||||||
|
)
|
|
@ -17,8 +17,31 @@ Python_add_library(demStitch MODULE
|
||||||
demstitcher/bindings/demStitch.c
|
demstitcher/bindings/demStitch.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Python_add_library(upsampledem MODULE
|
||||||
|
upsampledem/bindings/upsampledemmodule.cpp
|
||||||
|
upsampledem/src/upsampledem.f
|
||||||
|
upsampledem/src/upsampledemSetState.f
|
||||||
|
upsampledem/src/upsampledemState.f
|
||||||
|
)
|
||||||
|
target_include_directories(upsampledem PRIVATE
|
||||||
|
upsampledem/include
|
||||||
|
)
|
||||||
|
target_link_libraries(upsampledem PRIVATE
|
||||||
|
utilLib
|
||||||
|
)
|
||||||
|
|
||||||
|
Python_add_library(watermask MODULE
|
||||||
|
watermask/bindings/watermaskmodule.cpp
|
||||||
|
watermask/src/watermask.cpp
|
||||||
|
)
|
||||||
|
target_include_directories(watermask PRIVATE
|
||||||
|
watermask/include
|
||||||
|
)
|
||||||
|
|
||||||
InstallSameDir(
|
InstallSameDir(
|
||||||
demStitch
|
demStitch
|
||||||
|
upsampledem
|
||||||
|
watermask
|
||||||
correct_geoid_i2_srtm
|
correct_geoid_i2_srtm
|
||||||
__init__.py
|
__init__.py
|
||||||
correct_geoid_i2_srtm/Correct_geoid_i2_srtm.py
|
correct_geoid_i2_srtm/Correct_geoid_i2_srtm.py
|
||||||
|
@ -27,6 +50,5 @@ InstallSameDir(
|
||||||
demstitcher/DemStitcherV3.py
|
demstitcher/DemStitcherV3.py
|
||||||
swbdstitcher/SWBDStitcher.py
|
swbdstitcher/SWBDStitcher.py
|
||||||
upsampledem/UpsampleDem.py
|
upsampledem/UpsampleDem.py
|
||||||
watermask/test/mask.py
|
|
||||||
watermask/WaterMask.py
|
watermask/WaterMask.py
|
||||||
)
|
)
|
||||||
|
|
|
@ -8,12 +8,19 @@ add_library(issi SHARED
|
||||||
src/polcal.c
|
src/polcal.c
|
||||||
src/tecToPhase.c
|
src/tecToPhase.c
|
||||||
)
|
)
|
||||||
|
set_target_properties(issi PROPERTIES
|
||||||
|
PREFIX ""
|
||||||
|
OUTPUT_NAME issi
|
||||||
|
SUFFIX .so)
|
||||||
target_include_directories(issi PUBLIC include)
|
target_include_directories(issi PUBLIC include)
|
||||||
|
|
||||||
add_subdirectory(src)
|
|
||||||
|
|
||||||
InstallSameDir(
|
InstallSameDir(
|
||||||
issi
|
issi
|
||||||
__init__.py
|
__init__.py
|
||||||
FR.py
|
FR.py
|
||||||
)
|
)
|
||||||
|
|
||||||
|
file(RELATIVE_PATH relpath ${isce2_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
install(DIRECTORY src/igrf_data
|
||||||
|
DESTINATION ${ISCE2_PKG}/${relpath}
|
||||||
|
)
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
add_subdirectory(igrf_data)
|
|
|
@ -1,18 +0,0 @@
|
||||||
InstallSameDir(
|
|
||||||
dgrf00.dat
|
|
||||||
dgrf45.dat
|
|
||||||
dgrf50.dat
|
|
||||||
dgrf55.dat
|
|
||||||
dgrf60.dat
|
|
||||||
dgrf65.dat
|
|
||||||
dgrf70.dat
|
|
||||||
dgrf75.dat
|
|
||||||
dgrf80.dat
|
|
||||||
dgrf85.dat
|
|
||||||
dgrf90.dat
|
|
||||||
dgrf95.dat
|
|
||||||
igrf05.dat
|
|
||||||
igrf05full.dat
|
|
||||||
igrf05s.dat
|
|
||||||
igrf10.dat
|
|
||||||
)
|
|
|
@ -1,4 +1,5 @@
|
||||||
Python_add_library(isceLib MODULE
|
cython_add_module(isceLib
|
||||||
|
pyx/isceLib.pyx
|
||||||
src/Ellipsoid.cpp
|
src/Ellipsoid.cpp
|
||||||
src/LinAlg.cpp
|
src/LinAlg.cpp
|
||||||
src/Orbit.cpp
|
src/Orbit.cpp
|
||||||
|
|
Loading…
Reference in New Issue