diff --git a/src/pdal/PyArray.hpp b/src/pdal/PyArray.hpp index a702176f..b2aca844 100644 --- a/src/pdal/PyArray.hpp +++ b/src/pdal/PyArray.hpp @@ -34,6 +34,7 @@ #pragma once +#include "export.hpp" #include #define NPY_TARGET_VERSION NPY_1_22_API_VERSION @@ -60,7 +61,7 @@ class ArrayIter; using ArrayStreamHandler = std::function; -class PDAL_DLL Array +class PDAL_EXPORT Array { public: using Shape = std::array; @@ -89,7 +90,7 @@ class PDAL_DLL Array }; -class PDAL_DLL ArrayIter +class PDAL_EXPORT ArrayIter { public: ArrayIter(const ArrayIter&) = delete; diff --git a/src/pdal/PyPipeline.hpp b/src/pdal/PyPipeline.hpp index 5233763f..1eed023f 100644 --- a/src/pdal/PyPipeline.hpp +++ b/src/pdal/PyPipeline.hpp @@ -34,6 +34,7 @@ #pragma once +#include "export.hpp" #include #define NPY_TARGET_VERSION NPY_1_22_API_VERSION @@ -55,7 +56,7 @@ PyArrayObject* meshToNumpyArray(const TriangularMesh* mesh); class Array; -class PDAL_DLL PipelineExecutor { +class PDAL_EXPORT PipelineExecutor { public: PipelineExecutor(std::string const& json, std::vector> arrays, int level); virtual ~PipelineExecutor() = default; diff --git a/src/pdal/export.hpp b/src/pdal/export.hpp new file mode 100644 index 00000000..5a6c9aea --- /dev/null +++ b/src/pdal/export.hpp @@ -0,0 +1,44 @@ +/****************************************************************************** +* Copyright (c) 2025, Hobu Inc. (info@hobu.co) +* +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following +* conditions are met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided +* with the distribution. +* * Neither the name of Hobu, Inc. nor the +* names of its contributors may be used to endorse or promote +* products derived from this software without specific prior +* written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +* OF SUCH DAMAGE. +****************************************************************************/ + + +#include + +#ifndef PDAL_EXPORT +# define PDAL_EXPORT PDAL_DLL +#endif + +#ifndef PDAL_DLL +# define PDAL_DLL PDAL_EXPORT +#endif