From ea9cf4b380693feb3f40c5a23280150d4ca2037a Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Mon, 15 Apr 2024 12:12:31 -0500 Subject: [PATCH 01/14] modernize with scikit-build-core --- .github/workflows/build.yml | 2 +- .github/workflows/release.yml | 28 +++++++ CMakeLists.txt | 52 ++++++------- README.rst | 6 +- pyproject.toml | 70 +++++++++++++++++- setup.py | 31 -------- {pdal => src/pdal}/filters/PythonFilter.cpp | 0 {pdal => src/pdal}/filters/PythonFilter.hpp | 0 {pdal => src/pdal}/io/NumpyReader.cpp | 0 {pdal => src/pdal}/io/NumpyReader.hpp | 0 {pdal => src/pdal}/nlohmann/json.hpp | 0 {pdal => src/pdal}/plang/Environment.cpp | 0 {pdal => src/pdal}/plang/Environment.hpp | 0 {pdal => src/pdal}/plang/Invocation.cpp | 0 {pdal => src/pdal}/plang/Invocation.hpp | 0 {pdal => src/pdal}/plang/Redirector.cpp | 0 {pdal => src/pdal}/plang/Redirector.hpp | 0 {pdal => src/pdal}/plang/Script.cpp | 0 {pdal => src/pdal}/plang/Script.hpp | 0 {pdal => src/pdal}/plang/gil.hpp | 0 {pdal => src/pdal}/test/NumpyReaderTest.cpp | 0 {pdal => src/pdal}/test/PythonFilterTest.cpp | 0 {pdal => src/pdal}/test/Support.cpp | 0 {pdal => src/pdal}/test/Support.hpp | 0 {pdal => src/pdal}/test/TestConfig.hpp | 6 +- .../pdal}/test/data/1.2-with-color.las | Bin .../pdal}/test/data/1.2-with-color.npy | Bin {pdal => src/pdal}/test/data/autzen-utm.las | Bin {pdal => src/pdal}/test/data/autzen.las | Bin .../pdal}/test/data/four-floats-be.bin | Bin {pdal => src/pdal}/test/data/four-floats.py | 0 {pdal => src/pdal}/test/data/logs/log_py.txt | 0 {pdal => src/pdal}/test/data/perlin.npy | Bin .../pipeline/crop_wkt_2d_classification.json | 4 +- .../pdal}/test/data/pipeline/from-module.json | 4 +- .../test/data/pipeline/predicate-embed.json | 2 +- .../predicate-keep-ground-and-unclass.json | 4 +- .../pipeline/predicate-keep-last-return.json | 4 +- .../predicate-keep-specified-returns.json | 4 +- .../pipeline/programmable-update-y-dims.json | 2 +- .../pdal}/test/data/pipeline/reproject.json | 4 +- {pdal => src/pdal}/test/data/test1.py | 0 {pdal => src/pdal}/test/data/threedim.npy | Bin {pdal => src/pdal}/test/data/threedim.py | 0 {pdal => src/pdal}/test/data/twodim.npy | Bin {pdal => src/pdal}/test/gtest/CMakeLists.txt | 0 {pdal => src/pdal}/test/gtest/CONTRIBUTORS | 0 {pdal => src/pdal}/test/gtest/LICENSE | 0 {pdal => src/pdal}/test/gtest/README.md | 0 .../pdal}/test/gtest/cmake/Config.cmake.in | 0 .../pdal}/test/gtest/cmake/gtest.pc.in | 0 .../pdal}/test/gtest/cmake/gtest_main.pc.in | 0 .../test/gtest/cmake/internal_utils.cmake | 0 .../pdal}/test/gtest/cmake/libgtest.la.in | 0 .../pdal}/test/gtest/docs/advanced.md | 0 {pdal => src/pdal}/test/gtest/docs/faq.md | 0 .../pdal}/test/gtest/docs/pkgconfig.md | 0 {pdal => src/pdal}/test/gtest/docs/primer.md | 0 .../pdal}/test/gtest/docs/pump_manual.md | 0 {pdal => src/pdal}/test/gtest/docs/samples.md | 0 .../gtest/include/gtest/gtest-death-test.h | 0 .../test/gtest/include/gtest/gtest-matchers.h | 0 .../test/gtest/include/gtest/gtest-message.h | 0 .../gtest/include/gtest/gtest-param-test.h | 0 .../test/gtest/include/gtest/gtest-printers.h | 0 .../test/gtest/include/gtest/gtest-spi.h | 0 .../gtest/include/gtest/gtest-test-part.h | 0 .../gtest/include/gtest/gtest-typed-test.h | 0 .../pdal}/test/gtest/include/gtest/gtest.h | 0 .../gtest/include/gtest/gtest_pred_impl.h | 0 .../test/gtest/include/gtest/gtest_prod.h | 0 .../include/gtest/internal/custom/README.md | 0 .../gtest/internal/custom/gtest-port.h | 0 .../gtest/internal/custom/gtest-printers.h | 0 .../include/gtest/internal/custom/gtest.h | 0 .../internal/gtest-death-test-internal.h | 0 .../include/gtest/internal/gtest-filepath.h | 0 .../include/gtest/internal/gtest-internal.h | 0 .../include/gtest/internal/gtest-param-util.h | 0 .../include/gtest/internal/gtest-port-arch.h | 0 .../gtest/include/gtest/internal/gtest-port.h | 0 .../include/gtest/internal/gtest-string.h | 0 .../include/gtest/internal/gtest-type-util.h | 0 .../gtest/internal/gtest-type-util.h.pump | 0 .../pdal}/test/gtest/samples/prime_tables.h | 0 .../pdal}/test/gtest/samples/sample1.cc | 0 .../pdal}/test/gtest/samples/sample1.h | 0 .../test/gtest/samples/sample10_unittest.cc | 0 .../test/gtest/samples/sample1_unittest.cc | 0 .../pdal}/test/gtest/samples/sample2.cc | 0 .../pdal}/test/gtest/samples/sample2.h | 0 .../test/gtest/samples/sample2_unittest.cc | 0 .../pdal}/test/gtest/samples/sample3-inl.h | 0 .../test/gtest/samples/sample3_unittest.cc | 0 .../pdal}/test/gtest/samples/sample4.cc | 0 .../pdal}/test/gtest/samples/sample4.h | 0 .../test/gtest/samples/sample4_unittest.cc | 0 .../test/gtest/samples/sample5_unittest.cc | 0 .../test/gtest/samples/sample6_unittest.cc | 0 .../test/gtest/samples/sample7_unittest.cc | 0 .../test/gtest/samples/sample8_unittest.cc | 0 .../test/gtest/samples/sample9_unittest.cc | 0 .../pdal}/test/gtest/scripts/common.py | 0 .../test/gtest/scripts/fuse_gtest_files.py | 0 .../test/gtest/scripts/gen_gtest_pred_impl.py | 0 .../pdal}/test/gtest/scripts/gtest-config.in | 0 {pdal => src/pdal}/test/gtest/scripts/pump.py | 0 .../pdal}/test/gtest/scripts/release_docs.py | 0 .../pdal}/test/gtest/scripts/test/Makefile | 0 .../pdal}/test/gtest/scripts/upload.py | 0 .../pdal}/test/gtest/scripts/upload_gtest.py | 0 .../pdal}/test/gtest/src/gtest-all.cc | 0 .../pdal}/test/gtest/src/gtest-death-test.cc | 0 .../pdal}/test/gtest/src/gtest-filepath.cc | 0 .../pdal}/test/gtest/src/gtest-internal-inl.h | 0 .../pdal}/test/gtest/src/gtest-matchers.cc | 0 .../pdal}/test/gtest/src/gtest-port.cc | 0 .../pdal}/test/gtest/src/gtest-printers.cc | 0 .../pdal}/test/gtest/src/gtest-test-part.cc | 0 .../pdal}/test/gtest/src/gtest-typed-test.cc | 0 {pdal => src/pdal}/test/gtest/src/gtest.cc | 0 .../pdal}/test/gtest/src/gtest_main.cc | 0 .../pdal}/test/gtest/test/BUILD.bazel | 0 .../googletest-break-on-failure-unittest.py | 0 .../googletest-break-on-failure-unittest_.cc | 0 .../test/googletest-catch-exceptions-test.py | 0 .../test/googletest-catch-exceptions-test_.cc | 0 .../test/gtest/test/googletest-color-test.py | 0 .../test/gtest/test/googletest-color-test_.cc | 0 .../gtest/test/googletest-death-test-test.cc | 0 .../test/googletest-death-test_ex_test.cc | 0 .../gtest/test/googletest-env-var-test.py | 0 .../gtest/test/googletest-env-var-test_.cc | 0 .../gtest/test/googletest-filepath-test.cc | 0 .../gtest/test/googletest-filter-unittest.py | 0 .../gtest/test/googletest-filter-unittest_.cc | 0 .../test/googletest-json-outfiles-test.py | 0 .../test/googletest-json-output-unittest.py | 0 .../test/googletest-list-tests-unittest.py | 0 .../test/googletest-list-tests-unittest_.cc | 0 .../gtest/test/googletest-listener-test.cc | 0 .../gtest/test/googletest-message-test.cc | 0 .../gtest/test/googletest-options-test.cc | 0 .../googletest-output-test-golden-lin.txt | 0 .../test/gtest/test/googletest-output-test.py | 0 .../gtest/test/googletest-output-test_.cc | 0 ...oogletest-param-test-invalid-name1-test.py | 0 ...ogletest-param-test-invalid-name1-test_.cc | 0 ...oogletest-param-test-invalid-name2-test.py | 0 ...ogletest-param-test-invalid-name2-test_.cc | 0 .../gtest/test/googletest-param-test-test.cc | 0 .../gtest/test/googletest-param-test-test.h | 0 .../gtest/test/googletest-param-test2-test.cc | 0 .../test/gtest/test/googletest-port-test.cc | 0 .../gtest/test/googletest-printers-test.cc | 0 .../gtest/test/googletest-shuffle-test.py | 0 .../gtest/test/googletest-shuffle-test_.cc | 0 .../gtest/test/googletest-test-part-test.cc | 0 .../test/gtest/test/googletest-test2_test.cc | 0 .../test/googletest-throw-on-failure-test.py | 0 .../test/googletest-throw-on-failure-test_.cc | 0 .../test/googletest-uninitialized-test.py | 0 .../test/googletest-uninitialized-test_.cc | 0 .../test/gtest/test/gtest-typed-test2_test.cc | 0 .../test/gtest/test/gtest-typed-test_test.cc | 0 .../test/gtest/test/gtest-typed-test_test.h | 0 .../gtest/test/gtest-unittest-api_test.cc | 0 .../pdal}/test/gtest/test/gtest_all_test.cc | 0 .../test/gtest_assert_by_exception_test.cc | 0 .../test/gtest/test/gtest_environment_test.cc | 0 .../pdal}/test/gtest/test/gtest_help_test.py | 0 .../pdal}/test/gtest/test/gtest_help_test_.cc | 0 .../test/gtest/test/gtest_json_test_utils.py | 0 .../gtest/test/gtest_list_output_unittest.py | 0 .../gtest/test/gtest_list_output_unittest_.cc | 0 .../test/gtest/test/gtest_main_unittest.cc | 0 .../test/gtest/test/gtest_no_test_unittest.cc | 0 .../gtest/test/gtest_pred_impl_unittest.cc | 0 .../gtest/test/gtest_premature_exit_test.cc | 0 .../pdal}/test/gtest/test/gtest_prod_test.cc | 0 .../test/gtest/test/gtest_repeat_test.cc | 0 ...test_skip_environment_check_output_test.py | 0 .../gtest_skip_in_environment_setup_test.cc | 0 .../pdal}/test/gtest/test/gtest_skip_test.cc | 0 .../test/gtest/test/gtest_sole_header_test.cc | 0 .../test/gtest/test/gtest_stress_test.cc | 0 .../gtest_test_macro_stack_footprint_test.cc | 0 .../pdal}/test/gtest/test/gtest_test_utils.py | 0 .../test/gtest/test/gtest_testbridge_test.py | 0 .../test/gtest/test/gtest_testbridge_test_.cc | 0 .../test/gtest_throw_on_failure_ex_test.cc | 0 .../pdal}/test/gtest/test/gtest_unittest.cc | 0 .../gtest/test/gtest_xml_outfile1_test_.cc | 0 .../gtest/test/gtest_xml_outfile2_test_.cc | 0 .../gtest/test/gtest_xml_outfiles_test.py | 0 .../gtest/test/gtest_xml_output_unittest.py | 0 .../gtest/test/gtest_xml_output_unittest_.cc | 0 .../test/gtest/test/gtest_xml_test_utils.py | 0 .../pdal}/test/gtest/test/production.cc | 0 .../pdal}/test/gtest/test/production.h | 0 {pdal => src/pdal}/test/temp/README.txt | 0 201 files changed, 144 insertions(+), 79 deletions(-) create mode 100644 .github/workflows/release.yml delete mode 100644 setup.py rename {pdal => src/pdal}/filters/PythonFilter.cpp (100%) rename {pdal => src/pdal}/filters/PythonFilter.hpp (100%) rename {pdal => src/pdal}/io/NumpyReader.cpp (100%) rename {pdal => src/pdal}/io/NumpyReader.hpp (100%) rename {pdal => src/pdal}/nlohmann/json.hpp (100%) rename {pdal => src/pdal}/plang/Environment.cpp (100%) rename {pdal => src/pdal}/plang/Environment.hpp (100%) rename {pdal => src/pdal}/plang/Invocation.cpp (100%) rename {pdal => src/pdal}/plang/Invocation.hpp (100%) rename {pdal => src/pdal}/plang/Redirector.cpp (100%) rename {pdal => src/pdal}/plang/Redirector.hpp (100%) rename {pdal => src/pdal}/plang/Script.cpp (100%) rename {pdal => src/pdal}/plang/Script.hpp (100%) rename {pdal => src/pdal}/plang/gil.hpp (100%) rename {pdal => src/pdal}/test/NumpyReaderTest.cpp (100%) rename {pdal => src/pdal}/test/PythonFilterTest.cpp (100%) rename {pdal => src/pdal}/test/Support.cpp (100%) rename {pdal => src/pdal}/test/Support.hpp (100%) rename {pdal => src/pdal}/test/TestConfig.hpp (93%) rename {pdal => src/pdal}/test/data/1.2-with-color.las (100%) rename {pdal => src/pdal}/test/data/1.2-with-color.npy (100%) rename {pdal => src/pdal}/test/data/autzen-utm.las (100%) rename {pdal => src/pdal}/test/data/autzen.las (100%) rename {pdal => src/pdal}/test/data/four-floats-be.bin (100%) rename {pdal => src/pdal}/test/data/four-floats.py (100%) rename {pdal => src/pdal}/test/data/logs/log_py.txt (100%) rename {pdal => src/pdal}/test/data/perlin.npy (100%) rename {pdal => src/pdal}/test/data/pipeline/crop_wkt_2d_classification.json (93%) rename {pdal => src/pdal}/test/data/pipeline/from-module.json (55%) rename {pdal => src/pdal}/test/data/pipeline/predicate-embed.json (86%) rename {pdal => src/pdal}/test/data/pipeline/predicate-keep-ground-and-unclass.json (88%) rename {pdal => src/pdal}/test/data/pipeline/predicate-keep-last-return.json (84%) rename {pdal => src/pdal}/test/data/pipeline/predicate-keep-specified-returns.json (87%) rename {pdal => src/pdal}/test/data/pipeline/programmable-update-y-dims.json (86%) rename {pdal => src/pdal}/test/data/pipeline/reproject.json (86%) rename {pdal => src/pdal}/test/data/test1.py (100%) rename {pdal => src/pdal}/test/data/threedim.npy (100%) rename {pdal => src/pdal}/test/data/threedim.py (100%) rename {pdal => src/pdal}/test/data/twodim.npy (100%) rename {pdal => src/pdal}/test/gtest/CMakeLists.txt (100%) rename {pdal => src/pdal}/test/gtest/CONTRIBUTORS (100%) rename {pdal => src/pdal}/test/gtest/LICENSE (100%) rename {pdal => src/pdal}/test/gtest/README.md (100%) rename {pdal => src/pdal}/test/gtest/cmake/Config.cmake.in (100%) rename {pdal => src/pdal}/test/gtest/cmake/gtest.pc.in (100%) rename {pdal => src/pdal}/test/gtest/cmake/gtest_main.pc.in (100%) rename {pdal => src/pdal}/test/gtest/cmake/internal_utils.cmake (100%) rename {pdal => src/pdal}/test/gtest/cmake/libgtest.la.in (100%) rename {pdal => src/pdal}/test/gtest/docs/advanced.md (100%) rename {pdal => src/pdal}/test/gtest/docs/faq.md (100%) rename {pdal => src/pdal}/test/gtest/docs/pkgconfig.md (100%) rename {pdal => src/pdal}/test/gtest/docs/primer.md (100%) rename {pdal => src/pdal}/test/gtest/docs/pump_manual.md (100%) rename {pdal => src/pdal}/test/gtest/docs/samples.md (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/gtest-death-test.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/gtest-matchers.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/gtest-message.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/gtest-param-test.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/gtest-printers.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/gtest-spi.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/gtest-test-part.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/gtest-typed-test.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/gtest.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/gtest_pred_impl.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/gtest_prod.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/internal/custom/README.md (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/internal/custom/gtest-port.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/internal/custom/gtest-printers.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/internal/custom/gtest.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/internal/gtest-death-test-internal.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/internal/gtest-filepath.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/internal/gtest-internal.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/internal/gtest-param-util.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/internal/gtest-port-arch.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/internal/gtest-port.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/internal/gtest-string.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/internal/gtest-type-util.h (100%) rename {pdal => src/pdal}/test/gtest/include/gtest/internal/gtest-type-util.h.pump (100%) rename {pdal => src/pdal}/test/gtest/samples/prime_tables.h (100%) rename {pdal => src/pdal}/test/gtest/samples/sample1.cc (100%) rename {pdal => src/pdal}/test/gtest/samples/sample1.h (100%) rename {pdal => src/pdal}/test/gtest/samples/sample10_unittest.cc (100%) rename {pdal => src/pdal}/test/gtest/samples/sample1_unittest.cc (100%) rename {pdal => src/pdal}/test/gtest/samples/sample2.cc (100%) rename {pdal => src/pdal}/test/gtest/samples/sample2.h (100%) rename {pdal => src/pdal}/test/gtest/samples/sample2_unittest.cc (100%) rename {pdal => src/pdal}/test/gtest/samples/sample3-inl.h (100%) rename {pdal => src/pdal}/test/gtest/samples/sample3_unittest.cc (100%) rename {pdal => src/pdal}/test/gtest/samples/sample4.cc (100%) rename {pdal => src/pdal}/test/gtest/samples/sample4.h (100%) rename {pdal => src/pdal}/test/gtest/samples/sample4_unittest.cc (100%) rename {pdal => src/pdal}/test/gtest/samples/sample5_unittest.cc (100%) rename {pdal => src/pdal}/test/gtest/samples/sample6_unittest.cc (100%) rename {pdal => src/pdal}/test/gtest/samples/sample7_unittest.cc (100%) rename {pdal => src/pdal}/test/gtest/samples/sample8_unittest.cc (100%) rename {pdal => src/pdal}/test/gtest/samples/sample9_unittest.cc (100%) rename {pdal => src/pdal}/test/gtest/scripts/common.py (100%) rename {pdal => src/pdal}/test/gtest/scripts/fuse_gtest_files.py (100%) rename {pdal => src/pdal}/test/gtest/scripts/gen_gtest_pred_impl.py (100%) rename {pdal => src/pdal}/test/gtest/scripts/gtest-config.in (100%) rename {pdal => src/pdal}/test/gtest/scripts/pump.py (100%) rename {pdal => src/pdal}/test/gtest/scripts/release_docs.py (100%) rename {pdal => src/pdal}/test/gtest/scripts/test/Makefile (100%) rename {pdal => src/pdal}/test/gtest/scripts/upload.py (100%) rename {pdal => src/pdal}/test/gtest/scripts/upload_gtest.py (100%) rename {pdal => src/pdal}/test/gtest/src/gtest-all.cc (100%) rename {pdal => src/pdal}/test/gtest/src/gtest-death-test.cc (100%) rename {pdal => src/pdal}/test/gtest/src/gtest-filepath.cc (100%) rename {pdal => src/pdal}/test/gtest/src/gtest-internal-inl.h (100%) rename {pdal => src/pdal}/test/gtest/src/gtest-matchers.cc (100%) rename {pdal => src/pdal}/test/gtest/src/gtest-port.cc (100%) rename {pdal => src/pdal}/test/gtest/src/gtest-printers.cc (100%) rename {pdal => src/pdal}/test/gtest/src/gtest-test-part.cc (100%) rename {pdal => src/pdal}/test/gtest/src/gtest-typed-test.cc (100%) rename {pdal => src/pdal}/test/gtest/src/gtest.cc (100%) rename {pdal => src/pdal}/test/gtest/src/gtest_main.cc (100%) rename {pdal => src/pdal}/test/gtest/test/BUILD.bazel (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-break-on-failure-unittest.py (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-break-on-failure-unittest_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-catch-exceptions-test.py (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-catch-exceptions-test_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-color-test.py (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-color-test_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-death-test-test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-death-test_ex_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-env-var-test.py (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-env-var-test_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-filepath-test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-filter-unittest.py (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-filter-unittest_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-json-outfiles-test.py (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-json-output-unittest.py (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-list-tests-unittest.py (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-list-tests-unittest_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-listener-test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-message-test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-options-test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-output-test-golden-lin.txt (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-output-test.py (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-output-test_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-param-test-invalid-name1-test.py (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-param-test-invalid-name1-test_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-param-test-invalid-name2-test.py (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-param-test-invalid-name2-test_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-param-test-test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-param-test-test.h (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-param-test2-test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-port-test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-printers-test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-shuffle-test.py (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-shuffle-test_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-test-part-test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-test2_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-throw-on-failure-test.py (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-throw-on-failure-test_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-uninitialized-test.py (100%) rename {pdal => src/pdal}/test/gtest/test/googletest-uninitialized-test_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest-typed-test2_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest-typed-test_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest-typed-test_test.h (100%) rename {pdal => src/pdal}/test/gtest/test/gtest-unittest-api_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_all_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_assert_by_exception_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_environment_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_help_test.py (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_help_test_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_json_test_utils.py (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_list_output_unittest.py (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_list_output_unittest_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_main_unittest.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_no_test_unittest.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_pred_impl_unittest.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_premature_exit_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_prod_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_repeat_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_skip_environment_check_output_test.py (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_skip_in_environment_setup_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_skip_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_sole_header_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_stress_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_test_macro_stack_footprint_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_test_utils.py (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_testbridge_test.py (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_testbridge_test_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_throw_on_failure_ex_test.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_unittest.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_xml_outfile1_test_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_xml_outfile2_test_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_xml_outfiles_test.py (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_xml_output_unittest.py (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_xml_output_unittest_.cc (100%) rename {pdal => src/pdal}/test/gtest/test/gtest_xml_test_utils.py (100%) rename {pdal => src/pdal}/test/gtest/test/production.cc (100%) rename {pdal => src/pdal}/test/gtest/test/production.h (100%) rename {pdal => src/pdal}/test/temp/README.txt (100%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 31dc1a6..609e592 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -42,7 +42,7 @@ jobs: - name: Install shell: bash -l {0} - run: SKBUILD_CONFIGURE_OPTIONS="-DWITH_TESTS=ON" pip install . + run: pip install . -Ccmake.define.WITH_TESTS=ON . - name: Test shell: bash -l {0} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..e408d22 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,28 @@ +on: + release: + types: + - published + +jobs: + pypi-publish: + name: Upload release to PyPI + runs-on: ubuntu-latest + environment: + name: release + url: https://pypi.org/p/pdal-plugins + permissions: + id-token: write # IMPORTANT: this permission is mandatory for trusted publishing + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install build + pip install build twine + python -m build . --sdist + - name: Publish package distributions to PyPI + if: github.event_name == 'release' && github.event.action == 'published' + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/CMakeLists.txt b/CMakeLists.txt index c428857..5f0d147 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ set(Python3_FIND_FRAMEWORK "LAST") find_package(Python3 COMPONENTS Interpreter Development NumPy REQUIRED) # find PDAL. Require 2.1+ -find_package(PDAL 2.4 REQUIRED) +find_package(PDAL 2.6 REQUIRED) # Taken and adapted from PDAL's cmake macros.cmake @@ -160,12 +160,12 @@ endif() PDAL_PYTHON_ADD_PLUGIN(numpy_reader reader numpy FILES - ./pdal/io/NumpyReader.cpp - ./pdal/io/NumpyReader.hpp - ./pdal/plang/Invocation.cpp - ./pdal/plang/Environment.cpp - ./pdal/plang/Redirector.cpp - ./pdal/plang/Script.cpp + ./src/pdal/io/NumpyReader.cpp + ./src/pdal/io/NumpyReader.hpp + ./src/pdal/plang/Invocation.cpp + ./src/pdal/plang/Environment.cpp + ./src/pdal/plang/Redirector.cpp + ./src/pdal/plang/Script.cpp LINK_WITH ${PDAL_LIBRARIES} ${Python3_LIBRARIES} @@ -180,12 +180,12 @@ PDAL_PYTHON_ADD_PLUGIN(numpy_reader reader numpy PDAL_PYTHON_ADD_PLUGIN(python_filter filter python FILES - ./pdal/filters/PythonFilter.cpp - ./pdal/filters/PythonFilter.hpp - ./pdal/plang/Invocation.cpp - ./pdal/plang/Environment.cpp - ./pdal/plang/Redirector.cpp - ./pdal/plang/Script.cpp + ./src/pdal/filters/PythonFilter.cpp + ./src/pdal/filters/PythonFilter.hpp + ./src/pdal/plang/Invocation.cpp + ./src/pdal/plang/Environment.cpp + ./src/pdal/plang/Redirector.cpp + ./src/pdal/plang/Script.cpp LINK_WITH ${PDAL_LIBRARIES} ${Python3_LIBRARIES} @@ -202,17 +202,17 @@ PDAL_PYTHON_ADD_PLUGIN(python_filter filter python if (WITH_TESTS) enable_testing() set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) - add_subdirectory(pdal/test/gtest) + add_subdirectory(src/pdal/test/gtest) enable_testing() include_directories(pdal/test/gtest/include .. ${CMAKE_CURRENT_BINARY_DIR}) PDAL_PYTHON_ADD_TEST(pdal_io_numpy_test FILES - ./pdal/test/NumpyReaderTest.cpp - ./pdal/test/Support.cpp - ./pdal/plang/Invocation.cpp - ./pdal/plang/Environment.cpp - ./pdal/plang/Redirector.cpp - ./pdal/plang/Script.cpp + ./src/pdal/test/NumpyReaderTest.cpp + ./src/pdal/test/Support.cpp + ./src/pdal/plang/Invocation.cpp + ./src/pdal/plang/Environment.cpp + ./src/pdal/plang/Redirector.cpp + ./src/pdal/plang/Script.cpp LINK_WITH ${numpy_reader} ${Python3_LIBRARIES} @@ -225,12 +225,12 @@ if (WITH_TESTS) ) PDAL_PYTHON_ADD_TEST(pdal_filters_python_test FILES - ./pdal/test/PythonFilterTest.cpp - ./pdal/test/Support.cpp - ./pdal/plang/Invocation.cpp - ./pdal/plang/Environment.cpp - ./pdal/plang/Redirector.cpp - ./pdal/plang/Script.cpp + ./src/pdal/test/PythonFilterTest.cpp + ./src/pdal/test/Support.cpp + ./src/pdal/plang/Invocation.cpp + ./src/pdal/plang/Environment.cpp + ./src/pdal/plang/Redirector.cpp + ./src/pdal/plang/Script.cpp LINK_WITH ${python_filter} ${Python3_LIBRARIES} diff --git a/README.rst b/README.rst index 0c01886..8c5fda7 100644 --- a/README.rst +++ b/README.rst @@ -31,7 +31,7 @@ The repository for PDAL's Python plugins is available at https://github.com/PDAL Requirements ================================================================================ -* PDAL 2.4+ -* Python >=3.7 +* PDAL 2.6+ +* Python >=3.9 * Numpy (eg :code:`pip install numpy`) -* scikit-build (eg :code:`pip install scikit-build`) +* scikit-build-core (eg :code:`pip install scikit-build-core`) diff --git a/pyproject.toml b/pyproject.toml index 3eb58c0..8236b91 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,2 +1,70 @@ +[project] +name = "pdal-plugins" +description = "Point cloud data processing Python plugins" +readme = "README.rst" +requires-python = ">=3.9" +license = {file = "LICENSE"} +keywords = ["point", "cloud", "spatial"] +authors = [ + {email = "howard@hobu.co"}, + {name = "Howard Butler"} +] +maintainers = [ + {name = "Howard Butler", email = "howard@hobu.co"} +] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Topic :: Scientific/Engineering :: GIS", +] + +dependencies = [ + "numpy" +] + +#dynamic = ["version"] + +#[tool.scikit-build.dynamic] +#version = { attr = "pdal.__version__" } +version="1.4.0" + +[project.optional-dependencies] +test = [ +] + +[tool.setuptools] +package-dir = {"" = "src"} +zip-safe = false + +[project.urls] +homepage = "https://pdal.io" +documentation = "https://pdal.io" +repository = "https://github.com/PDAL/python-plugins" +changelog = "https://github.com/PDAL/python-plugins/blob/main/README.rst" + [build-system] -requires = ["scikit-build", "cmake", "ninja", "numpy"] +requires = ["scikit-build-core", "numpy", "pybind11[global]"] +build-backend = "scikit_build_core.build" + + +[tool.scikit-build] +build-dir = "build/{wheel_tag}" +sdist.exclude = [".github"] +sdist.cmake = true +cmake.build-type = "RelWithDebugInfo" +sdist.include = [ + "src", + "CMakeLists.txt" +] +cmake.verbose = false +logging.level = "ERROR" + +#[tool.scikit-build.cmake.define] +#WITH_TESTS = "ON" diff --git a/setup.py b/setup.py deleted file mode 100644 index 7639d3b..0000000 --- a/setup.py +++ /dev/null @@ -1,31 +0,0 @@ -from skbuild import setup - -with open("README.rst", "r", encoding="utf-8") as fp: - readme = fp.read() - -setup( - name="pdal-plugins", - version="1.3.0", - description="Point cloud data processing Python plugins", - license="BSD", - keywords="point cloud spatial", - author="Howard Butler", - author_email="howard@hobu.co", - maintainer="Howard Butler", - maintainer_email="howard@hobu.co", - url="https://pdal.io", - long_description=readme, - long_description_content_type="text/x-rst", - packages=["pdal"], - classifiers=[ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "Intended Audience :: Science/Research", - "License :: OSI Approved :: BSD License", - "Operating System :: OS Independent", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Topic :: Scientific/Engineering :: GIS", - ], -) diff --git a/pdal/filters/PythonFilter.cpp b/src/pdal/filters/PythonFilter.cpp similarity index 100% rename from pdal/filters/PythonFilter.cpp rename to src/pdal/filters/PythonFilter.cpp diff --git a/pdal/filters/PythonFilter.hpp b/src/pdal/filters/PythonFilter.hpp similarity index 100% rename from pdal/filters/PythonFilter.hpp rename to src/pdal/filters/PythonFilter.hpp diff --git a/pdal/io/NumpyReader.cpp b/src/pdal/io/NumpyReader.cpp similarity index 100% rename from pdal/io/NumpyReader.cpp rename to src/pdal/io/NumpyReader.cpp diff --git a/pdal/io/NumpyReader.hpp b/src/pdal/io/NumpyReader.hpp similarity index 100% rename from pdal/io/NumpyReader.hpp rename to src/pdal/io/NumpyReader.hpp diff --git a/pdal/nlohmann/json.hpp b/src/pdal/nlohmann/json.hpp similarity index 100% rename from pdal/nlohmann/json.hpp rename to src/pdal/nlohmann/json.hpp diff --git a/pdal/plang/Environment.cpp b/src/pdal/plang/Environment.cpp similarity index 100% rename from pdal/plang/Environment.cpp rename to src/pdal/plang/Environment.cpp diff --git a/pdal/plang/Environment.hpp b/src/pdal/plang/Environment.hpp similarity index 100% rename from pdal/plang/Environment.hpp rename to src/pdal/plang/Environment.hpp diff --git a/pdal/plang/Invocation.cpp b/src/pdal/plang/Invocation.cpp similarity index 100% rename from pdal/plang/Invocation.cpp rename to src/pdal/plang/Invocation.cpp diff --git a/pdal/plang/Invocation.hpp b/src/pdal/plang/Invocation.hpp similarity index 100% rename from pdal/plang/Invocation.hpp rename to src/pdal/plang/Invocation.hpp diff --git a/pdal/plang/Redirector.cpp b/src/pdal/plang/Redirector.cpp similarity index 100% rename from pdal/plang/Redirector.cpp rename to src/pdal/plang/Redirector.cpp diff --git a/pdal/plang/Redirector.hpp b/src/pdal/plang/Redirector.hpp similarity index 100% rename from pdal/plang/Redirector.hpp rename to src/pdal/plang/Redirector.hpp diff --git a/pdal/plang/Script.cpp b/src/pdal/plang/Script.cpp similarity index 100% rename from pdal/plang/Script.cpp rename to src/pdal/plang/Script.cpp diff --git a/pdal/plang/Script.hpp b/src/pdal/plang/Script.hpp similarity index 100% rename from pdal/plang/Script.hpp rename to src/pdal/plang/Script.hpp diff --git a/pdal/plang/gil.hpp b/src/pdal/plang/gil.hpp similarity index 100% rename from pdal/plang/gil.hpp rename to src/pdal/plang/gil.hpp diff --git a/pdal/test/NumpyReaderTest.cpp b/src/pdal/test/NumpyReaderTest.cpp similarity index 100% rename from pdal/test/NumpyReaderTest.cpp rename to src/pdal/test/NumpyReaderTest.cpp diff --git a/pdal/test/PythonFilterTest.cpp b/src/pdal/test/PythonFilterTest.cpp similarity index 100% rename from pdal/test/PythonFilterTest.cpp rename to src/pdal/test/PythonFilterTest.cpp diff --git a/pdal/test/Support.cpp b/src/pdal/test/Support.cpp similarity index 100% rename from pdal/test/Support.cpp rename to src/pdal/test/Support.cpp diff --git a/pdal/test/Support.hpp b/src/pdal/test/Support.hpp similarity index 100% rename from pdal/test/Support.hpp rename to src/pdal/test/Support.hpp diff --git a/pdal/test/TestConfig.hpp b/src/pdal/test/TestConfig.hpp similarity index 93% rename from pdal/test/TestConfig.hpp rename to src/pdal/test/TestConfig.hpp index 4c1f1d3..312839a 100644 --- a/pdal/test/TestConfig.hpp +++ b/src/pdal/test/TestConfig.hpp @@ -35,14 +35,14 @@ #ifndef UNITTEST_TESTCONFIG_INCLUDED #define UNITTEST_TESTCONFIG_INCLUDED -#define UNITTEST_TESTCONFIG_DATA_PATH "./pdal/test/data/" -#define UNITTEST_TESTCONFIG_CONFIGURED_PATH "./pdal/test/data/" +#define UNITTEST_TESTCONFIG_DATA_PATH "./src/pdal/test/data/" +#define UNITTEST_TESTCONFIG_CONFIGURED_PATH "./src/pdal/test/data/" #define UNITTEST_TESTCONFIG_BINARY_PATH "" #define UNITTEST_TESTCONFIG_OCI_CONNECTION "" #include -namespace TestConfig +namespace TestConfig { inline std::string dataPath() diff --git a/pdal/test/data/1.2-with-color.las b/src/pdal/test/data/1.2-with-color.las similarity index 100% rename from pdal/test/data/1.2-with-color.las rename to src/pdal/test/data/1.2-with-color.las diff --git a/pdal/test/data/1.2-with-color.npy b/src/pdal/test/data/1.2-with-color.npy similarity index 100% rename from pdal/test/data/1.2-with-color.npy rename to src/pdal/test/data/1.2-with-color.npy diff --git a/pdal/test/data/autzen-utm.las b/src/pdal/test/data/autzen-utm.las similarity index 100% rename from pdal/test/data/autzen-utm.las rename to src/pdal/test/data/autzen-utm.las diff --git a/pdal/test/data/autzen.las b/src/pdal/test/data/autzen.las similarity index 100% rename from pdal/test/data/autzen.las rename to src/pdal/test/data/autzen.las diff --git a/pdal/test/data/four-floats-be.bin b/src/pdal/test/data/four-floats-be.bin similarity index 100% rename from pdal/test/data/four-floats-be.bin rename to src/pdal/test/data/four-floats-be.bin diff --git a/pdal/test/data/four-floats.py b/src/pdal/test/data/four-floats.py similarity index 100% rename from pdal/test/data/four-floats.py rename to src/pdal/test/data/four-floats.py diff --git a/pdal/test/data/logs/log_py.txt b/src/pdal/test/data/logs/log_py.txt similarity index 100% rename from pdal/test/data/logs/log_py.txt rename to src/pdal/test/data/logs/log_py.txt diff --git a/pdal/test/data/perlin.npy b/src/pdal/test/data/perlin.npy similarity index 100% rename from pdal/test/data/perlin.npy rename to src/pdal/test/data/perlin.npy diff --git a/pdal/test/data/pipeline/crop_wkt_2d_classification.json b/src/pdal/test/data/pipeline/crop_wkt_2d_classification.json similarity index 93% rename from pdal/test/data/pipeline/crop_wkt_2d_classification.json rename to src/pdal/test/data/pipeline/crop_wkt_2d_classification.json index dda4c6d..2090826 100644 --- a/pdal/test/data/pipeline/crop_wkt_2d_classification.json +++ b/src/pdal/test/data/pipeline/crop_wkt_2d_classification.json @@ -1,6 +1,6 @@ { "pipeline":[ - "./pdal/test/data/1.2-with-color.las", + "./src/pdal/test/data/1.2-with-color.las", { "type":"filters.crop", "polygon":"POLYGON ((636889.4129512392682955 851528.5122932585654780, 636899.1423342394409701 851475.0006867571501061, 636899.1423342394409701 851475.0006867571501061, 636928.3304832403082401 851494.4594527576118708, 636928.3304832403082401 851494.4594527576118708, 636928.3304832403082401 851494.4594527576118708, 636976.9773982415208593 851513.9182187581900507, 636976.9773982415208593 851513.9182187581900507, 637069.4065367440925911 851475.0006867571501061, 637132.6475262457970530 851445.8125377562828362, 637132.6475262457970530 851445.8125377562828362, 637336.9645692512858659 851411.7596972554456443, 637336.9645692512858659 851411.7596972554456443, 637473.1759312548674643 851158.7957392486277968, 637589.9285272579872981 850711.2441212366102263, 637244.5354307487141341 850511.7917697312077507, 636758.0662807356566191 850667.4618977354839444, 636539.1551632297923788 851056.6372177458833903, 636889.4129512392682955 851528.5122932585654780))", @@ -13,7 +13,7 @@ "module":"anything" }, { - "filename":"./pdal/test/temp/crop-wkt-2d-classification.las", + "filename":"./src/pdal/test/temp/crop-wkt-2d-classification.las", "compression":false } ] diff --git a/pdal/test/data/pipeline/from-module.json b/src/pdal/test/data/pipeline/from-module.json similarity index 55% rename from pdal/test/data/pipeline/from-module.json rename to src/pdal/test/data/pipeline/from-module.json index 1bcce4e..b2f0157 100644 --- a/pdal/test/data/pipeline/from-module.json +++ b/src/pdal/test/data/pipeline/from-module.json @@ -1,9 +1,9 @@ { "pipeline":[ - "./pdal/test/data/1.2-with-color.las", + "./src/pdal/test/data/1.2-with-color.las", { "type": "filters.python", - "script": "./pdal/test/data/test1.py", + "script": "./src/pdal/test/data/test1.py", "module": "anything", "function": "fff" } diff --git a/pdal/test/data/pipeline/predicate-embed.json b/src/pdal/test/data/pipeline/predicate-embed.json similarity index 86% rename from pdal/test/data/pipeline/predicate-embed.json rename to src/pdal/test/data/pipeline/predicate-embed.json index cc2b7af..60284da 100644 --- a/pdal/test/data/pipeline/predicate-embed.json +++ b/src/pdal/test/data/pipeline/predicate-embed.json @@ -1,6 +1,6 @@ { "pipeline":[ - "./pdal/test/data/1.2-with-color.las", + "./src/pdal/test/data/1.2-with-color.las", { "type":"filters.python", "module":"anything", diff --git a/pdal/test/data/pipeline/predicate-keep-ground-and-unclass.json b/src/pdal/test/data/pipeline/predicate-keep-ground-and-unclass.json similarity index 88% rename from pdal/test/data/pipeline/predicate-keep-ground-and-unclass.json rename to src/pdal/test/data/pipeline/predicate-keep-ground-and-unclass.json index 4c1d5ae..55ecc72 100644 --- a/pdal/test/data/pipeline/predicate-keep-ground-and-unclass.json +++ b/src/pdal/test/data/pipeline/predicate-keep-ground-and-unclass.json @@ -1,12 +1,12 @@ { "pipeline":[ - "./pdal/test/data/autzen.las", + "./src/pdal/test/data/autzen.las", { "type":"filters.python", "module":"anything", "function":"filter", "source":"import numpy as np\n\ndef filter(ins,outs):\n\tcls = ins['Classification']\n\n\tkeep_classes = [1,2]\n\n\t# Use the first test for our base array.\n\tkeep = np.equal(cls, keep_classes[0])\n\n\t# For 1:n, test each predicate and join back\n\t# to our existing predicate array\n\tfor k in range(1,len(keep_classes)):\n\t\tt = np.equal(cls, keep_classes[k])\n\t\tkeep = keep + t\n\n\touts['Mask'] = keep\n\treturn True" }, - "./pdal/test/temp/out2.las" + "./src/pdal/test/temp/out2.las" ] } diff --git a/pdal/test/data/pipeline/predicate-keep-last-return.json b/src/pdal/test/data/pipeline/predicate-keep-last-return.json similarity index 84% rename from pdal/test/data/pipeline/predicate-keep-last-return.json rename to src/pdal/test/data/pipeline/predicate-keep-last-return.json index 61ea576..504a34c 100644 --- a/pdal/test/data/pipeline/predicate-keep-last-return.json +++ b/src/pdal/test/data/pipeline/predicate-keep-last-return.json @@ -1,6 +1,6 @@ { "pipeline":[ - "./pdal/test/data/autzen.las", + "./src/pdal/test/data/autzen.las", { "type":"filters.stats" }, @@ -10,6 +10,6 @@ "function":"filter", "source":"import numpy as np\n\ndef filter(ins,outs):\n\tret = ins['ReturnNumber']\n\tret_no = ins['NumberOfReturns']\n\n\t# Use the first test for our base array.\n\trets = np.equal(ret, ret_no)\n\n\touts['Mask'] = rets\n\treturn True" }, - "./pdal/test/temp/out2.las" + "./src/pdal/test/temp/out2.las" ] } diff --git a/pdal/test/data/pipeline/predicate-keep-specified-returns.json b/src/pdal/test/data/pipeline/predicate-keep-specified-returns.json similarity index 87% rename from pdal/test/data/pipeline/predicate-keep-specified-returns.json rename to src/pdal/test/data/pipeline/predicate-keep-specified-returns.json index c938209..fd67814 100644 --- a/pdal/test/data/pipeline/predicate-keep-specified-returns.json +++ b/src/pdal/test/data/pipeline/predicate-keep-specified-returns.json @@ -1,12 +1,12 @@ { "pipeline":[ - "./pdal/test/data/autzen.las", + "./src/pdal/test/data/autzen.las", { "type":"filters.python", "module":"anything", "function":"filter", "source":"import numpy as np\n\ndef filter(ins,outs):\n\tret = ins['ReturnNumber']\n\n\tkeep_ret = [0, 1,2]\n\n\t# Use the first test for our base array.\n\tkeep = np.equal(ret, keep_ret[0])\n\n\t# For 1:n, test each predicate and join back\n\t# to our existing predicate array\n\tfor k in range(1, len(keep_ret)):\n\t\tt = np.equal(ret, keep_ret[k])\n\t\tkeep = keep + t\n\n\touts['Mask'] = keep\n\treturn True" }, - "./pdal/test/temp/out2.las" + "./src/pdal/test/temp/out2.las" ] } diff --git a/pdal/test/data/pipeline/programmable-update-y-dims.json b/src/pdal/test/data/pipeline/programmable-update-y-dims.json similarity index 86% rename from pdal/test/data/pipeline/programmable-update-y-dims.json rename to src/pdal/test/data/pipeline/programmable-update-y-dims.json index 00b1731..f82a868 100644 --- a/pdal/test/data/pipeline/programmable-update-y-dims.json +++ b/src/pdal/test/data/pipeline/programmable-update-y-dims.json @@ -1,6 +1,6 @@ { "pipeline":[ - "./pdal/test/data/autzen-utm.las", + "./src/pdal/test/data/autzen-utm.las", { "type":"filters.python", "function":"myfunc", diff --git a/pdal/test/data/pipeline/reproject.json b/src/pdal/test/data/pipeline/reproject.json similarity index 86% rename from pdal/test/data/pipeline/reproject.json rename to src/pdal/test/data/pipeline/reproject.json index f05f300..158547f 100644 --- a/pdal/test/data/pipeline/reproject.json +++ b/src/pdal/test/data/pipeline/reproject.json @@ -1,7 +1,7 @@ { "pipeline":[ { - "filename":"./pdal/test/data/1.2-with-color.las", + "filename":"./src/pdal/test/data/1.2-with-color.las", "spatialreference":"EPSG:2993" }, { @@ -10,6 +10,6 @@ "source":"import numpy as np\n\ndef filter(ins,outs):\n\tcls = ins['Classification']\n\n\tkeep_classes = [1]\n\n\t# Use the first test for our base array.\n\tkeep = np.equal(cls, keep_classes[0])\n\n\t# For 1:n, test each predicate and join back\n\t# to our existing predicate array\n\tfor k in range(1,len(keep_classes)):\n\t\tt = np.equal(cls, keep_classes[k])\n\t\tkeep = keep + t\n\n\touts['Mask'] = keep\n\treturn True", "module":"anything" }, - "./pdal/test/temp/out2.las" + "./src/pdal/test/temp/out2.las" ] } diff --git a/pdal/test/data/test1.py b/src/pdal/test/data/test1.py similarity index 100% rename from pdal/test/data/test1.py rename to src/pdal/test/data/test1.py diff --git a/pdal/test/data/threedim.npy b/src/pdal/test/data/threedim.npy similarity index 100% rename from pdal/test/data/threedim.npy rename to src/pdal/test/data/threedim.npy diff --git a/pdal/test/data/threedim.py b/src/pdal/test/data/threedim.py similarity index 100% rename from pdal/test/data/threedim.py rename to src/pdal/test/data/threedim.py diff --git a/pdal/test/data/twodim.npy b/src/pdal/test/data/twodim.npy similarity index 100% rename from pdal/test/data/twodim.npy rename to src/pdal/test/data/twodim.npy diff --git a/pdal/test/gtest/CMakeLists.txt b/src/pdal/test/gtest/CMakeLists.txt similarity index 100% rename from pdal/test/gtest/CMakeLists.txt rename to src/pdal/test/gtest/CMakeLists.txt diff --git a/pdal/test/gtest/CONTRIBUTORS b/src/pdal/test/gtest/CONTRIBUTORS similarity index 100% rename from pdal/test/gtest/CONTRIBUTORS rename to src/pdal/test/gtest/CONTRIBUTORS diff --git a/pdal/test/gtest/LICENSE b/src/pdal/test/gtest/LICENSE similarity index 100% rename from pdal/test/gtest/LICENSE rename to src/pdal/test/gtest/LICENSE diff --git a/pdal/test/gtest/README.md b/src/pdal/test/gtest/README.md similarity index 100% rename from pdal/test/gtest/README.md rename to src/pdal/test/gtest/README.md diff --git a/pdal/test/gtest/cmake/Config.cmake.in b/src/pdal/test/gtest/cmake/Config.cmake.in similarity index 100% rename from pdal/test/gtest/cmake/Config.cmake.in rename to src/pdal/test/gtest/cmake/Config.cmake.in diff --git a/pdal/test/gtest/cmake/gtest.pc.in b/src/pdal/test/gtest/cmake/gtest.pc.in similarity index 100% rename from pdal/test/gtest/cmake/gtest.pc.in rename to src/pdal/test/gtest/cmake/gtest.pc.in diff --git a/pdal/test/gtest/cmake/gtest_main.pc.in b/src/pdal/test/gtest/cmake/gtest_main.pc.in similarity index 100% rename from pdal/test/gtest/cmake/gtest_main.pc.in rename to src/pdal/test/gtest/cmake/gtest_main.pc.in diff --git a/pdal/test/gtest/cmake/internal_utils.cmake b/src/pdal/test/gtest/cmake/internal_utils.cmake similarity index 100% rename from pdal/test/gtest/cmake/internal_utils.cmake rename to src/pdal/test/gtest/cmake/internal_utils.cmake diff --git a/pdal/test/gtest/cmake/libgtest.la.in b/src/pdal/test/gtest/cmake/libgtest.la.in similarity index 100% rename from pdal/test/gtest/cmake/libgtest.la.in rename to src/pdal/test/gtest/cmake/libgtest.la.in diff --git a/pdal/test/gtest/docs/advanced.md b/src/pdal/test/gtest/docs/advanced.md similarity index 100% rename from pdal/test/gtest/docs/advanced.md rename to src/pdal/test/gtest/docs/advanced.md diff --git a/pdal/test/gtest/docs/faq.md b/src/pdal/test/gtest/docs/faq.md similarity index 100% rename from pdal/test/gtest/docs/faq.md rename to src/pdal/test/gtest/docs/faq.md diff --git a/pdal/test/gtest/docs/pkgconfig.md b/src/pdal/test/gtest/docs/pkgconfig.md similarity index 100% rename from pdal/test/gtest/docs/pkgconfig.md rename to src/pdal/test/gtest/docs/pkgconfig.md diff --git a/pdal/test/gtest/docs/primer.md b/src/pdal/test/gtest/docs/primer.md similarity index 100% rename from pdal/test/gtest/docs/primer.md rename to src/pdal/test/gtest/docs/primer.md diff --git a/pdal/test/gtest/docs/pump_manual.md b/src/pdal/test/gtest/docs/pump_manual.md similarity index 100% rename from pdal/test/gtest/docs/pump_manual.md rename to src/pdal/test/gtest/docs/pump_manual.md diff --git a/pdal/test/gtest/docs/samples.md b/src/pdal/test/gtest/docs/samples.md similarity index 100% rename from pdal/test/gtest/docs/samples.md rename to src/pdal/test/gtest/docs/samples.md diff --git a/pdal/test/gtest/include/gtest/gtest-death-test.h b/src/pdal/test/gtest/include/gtest/gtest-death-test.h similarity index 100% rename from pdal/test/gtest/include/gtest/gtest-death-test.h rename to src/pdal/test/gtest/include/gtest/gtest-death-test.h diff --git a/pdal/test/gtest/include/gtest/gtest-matchers.h b/src/pdal/test/gtest/include/gtest/gtest-matchers.h similarity index 100% rename from pdal/test/gtest/include/gtest/gtest-matchers.h rename to src/pdal/test/gtest/include/gtest/gtest-matchers.h diff --git a/pdal/test/gtest/include/gtest/gtest-message.h b/src/pdal/test/gtest/include/gtest/gtest-message.h similarity index 100% rename from pdal/test/gtest/include/gtest/gtest-message.h rename to src/pdal/test/gtest/include/gtest/gtest-message.h diff --git a/pdal/test/gtest/include/gtest/gtest-param-test.h b/src/pdal/test/gtest/include/gtest/gtest-param-test.h similarity index 100% rename from pdal/test/gtest/include/gtest/gtest-param-test.h rename to src/pdal/test/gtest/include/gtest/gtest-param-test.h diff --git a/pdal/test/gtest/include/gtest/gtest-printers.h b/src/pdal/test/gtest/include/gtest/gtest-printers.h similarity index 100% rename from pdal/test/gtest/include/gtest/gtest-printers.h rename to src/pdal/test/gtest/include/gtest/gtest-printers.h diff --git a/pdal/test/gtest/include/gtest/gtest-spi.h b/src/pdal/test/gtest/include/gtest/gtest-spi.h similarity index 100% rename from pdal/test/gtest/include/gtest/gtest-spi.h rename to src/pdal/test/gtest/include/gtest/gtest-spi.h diff --git a/pdal/test/gtest/include/gtest/gtest-test-part.h b/src/pdal/test/gtest/include/gtest/gtest-test-part.h similarity index 100% rename from pdal/test/gtest/include/gtest/gtest-test-part.h rename to src/pdal/test/gtest/include/gtest/gtest-test-part.h diff --git a/pdal/test/gtest/include/gtest/gtest-typed-test.h b/src/pdal/test/gtest/include/gtest/gtest-typed-test.h similarity index 100% rename from pdal/test/gtest/include/gtest/gtest-typed-test.h rename to src/pdal/test/gtest/include/gtest/gtest-typed-test.h diff --git a/pdal/test/gtest/include/gtest/gtest.h b/src/pdal/test/gtest/include/gtest/gtest.h similarity index 100% rename from pdal/test/gtest/include/gtest/gtest.h rename to src/pdal/test/gtest/include/gtest/gtest.h diff --git a/pdal/test/gtest/include/gtest/gtest_pred_impl.h b/src/pdal/test/gtest/include/gtest/gtest_pred_impl.h similarity index 100% rename from pdal/test/gtest/include/gtest/gtest_pred_impl.h rename to src/pdal/test/gtest/include/gtest/gtest_pred_impl.h diff --git a/pdal/test/gtest/include/gtest/gtest_prod.h b/src/pdal/test/gtest/include/gtest/gtest_prod.h similarity index 100% rename from pdal/test/gtest/include/gtest/gtest_prod.h rename to src/pdal/test/gtest/include/gtest/gtest_prod.h diff --git a/pdal/test/gtest/include/gtest/internal/custom/README.md b/src/pdal/test/gtest/include/gtest/internal/custom/README.md similarity index 100% rename from pdal/test/gtest/include/gtest/internal/custom/README.md rename to src/pdal/test/gtest/include/gtest/internal/custom/README.md diff --git a/pdal/test/gtest/include/gtest/internal/custom/gtest-port.h b/src/pdal/test/gtest/include/gtest/internal/custom/gtest-port.h similarity index 100% rename from pdal/test/gtest/include/gtest/internal/custom/gtest-port.h rename to src/pdal/test/gtest/include/gtest/internal/custom/gtest-port.h diff --git a/pdal/test/gtest/include/gtest/internal/custom/gtest-printers.h b/src/pdal/test/gtest/include/gtest/internal/custom/gtest-printers.h similarity index 100% rename from pdal/test/gtest/include/gtest/internal/custom/gtest-printers.h rename to src/pdal/test/gtest/include/gtest/internal/custom/gtest-printers.h diff --git a/pdal/test/gtest/include/gtest/internal/custom/gtest.h b/src/pdal/test/gtest/include/gtest/internal/custom/gtest.h similarity index 100% rename from pdal/test/gtest/include/gtest/internal/custom/gtest.h rename to src/pdal/test/gtest/include/gtest/internal/custom/gtest.h diff --git a/pdal/test/gtest/include/gtest/internal/gtest-death-test-internal.h b/src/pdal/test/gtest/include/gtest/internal/gtest-death-test-internal.h similarity index 100% rename from pdal/test/gtest/include/gtest/internal/gtest-death-test-internal.h rename to src/pdal/test/gtest/include/gtest/internal/gtest-death-test-internal.h diff --git a/pdal/test/gtest/include/gtest/internal/gtest-filepath.h b/src/pdal/test/gtest/include/gtest/internal/gtest-filepath.h similarity index 100% rename from pdal/test/gtest/include/gtest/internal/gtest-filepath.h rename to src/pdal/test/gtest/include/gtest/internal/gtest-filepath.h diff --git a/pdal/test/gtest/include/gtest/internal/gtest-internal.h b/src/pdal/test/gtest/include/gtest/internal/gtest-internal.h similarity index 100% rename from pdal/test/gtest/include/gtest/internal/gtest-internal.h rename to src/pdal/test/gtest/include/gtest/internal/gtest-internal.h diff --git a/pdal/test/gtest/include/gtest/internal/gtest-param-util.h b/src/pdal/test/gtest/include/gtest/internal/gtest-param-util.h similarity index 100% rename from pdal/test/gtest/include/gtest/internal/gtest-param-util.h rename to src/pdal/test/gtest/include/gtest/internal/gtest-param-util.h diff --git a/pdal/test/gtest/include/gtest/internal/gtest-port-arch.h b/src/pdal/test/gtest/include/gtest/internal/gtest-port-arch.h similarity index 100% rename from pdal/test/gtest/include/gtest/internal/gtest-port-arch.h rename to src/pdal/test/gtest/include/gtest/internal/gtest-port-arch.h diff --git a/pdal/test/gtest/include/gtest/internal/gtest-port.h b/src/pdal/test/gtest/include/gtest/internal/gtest-port.h similarity index 100% rename from pdal/test/gtest/include/gtest/internal/gtest-port.h rename to src/pdal/test/gtest/include/gtest/internal/gtest-port.h diff --git a/pdal/test/gtest/include/gtest/internal/gtest-string.h b/src/pdal/test/gtest/include/gtest/internal/gtest-string.h similarity index 100% rename from pdal/test/gtest/include/gtest/internal/gtest-string.h rename to src/pdal/test/gtest/include/gtest/internal/gtest-string.h diff --git a/pdal/test/gtest/include/gtest/internal/gtest-type-util.h b/src/pdal/test/gtest/include/gtest/internal/gtest-type-util.h similarity index 100% rename from pdal/test/gtest/include/gtest/internal/gtest-type-util.h rename to src/pdal/test/gtest/include/gtest/internal/gtest-type-util.h diff --git a/pdal/test/gtest/include/gtest/internal/gtest-type-util.h.pump b/src/pdal/test/gtest/include/gtest/internal/gtest-type-util.h.pump similarity index 100% rename from pdal/test/gtest/include/gtest/internal/gtest-type-util.h.pump rename to src/pdal/test/gtest/include/gtest/internal/gtest-type-util.h.pump diff --git a/pdal/test/gtest/samples/prime_tables.h b/src/pdal/test/gtest/samples/prime_tables.h similarity index 100% rename from pdal/test/gtest/samples/prime_tables.h rename to src/pdal/test/gtest/samples/prime_tables.h diff --git a/pdal/test/gtest/samples/sample1.cc b/src/pdal/test/gtest/samples/sample1.cc similarity index 100% rename from pdal/test/gtest/samples/sample1.cc rename to src/pdal/test/gtest/samples/sample1.cc diff --git a/pdal/test/gtest/samples/sample1.h b/src/pdal/test/gtest/samples/sample1.h similarity index 100% rename from pdal/test/gtest/samples/sample1.h rename to src/pdal/test/gtest/samples/sample1.h diff --git a/pdal/test/gtest/samples/sample10_unittest.cc b/src/pdal/test/gtest/samples/sample10_unittest.cc similarity index 100% rename from pdal/test/gtest/samples/sample10_unittest.cc rename to src/pdal/test/gtest/samples/sample10_unittest.cc diff --git a/pdal/test/gtest/samples/sample1_unittest.cc b/src/pdal/test/gtest/samples/sample1_unittest.cc similarity index 100% rename from pdal/test/gtest/samples/sample1_unittest.cc rename to src/pdal/test/gtest/samples/sample1_unittest.cc diff --git a/pdal/test/gtest/samples/sample2.cc b/src/pdal/test/gtest/samples/sample2.cc similarity index 100% rename from pdal/test/gtest/samples/sample2.cc rename to src/pdal/test/gtest/samples/sample2.cc diff --git a/pdal/test/gtest/samples/sample2.h b/src/pdal/test/gtest/samples/sample2.h similarity index 100% rename from pdal/test/gtest/samples/sample2.h rename to src/pdal/test/gtest/samples/sample2.h diff --git a/pdal/test/gtest/samples/sample2_unittest.cc b/src/pdal/test/gtest/samples/sample2_unittest.cc similarity index 100% rename from pdal/test/gtest/samples/sample2_unittest.cc rename to src/pdal/test/gtest/samples/sample2_unittest.cc diff --git a/pdal/test/gtest/samples/sample3-inl.h b/src/pdal/test/gtest/samples/sample3-inl.h similarity index 100% rename from pdal/test/gtest/samples/sample3-inl.h rename to src/pdal/test/gtest/samples/sample3-inl.h diff --git a/pdal/test/gtest/samples/sample3_unittest.cc b/src/pdal/test/gtest/samples/sample3_unittest.cc similarity index 100% rename from pdal/test/gtest/samples/sample3_unittest.cc rename to src/pdal/test/gtest/samples/sample3_unittest.cc diff --git a/pdal/test/gtest/samples/sample4.cc b/src/pdal/test/gtest/samples/sample4.cc similarity index 100% rename from pdal/test/gtest/samples/sample4.cc rename to src/pdal/test/gtest/samples/sample4.cc diff --git a/pdal/test/gtest/samples/sample4.h b/src/pdal/test/gtest/samples/sample4.h similarity index 100% rename from pdal/test/gtest/samples/sample4.h rename to src/pdal/test/gtest/samples/sample4.h diff --git a/pdal/test/gtest/samples/sample4_unittest.cc b/src/pdal/test/gtest/samples/sample4_unittest.cc similarity index 100% rename from pdal/test/gtest/samples/sample4_unittest.cc rename to src/pdal/test/gtest/samples/sample4_unittest.cc diff --git a/pdal/test/gtest/samples/sample5_unittest.cc b/src/pdal/test/gtest/samples/sample5_unittest.cc similarity index 100% rename from pdal/test/gtest/samples/sample5_unittest.cc rename to src/pdal/test/gtest/samples/sample5_unittest.cc diff --git a/pdal/test/gtest/samples/sample6_unittest.cc b/src/pdal/test/gtest/samples/sample6_unittest.cc similarity index 100% rename from pdal/test/gtest/samples/sample6_unittest.cc rename to src/pdal/test/gtest/samples/sample6_unittest.cc diff --git a/pdal/test/gtest/samples/sample7_unittest.cc b/src/pdal/test/gtest/samples/sample7_unittest.cc similarity index 100% rename from pdal/test/gtest/samples/sample7_unittest.cc rename to src/pdal/test/gtest/samples/sample7_unittest.cc diff --git a/pdal/test/gtest/samples/sample8_unittest.cc b/src/pdal/test/gtest/samples/sample8_unittest.cc similarity index 100% rename from pdal/test/gtest/samples/sample8_unittest.cc rename to src/pdal/test/gtest/samples/sample8_unittest.cc diff --git a/pdal/test/gtest/samples/sample9_unittest.cc b/src/pdal/test/gtest/samples/sample9_unittest.cc similarity index 100% rename from pdal/test/gtest/samples/sample9_unittest.cc rename to src/pdal/test/gtest/samples/sample9_unittest.cc diff --git a/pdal/test/gtest/scripts/common.py b/src/pdal/test/gtest/scripts/common.py similarity index 100% rename from pdal/test/gtest/scripts/common.py rename to src/pdal/test/gtest/scripts/common.py diff --git a/pdal/test/gtest/scripts/fuse_gtest_files.py b/src/pdal/test/gtest/scripts/fuse_gtest_files.py similarity index 100% rename from pdal/test/gtest/scripts/fuse_gtest_files.py rename to src/pdal/test/gtest/scripts/fuse_gtest_files.py diff --git a/pdal/test/gtest/scripts/gen_gtest_pred_impl.py b/src/pdal/test/gtest/scripts/gen_gtest_pred_impl.py similarity index 100% rename from pdal/test/gtest/scripts/gen_gtest_pred_impl.py rename to src/pdal/test/gtest/scripts/gen_gtest_pred_impl.py diff --git a/pdal/test/gtest/scripts/gtest-config.in b/src/pdal/test/gtest/scripts/gtest-config.in similarity index 100% rename from pdal/test/gtest/scripts/gtest-config.in rename to src/pdal/test/gtest/scripts/gtest-config.in diff --git a/pdal/test/gtest/scripts/pump.py b/src/pdal/test/gtest/scripts/pump.py similarity index 100% rename from pdal/test/gtest/scripts/pump.py rename to src/pdal/test/gtest/scripts/pump.py diff --git a/pdal/test/gtest/scripts/release_docs.py b/src/pdal/test/gtest/scripts/release_docs.py similarity index 100% rename from pdal/test/gtest/scripts/release_docs.py rename to src/pdal/test/gtest/scripts/release_docs.py diff --git a/pdal/test/gtest/scripts/test/Makefile b/src/pdal/test/gtest/scripts/test/Makefile similarity index 100% rename from pdal/test/gtest/scripts/test/Makefile rename to src/pdal/test/gtest/scripts/test/Makefile diff --git a/pdal/test/gtest/scripts/upload.py b/src/pdal/test/gtest/scripts/upload.py similarity index 100% rename from pdal/test/gtest/scripts/upload.py rename to src/pdal/test/gtest/scripts/upload.py diff --git a/pdal/test/gtest/scripts/upload_gtest.py b/src/pdal/test/gtest/scripts/upload_gtest.py similarity index 100% rename from pdal/test/gtest/scripts/upload_gtest.py rename to src/pdal/test/gtest/scripts/upload_gtest.py diff --git a/pdal/test/gtest/src/gtest-all.cc b/src/pdal/test/gtest/src/gtest-all.cc similarity index 100% rename from pdal/test/gtest/src/gtest-all.cc rename to src/pdal/test/gtest/src/gtest-all.cc diff --git a/pdal/test/gtest/src/gtest-death-test.cc b/src/pdal/test/gtest/src/gtest-death-test.cc similarity index 100% rename from pdal/test/gtest/src/gtest-death-test.cc rename to src/pdal/test/gtest/src/gtest-death-test.cc diff --git a/pdal/test/gtest/src/gtest-filepath.cc b/src/pdal/test/gtest/src/gtest-filepath.cc similarity index 100% rename from pdal/test/gtest/src/gtest-filepath.cc rename to src/pdal/test/gtest/src/gtest-filepath.cc diff --git a/pdal/test/gtest/src/gtest-internal-inl.h b/src/pdal/test/gtest/src/gtest-internal-inl.h similarity index 100% rename from pdal/test/gtest/src/gtest-internal-inl.h rename to src/pdal/test/gtest/src/gtest-internal-inl.h diff --git a/pdal/test/gtest/src/gtest-matchers.cc b/src/pdal/test/gtest/src/gtest-matchers.cc similarity index 100% rename from pdal/test/gtest/src/gtest-matchers.cc rename to src/pdal/test/gtest/src/gtest-matchers.cc diff --git a/pdal/test/gtest/src/gtest-port.cc b/src/pdal/test/gtest/src/gtest-port.cc similarity index 100% rename from pdal/test/gtest/src/gtest-port.cc rename to src/pdal/test/gtest/src/gtest-port.cc diff --git a/pdal/test/gtest/src/gtest-printers.cc b/src/pdal/test/gtest/src/gtest-printers.cc similarity index 100% rename from pdal/test/gtest/src/gtest-printers.cc rename to src/pdal/test/gtest/src/gtest-printers.cc diff --git a/pdal/test/gtest/src/gtest-test-part.cc b/src/pdal/test/gtest/src/gtest-test-part.cc similarity index 100% rename from pdal/test/gtest/src/gtest-test-part.cc rename to src/pdal/test/gtest/src/gtest-test-part.cc diff --git a/pdal/test/gtest/src/gtest-typed-test.cc b/src/pdal/test/gtest/src/gtest-typed-test.cc similarity index 100% rename from pdal/test/gtest/src/gtest-typed-test.cc rename to src/pdal/test/gtest/src/gtest-typed-test.cc diff --git a/pdal/test/gtest/src/gtest.cc b/src/pdal/test/gtest/src/gtest.cc similarity index 100% rename from pdal/test/gtest/src/gtest.cc rename to src/pdal/test/gtest/src/gtest.cc diff --git a/pdal/test/gtest/src/gtest_main.cc b/src/pdal/test/gtest/src/gtest_main.cc similarity index 100% rename from pdal/test/gtest/src/gtest_main.cc rename to src/pdal/test/gtest/src/gtest_main.cc diff --git a/pdal/test/gtest/test/BUILD.bazel b/src/pdal/test/gtest/test/BUILD.bazel similarity index 100% rename from pdal/test/gtest/test/BUILD.bazel rename to src/pdal/test/gtest/test/BUILD.bazel diff --git a/pdal/test/gtest/test/googletest-break-on-failure-unittest.py b/src/pdal/test/gtest/test/googletest-break-on-failure-unittest.py similarity index 100% rename from pdal/test/gtest/test/googletest-break-on-failure-unittest.py rename to src/pdal/test/gtest/test/googletest-break-on-failure-unittest.py diff --git a/pdal/test/gtest/test/googletest-break-on-failure-unittest_.cc b/src/pdal/test/gtest/test/googletest-break-on-failure-unittest_.cc similarity index 100% rename from pdal/test/gtest/test/googletest-break-on-failure-unittest_.cc rename to src/pdal/test/gtest/test/googletest-break-on-failure-unittest_.cc diff --git a/pdal/test/gtest/test/googletest-catch-exceptions-test.py b/src/pdal/test/gtest/test/googletest-catch-exceptions-test.py similarity index 100% rename from pdal/test/gtest/test/googletest-catch-exceptions-test.py rename to src/pdal/test/gtest/test/googletest-catch-exceptions-test.py diff --git a/pdal/test/gtest/test/googletest-catch-exceptions-test_.cc b/src/pdal/test/gtest/test/googletest-catch-exceptions-test_.cc similarity index 100% rename from pdal/test/gtest/test/googletest-catch-exceptions-test_.cc rename to src/pdal/test/gtest/test/googletest-catch-exceptions-test_.cc diff --git a/pdal/test/gtest/test/googletest-color-test.py b/src/pdal/test/gtest/test/googletest-color-test.py similarity index 100% rename from pdal/test/gtest/test/googletest-color-test.py rename to src/pdal/test/gtest/test/googletest-color-test.py diff --git a/pdal/test/gtest/test/googletest-color-test_.cc b/src/pdal/test/gtest/test/googletest-color-test_.cc similarity index 100% rename from pdal/test/gtest/test/googletest-color-test_.cc rename to src/pdal/test/gtest/test/googletest-color-test_.cc diff --git a/pdal/test/gtest/test/googletest-death-test-test.cc b/src/pdal/test/gtest/test/googletest-death-test-test.cc similarity index 100% rename from pdal/test/gtest/test/googletest-death-test-test.cc rename to src/pdal/test/gtest/test/googletest-death-test-test.cc diff --git a/pdal/test/gtest/test/googletest-death-test_ex_test.cc b/src/pdal/test/gtest/test/googletest-death-test_ex_test.cc similarity index 100% rename from pdal/test/gtest/test/googletest-death-test_ex_test.cc rename to src/pdal/test/gtest/test/googletest-death-test_ex_test.cc diff --git a/pdal/test/gtest/test/googletest-env-var-test.py b/src/pdal/test/gtest/test/googletest-env-var-test.py similarity index 100% rename from pdal/test/gtest/test/googletest-env-var-test.py rename to src/pdal/test/gtest/test/googletest-env-var-test.py diff --git a/pdal/test/gtest/test/googletest-env-var-test_.cc b/src/pdal/test/gtest/test/googletest-env-var-test_.cc similarity index 100% rename from pdal/test/gtest/test/googletest-env-var-test_.cc rename to src/pdal/test/gtest/test/googletest-env-var-test_.cc diff --git a/pdal/test/gtest/test/googletest-filepath-test.cc b/src/pdal/test/gtest/test/googletest-filepath-test.cc similarity index 100% rename from pdal/test/gtest/test/googletest-filepath-test.cc rename to src/pdal/test/gtest/test/googletest-filepath-test.cc diff --git a/pdal/test/gtest/test/googletest-filter-unittest.py b/src/pdal/test/gtest/test/googletest-filter-unittest.py similarity index 100% rename from pdal/test/gtest/test/googletest-filter-unittest.py rename to src/pdal/test/gtest/test/googletest-filter-unittest.py diff --git a/pdal/test/gtest/test/googletest-filter-unittest_.cc b/src/pdal/test/gtest/test/googletest-filter-unittest_.cc similarity index 100% rename from pdal/test/gtest/test/googletest-filter-unittest_.cc rename to src/pdal/test/gtest/test/googletest-filter-unittest_.cc diff --git a/pdal/test/gtest/test/googletest-json-outfiles-test.py b/src/pdal/test/gtest/test/googletest-json-outfiles-test.py similarity index 100% rename from pdal/test/gtest/test/googletest-json-outfiles-test.py rename to src/pdal/test/gtest/test/googletest-json-outfiles-test.py diff --git a/pdal/test/gtest/test/googletest-json-output-unittest.py b/src/pdal/test/gtest/test/googletest-json-output-unittest.py similarity index 100% rename from pdal/test/gtest/test/googletest-json-output-unittest.py rename to src/pdal/test/gtest/test/googletest-json-output-unittest.py diff --git a/pdal/test/gtest/test/googletest-list-tests-unittest.py b/src/pdal/test/gtest/test/googletest-list-tests-unittest.py similarity index 100% rename from pdal/test/gtest/test/googletest-list-tests-unittest.py rename to src/pdal/test/gtest/test/googletest-list-tests-unittest.py diff --git a/pdal/test/gtest/test/googletest-list-tests-unittest_.cc b/src/pdal/test/gtest/test/googletest-list-tests-unittest_.cc similarity index 100% rename from pdal/test/gtest/test/googletest-list-tests-unittest_.cc rename to src/pdal/test/gtest/test/googletest-list-tests-unittest_.cc diff --git a/pdal/test/gtest/test/googletest-listener-test.cc b/src/pdal/test/gtest/test/googletest-listener-test.cc similarity index 100% rename from pdal/test/gtest/test/googletest-listener-test.cc rename to src/pdal/test/gtest/test/googletest-listener-test.cc diff --git a/pdal/test/gtest/test/googletest-message-test.cc b/src/pdal/test/gtest/test/googletest-message-test.cc similarity index 100% rename from pdal/test/gtest/test/googletest-message-test.cc rename to src/pdal/test/gtest/test/googletest-message-test.cc diff --git a/pdal/test/gtest/test/googletest-options-test.cc b/src/pdal/test/gtest/test/googletest-options-test.cc similarity index 100% rename from pdal/test/gtest/test/googletest-options-test.cc rename to src/pdal/test/gtest/test/googletest-options-test.cc diff --git a/pdal/test/gtest/test/googletest-output-test-golden-lin.txt b/src/pdal/test/gtest/test/googletest-output-test-golden-lin.txt similarity index 100% rename from pdal/test/gtest/test/googletest-output-test-golden-lin.txt rename to src/pdal/test/gtest/test/googletest-output-test-golden-lin.txt diff --git a/pdal/test/gtest/test/googletest-output-test.py b/src/pdal/test/gtest/test/googletest-output-test.py similarity index 100% rename from pdal/test/gtest/test/googletest-output-test.py rename to src/pdal/test/gtest/test/googletest-output-test.py diff --git a/pdal/test/gtest/test/googletest-output-test_.cc b/src/pdal/test/gtest/test/googletest-output-test_.cc similarity index 100% rename from pdal/test/gtest/test/googletest-output-test_.cc rename to src/pdal/test/gtest/test/googletest-output-test_.cc diff --git a/pdal/test/gtest/test/googletest-param-test-invalid-name1-test.py b/src/pdal/test/gtest/test/googletest-param-test-invalid-name1-test.py similarity index 100% rename from pdal/test/gtest/test/googletest-param-test-invalid-name1-test.py rename to src/pdal/test/gtest/test/googletest-param-test-invalid-name1-test.py diff --git a/pdal/test/gtest/test/googletest-param-test-invalid-name1-test_.cc b/src/pdal/test/gtest/test/googletest-param-test-invalid-name1-test_.cc similarity index 100% rename from pdal/test/gtest/test/googletest-param-test-invalid-name1-test_.cc rename to src/pdal/test/gtest/test/googletest-param-test-invalid-name1-test_.cc diff --git a/pdal/test/gtest/test/googletest-param-test-invalid-name2-test.py b/src/pdal/test/gtest/test/googletest-param-test-invalid-name2-test.py similarity index 100% rename from pdal/test/gtest/test/googletest-param-test-invalid-name2-test.py rename to src/pdal/test/gtest/test/googletest-param-test-invalid-name2-test.py diff --git a/pdal/test/gtest/test/googletest-param-test-invalid-name2-test_.cc b/src/pdal/test/gtest/test/googletest-param-test-invalid-name2-test_.cc similarity index 100% rename from pdal/test/gtest/test/googletest-param-test-invalid-name2-test_.cc rename to src/pdal/test/gtest/test/googletest-param-test-invalid-name2-test_.cc diff --git a/pdal/test/gtest/test/googletest-param-test-test.cc b/src/pdal/test/gtest/test/googletest-param-test-test.cc similarity index 100% rename from pdal/test/gtest/test/googletest-param-test-test.cc rename to src/pdal/test/gtest/test/googletest-param-test-test.cc diff --git a/pdal/test/gtest/test/googletest-param-test-test.h b/src/pdal/test/gtest/test/googletest-param-test-test.h similarity index 100% rename from pdal/test/gtest/test/googletest-param-test-test.h rename to src/pdal/test/gtest/test/googletest-param-test-test.h diff --git a/pdal/test/gtest/test/googletest-param-test2-test.cc b/src/pdal/test/gtest/test/googletest-param-test2-test.cc similarity index 100% rename from pdal/test/gtest/test/googletest-param-test2-test.cc rename to src/pdal/test/gtest/test/googletest-param-test2-test.cc diff --git a/pdal/test/gtest/test/googletest-port-test.cc b/src/pdal/test/gtest/test/googletest-port-test.cc similarity index 100% rename from pdal/test/gtest/test/googletest-port-test.cc rename to src/pdal/test/gtest/test/googletest-port-test.cc diff --git a/pdal/test/gtest/test/googletest-printers-test.cc b/src/pdal/test/gtest/test/googletest-printers-test.cc similarity index 100% rename from pdal/test/gtest/test/googletest-printers-test.cc rename to src/pdal/test/gtest/test/googletest-printers-test.cc diff --git a/pdal/test/gtest/test/googletest-shuffle-test.py b/src/pdal/test/gtest/test/googletest-shuffle-test.py similarity index 100% rename from pdal/test/gtest/test/googletest-shuffle-test.py rename to src/pdal/test/gtest/test/googletest-shuffle-test.py diff --git a/pdal/test/gtest/test/googletest-shuffle-test_.cc b/src/pdal/test/gtest/test/googletest-shuffle-test_.cc similarity index 100% rename from pdal/test/gtest/test/googletest-shuffle-test_.cc rename to src/pdal/test/gtest/test/googletest-shuffle-test_.cc diff --git a/pdal/test/gtest/test/googletest-test-part-test.cc b/src/pdal/test/gtest/test/googletest-test-part-test.cc similarity index 100% rename from pdal/test/gtest/test/googletest-test-part-test.cc rename to src/pdal/test/gtest/test/googletest-test-part-test.cc diff --git a/pdal/test/gtest/test/googletest-test2_test.cc b/src/pdal/test/gtest/test/googletest-test2_test.cc similarity index 100% rename from pdal/test/gtest/test/googletest-test2_test.cc rename to src/pdal/test/gtest/test/googletest-test2_test.cc diff --git a/pdal/test/gtest/test/googletest-throw-on-failure-test.py b/src/pdal/test/gtest/test/googletest-throw-on-failure-test.py similarity index 100% rename from pdal/test/gtest/test/googletest-throw-on-failure-test.py rename to src/pdal/test/gtest/test/googletest-throw-on-failure-test.py diff --git a/pdal/test/gtest/test/googletest-throw-on-failure-test_.cc b/src/pdal/test/gtest/test/googletest-throw-on-failure-test_.cc similarity index 100% rename from pdal/test/gtest/test/googletest-throw-on-failure-test_.cc rename to src/pdal/test/gtest/test/googletest-throw-on-failure-test_.cc diff --git a/pdal/test/gtest/test/googletest-uninitialized-test.py b/src/pdal/test/gtest/test/googletest-uninitialized-test.py similarity index 100% rename from pdal/test/gtest/test/googletest-uninitialized-test.py rename to src/pdal/test/gtest/test/googletest-uninitialized-test.py diff --git a/pdal/test/gtest/test/googletest-uninitialized-test_.cc b/src/pdal/test/gtest/test/googletest-uninitialized-test_.cc similarity index 100% rename from pdal/test/gtest/test/googletest-uninitialized-test_.cc rename to src/pdal/test/gtest/test/googletest-uninitialized-test_.cc diff --git a/pdal/test/gtest/test/gtest-typed-test2_test.cc b/src/pdal/test/gtest/test/gtest-typed-test2_test.cc similarity index 100% rename from pdal/test/gtest/test/gtest-typed-test2_test.cc rename to src/pdal/test/gtest/test/gtest-typed-test2_test.cc diff --git a/pdal/test/gtest/test/gtest-typed-test_test.cc b/src/pdal/test/gtest/test/gtest-typed-test_test.cc similarity index 100% rename from pdal/test/gtest/test/gtest-typed-test_test.cc rename to src/pdal/test/gtest/test/gtest-typed-test_test.cc diff --git a/pdal/test/gtest/test/gtest-typed-test_test.h b/src/pdal/test/gtest/test/gtest-typed-test_test.h similarity index 100% rename from pdal/test/gtest/test/gtest-typed-test_test.h rename to src/pdal/test/gtest/test/gtest-typed-test_test.h diff --git a/pdal/test/gtest/test/gtest-unittest-api_test.cc b/src/pdal/test/gtest/test/gtest-unittest-api_test.cc similarity index 100% rename from pdal/test/gtest/test/gtest-unittest-api_test.cc rename to src/pdal/test/gtest/test/gtest-unittest-api_test.cc diff --git a/pdal/test/gtest/test/gtest_all_test.cc b/src/pdal/test/gtest/test/gtest_all_test.cc similarity index 100% rename from pdal/test/gtest/test/gtest_all_test.cc rename to src/pdal/test/gtest/test/gtest_all_test.cc diff --git a/pdal/test/gtest/test/gtest_assert_by_exception_test.cc b/src/pdal/test/gtest/test/gtest_assert_by_exception_test.cc similarity index 100% rename from pdal/test/gtest/test/gtest_assert_by_exception_test.cc rename to src/pdal/test/gtest/test/gtest_assert_by_exception_test.cc diff --git a/pdal/test/gtest/test/gtest_environment_test.cc b/src/pdal/test/gtest/test/gtest_environment_test.cc similarity index 100% rename from pdal/test/gtest/test/gtest_environment_test.cc rename to src/pdal/test/gtest/test/gtest_environment_test.cc diff --git a/pdal/test/gtest/test/gtest_help_test.py b/src/pdal/test/gtest/test/gtest_help_test.py similarity index 100% rename from pdal/test/gtest/test/gtest_help_test.py rename to src/pdal/test/gtest/test/gtest_help_test.py diff --git a/pdal/test/gtest/test/gtest_help_test_.cc b/src/pdal/test/gtest/test/gtest_help_test_.cc similarity index 100% rename from pdal/test/gtest/test/gtest_help_test_.cc rename to src/pdal/test/gtest/test/gtest_help_test_.cc diff --git a/pdal/test/gtest/test/gtest_json_test_utils.py b/src/pdal/test/gtest/test/gtest_json_test_utils.py similarity index 100% rename from pdal/test/gtest/test/gtest_json_test_utils.py rename to src/pdal/test/gtest/test/gtest_json_test_utils.py diff --git a/pdal/test/gtest/test/gtest_list_output_unittest.py b/src/pdal/test/gtest/test/gtest_list_output_unittest.py similarity index 100% rename from pdal/test/gtest/test/gtest_list_output_unittest.py rename to src/pdal/test/gtest/test/gtest_list_output_unittest.py diff --git a/pdal/test/gtest/test/gtest_list_output_unittest_.cc b/src/pdal/test/gtest/test/gtest_list_output_unittest_.cc similarity index 100% rename from pdal/test/gtest/test/gtest_list_output_unittest_.cc rename to src/pdal/test/gtest/test/gtest_list_output_unittest_.cc diff --git a/pdal/test/gtest/test/gtest_main_unittest.cc b/src/pdal/test/gtest/test/gtest_main_unittest.cc similarity index 100% rename from pdal/test/gtest/test/gtest_main_unittest.cc rename to src/pdal/test/gtest/test/gtest_main_unittest.cc diff --git a/pdal/test/gtest/test/gtest_no_test_unittest.cc b/src/pdal/test/gtest/test/gtest_no_test_unittest.cc similarity index 100% rename from pdal/test/gtest/test/gtest_no_test_unittest.cc rename to src/pdal/test/gtest/test/gtest_no_test_unittest.cc diff --git a/pdal/test/gtest/test/gtest_pred_impl_unittest.cc b/src/pdal/test/gtest/test/gtest_pred_impl_unittest.cc similarity index 100% rename from pdal/test/gtest/test/gtest_pred_impl_unittest.cc rename to src/pdal/test/gtest/test/gtest_pred_impl_unittest.cc diff --git a/pdal/test/gtest/test/gtest_premature_exit_test.cc b/src/pdal/test/gtest/test/gtest_premature_exit_test.cc similarity index 100% rename from pdal/test/gtest/test/gtest_premature_exit_test.cc rename to src/pdal/test/gtest/test/gtest_premature_exit_test.cc diff --git a/pdal/test/gtest/test/gtest_prod_test.cc b/src/pdal/test/gtest/test/gtest_prod_test.cc similarity index 100% rename from pdal/test/gtest/test/gtest_prod_test.cc rename to src/pdal/test/gtest/test/gtest_prod_test.cc diff --git a/pdal/test/gtest/test/gtest_repeat_test.cc b/src/pdal/test/gtest/test/gtest_repeat_test.cc similarity index 100% rename from pdal/test/gtest/test/gtest_repeat_test.cc rename to src/pdal/test/gtest/test/gtest_repeat_test.cc diff --git a/pdal/test/gtest/test/gtest_skip_environment_check_output_test.py b/src/pdal/test/gtest/test/gtest_skip_environment_check_output_test.py similarity index 100% rename from pdal/test/gtest/test/gtest_skip_environment_check_output_test.py rename to src/pdal/test/gtest/test/gtest_skip_environment_check_output_test.py diff --git a/pdal/test/gtest/test/gtest_skip_in_environment_setup_test.cc b/src/pdal/test/gtest/test/gtest_skip_in_environment_setup_test.cc similarity index 100% rename from pdal/test/gtest/test/gtest_skip_in_environment_setup_test.cc rename to src/pdal/test/gtest/test/gtest_skip_in_environment_setup_test.cc diff --git a/pdal/test/gtest/test/gtest_skip_test.cc b/src/pdal/test/gtest/test/gtest_skip_test.cc similarity index 100% rename from pdal/test/gtest/test/gtest_skip_test.cc rename to src/pdal/test/gtest/test/gtest_skip_test.cc diff --git a/pdal/test/gtest/test/gtest_sole_header_test.cc b/src/pdal/test/gtest/test/gtest_sole_header_test.cc similarity index 100% rename from pdal/test/gtest/test/gtest_sole_header_test.cc rename to src/pdal/test/gtest/test/gtest_sole_header_test.cc diff --git a/pdal/test/gtest/test/gtest_stress_test.cc b/src/pdal/test/gtest/test/gtest_stress_test.cc similarity index 100% rename from pdal/test/gtest/test/gtest_stress_test.cc rename to src/pdal/test/gtest/test/gtest_stress_test.cc diff --git a/pdal/test/gtest/test/gtest_test_macro_stack_footprint_test.cc b/src/pdal/test/gtest/test/gtest_test_macro_stack_footprint_test.cc similarity index 100% rename from pdal/test/gtest/test/gtest_test_macro_stack_footprint_test.cc rename to src/pdal/test/gtest/test/gtest_test_macro_stack_footprint_test.cc diff --git a/pdal/test/gtest/test/gtest_test_utils.py b/src/pdal/test/gtest/test/gtest_test_utils.py similarity index 100% rename from pdal/test/gtest/test/gtest_test_utils.py rename to src/pdal/test/gtest/test/gtest_test_utils.py diff --git a/pdal/test/gtest/test/gtest_testbridge_test.py b/src/pdal/test/gtest/test/gtest_testbridge_test.py similarity index 100% rename from pdal/test/gtest/test/gtest_testbridge_test.py rename to src/pdal/test/gtest/test/gtest_testbridge_test.py diff --git a/pdal/test/gtest/test/gtest_testbridge_test_.cc b/src/pdal/test/gtest/test/gtest_testbridge_test_.cc similarity index 100% rename from pdal/test/gtest/test/gtest_testbridge_test_.cc rename to src/pdal/test/gtest/test/gtest_testbridge_test_.cc diff --git a/pdal/test/gtest/test/gtest_throw_on_failure_ex_test.cc b/src/pdal/test/gtest/test/gtest_throw_on_failure_ex_test.cc similarity index 100% rename from pdal/test/gtest/test/gtest_throw_on_failure_ex_test.cc rename to src/pdal/test/gtest/test/gtest_throw_on_failure_ex_test.cc diff --git a/pdal/test/gtest/test/gtest_unittest.cc b/src/pdal/test/gtest/test/gtest_unittest.cc similarity index 100% rename from pdal/test/gtest/test/gtest_unittest.cc rename to src/pdal/test/gtest/test/gtest_unittest.cc diff --git a/pdal/test/gtest/test/gtest_xml_outfile1_test_.cc b/src/pdal/test/gtest/test/gtest_xml_outfile1_test_.cc similarity index 100% rename from pdal/test/gtest/test/gtest_xml_outfile1_test_.cc rename to src/pdal/test/gtest/test/gtest_xml_outfile1_test_.cc diff --git a/pdal/test/gtest/test/gtest_xml_outfile2_test_.cc b/src/pdal/test/gtest/test/gtest_xml_outfile2_test_.cc similarity index 100% rename from pdal/test/gtest/test/gtest_xml_outfile2_test_.cc rename to src/pdal/test/gtest/test/gtest_xml_outfile2_test_.cc diff --git a/pdal/test/gtest/test/gtest_xml_outfiles_test.py b/src/pdal/test/gtest/test/gtest_xml_outfiles_test.py similarity index 100% rename from pdal/test/gtest/test/gtest_xml_outfiles_test.py rename to src/pdal/test/gtest/test/gtest_xml_outfiles_test.py diff --git a/pdal/test/gtest/test/gtest_xml_output_unittest.py b/src/pdal/test/gtest/test/gtest_xml_output_unittest.py similarity index 100% rename from pdal/test/gtest/test/gtest_xml_output_unittest.py rename to src/pdal/test/gtest/test/gtest_xml_output_unittest.py diff --git a/pdal/test/gtest/test/gtest_xml_output_unittest_.cc b/src/pdal/test/gtest/test/gtest_xml_output_unittest_.cc similarity index 100% rename from pdal/test/gtest/test/gtest_xml_output_unittest_.cc rename to src/pdal/test/gtest/test/gtest_xml_output_unittest_.cc diff --git a/pdal/test/gtest/test/gtest_xml_test_utils.py b/src/pdal/test/gtest/test/gtest_xml_test_utils.py similarity index 100% rename from pdal/test/gtest/test/gtest_xml_test_utils.py rename to src/pdal/test/gtest/test/gtest_xml_test_utils.py diff --git a/pdal/test/gtest/test/production.cc b/src/pdal/test/gtest/test/production.cc similarity index 100% rename from pdal/test/gtest/test/production.cc rename to src/pdal/test/gtest/test/production.cc diff --git a/pdal/test/gtest/test/production.h b/src/pdal/test/gtest/test/production.h similarity index 100% rename from pdal/test/gtest/test/production.h rename to src/pdal/test/gtest/test/production.h diff --git a/pdal/test/temp/README.txt b/src/pdal/test/temp/README.txt similarity index 100% rename from pdal/test/temp/README.txt rename to src/pdal/test/temp/README.txt From fef1dbe5fcbb92778cd65f1a396288e34cc1c3a3 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Mon, 15 Apr 2024 12:17:42 -0500 Subject: [PATCH 02/14] remove Werror from cmake config --- src/pdal/test/gtest/cmake/internal_utils.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pdal/test/gtest/cmake/internal_utils.cmake b/src/pdal/test/gtest/cmake/internal_utils.cmake index 2f70f0b..6f02137 100644 --- a/src/pdal/test/gtest/cmake/internal_utils.cmake +++ b/src/pdal/test/gtest/cmake/internal_utils.cmake @@ -82,13 +82,13 @@ macro(config_compiler_and_linker) # http://stackoverflow.com/questions/3232669 explains the issue. set(cxx_base_flags "${cxx_base_flags} -wd4702") elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set(cxx_base_flags "-Wall -Wshadow -Werror -Wconversion") + set(cxx_base_flags "-Wall -Wshadow -Wconversion") set(cxx_exception_flags "-fexceptions") set(cxx_no_exception_flags "-fno-exceptions") set(cxx_strict_flags "-W -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wredundant-decls") set(cxx_no_rtti_flags "-fno-rtti") elseif (CMAKE_COMPILER_IS_GNUCXX) - set(cxx_base_flags "-Wall -Wshadow -Werror") + set(cxx_base_flags "-Wall -Wshadow ") if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0.0) set(cxx_base_flags "${cxx_base_flags} -Wno-error=dangling-else") endif() From d91e914b7942cae1fa5ce24b9fbd25c9bbb6edec Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Mon, 15 Apr 2024 12:43:10 -0500 Subject: [PATCH 03/14] adjust build settings --- .github/workflows/build.yml | 9 +++++---- pyproject.toml | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 609e592..93353de 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -50,7 +50,8 @@ jobs: EXT: ${{ matrix.os == 'windows-latest' && '.exe' || '' }} run: | export PYTHONHOME=$CONDA_PREFIX - export PDAL_DRIVER_PATH=$(python -c "import os, skbuild; print(os.path.join(skbuild.constants.SKBUILD_DIR(), 'cmake-build'))") + #export PDAL_DRIVER_PATH=$(python -c "import os, skbuild; print(os.path.join(skbuild.constants.SKBUILD_DIR(), 'cmake-build'))") + export PDAL_DRIVER_PATH=`pwd`:/build echo PDAL_DRIVER_PATH ls $PDAL_DRIVER_PATH pdal --drivers @@ -66,7 +67,7 @@ jobs: fail-fast: true matrix: os: ['ubuntu-latest'] - python-version: ['3.9'] + python-version: ['3.11'] steps: - uses: actions/checkout@v4 @@ -81,12 +82,12 @@ jobs: - name: Dependencies shell: bash -l {0} - run: mamba install --yes --quiet -c conda-forge scikit-build numpy python=${{ matrix.python-version }} pybind11 pdal + run: mamba install --yes --quiet -c conda-forge build python=${{ matrix.python-version }} pdal - name: sdist shell: bash -l {0} run: | - python setup.py sdist + python -m build . --sdist ls dist - uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/pyproject.toml b/pyproject.toml index 8236b91..a5ca47a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,10 +18,10 @@ classifiers = [ "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Topic :: Scientific/Engineering :: GIS", ] From 59d760cfb5b874712ece7d0edb291a6664303959 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Mon, 15 Apr 2024 12:44:54 -0500 Subject: [PATCH 04/14] typo --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 93353de..e3061f2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -51,7 +51,7 @@ jobs: run: | export PYTHONHOME=$CONDA_PREFIX #export PDAL_DRIVER_PATH=$(python -c "import os, skbuild; print(os.path.join(skbuild.constants.SKBUILD_DIR(), 'cmake-build'))") - export PDAL_DRIVER_PATH=`pwd`:/build + export PDAL_DRIVER_PATH=`pwd`/build echo PDAL_DRIVER_PATH ls $PDAL_DRIVER_PATH pdal --drivers From a4ebd0eaa5eee5c905665849159c481a4857801a Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Mon, 15 Apr 2024 13:35:11 -0500 Subject: [PATCH 05/14] scikit_build_core.builder.wheel_tag --- .github/workflows/build.yml | 43 ++----------------------------------- 1 file changed, 2 insertions(+), 41 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e3061f2..2d1e971 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -50,50 +50,11 @@ jobs: EXT: ${{ matrix.os == 'windows-latest' && '.exe' || '' }} run: | export PYTHONHOME=$CONDA_PREFIX - #export PDAL_DRIVER_PATH=$(python -c "import os, skbuild; print(os.path.join(skbuild.constants.SKBUILD_DIR(), 'cmake-build'))") - export PDAL_DRIVER_PATH=`pwd`/build - echo PDAL_DRIVER_PATH + export PDAL_DRIVER_PATH=`pwd`/build/$(python -c "scikit_build_core.builder.wheel_tag") + echo $PDAL_DRIVER_PATH ls $PDAL_DRIVER_PATH pdal --drivers $PDAL_DRIVER_PATH/pdal_filters_python_test$EXT $PDAL_DRIVER_PATH/pdal_io_numpy_test$EXT - dist: - name: Distribution - needs: [build] - runs-on: ${{ matrix.os }} - strategy: - fail-fast: true - matrix: - os: ['ubuntu-latest'] - python-version: ['3.11'] - - steps: - - uses: actions/checkout@v4 - - name: Setup micromamba - uses: conda-incubator/setup-miniconda@v3 - with: - miniforge-variant: Mambaforge - miniforge-version: latest - use-mamba: true - auto-update-conda: true - mamba-version: "*" - - - name: Dependencies - shell: bash -l {0} - run: mamba install --yes --quiet -c conda-forge build python=${{ matrix.python-version }} pdal - - - name: sdist - shell: bash -l {0} - run: | - python -m build . --sdist - ls dist - - - uses: pypa/gh-action-pypi-publish@release/v1 - name: Publish package - if: github.event_name == 'release' && github.event.action == 'published' - with: - user: __token__ - password: ${{ secrets.pypi_token }} - packages_dir: ./dist From 57b2ba42057571281a64a1f392f0e4f6799ebcd6 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Mon, 15 Apr 2024 13:39:19 -0500 Subject: [PATCH 06/14] scikit-build-core needed --- .github/environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/environment.yml b/.github/environment.yml index 94f553a..ba72586 100644 --- a/.github/environment.yml +++ b/.github/environment.yml @@ -2,6 +2,6 @@ name: test channels: - conda-forge dependencies: - - scikit-build + - scikit-build-core - numpy - pdal From 4341f80a554a7958d2e72aea14b075321fa13321 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Mon, 15 Apr 2024 13:42:24 -0500 Subject: [PATCH 07/14] -m not -c --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2d1e971..8d18c9b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -50,7 +50,7 @@ jobs: EXT: ${{ matrix.os == 'windows-latest' && '.exe' || '' }} run: | export PYTHONHOME=$CONDA_PREFIX - export PDAL_DRIVER_PATH=`pwd`/build/$(python -c "scikit_build_core.builder.wheel_tag") + export PDAL_DRIVER_PATH=`pwd`/build/$(python -m "scikit_build_core.builder.wheel_tag") echo $PDAL_DRIVER_PATH ls $PDAL_DRIVER_PATH pdal --drivers From ef526d8cb83fbe52c8ba7281b73ee26fce435caa Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Mon, 15 Apr 2024 13:52:01 -0500 Subject: [PATCH 08/14] turn up cmake logging --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index a5ca47a..4e91916 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -63,8 +63,8 @@ sdist.include = [ "src", "CMakeLists.txt" ] -cmake.verbose = false -logging.level = "ERROR" +cmake.verbose = true +logging.level = "INFO" #[tool.scikit-build.cmake.define] #WITH_TESTS = "ON" From 1dbedc340c4b88cbcc04d9e0770e782447380ba9 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Mon, 15 Apr 2024 13:55:47 -0500 Subject: [PATCH 09/14] override python-version --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8d18c9b..cd9d29e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,6 +36,7 @@ jobs: miniforge-variant: Mambaforge miniforge-version: latest use-mamba: true + python-version: ${{ matrix.python-version }} auto-update-conda: true environment-file: .github/environment.yml From 849b57cc1cbb9a23ce1ae6f64d0ed4f689840254 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Mon, 15 Apr 2024 15:26:08 -0500 Subject: [PATCH 10/14] link against Python3_LIBRARIES --- CMakeLists.txt | 7 ++++--- pyproject.toml | 4 ++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5f0d147..cea0e0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,8 @@ option(WITH_TESTS "Enable tests" OFF) set(Python3_FIND_STRATEGY "LOCATION") set(Python3_FIND_REGISTRY "LAST") set(Python3_FIND_FRAMEWORK "LAST") -find_package(Python3 COMPONENTS Interpreter Development NumPy REQUIRED) +find_package(Python3 COMPONENTS Interpreter Development.Module Development.Embed NumPy REQUIRED) + # find PDAL. Require 2.1+ find_package(PDAL 2.6 REQUIRED) @@ -96,7 +97,7 @@ macro(PDAL_PYTHON_ADD_PLUGIN _name _type _shortname) ) target_link_options(${${_name}} BEFORE PRIVATE ${PDAL_PYTHON_ADD_PLUGIN_COMPILE_OPTIONS}) target_compile_definitions(${${_name}} PRIVATE - PDAL_PYTHON_LIBRARY="${PYTHON_LIBRARY}" PDAL_DLL_EXPORT) + PDAL_PYTHON_LIBRARY="${Python3_LIBRARIES}" PDAL_DLL_EXPORT) target_compile_definitions(${${_name}} PRIVATE PDAL_DLL_EXPORT) if (PDAL_PYTHON_ADD_PLUGIN_SYSTEM_INCLUDES) target_include_directories(${${_name}} SYSTEM PRIVATE @@ -141,7 +142,7 @@ macro(PDAL_PYTHON_ADD_TEST _name) ${WINSOCK_LIBRARY} ) target_compile_definitions(${_name} PRIVATE - PDAL_PYTHON_LIBRARY="${PYTHON_LIBRARY}") + PDAL_PYTHON_LIBRARY="${Python3_LIBRARIES}") add_test(NAME ${_name} COMMAND "${PROJECT_BINARY_DIR}/bin/${_name}" diff --git a/pyproject.toml b/pyproject.toml index 4e91916..0eaa5c5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,6 +53,10 @@ changelog = "https://github.com/PDAL/python-plugins/blob/main/README.rst" requires = ["scikit-build-core", "numpy", "pybind11[global]"] build-backend = "scikit_build_core.build" +#[tool.scikit-build-core] +#wheel.py-api = "cp12" +#wheel.cmake = true + [tool.scikit-build] build-dir = "build/{wheel_tag}" From 3123dca66b3365a5b37601252e3fb5ad2e3507c1 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Mon, 15 Apr 2024 15:50:41 -0500 Subject: [PATCH 11/14] windows fixes? --- .github/environment.yml | 1 + pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/environment.yml b/.github/environment.yml index ba72586..235fca3 100644 --- a/.github/environment.yml +++ b/.github/environment.yml @@ -5,3 +5,4 @@ dependencies: - scikit-build-core - numpy - pdal + - compilers diff --git a/pyproject.toml b/pyproject.toml index 0eaa5c5..3d63d18 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -62,7 +62,7 @@ build-backend = "scikit_build_core.build" build-dir = "build/{wheel_tag}" sdist.exclude = [".github"] sdist.cmake = true -cmake.build-type = "RelWithDebugInfo" +cmake.build-type = "Release" sdist.include = [ "src", "CMakeLists.txt" From 2402ef9c0fd2b76adc986a7ba835eb6288ab259a Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Mon, 15 Apr 2024 17:56:17 -0500 Subject: [PATCH 12/14] conditionalize tests --- .github/workflows/build.yml | 23 ++++++++++++++++++++--- pyproject.toml | 2 +- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cd9d29e..7fad2a2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,15 +43,32 @@ jobs: - name: Install shell: bash -l {0} - run: pip install . -Ccmake.define.WITH_TESTS=ON . + run: | + pip install . -Ccmake.define.WITH_TESTS=ON . + + - name: Test Unix + shell: bash -l {0} + if: matrix.platform != 'windows-latest' + run: | + export PYTHONHOME=$CONDA_PREFIX + export WHEEL_DIR=$(python -m "scikit_build_core.builder.wheel_tag") + export PDAL_DRIVER_PATH=`pwd`/build/$WHEEL_DIR + echo $PDAL_DRIVER_PATH + ls $PDAL_DRIVER_PATH + pdal --drivers + $PDAL_DRIVER_PATH/pdal_filters_python_test + $PDAL_DRIVER_PATH/pdal_io_numpy_test + - - name: Test + - name: Test Windows + if: matrix.platform == 'windows-latest' shell: bash -l {0} env: EXT: ${{ matrix.os == 'windows-latest' && '.exe' || '' }} run: | export PYTHONHOME=$CONDA_PREFIX - export PDAL_DRIVER_PATH=`pwd`/build/$(python -m "scikit_build_core.builder.wheel_tag") + export WHEEL_DIR=$(python -m "scikit_build_core.builder.wheel_tag") + export PDAL_DRIVER_PATH=`pwd`/build/$WHEEL_DIR/Release echo $PDAL_DRIVER_PATH ls $PDAL_DRIVER_PATH pdal --drivers diff --git a/pyproject.toml b/pyproject.toml index 3d63d18..7e08541 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -59,7 +59,7 @@ build-backend = "scikit_build_core.build" [tool.scikit-build] -build-dir = "build/{wheel_tag}" +build-dir = "build/{wheel_tag}/{build_type}" sdist.exclude = [".github"] sdist.cmake = true cmake.build-type = "Release" From dcb29c27c0b87dce63e7b50b6c48d2edc50f9060 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Mon, 15 Apr 2024 17:59:57 -0500 Subject: [PATCH 13/14] build_type --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7fad2a2..5a00297 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -52,7 +52,7 @@ jobs: run: | export PYTHONHOME=$CONDA_PREFIX export WHEEL_DIR=$(python -m "scikit_build_core.builder.wheel_tag") - export PDAL_DRIVER_PATH=`pwd`/build/$WHEEL_DIR + export PDAL_DRIVER_PATH=`pwd`/build/$WHEEL_DIR/Release echo $PDAL_DRIVER_PATH ls $PDAL_DRIVER_PATH pdal --drivers @@ -68,7 +68,7 @@ jobs: run: | export PYTHONHOME=$CONDA_PREFIX export WHEEL_DIR=$(python -m "scikit_build_core.builder.wheel_tag") - export PDAL_DRIVER_PATH=`pwd`/build/$WHEEL_DIR/Release + export PDAL_DRIVER_PATH=`pwd`/build/$WHEEL_DIR/Release/Release echo $PDAL_DRIVER_PATH ls $PDAL_DRIVER_PATH pdal --drivers From c6b020c8952b8008e71ddf7b50967d8a7b595701 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Mon, 15 Apr 2024 18:07:18 -0500 Subject: [PATCH 14/14] proper condition variables --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5a00297..dad35b4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,7 +48,7 @@ jobs: - name: Test Unix shell: bash -l {0} - if: matrix.platform != 'windows-latest' + if: matrix.os != 'windows-latest' run: | export PYTHONHOME=$CONDA_PREFIX export WHEEL_DIR=$(python -m "scikit_build_core.builder.wheel_tag") @@ -61,7 +61,7 @@ jobs: - name: Test Windows - if: matrix.platform == 'windows-latest' + if: matrix.os == 'windows-latest' shell: bash -l {0} env: EXT: ${{ matrix.os == 'windows-latest' && '.exe' || '' }}