diff --git a/.github/environment.yml b/.github/environment.yml index 23c4777..5663558 100644 --- a/.github/environment.yml +++ b/.github/environment.yml @@ -4,7 +4,7 @@ channels: dependencies: - scikit-build-core - numpy - - pdal + - libpdal-core - compilers - python - pip diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d354e28..d045918 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,11 +24,13 @@ jobs: fail-fast: true matrix: os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] - python-version: ['3.9', '3.10', '3.11', '3.12'] - numpy-version: ['1.26', '2.0', '2.1'] + python-version: ['3.10', '3.11', '3.12', '3.13'] + numpy-version: ['1.24', '2.1'] exclude: - - python-version: 3.9 - numpy-version: 2.1 + - python-version: '3.12' + numpy-version: '1.24' + - python-version: '3.13' + numpy-version: '1.24' steps: - name: Check out @@ -37,7 +39,7 @@ jobs: - name: Setup micromamba uses: conda-incubator/setup-miniconda@v3 with: - miniforge-variant: Mambaforge + miniforge-variant: Miniforge3 miniforge-version: latest use-mamba: true python-version: ${{ matrix.python-version }} diff --git a/src/pdal/filters/PythonFilter.cpp b/src/pdal/filters/PythonFilter.cpp index 38a4feb..950af14 100644 --- a/src/pdal/filters/PythonFilter.cpp +++ b/src/pdal/filters/PythonFilter.cpp @@ -32,10 +32,10 @@ * OF SUCH DAMAGE. ****************************************************************************/ -#include "PythonFilter.hpp" - #include "../nlohmann/json.hpp" +#include "PythonFilter.hpp" + #include #include #include diff --git a/src/pdal/filters/export.hpp b/src/pdal/filters/export.hpp new file mode 100644 index 0000000..57c6cad --- /dev/null +++ b/src/pdal/filters/export.hpp @@ -0,0 +1,21 @@ +#pragma once + + +#ifdef _WIN32 +# define PDAL_EXPORT __declspec(dllexport) +# define PDAL_LOCAL +# define PDAL_EXPORT_UNIX +#ifdef __GNUC__ +# define PDAL_EXPORT_DEPRECATED __attribute__((deprecated)) PDAL_EXPORT +#else +# define PDAL_EXPORT_DEPRECATED __declspec(deprecated, dllexport) +#endif +#else +# define PDAL_EXPORT __attribute__ ((visibility("default"))) +// Keep the PDAL_DLL name around so any external plugins that still might have that defined +// can still compile and be used +# define PDAL_DLL PDAL_EXPORT +# define PDAL_LOCAL __attribute__((visibility("hidden"))) +# define PDAL_EXPORT_UNIX __attribute__ ((visibility("default"))) +# define PDAL_EXPORT_DEPRECATED __attribute__((deprecated)) +#endif // _WIN32 diff --git a/src/pdal/test/NumpyReaderTest.cpp b/src/pdal/test/NumpyReaderTest.cpp index bd93009..858c923 100644 --- a/src/pdal/test/NumpyReaderTest.cpp +++ b/src/pdal/test/NumpyReaderTest.cpp @@ -34,6 +34,8 @@ #include +#include "../filters/export.hpp" + #include #include #include diff --git a/src/pdal/test/PythonFilterTest.cpp b/src/pdal/test/PythonFilterTest.cpp index 1418b2f..412e35b 100644 --- a/src/pdal/test/PythonFilterTest.cpp +++ b/src/pdal/test/PythonFilterTest.cpp @@ -34,6 +34,8 @@ #include +#include "../filters/export.hpp" + #include #include #include