Skip to content

Commit

Permalink
Implement a Linux build based on Conda with a pinned GDAL dependency (#…
Browse files Browse the repository at this point in the history
…2911)

* add Linux/Conda build

* fix job name

* conda junk

* set uid/gid

* set uid:gid

* conda user stuff again

* more usermod

* clobber /opt/conda perms

* clobber user to vsts_azpcontainer

* use azp conda

* fix syntax

* remove manual env setting

* conda init

* LD_FLAGS

* no pin

* another swing

* selectively shut off tiledb tests with BUILD_TILEDB_TESTS

* try pinning gdal

* use correct GDAL pin
  • Loading branch information
hobu committed Feb 4, 2020
1 parent ed2bb5a commit 51442a8
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 4 deletions.
1 change: 1 addition & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
jobs:
- template: ./scripts/azp/linux.yml
- template: ./scripts/azp/linux-conda.yml
- template: ./scripts/azp/win.yml
- template: ./scripts/azp/osx.yml
11 changes: 7 additions & 4 deletions plugins/tiledb/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ PDAL_ADD_PLUGIN(reader_libname reader tiledb
)

if (WIN32)
target_compile_definitions(${reader_libname} PRIVATE -DNONMINMAX)
target_compile_definitions(${reader_libname} PRIVATE -DNONMINMAX)
endif()

#
Expand All @@ -37,11 +37,13 @@ PDAL_ADD_PLUGIN(writer_libname writer tiledb
)

if (WIN32)
target_compile_definitions(${writer_libname} PRIVATE -DNONMINMAX)
target_compile_definitions(${writer_libname} PRIVATE -DNONMINMAX)
endif()

if (WITH_TESTS)

if (BUILD_TILEDB_TESTS)

# Need to fix this #2596
IF (NOT APPLE)
PDAL_ADD_TEST(pdal_io_tiledb_writer_test
Expand All @@ -65,8 +67,9 @@ if (WITH_TESTS)
)

if (WIN32)
target_compile_definitions(pdal_io_tiledb_writer_test PRIVATE -DNONMINMAX)
target_compile_definitions(pdal_io_tiledb_reader_test PRIVATE -DNONMINMAX)
target_compile_definitions(pdal_io_tiledb_writer_test PRIVATE -DNONMINMAX)
target_compile_definitions(pdal_io_tiledb_reader_test PRIVATE -DNONMINMAX)
endif()

endif()
endif()
77 changes: 77 additions & 0 deletions scripts/azp/linux-conda.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# -*- mode: yaml -*-

jobs:
- job: linux_conda
pool:
vmImage: ubuntu-16.04
timeoutInMinutes: 60
steps:
- bash: echo "##vso[task.prependpath]$CONDA/bin"
displayName: Add conda to PATH
- script: |
. /opt/conda/etc/profile.d/conda.sh
conda create --yes --quiet --name pdal
source activate pdal
conda config --set always_yes True --set show_channel_urls True
conda config --add channels conda-forge
conda config --set channel_priority strict
conda install --yes --quiet --name pdal -c conda-forge gdal=3.0.2=py37hbb6b9fb_8 python=3.7 conda-build ninja conda-forge-ci-setup=2 -y
conda install --yes --quiet --name pdal -c conda-forge pdal --only-deps -y
displayName: Install PDAL dependencies
- script: |
. /opt/conda/etc/profile.d/conda.sh
source activate pdal
echo "current directory:" `pwd`
mkdir build
cd build
LDFLAGS="$LDFLAGS -Wl,-rpath-link,$CONDA_PREFIX/lib" cmake -G Ninja \
-DCMAKE_LIBRARY_PATH:FILEPATH="$CONDA_PREFIX/lib" \
-DCMAKE_INCLUDE_PATH:FILEPATH="$CONDA_PREFIX/include" \
-DCMAKE_FIND_FRAMEWORK="NEVER" \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=${CONDA_PREFIX} \
-DBUILD_PLUGIN_PGPOINTCLOUD=ON \
-DBUILD_PLUGIN_NITF=ON \
-DBUILD_PLUGIN_ICEBRIDGE=ON \
-DBUILD_PLUGIN_TILEDB=ON \
-DBUILD_PGPOINTCLOUD_TESTS=OFF \
-DWITH_LAZPERF=ON \
-DWITH_ZSTD=ON \
-DWITH_LASZIP=ON \
..
displayName: 'CMake'
- script: |
. /opt/conda/etc/profile.d/conda.sh
cd build
source activate pdal
ninja
displayName: 'Build'
- script: |
. /opt/conda/etc/profile.d/conda.sh
cd build
export PDAL_DRIVER_PATH=`pwd`/lib
source activate pdal
ctest -V
displayName: 'Test'
- script: |
. /opt/conda/etc/profile.d/conda.sh
export PDAL_TEST_DIR=`pwd`/test
cd build
source activate pdal
ls build/lib/*
ninja install
displayName: 'Install'
- script: |
. /opt/conda/etc/profile.d/conda.sh
export BASE=`pwd`
source activate pdal
for EXAMPLE in writing writing-filter writing-kernel writing-reader writing-writer
do
cd $BASE/examples/$EXAMPLE
mkdir -p _build || exit 1
cd _build || exit 1
cmake -G "Ninja" .. -DPDAL_DIR=$CONDA_PREFIX/lib/cmake/PDAL && ninja
done
displayName: 'Examples'

0 comments on commit 51442a8

Please sign in to comment.