From 3a1c733b68496c23a99818b3836a73c9632c8b28 Mon Sep 17 00:00:00 2001 From: Hannes Vogt Date: Tue, 26 Mar 2019 11:45:19 +0100 Subject: [PATCH 1/5] make the core standalone, Fortran etc not working --- CMakeLists.txt | 434 +----------------- serialbox-c/CMakeLists.txt | 6 + .../src}/.gitignore | 0 {src/serialbox-c => serialbox-c/src}/Api.h | 0 .../src}/Archive.cpp | 0 .../serialbox-c => serialbox-c/src}/Archive.h | 0 .../serialbox-c => serialbox-c/src}/Array.cpp | 0 {src/serialbox-c => serialbox-c/src}/Array.h | 0 .../src}/CMakeLists.txt | 0 .../src}/Config.h.cmake | 0 .../src}/ConfigOptions.cpp | 0 .../src}/ConfigOptions.h | 0 .../src}/ErrorHandling.cpp | 0 .../src}/ErrorHandling.h | 0 .../src}/FieldMetainfo.cpp | 0 .../src}/FieldMetainfo.h | 0 .../src}/FortranWrapper.cpp | 0 .../src}/FortranWrapper.h | 0 .../src}/Logging.cpp | 0 .../serialbox-c => serialbox-c/src}/Logging.h | 0 .../src}/Metainfo.cpp | 0 .../src}/Metainfo.h | 0 .../src}/Savepoint.cpp | 0 .../src}/Savepoint.h | 0 .../src}/Serialbox.h | 0 .../src}/Serializer.cpp | 0 .../src}/Serializer.h | 0 {src/serialbox-c => serialbox-c/src}/Type.h | 0 .../serialbox-c => serialbox-c/src}/Utility.h | 0 .../test}/CMakeLists.txt | 0 .../test}/UnittestArchive.cpp | 0 .../test}/UnittestConfig.cpp | 0 .../test}/UnittestErrorHandling.cpp | 0 .../test}/UnittestFieldMetaInfo.cpp | 0 .../test}/UnittestFortranWrapper.cpp | 0 .../test}/UnittestLogging.cpp | 0 .../test}/UnittestMain.cpp | 0 .../test}/UnittestMetaInfo.cpp | 0 .../test}/UnittestSavepoint.cpp | 0 .../test}/UnittestSerializer.cpp | 0 serialbox-fortran/CMakeLists.txt | 31 ++ .../src}/.gitignore | 1 + .../src}/CMakeLists.txt | 28 +- .../src}/m_ser_ftg.f90 | 0 .../src}/m_ser_ftg_cmp.f90 | 0 .../src}/m_ser_perturb.f90 | 0 .../src}/m_serialize.f90 | 0 .../src}/utils_ppser.f90 | 0 .../src}/utils_ppser_kbuff.f90 | 0 .../test}/CMakeLists.txt | 0 .../test}/ser_ftg_cmp_test.pf | 0 .../test}/ser_ftg_test.pf | 0 .../test}/serialbox_test.pf | 0 serialbox-python/CMakeLists.txt | 23 + .../src}/CMakeLists.txt | 0 .../src}/compare/compare.py | 0 .../src}/pp_ser/pp_ser.py | 0 .../src}/sdb/.gitignore | 0 .../src}/sdb/sdb.py | 0 .../src}/sdb/sdbcore/__init__.py | 0 .../src}/sdb/sdbcore/comparisonresult.py | 0 .../src}/sdb/sdbcore/comparisonresultlist.py | 0 .../src}/sdb/sdbcore/error.py | 0 .../src}/sdb/sdbcore/errorlist.py | 0 .../src}/sdb/sdbcore/halos.py | 0 .../src}/sdb/sdbcore/logger.py | 0 .../src}/sdb/sdbcore/serializerdata.py | 0 .../sdb/sdbcore/serializerdatalistener.py | 0 .../src}/sdb/sdbcore/stencildata.py | 0 .../src}/sdb/sdbcore/stencildatalistener.py | 0 .../src}/sdb/sdbcore/stencilfieldmapper.py | 0 .../src}/sdb/sdbcore/version.py | 0 .../src}/sdb/sdbgui/__init__.py | 0 .../sdb/sdbgui/droppablelineeditwidget.py | 0 .../sdb/sdbgui/errorconsoleipythonwidget.py | 0 .../src}/sdb/sdbgui/errorconsolewidget.py | 0 .../src}/sdb/sdbgui/errorlistwidget.py | 0 .../sdbgui/errorvisualizematplotlibwidget.py | 0 .../src}/sdb/sdbgui/errorvisualizewidget.py | 0 .../src}/sdb/sdbgui/errorwindow.py | 0 .../sdb/sdbgui/errorwindowheaderwidget.py | 0 .../src}/sdb/sdbgui/globalconfig.py | 0 .../src}/sdb/sdbgui/icon.py | 0 .../src}/sdb/sdbgui/images/arrow.png | Bin .../src}/sdb/sdbgui/images/dance_1.gif | Bin .../src}/sdb/sdbgui/images/dance_2.gif | Bin .../src}/sdb/sdbgui/images/dance_3.gif | Bin .../src}/sdb/sdbgui/images/edit_add.png | Bin .../src}/sdb/sdbgui/images/edit_remove.png | Bin .../src}/sdb/sdbgui/images/error.png | Bin .../src}/sdb/sdbgui/images/failure-small.png | Bin .../src}/sdb/sdbgui/images/failure.png | Bin .../src}/sdb/sdbgui/images/fileopen.png | Bin .../src}/sdb/sdbgui/images/filesave.png | Bin .../src}/sdb/sdbgui/images/help.png | Bin .../src}/sdb/sdbgui/images/logo-small.png | Bin .../src}/sdb/sdbgui/images/logo.png | Bin .../src}/sdb/sdbgui/images/magnifier.png | Bin .../src}/sdb/sdbgui/images/next_cursor.png | Bin .../src}/sdb/sdbgui/images/none.png | Bin .../src}/sdb/sdbgui/images/prev_cursor.png | Bin .../src}/sdb/sdbgui/images/run.png | Bin .../src}/sdb/sdbgui/images/show_all.png | Bin .../src}/sdb/sdbgui/images/step_in.png | Bin .../src}/sdb/sdbgui/images/success.png | Bin .../src}/sdb/sdbgui/images/visualize.png | Bin .../src}/sdb/sdbgui/images/warning.png | Bin .../src}/sdb/sdbgui/mainwindow.py | 0 .../src}/sdb/sdbgui/movie.py | 0 .../src}/sdb/sdbgui/pixmap.py | 0 .../src}/sdb/sdbgui/popupaboutwidget.py | 0 .../sdb/sdbgui/popuphalodescriptorwidget.py | 0 .../src}/sdb/sdbgui/popupwidget.py | 0 .../src}/sdb/sdbgui/resulttablecellwidget.py | 0 .../src}/sdb/sdbgui/resulttablewidget.py | 0 .../src}/sdb/sdbgui/resultwindow.py | 0 .../src}/sdb/sdbgui/sessionmanager.py | 0 .../src}/sdb/sdbgui/setupwidget.py | 0 .../src}/sdb/sdbgui/setupwindow.py | 0 .../src}/sdb/sdbgui/stencilfieldlistwidget.py | 0 .../sdb/sdbgui/stencilfieldmetainfowidget.py | 0 .../src}/sdb/sdbgui/stencillistwidget.py | 0 .../sdbgui/stencilthresholdsetterwidget.py | 0 .../src}/sdb/sdbgui/stencilwidget.py | 0 .../src}/sdb/sdbgui/stencilwindow.py | 0 .../src}/sdb/sdbgui/tabstate.py | 0 .../src}/sdb/sdbgui/tabwindow.py | 0 .../src}/serialbox/__init__.py | 0 .../src}/serialbox/archive.py | 0 .../src}/serialbox/common.py | 0 .../src}/serialbox/core.py | 0 .../src}/serialbox/error.py | 0 .../src}/serialbox/fieldmetainfo.py | 0 .../src}/serialbox/metainfomap.py | 0 .../src}/serialbox/savepoint.py | 0 .../src}/serialbox/serializer.py | 0 .../src}/serialbox/serlogging.py | 0 .../src}/serialbox/slice.py | 0 .../src}/serialbox/type.py | 0 .../src}/serialbox/util.py | 0 .../src}/serialbox/visualizer.py | 0 .../test}/CMakeLists.txt | 0 .../test}/run_python_tests.sh.cmake | 0 .../test}/sdb/regression/.gitignore | 0 .../test}/sdb/regression/create_data.py | 0 .../test}/sdb/sdbcore/sdbtest/__init__.py | 0 .../sdb/sdbcore/sdbtest/serializerdatamock.py | 0 .../sdb/sdbcore/sdbtest/serializermock.py | 0 .../test}/sdb/sdbcore/sdbtest/testlistener.py | 0 .../test}/sdb/sdbcore/test_sdbcoreC.py | 0 .../test}/sdb/sdbcore/test_serializerdata.py | 0 .../test}/sdb/sdbcore/test_serializermock.py | 0 .../test}/sdb/sdbcore/test_stencildata.py | 0 .../sdb/sdbcore/test_stencilfieldmapper.py | 0 .../test}/serialbox/test_archive.py | 0 .../test}/serialbox/test_core.py | 0 .../test}/serialbox/test_fieldmetainfo.py | 0 .../test}/serialbox/test_metainfomap.py | 0 .../test}/serialbox/test_savepoint.py | 0 .../test}/serialbox/test_serializer.py | 0 serialbox/CMakeLists.txt | 383 ++++++++++++++++ .../benchmark/BenchmarkMain.cpp | 0 .../benchmark/BenchmarkOldSerialbox.cpp | 0 .../benchmark/BenchmarkSerialbox.cpp | 0 {test => serialbox}/benchmark/CMakeLists.txt | 0 serialbox/cmake/Packaging.cmake | 86 ++++ serialbox/cmake/SerialboxConfig.cmake.in | 144 ++++++ .../external}/googletest/.gitignore | 0 .../external}/googletest/.travis.yml | 0 .../external}/googletest/BUILD.bazel | 0 .../external}/googletest/CMakeLists.txt | 0 .../external}/googletest/CONTRIBUTING.md | 0 .../external}/googletest/LICENSE | 0 .../external}/googletest/Makefile.am | 0 .../external}/googletest/README.md | 0 .../external}/googletest/WORKSPACE | 0 .../external}/googletest/appveyor.yml | 0 .../googletest/ci/build-linux-autotools.sh | 0 .../googletest/ci/build-linux-bazel.sh | 0 .../external}/googletest/ci/env-linux.sh | 0 .../external}/googletest/ci/env-osx.sh | 0 .../googletest/ci/get-nprocessors.sh | 0 .../external}/googletest/ci/install-linux.sh | 0 .../external}/googletest/ci/install-osx.sh | 0 .../external}/googletest/ci/log-config.sh | 0 .../external}/googletest/ci/travis.sh | 0 .../external}/googletest/configure.ac | 0 .../external}/googletest/googlemock/CHANGES | 0 .../googletest/googlemock/CMakeLists.txt | 0 .../googletest/googlemock/CONTRIBUTORS | 0 .../external}/googletest/googlemock/LICENSE | 0 .../googletest/googlemock/Makefile.am | 0 .../external}/googletest/googlemock/README.md | 0 .../googletest/googlemock/cmake/gmock.pc.in | 0 .../googlemock/cmake/gmock_main.pc.in | 0 .../googletest/googlemock/configure.ac | 0 .../googletest/googlemock/docs/CheatSheet.md | 0 .../googletest/googlemock/docs/CookBook.md | 0 .../googletest/googlemock/docs/DesignDoc.md | 0 .../googlemock/docs/Documentation.md | 0 .../googletest/googlemock/docs/ForDummies.md | 0 .../docs/FrequentlyAskedQuestions.md | 0 .../googletest/googlemock/docs/KnownIssues.md | 0 .../googlemock/include/gmock/gmock-actions.h | 0 .../include/gmock/gmock-cardinalities.h | 0 .../include/gmock/gmock-generated-actions.h | 0 .../gmock/gmock-generated-actions.h.pump | 0 .../gmock/gmock-generated-function-mockers.h | 0 .../gmock-generated-function-mockers.h.pump | 0 .../include/gmock/gmock-generated-matchers.h | 0 .../gmock/gmock-generated-matchers.h.pump | 0 .../gmock/gmock-generated-nice-strict.h | 0 .../gmock/gmock-generated-nice-strict.h.pump | 0 .../googlemock/include/gmock/gmock-matchers.h | 0 .../include/gmock/gmock-more-actions.h | 0 .../include/gmock/gmock-more-matchers.h | 0 .../include/gmock/gmock-spec-builders.h | 0 .../googlemock/include/gmock/gmock.h | 0 .../include/gmock/internal/custom/README.md | 0 .../internal/custom/gmock-generated-actions.h | 0 .../custom/gmock-generated-actions.h.pump | 0 .../gmock/internal/custom/gmock-matchers.h | 0 .../gmock/internal/custom/gmock-port.h | 0 .../internal/gmock-generated-internal-utils.h | 0 .../gmock-generated-internal-utils.h.pump | 0 .../gmock/internal/gmock-internal-utils.h | 0 .../include/gmock/internal/gmock-port.h | 0 .../googletest/googlemock/msvc/2005/gmock.sln | 0 .../googlemock/msvc/2005/gmock.vcproj | 0 .../googlemock/msvc/2005/gmock_config.vsprops | 0 .../googlemock/msvc/2005/gmock_main.vcproj | 0 .../googlemock/msvc/2005/gmock_test.vcproj | 0 .../googletest/googlemock/msvc/2010/gmock.sln | 0 .../googlemock/msvc/2010/gmock.vcxproj | 0 .../googlemock/msvc/2010/gmock_config.props | 0 .../googlemock/msvc/2010/gmock_main.vcxproj | 0 .../googlemock/msvc/2010/gmock_test.vcxproj | 0 .../googletest/googlemock/msvc/2015/gmock.sln | 0 .../googlemock/msvc/2015/gmock.vcxproj | 0 .../googlemock/msvc/2015/gmock_config.props | 0 .../googlemock/msvc/2015/gmock_main.vcxproj | 0 .../googlemock/msvc/2015/gmock_test.vcxproj | 0 .../googlemock/scripts/fuse_gmock_files.py | 0 .../googlemock/scripts/generator/LICENSE | 0 .../googlemock/scripts/generator/README | 0 .../scripts/generator/README.cppclean | 0 .../scripts/generator/cpp/__init__.py | 0 .../googlemock/scripts/generator/cpp/ast.py | 0 .../scripts/generator/cpp/gmock_class.py | 0 .../scripts/generator/cpp/gmock_class_test.py | 0 .../scripts/generator/cpp/keywords.py | 0 .../scripts/generator/cpp/tokenize.py | 0 .../googlemock/scripts/generator/cpp/utils.py | 0 .../googlemock/scripts/generator/gmock_gen.py | 0 .../googlemock/scripts/gmock-config.in | 0 .../googlemock/scripts/gmock_doctor.py | 0 .../googletest/googlemock/scripts/upload.py | 0 .../googlemock/scripts/upload_gmock.py | 0 .../googletest/googlemock/src/gmock-all.cc | 0 .../googlemock/src/gmock-cardinalities.cc | 0 .../googlemock/src/gmock-internal-utils.cc | 0 .../googlemock/src/gmock-matchers.cc | 0 .../googlemock/src/gmock-spec-builders.cc | 0 .../googletest/googlemock/src/gmock.cc | 0 .../googletest/googlemock/src/gmock_main.cc | 0 .../googletest/googlemock/test/BUILD.bazel | 0 .../googlemock/test/gmock-actions_test.cc | 0 .../test/gmock-cardinalities_test.cc | 0 .../test/gmock-generated-actions_test.cc | 0 .../gmock-generated-function-mockers_test.cc | 0 .../gmock-generated-internal-utils_test.cc | 0 .../test/gmock-generated-matchers_test.cc | 0 .../test/gmock-internal-utils_test.cc | 0 .../googlemock/test/gmock-matchers_test.cc | 0 .../test/gmock-more-actions_test.cc | 0 .../googlemock/test/gmock-nice-strict_test.cc | 0 .../googlemock/test/gmock-port_test.cc | 0 .../test/gmock-spec-builders_test.cc | 0 .../googlemock/test/gmock_all_test.cc | 0 .../googlemock/test/gmock_ex_test.cc | 0 .../googlemock/test/gmock_leak_test.py | 0 .../googlemock/test/gmock_leak_test_.cc | 0 .../googlemock/test/gmock_link2_test.cc | 0 .../googlemock/test/gmock_link_test.cc | 0 .../googlemock/test/gmock_link_test.h | 0 .../googlemock/test/gmock_output_test.py | 0 .../googlemock/test/gmock_output_test_.cc | 0 .../test/gmock_output_test_golden.txt | 0 .../googlemock/test/gmock_stress_test.cc | 0 .../googletest/googlemock/test/gmock_test.cc | 0 .../googlemock/test/gmock_test_utils.py | 0 .../external}/googletest/googletest/CHANGES | 0 .../googletest/googletest/CMakeLists.txt | 0 .../googletest/googletest/CONTRIBUTORS | 0 .../external}/googletest/googletest/LICENSE | 0 .../googletest/googletest/Makefile.am | 0 .../external}/googletest/googletest/README.md | 0 .../googletest/cmake/Config.cmake.in | 0 .../googletest/googletest/cmake/gtest.pc.in | 0 .../googletest/cmake/gtest_main.pc.in | 0 .../googletest/cmake/internal_utils.cmake | 0 .../googletest/codegear/gtest.cbproj | 0 .../googletest/codegear/gtest.groupproj | 0 .../googletest/codegear/gtest_all.cc | 0 .../googletest/codegear/gtest_link.cc | 0 .../googletest/codegear/gtest_main.cbproj | 0 .../googletest/codegear/gtest_unittest.cbproj | 0 .../googletest/googletest/configure.ac | 0 .../googletest/googletest/docs/Pkgconfig.md | 0 .../googletest/googletest/docs/PumpManual.md | 0 .../googletest/googletest/docs/XcodeGuide.md | 0 .../googletest/googletest/docs/advanced.md | 0 .../googletest/googletest/docs/faq.md | 0 .../googletest/googletest/docs/primer.md | 0 .../googletest/googletest/docs/samples.md | 0 .../include/gtest/gtest-death-test.h | 0 .../googletest/include/gtest/gtest-message.h | 0 .../include/gtest/gtest-param-test.h | 0 .../include/gtest/gtest-param-test.h.pump | 0 .../googletest/include/gtest/gtest-printers.h | 0 .../googletest/include/gtest/gtest-spi.h | 0 .../include/gtest/gtest-test-part.h | 0 .../include/gtest/gtest-typed-test.h | 0 .../googletest/include/gtest/gtest.h | 0 .../include/gtest/gtest_pred_impl.h | 0 .../googletest/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-linked_ptr.h | 0 .../internal/gtest-param-util-generated.h | 0 .../gtest-param-util-generated.h.pump | 0 .../include/gtest/internal/gtest-param-util.h | 0 .../include/gtest/internal/gtest-port-arch.h | 0 .../include/gtest/internal/gtest-port.h | 0 .../include/gtest/internal/gtest-string.h | 0 .../include/gtest/internal/gtest-tuple.h | 0 .../include/gtest/internal/gtest-tuple.h.pump | 0 .../include/gtest/internal/gtest-type-util.h | 0 .../gtest/internal/gtest-type-util.h.pump | 0 .../googletest/googletest/m4/acx_pthread.m4 | 0 .../googletest/googletest/m4/gtest.m4 | 0 .../googletest/msvc/2010/gtest-md.sln | 0 .../googletest/msvc/2010/gtest-md.vcxproj | 0 .../msvc/2010/gtest-md.vcxproj.filters | 0 .../googletest/googletest/msvc/2010/gtest.sln | 0 .../googletest/msvc/2010/gtest.vcxproj | 0 .../msvc/2010/gtest.vcxproj.filters | 0 .../msvc/2010/gtest_main-md.vcxproj | 0 .../msvc/2010/gtest_main-md.vcxproj.filters | 0 .../googletest/msvc/2010/gtest_main.vcxproj | 0 .../msvc/2010/gtest_main.vcxproj.filters | 0 .../msvc/2010/gtest_prod_test-md.vcxproj | 0 .../2010/gtest_prod_test-md.vcxproj.filters | 0 .../msvc/2010/gtest_prod_test.vcxproj | 0 .../msvc/2010/gtest_prod_test.vcxproj.filters | 0 .../msvc/2010/gtest_unittest-md.vcxproj | 0 .../2010/gtest_unittest-md.vcxproj.filters | 0 .../msvc/2010/gtest_unittest.vcxproj | 0 .../msvc/2010/gtest_unittest.vcxproj.filters | 0 .../googletest/samples/prime_tables.h | 0 .../googletest/googletest/samples/sample1.cc | 0 .../googletest/googletest/samples/sample1.h | 0 .../googletest/samples/sample10_unittest.cc | 0 .../googletest/samples/sample1_unittest.cc | 0 .../googletest/googletest/samples/sample2.cc | 0 .../googletest/googletest/samples/sample2.h | 0 .../googletest/samples/sample2_unittest.cc | 0 .../googletest/samples/sample3-inl.h | 0 .../googletest/samples/sample3_unittest.cc | 0 .../googletest/googletest/samples/sample4.cc | 0 .../googletest/googletest/samples/sample4.h | 0 .../googletest/samples/sample4_unittest.cc | 0 .../googletest/samples/sample5_unittest.cc | 0 .../googletest/samples/sample6_unittest.cc | 0 .../googletest/samples/sample7_unittest.cc | 0 .../googletest/samples/sample8_unittest.cc | 0 .../googletest/samples/sample9_unittest.cc | 0 .../googletest/googletest/scripts/common.py | 0 .../googletest/scripts/fuse_gtest_files.py | 0 .../googletest/scripts/gen_gtest_pred_impl.py | 0 .../googletest/scripts/gtest-config.in | 0 .../googletest/googletest/scripts/pump.py | 0 .../googletest/scripts/release_docs.py | 0 .../googletest/googletest/scripts/upload.py | 0 .../googletest/scripts/upload_gtest.py | 0 .../googletest/googletest/src/gtest-all.cc | 0 .../googletest/src/gtest-death-test.cc | 0 .../googletest/src/gtest-filepath.cc | 0 .../googletest/src/gtest-internal-inl.h | 0 .../googletest/googletest/src/gtest-port.cc | 0 .../googletest/src/gtest-printers.cc | 0 .../googletest/src/gtest-test-part.cc | 0 .../googletest/src/gtest-typed-test.cc | 0 .../googletest/googletest/src/gtest.cc | 0 .../googletest/googletest/src/gtest_main.cc | 0 .../googletest/googletest/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 .../googletest/test/googletest-color-test.py | 0 .../googletest/test/googletest-color-test_.cc | 0 .../test/googletest-death-test-test.cc | 0 .../test/googletest-death-test_ex_test.cc | 0 .../test/googletest-env-var-test.py | 0 .../test/googletest-env-var-test_.cc | 0 .../test/googletest-filepath-test.cc | 0 .../test/googletest-filter-unittest.py | 0 .../test/googletest-filter-unittest_.cc | 0 .../test/googletest-json-outfiles-test.py | 0 .../test/googletest-json-output-unittest.py | 0 .../test/googletest-linked-ptr-test.cc | 0 .../test/googletest-list-tests-unittest.py | 0 .../test/googletest-list-tests-unittest_.cc | 0 .../test/googletest-listener-test.cc | 0 .../test/googletest-message-test.cc | 0 .../test/googletest-options-test.cc | 0 .../googletest-output-test-golden-lin.txt | 0 .../googletest/test/googletest-output-test.py | 0 .../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 .../test/googletest-param-test-test.cc | 0 .../test/googletest-param-test-test.h | 0 .../test/googletest-param-test2-test.cc | 0 .../googletest/test/googletest-port-test.cc | 0 .../test/googletest-printers-test.cc | 0 .../test/googletest-shuffle-test.py | 0 .../test/googletest-shuffle-test_.cc | 0 .../test/googletest-test-part-test.cc | 0 .../googletest/test/googletest-test2_test.cc | 0 .../test/googletest-throw-on-failure-test.py | 0 .../test/googletest-throw-on-failure-test_.cc | 0 .../googletest/test/googletest-tuple-test.cc | 0 .../test/googletest-uninitialized-test.py | 0 .../test/googletest-uninitialized-test_.cc | 0 .../googletest/test/gtest-typed-test2_test.cc | 0 .../googletest/test/gtest-typed-test_test.cc | 0 .../googletest/test/gtest-typed-test_test.h | 0 .../test/gtest-unittest-api_test.cc | 0 .../googletest/test/gtest_all_test.cc | 0 .../test/gtest_assert_by_exception_test.cc | 0 .../googletest/test/gtest_environment_test.cc | 0 .../googletest/test/gtest_help_test.py | 0 .../googletest/test/gtest_help_test_.cc | 0 .../googletest/test/gtest_json_test_utils.py | 0 .../test/gtest_list_output_unittest.py | 0 .../test/gtest_list_output_unittest_.cc | 0 .../googletest/test/gtest_main_unittest.cc | 0 .../googletest/test/gtest_no_test_unittest.cc | 0 .../test/gtest_pred_impl_unittest.cc | 0 .../test/gtest_premature_exit_test.cc | 0 .../googletest/test/gtest_prod_test.cc | 0 .../googletest/test/gtest_repeat_test.cc | 0 .../googletest/test/gtest_sole_header_test.cc | 0 .../googletest/test/gtest_stress_test.cc | 0 .../gtest_test_macro_stack_footprint_test.cc | 0 .../googletest/test/gtest_test_utils.py | 0 .../googletest/test/gtest_testbridge_test.py | 0 .../googletest/test/gtest_testbridge_test_.cc | 0 .../test/gtest_throw_on_failure_ex_test.cc | 0 .../googletest/test/gtest_unittest.cc | 0 .../test/gtest_xml_outfile1_test_.cc | 0 .../test/gtest_xml_outfile2_test_.cc | 0 .../test/gtest_xml_outfiles_test.py | 0 .../test/gtest_xml_output_unittest.py | 0 .../test/gtest_xml_output_unittest_.cc | 0 .../googletest/test/gtest_xml_test_utils.py | 0 .../googletest/googletest/test/production.cc | 0 .../googletest/googletest/test/production.h | 0 .../xcode/Config/DebugProject.xcconfig | 0 .../xcode/Config/FrameworkTarget.xcconfig | 0 .../googletest/xcode/Config/General.xcconfig | 0 .../xcode/Config/ReleaseProject.xcconfig | 0 .../xcode/Config/StaticLibraryTarget.xcconfig | 0 .../xcode/Config/TestTarget.xcconfig | 0 .../googletest/xcode/Resources/Info.plist | 0 .../xcode/Samples/FrameworkSample/Info.plist | 0 .../WidgetFramework.xcodeproj/project.pbxproj | 0 .../xcode/Samples/FrameworkSample/runtests.sh | 0 .../xcode/Samples/FrameworkSample/widget.cc | 0 .../xcode/Samples/FrameworkSample/widget.h | 0 .../Samples/FrameworkSample/widget_test.cc | 0 .../googletest/xcode/Scripts/runtests.sh | 0 .../xcode/Scripts/versiongenerate.py | 0 .../xcode/gtest.xcodeproj/project.pbxproj | 0 {src => serialbox}/external/json/json.hpp | 0 .../src}/serialbox/CMakeLists.txt | 0 .../src}/serialbox/core/.gitignore | 0 {src => serialbox/src}/serialbox/core/Array.h | 0 serialbox/src/serialbox/core/CMakeLists.txt | 96 ++++ .../src}/serialbox/core/Compiler.h | 0 .../src}/serialbox/core/Config.h.cmake | 0 .../src}/serialbox/core/Exception.h | 0 .../src}/serialbox/core/FieldID.cpp | 0 .../src}/serialbox/core/FieldID.h | 0 .../src}/serialbox/core/FieldMap.cpp | 0 .../src}/serialbox/core/FieldMap.h | 0 .../serialbox/core/FieldMapSerializer.cpp | 0 .../src}/serialbox/core/FieldMapSerializer.h | 0 .../src}/serialbox/core/FieldMetainfoImpl.cpp | 0 .../src}/serialbox/core/FieldMetainfoImpl.h | 0 .../core/FieldMetainfoImplSerializer.cpp | 0 .../core/FieldMetainfoImplSerializer.h | 0 .../src}/serialbox/core/Filesystem.h | 0 {src => serialbox/src}/serialbox/core/Json.h | 2 +- .../src}/serialbox/core/Logging.cpp | 0 .../src}/serialbox/core/Logging.h | 0 .../src}/serialbox/core/MetainfoMapImpl.cpp | 0 .../src}/serialbox/core/MetainfoMapImpl.h | 0 .../core/MetainfoMapImplSerializer.cpp | 0 .../core/MetainfoMapImplSerializer.h | 0 .../src}/serialbox/core/MetainfoValueImpl.cpp | 0 .../src}/serialbox/core/MetainfoValueImpl.h | 0 .../src}/serialbox/core/STLExtras.h | 0 .../src}/serialbox/core/SavepointImpl.cpp | 0 .../src}/serialbox/core/SavepointImpl.h | 0 .../core/SavepointImplSerializer.cpp | 0 .../serialbox/core/SavepointImplSerializer.h | 0 .../src}/serialbox/core/SavepointVector.cpp | 0 .../src}/serialbox/core/SavepointVector.h | 0 .../core/SavepointVectorSerializer.cpp | 0 .../core/SavepointVectorSerializer.h | 0 .../src}/serialbox/core/SerializerImpl.cpp | 0 .../src}/serialbox/core/SerializerImpl.h | 0 {src => serialbox/src}/serialbox/core/Slice.h | 0 .../src}/serialbox/core/StorageView.cpp | 0 .../src}/serialbox/core/StorageView.h | 0 .../src}/serialbox/core/StorageViewIterator.h | 0 {src => serialbox/src}/serialbox/core/Timer.h | 0 .../src}/serialbox/core/Type.cpp | 0 {src => serialbox/src}/serialbox/core/Type.h | 0 .../src}/serialbox/core/Unreachable.cpp | 0 .../src}/serialbox/core/Unreachable.h | 0 .../src}/serialbox/core/Version.h | 0 .../src}/serialbox/core/archive/Archive.h | 0 .../serialbox/core/archive/ArchiveFactory.cpp | 0 .../serialbox/core/archive/ArchiveFactory.h | 0 .../serialbox/core/archive/BinaryArchive.cpp | 0 .../serialbox/core/archive/BinaryArchive.h | 0 .../serialbox/core/archive/MockArchive.cpp | 0 .../src}/serialbox/core/archive/MockArchive.h | 0 .../serialbox/core/archive/NetCDFArchive.cpp | 0 .../serialbox/core/archive/NetCDFArchive.h | 0 .../core/frontend/gridtools/Exception.h | 0 .../core/frontend/gridtools/FieldMetainfo.h | 0 .../core/frontend/gridtools/Logging.h | 0 .../core/frontend/gridtools/MetainfoMap.h | 0 .../core/frontend/gridtools/MetainfoValue.h | 0 .../core/frontend/gridtools/Savepoint.h | 0 .../core/frontend/gridtools/Serializer.h | 0 .../serialbox/core/frontend/gridtools/Slice.h | 0 .../frontend/gridtools/StorageViewHelper.h | 0 .../serialbox/core/frontend/gridtools/Timer.h | 0 .../serialbox/core/frontend/gridtools/Type.h | 0 .../core/frontend/stella/DataFieldInfo.cpp | 0 .../core/frontend/stella/DataFieldInfo.h | 0 .../core/frontend/stella/ForwardDecl.h | 0 .../core/frontend/stella/IJKBoundary.h | 0 .../serialbox/core/frontend/stella/IJKSize.h | 0 .../core/frontend/stella/KBoundary.h | 0 .../core/frontend/stella/MetainfoSet.cpp | 0 .../core/frontend/stella/MetainfoSet.h | 0 .../core/frontend/stella/Savepoint.cpp | 0 .../core/frontend/stella/Savepoint.h | 0 .../frontend/stella/SerializationException.h | 0 .../core/frontend/stella/Serializer.cpp | 0 .../core/frontend/stella/Serializer.h | 0 .../serialbox/core/frontend/stella/TypeName.h | 0 .../serialbox/core/frontend/stella/Utility.h | 0 .../src}/serialbox/core/hash/Hash.h | 0 .../src}/serialbox/core/hash/HashFactory.cpp | 0 .../src}/serialbox/core/hash/HashFactory.h | 0 .../src}/serialbox/core/hash/MD5.cpp | 0 .../src}/serialbox/core/hash/MD5.h | 0 .../src}/serialbox/core/hash/SHA256.cpp | 0 .../src}/serialbox/core/hash/SHA256.h | 0 .../src}/serialbox/gridtools/serialbox.hpp | 0 .../src}/serialbox/stella/Serialbox.h | 0 serialbox/test/CMakeLists.txt | 72 +++ .../test}/core/CMakeLists.txt | 30 +- .../test}/core/UnittestArray.cpp | 0 .../test}/core/UnittestException.cpp | 0 .../test}/core/UnittestFieldID.cpp | 0 .../test}/core/UnittestFieldMap.cpp | 0 .../test}/core/UnittestFieldMetainfoImpl.cpp | 0 .../test}/core/UnittestMain.cpp | 0 .../test}/core/UnittestMetainfoMapImpl.cpp | 0 .../test}/core/UnittestMetainfoValueImpl.cpp | 0 .../test}/core/UnittestSavepointImpl.cpp | 0 .../test}/core/UnittestSavepointVector.cpp | 0 .../test}/core/UnittestSerializerImpl.cpp | 0 .../test}/core/UnittestSlice.cpp | 0 .../test}/core/UnittestStorage.cpp | 0 .../test}/core/UnittestStorageView.cpp | 0 .../test}/core/UnittestType.cpp | 0 .../test}/core/UnittestUnreachable.cpp | 0 .../test}/core/UnittestUpgradeArchive.cpp | 0 .../test}/core/UnittestVersion.cpp | 0 .../core/archive/UnittestArchiveFactory.cpp | 0 .../core/archive/UnittestBinaryArchive.cpp | 0 .../core/archive/UnittestMockArchive.cpp | 0 .../core/archive/UnittestNetCDFArchive.cpp | 0 .../gridtools/UnittestFieldMetaInfo.cpp | 0 .../gridtools/UnittestMetainfoMap.cpp | 0 .../frontend/gridtools/UnittestSavepoint.cpp | 0 .../frontend/gridtools/UnittestSerializer.cpp | 0 .../gridtools/UnittestStorageView.cpp | 0 .../frontend/stella/UnittestDataFieldInfo.cpp | 0 .../frontend/stella/UnittestException.cpp | 0 .../frontend/stella/UnittestMetainfoSet.cpp | 0 .../frontend/stella/UnittestSavepoint.cpp | 0 .../frontend/stella/UnittestSerializer.cpp | 0 .../frontend/stella/UnittestStorageView.cpp | 0 .../core/frontend/stella/UnittestUtility.cpp | 0 .../test}/utility/BenchmarkEnvironment.cpp | 0 .../test}/utility/BenchmarkEnvironment.h | 0 .../test}/utility/CInterfaceTestBase.cpp | 0 .../test}/utility/CInterfaceTestBase.h | 0 serialbox/test/utility/CMakeLists.txt | 36 ++ .../test}/utility/Config.h.cmake | 0 .../test}/utility/FileUtility.h | 0 {test => serialbox/test}/utility/GridTools.h | 0 {test => serialbox/test}/utility/STELLA.h | 0 {test => serialbox/test}/utility/Serialbox.h | 0 .../test}/utility/SerializerTestBase.h | 0 {test => serialbox/test}/utility/Storage.h | 0 .../test}/utility/UnittestEnvironment.cpp | 0 .../test}/utility/UnittestEnvironment.h | 0 src/CMakeLists.txt | 19 - src/serialbox-c/Config.h | 29 ++ src/serialbox/core/CMakeLists.txt | 114 ----- src/serialbox/core/Config.h | 53 +++ test/serialbox/CMakeLists.txt | 13 - test/utility/CMakeLists.txt | 39 -- version.txt | 1 + 643 files changed, 995 insertions(+), 645 deletions(-) create mode 100644 serialbox-c/CMakeLists.txt rename {src/serialbox-c => serialbox-c/src}/.gitignore (100%) rename {src/serialbox-c => serialbox-c/src}/Api.h (100%) rename {src/serialbox-c => serialbox-c/src}/Archive.cpp (100%) rename {src/serialbox-c => serialbox-c/src}/Archive.h (100%) rename {src/serialbox-c => serialbox-c/src}/Array.cpp (100%) rename {src/serialbox-c => serialbox-c/src}/Array.h (100%) rename {src/serialbox-c => serialbox-c/src}/CMakeLists.txt (100%) rename {src/serialbox-c => serialbox-c/src}/Config.h.cmake (100%) rename {src/serialbox-c => serialbox-c/src}/ConfigOptions.cpp (100%) rename {src/serialbox-c => serialbox-c/src}/ConfigOptions.h (100%) rename {src/serialbox-c => serialbox-c/src}/ErrorHandling.cpp (100%) rename {src/serialbox-c => serialbox-c/src}/ErrorHandling.h (100%) rename {src/serialbox-c => serialbox-c/src}/FieldMetainfo.cpp (100%) rename {src/serialbox-c => serialbox-c/src}/FieldMetainfo.h (100%) rename {src/serialbox-c => serialbox-c/src}/FortranWrapper.cpp (100%) rename {src/serialbox-c => serialbox-c/src}/FortranWrapper.h (100%) rename {src/serialbox-c => serialbox-c/src}/Logging.cpp (100%) rename {src/serialbox-c => serialbox-c/src}/Logging.h (100%) rename {src/serialbox-c => serialbox-c/src}/Metainfo.cpp (100%) rename {src/serialbox-c => serialbox-c/src}/Metainfo.h (100%) rename {src/serialbox-c => serialbox-c/src}/Savepoint.cpp (100%) rename {src/serialbox-c => serialbox-c/src}/Savepoint.h (100%) rename {src/serialbox-c => serialbox-c/src}/Serialbox.h (100%) rename {src/serialbox-c => serialbox-c/src}/Serializer.cpp (100%) rename {src/serialbox-c => serialbox-c/src}/Serializer.h (100%) rename {src/serialbox-c => serialbox-c/src}/Type.h (100%) rename {src/serialbox-c => serialbox-c/src}/Utility.h (100%) rename {test/serialbox-c => serialbox-c/test}/CMakeLists.txt (100%) rename {test/serialbox-c => serialbox-c/test}/UnittestArchive.cpp (100%) rename {test/serialbox-c => serialbox-c/test}/UnittestConfig.cpp (100%) rename {test/serialbox-c => serialbox-c/test}/UnittestErrorHandling.cpp (100%) rename {test/serialbox-c => serialbox-c/test}/UnittestFieldMetaInfo.cpp (100%) rename {test/serialbox-c => serialbox-c/test}/UnittestFortranWrapper.cpp (100%) rename {test/serialbox-c => serialbox-c/test}/UnittestLogging.cpp (100%) rename {test/serialbox-c => serialbox-c/test}/UnittestMain.cpp (100%) rename {test/serialbox-c => serialbox-c/test}/UnittestMetaInfo.cpp (100%) rename {test/serialbox-c => serialbox-c/test}/UnittestSavepoint.cpp (100%) rename {test/serialbox-c => serialbox-c/test}/UnittestSerializer.cpp (100%) create mode 100644 serialbox-fortran/CMakeLists.txt rename {src/serialbox-fortran => serialbox-fortran/src}/.gitignore (85%) rename {src/serialbox-fortran => serialbox-fortran/src}/CMakeLists.txt (86%) rename {src/serialbox-fortran => serialbox-fortran/src}/m_ser_ftg.f90 (100%) rename {src/serialbox-fortran => serialbox-fortran/src}/m_ser_ftg_cmp.f90 (100%) rename {src/serialbox-fortran => serialbox-fortran/src}/m_ser_perturb.f90 (100%) rename {src/serialbox-fortran => serialbox-fortran/src}/m_serialize.f90 (100%) rename {src/serialbox-fortran => serialbox-fortran/src}/utils_ppser.f90 (100%) rename {src/serialbox-fortran => serialbox-fortran/src}/utils_ppser_kbuff.f90 (100%) rename {test/serialbox-fortran => serialbox-fortran/test}/CMakeLists.txt (100%) rename {test/serialbox-fortran => serialbox-fortran/test}/ser_ftg_cmp_test.pf (100%) rename {test/serialbox-fortran => serialbox-fortran/test}/ser_ftg_test.pf (100%) rename {test/serialbox-fortran => serialbox-fortran/test}/serialbox_test.pf (100%) create mode 100644 serialbox-python/CMakeLists.txt rename {src/serialbox-python => serialbox-python/src}/CMakeLists.txt (100%) rename {src/serialbox-python => serialbox-python/src}/compare/compare.py (100%) rename {src/serialbox-python => serialbox-python/src}/pp_ser/pp_ser.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/.gitignore (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdb.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbcore/__init__.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbcore/comparisonresult.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbcore/comparisonresultlist.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbcore/error.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbcore/errorlist.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbcore/halos.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbcore/logger.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbcore/serializerdata.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbcore/serializerdatalistener.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbcore/stencildata.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbcore/stencildatalistener.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbcore/stencilfieldmapper.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbcore/version.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/__init__.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/droppablelineeditwidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/errorconsoleipythonwidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/errorconsolewidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/errorlistwidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/errorvisualizematplotlibwidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/errorvisualizewidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/errorwindow.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/errorwindowheaderwidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/globalconfig.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/icon.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/arrow.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/dance_1.gif (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/dance_2.gif (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/dance_3.gif (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/edit_add.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/edit_remove.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/error.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/failure-small.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/failure.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/fileopen.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/filesave.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/help.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/logo-small.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/logo.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/magnifier.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/next_cursor.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/none.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/prev_cursor.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/run.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/show_all.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/step_in.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/success.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/visualize.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/images/warning.png (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/mainwindow.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/movie.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/pixmap.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/popupaboutwidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/popuphalodescriptorwidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/popupwidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/resulttablecellwidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/resulttablewidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/resultwindow.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/sessionmanager.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/setupwidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/setupwindow.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/stencilfieldlistwidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/stencilfieldmetainfowidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/stencillistwidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/stencilthresholdsetterwidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/stencilwidget.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/stencilwindow.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/tabstate.py (100%) rename {src/serialbox-python => serialbox-python/src}/sdb/sdbgui/tabwindow.py (100%) rename {src/serialbox-python => serialbox-python/src}/serialbox/__init__.py (100%) rename {src/serialbox-python => serialbox-python/src}/serialbox/archive.py (100%) rename {src/serialbox-python => serialbox-python/src}/serialbox/common.py (100%) rename {src/serialbox-python => serialbox-python/src}/serialbox/core.py (100%) rename {src/serialbox-python => serialbox-python/src}/serialbox/error.py (100%) rename {src/serialbox-python => serialbox-python/src}/serialbox/fieldmetainfo.py (100%) rename {src/serialbox-python => serialbox-python/src}/serialbox/metainfomap.py (100%) rename {src/serialbox-python => serialbox-python/src}/serialbox/savepoint.py (100%) rename {src/serialbox-python => serialbox-python/src}/serialbox/serializer.py (100%) rename {src/serialbox-python => serialbox-python/src}/serialbox/serlogging.py (100%) rename {src/serialbox-python => serialbox-python/src}/serialbox/slice.py (100%) rename {src/serialbox-python => serialbox-python/src}/serialbox/type.py (100%) rename {src/serialbox-python => serialbox-python/src}/serialbox/util.py (100%) rename {src/serialbox-python => serialbox-python/src}/serialbox/visualizer.py (100%) rename {test/serialbox-python => serialbox-python/test}/CMakeLists.txt (100%) rename {test/serialbox-python => serialbox-python/test}/run_python_tests.sh.cmake (100%) rename {test/serialbox-python => serialbox-python/test}/sdb/regression/.gitignore (100%) rename {test/serialbox-python => serialbox-python/test}/sdb/regression/create_data.py (100%) rename {test/serialbox-python => serialbox-python/test}/sdb/sdbcore/sdbtest/__init__.py (100%) rename {test/serialbox-python => serialbox-python/test}/sdb/sdbcore/sdbtest/serializerdatamock.py (100%) rename {test/serialbox-python => serialbox-python/test}/sdb/sdbcore/sdbtest/serializermock.py (100%) rename {test/serialbox-python => serialbox-python/test}/sdb/sdbcore/sdbtest/testlistener.py (100%) rename {test/serialbox-python => serialbox-python/test}/sdb/sdbcore/test_sdbcoreC.py (100%) rename {test/serialbox-python => serialbox-python/test}/sdb/sdbcore/test_serializerdata.py (100%) rename {test/serialbox-python => serialbox-python/test}/sdb/sdbcore/test_serializermock.py (100%) rename {test/serialbox-python => serialbox-python/test}/sdb/sdbcore/test_stencildata.py (100%) rename {test/serialbox-python => serialbox-python/test}/sdb/sdbcore/test_stencilfieldmapper.py (100%) rename {test/serialbox-python => serialbox-python/test}/serialbox/test_archive.py (100%) rename {test/serialbox-python => serialbox-python/test}/serialbox/test_core.py (100%) rename {test/serialbox-python => serialbox-python/test}/serialbox/test_fieldmetainfo.py (100%) rename {test/serialbox-python => serialbox-python/test}/serialbox/test_metainfomap.py (100%) rename {test/serialbox-python => serialbox-python/test}/serialbox/test_savepoint.py (100%) rename {test/serialbox-python => serialbox-python/test}/serialbox/test_serializer.py (100%) create mode 100644 serialbox/CMakeLists.txt rename {test => serialbox}/benchmark/BenchmarkMain.cpp (100%) rename {test => serialbox}/benchmark/BenchmarkOldSerialbox.cpp (100%) rename {test => serialbox}/benchmark/BenchmarkSerialbox.cpp (100%) rename {test => serialbox}/benchmark/CMakeLists.txt (100%) create mode 100644 serialbox/cmake/Packaging.cmake create mode 100644 serialbox/cmake/SerialboxConfig.cmake.in rename {external => serialbox/external}/googletest/.gitignore (100%) rename {external => serialbox/external}/googletest/.travis.yml (100%) rename {external => serialbox/external}/googletest/BUILD.bazel (100%) rename {external => serialbox/external}/googletest/CMakeLists.txt (100%) rename {external => serialbox/external}/googletest/CONTRIBUTING.md (100%) rename {external => serialbox/external}/googletest/LICENSE (100%) rename {external => serialbox/external}/googletest/Makefile.am (100%) rename {external => serialbox/external}/googletest/README.md (100%) rename {external => serialbox/external}/googletest/WORKSPACE (100%) rename {external => serialbox/external}/googletest/appveyor.yml (100%) rename {external => serialbox/external}/googletest/ci/build-linux-autotools.sh (100%) rename {external => serialbox/external}/googletest/ci/build-linux-bazel.sh (100%) rename {external => serialbox/external}/googletest/ci/env-linux.sh (100%) rename {external => serialbox/external}/googletest/ci/env-osx.sh (100%) rename {external => serialbox/external}/googletest/ci/get-nprocessors.sh (100%) rename {external => serialbox/external}/googletest/ci/install-linux.sh (100%) rename {external => serialbox/external}/googletest/ci/install-osx.sh (100%) rename {external => serialbox/external}/googletest/ci/log-config.sh (100%) rename {external => serialbox/external}/googletest/ci/travis.sh (100%) rename {external => serialbox/external}/googletest/configure.ac (100%) rename {external => serialbox/external}/googletest/googlemock/CHANGES (100%) rename {external => serialbox/external}/googletest/googlemock/CMakeLists.txt (100%) rename {external => serialbox/external}/googletest/googlemock/CONTRIBUTORS (100%) rename {external => serialbox/external}/googletest/googlemock/LICENSE (100%) rename {external => serialbox/external}/googletest/googlemock/Makefile.am (100%) rename {external => serialbox/external}/googletest/googlemock/README.md (100%) rename {external => serialbox/external}/googletest/googlemock/cmake/gmock.pc.in (100%) rename {external => serialbox/external}/googletest/googlemock/cmake/gmock_main.pc.in (100%) rename {external => serialbox/external}/googletest/googlemock/configure.ac (100%) rename {external => serialbox/external}/googletest/googlemock/docs/CheatSheet.md (100%) rename {external => serialbox/external}/googletest/googlemock/docs/CookBook.md (100%) rename {external => serialbox/external}/googletest/googlemock/docs/DesignDoc.md (100%) rename {external => serialbox/external}/googletest/googlemock/docs/Documentation.md (100%) rename {external => serialbox/external}/googletest/googlemock/docs/ForDummies.md (100%) rename {external => serialbox/external}/googletest/googlemock/docs/FrequentlyAskedQuestions.md (100%) rename {external => serialbox/external}/googletest/googlemock/docs/KnownIssues.md (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/gmock-actions.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/gmock-cardinalities.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/gmock-generated-actions.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/gmock-generated-actions.h.pump (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/gmock-generated-matchers.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/gmock-generated-matchers.h.pump (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/gmock-matchers.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/gmock-more-actions.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/gmock-more-matchers.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/gmock-spec-builders.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/gmock.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/internal/custom/README.md (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/internal/custom/gmock-port.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h.pump (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h (100%) rename {external => serialbox/external}/googletest/googlemock/include/gmock/internal/gmock-port.h (100%) rename {external => serialbox/external}/googletest/googlemock/msvc/2005/gmock.sln (100%) rename {external => serialbox/external}/googletest/googlemock/msvc/2005/gmock.vcproj (100%) rename {external => serialbox/external}/googletest/googlemock/msvc/2005/gmock_config.vsprops (100%) rename {external => serialbox/external}/googletest/googlemock/msvc/2005/gmock_main.vcproj (100%) rename {external => serialbox/external}/googletest/googlemock/msvc/2005/gmock_test.vcproj (100%) rename {external => serialbox/external}/googletest/googlemock/msvc/2010/gmock.sln (100%) rename {external => serialbox/external}/googletest/googlemock/msvc/2010/gmock.vcxproj (100%) rename {external => serialbox/external}/googletest/googlemock/msvc/2010/gmock_config.props (100%) rename {external => serialbox/external}/googletest/googlemock/msvc/2010/gmock_main.vcxproj (100%) rename {external => serialbox/external}/googletest/googlemock/msvc/2010/gmock_test.vcxproj (100%) rename {external => serialbox/external}/googletest/googlemock/msvc/2015/gmock.sln (100%) rename {external => serialbox/external}/googletest/googlemock/msvc/2015/gmock.vcxproj (100%) rename {external => serialbox/external}/googletest/googlemock/msvc/2015/gmock_config.props (100%) rename {external => serialbox/external}/googletest/googlemock/msvc/2015/gmock_main.vcxproj (100%) rename {external => serialbox/external}/googletest/googlemock/msvc/2015/gmock_test.vcxproj (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/fuse_gmock_files.py (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/generator/LICENSE (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/generator/README (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/generator/README.cppclean (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/generator/cpp/__init__.py (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/generator/cpp/ast.py (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/generator/cpp/gmock_class.py (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/generator/cpp/gmock_class_test.py (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/generator/cpp/keywords.py (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/generator/cpp/tokenize.py (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/generator/cpp/utils.py (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/generator/gmock_gen.py (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/gmock-config.in (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/gmock_doctor.py (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/upload.py (100%) rename {external => serialbox/external}/googletest/googlemock/scripts/upload_gmock.py (100%) rename {external => serialbox/external}/googletest/googlemock/src/gmock-all.cc (100%) rename {external => serialbox/external}/googletest/googlemock/src/gmock-cardinalities.cc (100%) rename {external => serialbox/external}/googletest/googlemock/src/gmock-internal-utils.cc (100%) rename {external => serialbox/external}/googletest/googlemock/src/gmock-matchers.cc (100%) rename {external => serialbox/external}/googletest/googlemock/src/gmock-spec-builders.cc (100%) rename {external => serialbox/external}/googletest/googlemock/src/gmock.cc (100%) rename {external => serialbox/external}/googletest/googlemock/src/gmock_main.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/BUILD.bazel (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock-actions_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock-cardinalities_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock-generated-actions_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock-generated-function-mockers_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock-generated-internal-utils_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock-generated-matchers_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock-internal-utils_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock-matchers_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock-more-actions_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock-nice-strict_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock-port_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock-spec-builders_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock_all_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock_ex_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock_leak_test.py (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock_leak_test_.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock_link2_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock_link_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock_link_test.h (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock_output_test.py (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock_output_test_.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock_output_test_golden.txt (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock_stress_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock_test.cc (100%) rename {external => serialbox/external}/googletest/googlemock/test/gmock_test_utils.py (100%) rename {external => serialbox/external}/googletest/googletest/CHANGES (100%) rename {external => serialbox/external}/googletest/googletest/CMakeLists.txt (100%) rename {external => serialbox/external}/googletest/googletest/CONTRIBUTORS (100%) rename {external => serialbox/external}/googletest/googletest/LICENSE (100%) rename {external => serialbox/external}/googletest/googletest/Makefile.am (100%) rename {external => serialbox/external}/googletest/googletest/README.md (100%) rename {external => serialbox/external}/googletest/googletest/cmake/Config.cmake.in (100%) rename {external => serialbox/external}/googletest/googletest/cmake/gtest.pc.in (100%) rename {external => serialbox/external}/googletest/googletest/cmake/gtest_main.pc.in (100%) rename {external => serialbox/external}/googletest/googletest/cmake/internal_utils.cmake (100%) rename {external => serialbox/external}/googletest/googletest/codegear/gtest.cbproj (100%) rename {external => serialbox/external}/googletest/googletest/codegear/gtest.groupproj (100%) rename {external => serialbox/external}/googletest/googletest/codegear/gtest_all.cc (100%) rename {external => serialbox/external}/googletest/googletest/codegear/gtest_link.cc (100%) rename {external => serialbox/external}/googletest/googletest/codegear/gtest_main.cbproj (100%) rename {external => serialbox/external}/googletest/googletest/codegear/gtest_unittest.cbproj (100%) rename {external => serialbox/external}/googletest/googletest/configure.ac (100%) rename {external => serialbox/external}/googletest/googletest/docs/Pkgconfig.md (100%) rename {external => serialbox/external}/googletest/googletest/docs/PumpManual.md (100%) rename {external => serialbox/external}/googletest/googletest/docs/XcodeGuide.md (100%) rename {external => serialbox/external}/googletest/googletest/docs/advanced.md (100%) rename {external => serialbox/external}/googletest/googletest/docs/faq.md (100%) rename {external => serialbox/external}/googletest/googletest/docs/primer.md (100%) rename {external => serialbox/external}/googletest/googletest/docs/samples.md (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/gtest-death-test.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/gtest-message.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/gtest-param-test.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/gtest-param-test.h.pump (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/gtest-printers.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/gtest-spi.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/gtest-test-part.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/gtest-typed-test.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/gtest.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/gtest_pred_impl.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/gtest_prod.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/custom/README.md (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/custom/gtest-port.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/custom/gtest-printers.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/custom/gtest.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/gtest-filepath.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/gtest-internal.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/gtest-param-util.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/gtest-port-arch.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/gtest-port.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/gtest-string.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/gtest-tuple.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/gtest-tuple.h.pump (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/gtest-type-util.h (100%) rename {external => serialbox/external}/googletest/googletest/include/gtest/internal/gtest-type-util.h.pump (100%) rename {external => serialbox/external}/googletest/googletest/m4/acx_pthread.m4 (100%) rename {external => serialbox/external}/googletest/googletest/m4/gtest.m4 (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest-md.sln (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest-md.vcxproj (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest-md.vcxproj.filters (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest.sln (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest.vcxproj (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest.vcxproj.filters (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest_main-md.vcxproj (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest_main-md.vcxproj.filters (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest_main.vcxproj (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest_main.vcxproj.filters (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj.filters (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj.filters (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj.filters (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest_unittest.vcxproj (100%) rename {external => serialbox/external}/googletest/googletest/msvc/2010/gtest_unittest.vcxproj.filters (100%) rename {external => serialbox/external}/googletest/googletest/samples/prime_tables.h (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample1.cc (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample1.h (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample10_unittest.cc (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample1_unittest.cc (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample2.cc (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample2.h (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample2_unittest.cc (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample3-inl.h (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample3_unittest.cc (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample4.cc (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample4.h (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample4_unittest.cc (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample5_unittest.cc (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample6_unittest.cc (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample7_unittest.cc (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample8_unittest.cc (100%) rename {external => serialbox/external}/googletest/googletest/samples/sample9_unittest.cc (100%) rename {external => serialbox/external}/googletest/googletest/scripts/common.py (100%) rename {external => serialbox/external}/googletest/googletest/scripts/fuse_gtest_files.py (100%) rename {external => serialbox/external}/googletest/googletest/scripts/gen_gtest_pred_impl.py (100%) rename {external => serialbox/external}/googletest/googletest/scripts/gtest-config.in (100%) rename {external => serialbox/external}/googletest/googletest/scripts/pump.py (100%) rename {external => serialbox/external}/googletest/googletest/scripts/release_docs.py (100%) rename {external => serialbox/external}/googletest/googletest/scripts/upload.py (100%) rename {external => serialbox/external}/googletest/googletest/scripts/upload_gtest.py (100%) rename {external => serialbox/external}/googletest/googletest/src/gtest-all.cc (100%) rename {external => serialbox/external}/googletest/googletest/src/gtest-death-test.cc (100%) rename {external => serialbox/external}/googletest/googletest/src/gtest-filepath.cc (100%) rename {external => serialbox/external}/googletest/googletest/src/gtest-internal-inl.h (100%) rename {external => serialbox/external}/googletest/googletest/src/gtest-port.cc (100%) rename {external => serialbox/external}/googletest/googletest/src/gtest-printers.cc (100%) rename {external => serialbox/external}/googletest/googletest/src/gtest-test-part.cc (100%) rename {external => serialbox/external}/googletest/googletest/src/gtest-typed-test.cc (100%) rename {external => serialbox/external}/googletest/googletest/src/gtest.cc (100%) rename {external => serialbox/external}/googletest/googletest/src/gtest_main.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/BUILD.bazel (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-break-on-failure-unittest.py (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-break-on-failure-unittest_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-catch-exceptions-test.py (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-catch-exceptions-test_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-color-test.py (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-color-test_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-death-test-test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-death-test_ex_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-env-var-test.py (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-env-var-test_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-filepath-test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-filter-unittest.py (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-filter-unittest_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-json-outfiles-test.py (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-json-output-unittest.py (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-linked-ptr-test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-list-tests-unittest.py (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-list-tests-unittest_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-listener-test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-message-test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-options-test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-output-test-golden-lin.txt (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-output-test.py (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-output-test_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-param-test-invalid-name1-test.py (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-param-test-invalid-name1-test_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-param-test-invalid-name2-test.py (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-param-test-invalid-name2-test_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-param-test-test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-param-test-test.h (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-param-test2-test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-port-test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-printers-test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-shuffle-test.py (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-shuffle-test_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-test-part-test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-test2_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-throw-on-failure-test.py (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-throw-on-failure-test_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-tuple-test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-uninitialized-test.py (100%) rename {external => serialbox/external}/googletest/googletest/test/googletest-uninitialized-test_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest-typed-test2_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest-typed-test_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest-typed-test_test.h (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest-unittest-api_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_all_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_assert_by_exception_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_environment_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_help_test.py (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_help_test_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_json_test_utils.py (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_list_output_unittest.py (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_list_output_unittest_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_main_unittest.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_no_test_unittest.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_pred_impl_unittest.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_premature_exit_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_prod_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_repeat_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_sole_header_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_stress_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_test_macro_stack_footprint_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_test_utils.py (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_testbridge_test.py (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_testbridge_test_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_throw_on_failure_ex_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_unittest.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_xml_outfile1_test_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_xml_outfile2_test_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_xml_outfiles_test.py (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_xml_output_unittest.py (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_xml_output_unittest_.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/gtest_xml_test_utils.py (100%) rename {external => serialbox/external}/googletest/googletest/test/production.cc (100%) rename {external => serialbox/external}/googletest/googletest/test/production.h (100%) rename {external => serialbox/external}/googletest/googletest/xcode/Config/DebugProject.xcconfig (100%) rename {external => serialbox/external}/googletest/googletest/xcode/Config/FrameworkTarget.xcconfig (100%) rename {external => serialbox/external}/googletest/googletest/xcode/Config/General.xcconfig (100%) rename {external => serialbox/external}/googletest/googletest/xcode/Config/ReleaseProject.xcconfig (100%) rename {external => serialbox/external}/googletest/googletest/xcode/Config/StaticLibraryTarget.xcconfig (100%) rename {external => serialbox/external}/googletest/googletest/xcode/Config/TestTarget.xcconfig (100%) rename {external => serialbox/external}/googletest/googletest/xcode/Resources/Info.plist (100%) rename {external => serialbox/external}/googletest/googletest/xcode/Samples/FrameworkSample/Info.plist (100%) rename {external => serialbox/external}/googletest/googletest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj (100%) rename {external => serialbox/external}/googletest/googletest/xcode/Samples/FrameworkSample/runtests.sh (100%) rename {external => serialbox/external}/googletest/googletest/xcode/Samples/FrameworkSample/widget.cc (100%) rename {external => serialbox/external}/googletest/googletest/xcode/Samples/FrameworkSample/widget.h (100%) rename {external => serialbox/external}/googletest/googletest/xcode/Samples/FrameworkSample/widget_test.cc (100%) rename {external => serialbox/external}/googletest/googletest/xcode/Scripts/runtests.sh (100%) rename {external => serialbox/external}/googletest/googletest/xcode/Scripts/versiongenerate.py (100%) rename {external => serialbox/external}/googletest/googletest/xcode/gtest.xcodeproj/project.pbxproj (100%) rename {src => serialbox}/external/json/json.hpp (100%) rename {src => serialbox/src}/serialbox/CMakeLists.txt (100%) rename {src => serialbox/src}/serialbox/core/.gitignore (100%) rename {src => serialbox/src}/serialbox/core/Array.h (100%) create mode 100644 serialbox/src/serialbox/core/CMakeLists.txt rename {src => serialbox/src}/serialbox/core/Compiler.h (100%) rename {src => serialbox/src}/serialbox/core/Config.h.cmake (100%) rename {src => serialbox/src}/serialbox/core/Exception.h (100%) rename {src => serialbox/src}/serialbox/core/FieldID.cpp (100%) rename {src => serialbox/src}/serialbox/core/FieldID.h (100%) rename {src => serialbox/src}/serialbox/core/FieldMap.cpp (100%) rename {src => serialbox/src}/serialbox/core/FieldMap.h (100%) rename {src => serialbox/src}/serialbox/core/FieldMapSerializer.cpp (100%) rename {src => serialbox/src}/serialbox/core/FieldMapSerializer.h (100%) rename {src => serialbox/src}/serialbox/core/FieldMetainfoImpl.cpp (100%) rename {src => serialbox/src}/serialbox/core/FieldMetainfoImpl.h (100%) rename {src => serialbox/src}/serialbox/core/FieldMetainfoImplSerializer.cpp (100%) rename {src => serialbox/src}/serialbox/core/FieldMetainfoImplSerializer.h (100%) rename {src => serialbox/src}/serialbox/core/Filesystem.h (100%) rename {src => serialbox/src}/serialbox/core/Json.h (97%) rename {src => serialbox/src}/serialbox/core/Logging.cpp (100%) rename {src => serialbox/src}/serialbox/core/Logging.h (100%) rename {src => serialbox/src}/serialbox/core/MetainfoMapImpl.cpp (100%) rename {src => serialbox/src}/serialbox/core/MetainfoMapImpl.h (100%) rename {src => serialbox/src}/serialbox/core/MetainfoMapImplSerializer.cpp (100%) rename {src => serialbox/src}/serialbox/core/MetainfoMapImplSerializer.h (100%) rename {src => serialbox/src}/serialbox/core/MetainfoValueImpl.cpp (100%) rename {src => serialbox/src}/serialbox/core/MetainfoValueImpl.h (100%) rename {src => serialbox/src}/serialbox/core/STLExtras.h (100%) rename {src => serialbox/src}/serialbox/core/SavepointImpl.cpp (100%) rename {src => serialbox/src}/serialbox/core/SavepointImpl.h (100%) rename {src => serialbox/src}/serialbox/core/SavepointImplSerializer.cpp (100%) rename {src => serialbox/src}/serialbox/core/SavepointImplSerializer.h (100%) rename {src => serialbox/src}/serialbox/core/SavepointVector.cpp (100%) rename {src => serialbox/src}/serialbox/core/SavepointVector.h (100%) rename {src => serialbox/src}/serialbox/core/SavepointVectorSerializer.cpp (100%) rename {src => serialbox/src}/serialbox/core/SavepointVectorSerializer.h (100%) rename {src => serialbox/src}/serialbox/core/SerializerImpl.cpp (100%) rename {src => serialbox/src}/serialbox/core/SerializerImpl.h (100%) rename {src => serialbox/src}/serialbox/core/Slice.h (100%) rename {src => serialbox/src}/serialbox/core/StorageView.cpp (100%) rename {src => serialbox/src}/serialbox/core/StorageView.h (100%) rename {src => serialbox/src}/serialbox/core/StorageViewIterator.h (100%) rename {src => serialbox/src}/serialbox/core/Timer.h (100%) rename {src => serialbox/src}/serialbox/core/Type.cpp (100%) rename {src => serialbox/src}/serialbox/core/Type.h (100%) rename {src => serialbox/src}/serialbox/core/Unreachable.cpp (100%) rename {src => serialbox/src}/serialbox/core/Unreachable.h (100%) rename {src => serialbox/src}/serialbox/core/Version.h (100%) rename {src => serialbox/src}/serialbox/core/archive/Archive.h (100%) rename {src => serialbox/src}/serialbox/core/archive/ArchiveFactory.cpp (100%) rename {src => serialbox/src}/serialbox/core/archive/ArchiveFactory.h (100%) rename {src => serialbox/src}/serialbox/core/archive/BinaryArchive.cpp (100%) rename {src => serialbox/src}/serialbox/core/archive/BinaryArchive.h (100%) rename {src => serialbox/src}/serialbox/core/archive/MockArchive.cpp (100%) rename {src => serialbox/src}/serialbox/core/archive/MockArchive.h (100%) rename {src => serialbox/src}/serialbox/core/archive/NetCDFArchive.cpp (100%) rename {src => serialbox/src}/serialbox/core/archive/NetCDFArchive.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/gridtools/Exception.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/gridtools/FieldMetainfo.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/gridtools/Logging.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/gridtools/MetainfoMap.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/gridtools/MetainfoValue.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/gridtools/Savepoint.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/gridtools/Serializer.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/gridtools/Slice.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/gridtools/StorageViewHelper.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/gridtools/Timer.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/gridtools/Type.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/stella/DataFieldInfo.cpp (100%) rename {src => serialbox/src}/serialbox/core/frontend/stella/DataFieldInfo.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/stella/ForwardDecl.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/stella/IJKBoundary.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/stella/IJKSize.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/stella/KBoundary.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/stella/MetainfoSet.cpp (100%) rename {src => serialbox/src}/serialbox/core/frontend/stella/MetainfoSet.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/stella/Savepoint.cpp (100%) rename {src => serialbox/src}/serialbox/core/frontend/stella/Savepoint.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/stella/SerializationException.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/stella/Serializer.cpp (100%) rename {src => serialbox/src}/serialbox/core/frontend/stella/Serializer.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/stella/TypeName.h (100%) rename {src => serialbox/src}/serialbox/core/frontend/stella/Utility.h (100%) rename {src => serialbox/src}/serialbox/core/hash/Hash.h (100%) rename {src => serialbox/src}/serialbox/core/hash/HashFactory.cpp (100%) rename {src => serialbox/src}/serialbox/core/hash/HashFactory.h (100%) rename {src => serialbox/src}/serialbox/core/hash/MD5.cpp (100%) rename {src => serialbox/src}/serialbox/core/hash/MD5.h (100%) rename {src => serialbox/src}/serialbox/core/hash/SHA256.cpp (100%) rename {src => serialbox/src}/serialbox/core/hash/SHA256.h (100%) rename {src => serialbox/src}/serialbox/gridtools/serialbox.hpp (100%) rename {src => serialbox/src}/serialbox/stella/Serialbox.h (100%) create mode 100644 serialbox/test/CMakeLists.txt rename {test/serialbox => serialbox/test}/core/CMakeLists.txt (71%) rename {test/serialbox => serialbox/test}/core/UnittestArray.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestException.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestFieldID.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestFieldMap.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestFieldMetainfoImpl.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestMain.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestMetainfoMapImpl.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestMetainfoValueImpl.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestSavepointImpl.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestSavepointVector.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestSerializerImpl.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestSlice.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestStorage.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestStorageView.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestType.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestUnreachable.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestUpgradeArchive.cpp (100%) rename {test/serialbox => serialbox/test}/core/UnittestVersion.cpp (100%) rename {test/serialbox => serialbox/test}/core/archive/UnittestArchiveFactory.cpp (100%) rename {test/serialbox => serialbox/test}/core/archive/UnittestBinaryArchive.cpp (100%) rename {test/serialbox => serialbox/test}/core/archive/UnittestMockArchive.cpp (100%) rename {test/serialbox => serialbox/test}/core/archive/UnittestNetCDFArchive.cpp (100%) rename {test/serialbox => serialbox/test}/core/frontend/gridtools/UnittestFieldMetaInfo.cpp (100%) rename {test/serialbox => serialbox/test}/core/frontend/gridtools/UnittestMetainfoMap.cpp (100%) rename {test/serialbox => serialbox/test}/core/frontend/gridtools/UnittestSavepoint.cpp (100%) rename {test/serialbox => serialbox/test}/core/frontend/gridtools/UnittestSerializer.cpp (100%) rename {test/serialbox => serialbox/test}/core/frontend/gridtools/UnittestStorageView.cpp (100%) rename {test/serialbox => serialbox/test}/core/frontend/stella/UnittestDataFieldInfo.cpp (100%) rename {test/serialbox => serialbox/test}/core/frontend/stella/UnittestException.cpp (100%) rename {test/serialbox => serialbox/test}/core/frontend/stella/UnittestMetainfoSet.cpp (100%) rename {test/serialbox => serialbox/test}/core/frontend/stella/UnittestSavepoint.cpp (100%) rename {test/serialbox => serialbox/test}/core/frontend/stella/UnittestSerializer.cpp (100%) rename {test/serialbox => serialbox/test}/core/frontend/stella/UnittestStorageView.cpp (100%) rename {test/serialbox => serialbox/test}/core/frontend/stella/UnittestUtility.cpp (100%) rename {test => serialbox/test}/utility/BenchmarkEnvironment.cpp (100%) rename {test => serialbox/test}/utility/BenchmarkEnvironment.h (100%) rename {test => serialbox/test}/utility/CInterfaceTestBase.cpp (100%) rename {test => serialbox/test}/utility/CInterfaceTestBase.h (100%) create mode 100644 serialbox/test/utility/CMakeLists.txt rename {test => serialbox/test}/utility/Config.h.cmake (100%) rename {test => serialbox/test}/utility/FileUtility.h (100%) rename {test => serialbox/test}/utility/GridTools.h (100%) rename {test => serialbox/test}/utility/STELLA.h (100%) rename {test => serialbox/test}/utility/Serialbox.h (100%) rename {test => serialbox/test}/utility/SerializerTestBase.h (100%) rename {test => serialbox/test}/utility/Storage.h (100%) rename {test => serialbox/test}/utility/UnittestEnvironment.cpp (100%) rename {test => serialbox/test}/utility/UnittestEnvironment.h (100%) delete mode 100644 src/CMakeLists.txt create mode 100644 src/serialbox-c/Config.h delete mode 100644 src/serialbox/core/CMakeLists.txt create mode 100644 src/serialbox/core/Config.h delete mode 100644 test/serialbox/CMakeLists.txt delete mode 100644 test/utility/CMakeLists.txt create mode 100644 version.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 4a703c56..a4d9e7a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,431 +11,9 @@ ## ##===------------------------------------------------------------------------------------------===## -set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/install" CACHE PATH "CMake install prefix") - -cmake_policy(SET CMP0048 NEW) -project(Serialbox LANGUAGES C CXX VERSION 2.6.0) -cmake_minimum_required(VERSION 3.9.0) - -set(CMAKE_CXX_EXTENSIONS OFF) -set(CMAKE_C_EXTENSIONS OFF) - -list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules") -include(ExternalProject) -include(CMakeParseArguments) -include(CheckCXXCompilerFlag) -include(SerialboxInstallTargets) - -#---------------------------------------- Configure ------------------------------------------------ - -if(UNIX) - set(SERIALBOX_ON_UNIX 1) -endif(UNIX) - -if(WIN32) - set(SERIALBOX_ON_WIN32 1) -endif(WIN32) - -# Serialbox version -set(Serialbox_VERSION_STRING - "${Serialbox_VERSION_MAJOR}.${Serialbox_VERSION_MINOR}.${Serialbox_VERSION_PATCH}") - -message(STATUS "Serialbox version: ${Serialbox_VERSION_STRING}") - -#---------------------------------------- User options --------------------------------------------- - -option(SERIALBOX_BUILD_SHARED "Build shared libraries" ON) -option(SERIALBOX_ENABLE_C "Build C Interface" ON) -option(SERIALBOX_ENABLE_PYTHON "Build Python Interface" ${SERIALBOX_ENABLE_C}) -option(SERIALBOX_ENABLE_FORTRAN "Build Fortran Interface" OFF) -option(SERIALBOX_ENABLE_FTG "Build FortranTestGenerator frontend" OFF) -option(SERIALBOX_ENABLE_SDB "Install the stencil-debugger (sdb)" ON) - -option(SERIALBOX_LOGGING "Enable logging" ON) -option(SERIALBOX_ASYNC_API "Enable the asynchronous API" ON) -option(SERIALBOX_EXAMPLES "Build example exectuables" ON) - -option(SERIALBOX_ENABLE_EXPERIMENTAL_FILESYSTEM "Use std::experimental::filesystem if available" ON) -option(SERIALBOX_USE_OPENSSL "Use OpenSSL library" OFF) -option(SERIALBOX_USE_NETCDF "Use NetCDF library" OFF) - -option(SERIALBOX_TESTING "Build unittest executables" OFF) -option(SERIALBOX_TESTING_GRIDTOOLS "Build gridtools unitests and examples" OFF) -option(SERIALBOX_TESTING_STELLA "Build STELLA unitests" OFF) -option(SERIALBOX_TESTING_DEATH_TESTS "Run death-tests" OFF) -option(SERIALBOX_TESTING_LARGE_FILE_TESTS "Run large file (>4GB) tests" OFF) -option(SERIALBOX_TESTING_FORTRAN "Build tests for the Fortran interface") - -option(SERIALBOX_BENCHMARKING "Build benchmark exectuables" OFF) -option(SERIALBOX_DOCUMENTATION "Build and install the documentation" OFF) - -option(SERIALBOX_CODE_COVERAGE "Generate code coverage" OFF) -option(SERIALBOX_VERBOSE_WARNINGS "Enable verbose warnings (-Wall)" OFF) - -#---------------------------------------- CMake options -------------------------------------------- - -## Perform checks to make sure we support the current compiler -include(SerialboxCheckCxxCompilerSupport) - -## Set C++ standard to C++11 -set(CMAKE_CXX_STANDARD 11) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - -# Compiler specific -if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-sign-compare") -elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -wd488") -endif() - -# Set build type to Release if nothing was specified (instead of Debug) -if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE "Release" CACHE STRING - "Choose the type of build, options are: Debug Release RelWithDebInfo" FORCE) - message(STATUS "Setting build type to 'Release' as none was specified") -endif(NOT CMAKE_BUILD_TYPE) - -# Clear all cmake generated files -if( NOT TARGET clean-all ) - add_custom_target(clean-all - COMMAND ${CMAKE_MAKE_PROGRAM} clean - COMMAND ${CMAKE_COMMAND} -P - "${PROJECT_SOURCE_DIR}/cmake/modules/SerialboxCleanAll.cmake") -endif() - -# We need thread support -find_package(Threads REQUIRED) - -# Set script directory -set(SCRIPT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tools) - -# If we build the Fortran Interface, we need a Fortran compiler -if(SERIALBOX_ENABLE_FORTRAN) - enable_language(Fortran) - include(SerialboxFortranCompilerFlags) -endif() - -# Set shared library flags -if(SERIALBOX_BUILD_SHARED) - set(BUILD_SHARED_LIBS ON) - - # Use, i.e. don't skip the full RPATH for the build tree - set(CMAKE_SKIP_BUILD_RPATH FALSE) - - # When building, don't use the install RPATH already (but later on when installing) - set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) - - set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") - set(CMAKE_MACOSX_RPATH "${CMAKE_INSTALL_RPATH}") - - # Add the automatically determined parts of the RPATH which point to directories outside the - # build tree to the install RPATH - set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) - - # The RPATH to be used when installing, but only if it's not a system directory - list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir) - if("${isSystemDir}" STREQUAL "-1") - SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") - endif("${isSystemDir}" STREQUAL "-1") -endif() - -if(NOT(SERIALBOX_LOGGING)) - add_definitions(-DSERIALBOX_DISABLE_LOGGING) -else() - set(SERIALBOX_HAS_LOGGING 1) -endif() - -if(SERIALBOX_ASYNC_API) - add_definitions(-DSERIALBOX_ASYNC_API) -endif(SERIALBOX_ASYNC_API) - -## Third party libraries -set(SERIALBOX_EXTERNAL_LIBRARIES) - -## Enable testing if one ore more of the tests is requested -if(SERIALBOX_TESTING_GRIDTOOLS OR - SERIALBOX_TESTING_STELLA OR - SERIALBOX_TESTING_DEATH_TESTS OR - SERIALBOX_TESTING_FORTRAN) - set(SERIALBOX_TESTING ON) -endif() - -## IDE Support -include(IDESupport) - -#---------------------------------------- GTest ---------------------------------------------------- -if(SERIALBOX_TESTING) - set(tmp_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}) - set(BUILD_SHARED_LIBS OFF) - add_subdirectory(external/googletest) - set(BUILD_SHARED_LIBS ${tmp_BUILD_SHARED_LIBS}) - - if(SERIALBOX_ENABLE_C) - set(SERIALBOX_HAS_C 1) - endif(SERIALBOX_ENABLE_C) -endif(SERIALBOX_TESTING) - -#---------------------------------------- pFUnit --------------------------------------------------- -if(SERIALBOX_TESTING_FORTRAN) - if(SERIALBOX_ENABLE_FORTRAN) - set(PFUNIT_ROOT_ENV "$ENV{PFUNIT_ROOT}") - find_package(pFUnit REQUIRED) - else() - message(WARNING "You need to enable Fortran (-DSERIALBOX_ENABLE_FORTRAN=ON) to build the Fortran tests.") - endif() -endif() - - -#---------------------------------------- OpenSSL -------------------------------------------------- -if(${SERIALBOX_USE_OPENSSL}) - find_package(OpenSSL REQUIRED) - if(NOT(${OpenSSL_FOUND})) - message(FATAL_ERROR "OpenSSL library not found!") - endif() - include_directories(SYSTEM ${OPENSSL_INCLUDE_DIR}) - set(SERIALBOX_EXTERNAL_LIBRARIES ${SERIALBOX_EXTERNAL_LIBRARIES} ${OPENSSL_LIBRARIES}) - set(SERIALBOX_HAS_OPENSSL 1) -endif() - -#---------------------------------------- NetCDF --------------------------------------------------- -if(${SERIALBOX_USE_NETCDF}) - find_package(NetCDF REQUIRED) - if(NOT(${NetCDF_FOUND})) - message(FATAL_ERROR "NetCDF library not found!") - endif() - set(SERIALBOX_HAS_NETCDF 1) - serialbox_install_targets( TARGETS NETCDF_TARGET ) -endif() - -#---------------------------------------- Python --------------------------------------------------- -if(SERIALBOX_ENABLE_PYTHON) - find_package(PythonInterp 3.4) - - # Python tests are enabled by default if we can find "nose" and "numpy" - set(ENABLE_PYTHON_TESTS OFF) - if(SERIALBOX_TESTING AND PYTHONINTERP_FOUND) - include(FindPythonModule) - find_python_module(nose) - find_python_module(numpy) - if(PY_NOSE_FOUND AND PY_NUMPY_FOUND) - set(ENABLE_PYTHON_TESTS ON) - endif() - endif() - - option(SERIALBOX_TESTING_PYTHON "Run Python tests" ${ENABLE_PYTHON_TESTS}) - mark_as_advanced(ENABLE_PYTHON_TESTS) - -endif(SERIALBOX_ENABLE_PYTHON) - -#---------------------------------------- GridTools ------------------------------------------------ -if(SERIALBOX_TESTING_GRIDTOOLS) - find_package(GridTools QUIET REQUIRED) - set(SERIALBOX_HAS_GRIDTOOLS 1) -endif(SERIALBOX_TESTING_GRIDTOOLS) - -#---------------------------------------- std::experimental::filesystem ---------------------------- -if(SERIALBOX_ENABLE_EXPERIMENTAL_FILESYSTEM) - unset(STD_FILESYSTEM_LIB_CHECK) # - find_library( STD_FILESYSTEM_LIB_CHECK NAMES stdc++fs PATHS - ${CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES} - ) - mark_as_advanced(STD_FILESYSTEM_LIB_CHECK) - if( STD_FILESYSTEM_LIB_CHECK ) - message(STATUS "Using std::experimental::filesystem (no dependency on compiled boost libs)") - add_library(SerialboxFilesytemTarget INTERFACE) - target_link_libraries(SerialboxFilesytemTarget INTERFACE ${STD_FILESYSTEM_LIB_CHECK}) - set(SERIALBOX_FILESYSTEM_LIBRARY_STRING "SERIALBOX_USE_STD_EXPERIMENTAL_FILESYSTEM") - set(_use_boost_filesystem OFF) - else() - message(STATUS "std::experimental::filesystem not found, falling back to boost::filesystem") - set(_use_boost_filesystem ON) - endif() -else() - set(_use_boost_filesystem ON) -endif() - -#---------------------------------------- Boost ---------------------------------------------------- -if(_use_boost_filesystem) - set(REQUIRED_BOOST_COMPONENTS filesystem system) -endif() - -# If ${REQUIRED_BOOST_COMPONENTS} is empty we still need the headers -find_package(Boost 1.54 REQUIRED ${REQUIRED_BOOST_COMPONENTS}) -link_directories(${Boost_LIBRARY_DIRS}) -set(SERIALBOX_BOOST_VERSION ${Boost_VERSION}) - -if(_use_boost_filesystem) - add_library(SerialboxFilesytemTarget INTERFACE) - target_link_libraries(SerialboxFilesytemTarget INTERFACE Boost::filesystem) - set(SERIALBOX_FILESYSTEM_LIBRARY_STRING "SERIALBOX_USE_BOOST_FILESYSTEM") -endif() - -serialbox_install_targets( TARGETS SerialboxFilesytemTarget ) - - -#---------------------------------------- STELLA --------------------------------------------------- -if(SERIALBOX_TESTING_STELLA) - - # If STELLA_ROOT is not provided, we try to find it in external/ - set(STELLA_ROOT_ENV "$ENV{STELLA_ROOT}") - if(NOT(STELLA_ROOT) AND NOT(STELLA_ROOT_ENV) AND - EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/external/stella/CMakeLists.txt") - - set(STELLA_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/external/stella") - - set(BUILD_STELLA "ON" BOOL) - set(STELLA_INSTALL_DIR "${CMAKE_BINARY_DIR}/external/stella/install") - - # Forward toolchain - set(CMAKE_EXTERNAL_ARGS -Wno-dev - -DSTELLA_ENABLE_BENCHMARK=OFF - -DSTELLA_ENABLE_COMMUNICATION=OFF - -DSTELLA_ENABLE_SERIALIZATION=OFF - -DSTELLA_ENABLE_TESTING=OFF - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_GENERATOR=${CMAKE_GENERATOR} - -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_INSTALL_PREFIX=${STELLA_INSTALL_DIR} - ) - - # Build STELLA - ExternalProject_Add( - stella - URL "${CMAKE_CURRENT_SOURCE_DIR}/external/stella" - PREFIX "external/stella" - CMAKE_ARGS ${CMAKE_EXTERNAL_ARGS} - ) - message(STATUS "Building STELLA from: ${CMAKE_CURRENT_SOURCE_DIR}/external/stella") - - set(STELLA_INCLUDE_DIRS "${STELLA_INSTALL_DIR}/include/STELLA") - set(STELLA_LIBRARIES "${STELLA_INSTALL_DIR}/lib/libSharedInfrastructure.a" - "${STELLA_INSTALL_DIR}/lib/libStella.a" - "${STELLA_INSTALL_DIR}/lib/libStellaUtils.a") - else() - find_package(STELLA QUIET REQUIRED) - endif() - - include_directories(SYSTEM ${STELLA_INCLUDE_DIRS}) - set(SERIALBOX_HAS_STELLA 1) - -endif(SERIALBOX_TESTING_STELLA) - -#---------------------------------------- ClangTools ----------------------------------------------- - -find_package(ClangTools) -if("$ENV{CMAKE_EXPORT_COMPILE_COMMANDS}" STREQUAL "1" OR CLANG_TIDY_FOUND) - set(CMAKE_EXPORT_COMPILE_COMMANDS 1) -endif() - -if(CLANG_FORMAT_BIN) - # Runs clang format and updates files in place. - add_custom_target(format - COMMAND ${SCRIPT_DIR}/run-clang-format.sh - ${CMAKE_CURRENT_SOURCE_DIR} - ${CLANG_FORMAT_BIN} - 1 - `find ${CMAKE_CURRENT_SOURCE_DIR}/src - -name \*.h -print -o -name \*.cpp -print`) - - # Runs clang format and exits with a non-zero exit code if any files need to be reformatted - add_custom_target(check-format - COMMAND ${SCRIPT_DIR}/run-clang-format.sh - ${CMAKE_CURRENT_SOURCE_DIR} - ${CLANG_FORMAT_BIN} - 0 - `find ${CMAKE_CURRENT_SOURCE_DIR}/src - -name \*.h -print -o -name \*.cpp -print`) -endif() - -if(CLANG_TIDY_BIN) - # Runs clang-tidy and attempts to fix any warning automatically - add_custom_target(clang-tidy - COMMAND ${SCRIPT_DIR}/run-clang-tidy.sh - ${CLANG_TIDY_BIN} - ${CMAKE_BINARY_DIR}/compile_commands.json - 1 - `find ${CMAKE_CURRENT_SOURCE_DIR}/src - -name \*.h -print -o -name \*.cpp -print`) - - # Runs clang-tidy and exits with a non-zero exit code if any errors are found. - add_custom_target(check-clang-tidy - COMMAND ${SCRIPT_DIR}/run-clang-tidy.sh - ${CLANG_TIDY_BIN} - ${CMAKE_BINARY_DIR}/compile_commands.json - 0 - `find ${CMAKE_CURRENT_SOURCE_DIR}/src - -name \*.h -print -o -name \*.cpp -print`) -endif() - -# --------------------------------------- Code Coverage -------------------------------------------- -if(SERIALBOX_CODE_COVERAGE) - include(SerialboxCoverage) - serialbox_enable_coverage(${CMAKE_BINARY_DIR}) - - set(SERIALBOX_EXTERNAL_LIBRARIES ${SERIALBOX_EXTERNAL_LIBRARIES} - ${CMAKE_SHARED_LINKER_FLAGS_COVERAGE}) -endif(SERIALBOX_CODE_COVERAGE) - -#---------------------------------------- Compilation ---------------------------------------------- - -# Generate serialbox/core/Config.h -set(SERIALBOX_CONFIG_FILE_DISCLAIMER "WARNING! All changes made in this file will be lost!") -set(SERIALBOX_CXX_CONFIG_FILE_IN ${PROJECT_SOURCE_DIR}/src/serialbox/core/Config.h.cmake) -set(SERIALBOX_CXX_CONFIG_FILE ${PROJECT_SOURCE_DIR}/src/serialbox/core/Config.h) -configure_file(${SERIALBOX_CXX_CONFIG_FILE_IN} ${SERIALBOX_CXX_CONFIG_FILE}) -install(FILES ${SERIALBOX_CXX_CONFIG_FILE} - DESTINATION ${CMAKE_INSTALL_PREFIX}/include/serialbox/core) - -# Install serialbox headers -install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/serialbox DESTINATION include - FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp") - -if(SERIALBOX_ENABLE_C) - install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/serialbox-c DESTINATION include - FILES_MATCHING PATTERN "*.h") -endif() - -## Build Serialbox -add_subdirectory(src) - -## Build unittests -if(SERIALBOX_TESTING) - enable_testing() - include(SerialboxTestScript) - serialbox_test_init() - - if(SERIALBOX_TESTING_DEATH_TESTS) - add_definitions(-DSERIALBOX_RUN_DEATH_TESTS) - endif() - - if(SERIALBOX_TESTING_LARGE_FILE_TESTS) - add_definitions(-DSERIALBOX_RUN_LARGE_FILE_TESTS) - endif() - - # Generate utility/Config.h - set(SERIALBOX_CPP_CONFIG_FILE_IN ${PROJECT_SOURCE_DIR}/test/utility/Config.h.cmake) - set(SERIALBOX_CPP_CONFIG_FILE ${PROJECT_BINARY_DIR}/test/utility/Config.h) - configure_file(${SERIALBOX_CPP_CONFIG_FILE_IN} ${SERIALBOX_CPP_CONFIG_FILE}) - include_directories(${PROJECT_BINARY_DIR}/test) - - add_subdirectory(test) -endif(SERIALBOX_TESTING) - -## Build examples -if(SERIALBOX_EXAMPLES) - add_subdirectory(examples) -endif(SERIALBOX_EXAMPLES) - -## Build documentation -if(SERIALBOX_DOCUMENTATION) - add_subdirectory(docs) -endif() - -if(SERIALBOX_TESTING) - serialbox_test_end() -endif(SERIALBOX_TESTING) - -include(cmake/Packaging.cmake) +# TODO superbuild: +# - install core with shared and static +# - install C with shared and static +# - install Fortran +# - install python +# - maybe: drive all tests diff --git a/serialbox-c/CMakeLists.txt b/serialbox-c/CMakeLists.txt new file mode 100644 index 00000000..3bc0bbac --- /dev/null +++ b/serialbox-c/CMakeLists.txt @@ -0,0 +1,6 @@ +#TODO just snippets + +if(SERIALBOX_ENABLE_C) + install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/serialbox-c DESTINATION include + FILES_MATCHING PATTERN "*.h") +endif() \ No newline at end of file diff --git a/src/serialbox-c/.gitignore b/serialbox-c/src/.gitignore similarity index 100% rename from src/serialbox-c/.gitignore rename to serialbox-c/src/.gitignore diff --git a/src/serialbox-c/Api.h b/serialbox-c/src/Api.h similarity index 100% rename from src/serialbox-c/Api.h rename to serialbox-c/src/Api.h diff --git a/src/serialbox-c/Archive.cpp b/serialbox-c/src/Archive.cpp similarity index 100% rename from src/serialbox-c/Archive.cpp rename to serialbox-c/src/Archive.cpp diff --git a/src/serialbox-c/Archive.h b/serialbox-c/src/Archive.h similarity index 100% rename from src/serialbox-c/Archive.h rename to serialbox-c/src/Archive.h diff --git a/src/serialbox-c/Array.cpp b/serialbox-c/src/Array.cpp similarity index 100% rename from src/serialbox-c/Array.cpp rename to serialbox-c/src/Array.cpp diff --git a/src/serialbox-c/Array.h b/serialbox-c/src/Array.h similarity index 100% rename from src/serialbox-c/Array.h rename to serialbox-c/src/Array.h diff --git a/src/serialbox-c/CMakeLists.txt b/serialbox-c/src/CMakeLists.txt similarity index 100% rename from src/serialbox-c/CMakeLists.txt rename to serialbox-c/src/CMakeLists.txt diff --git a/src/serialbox-c/Config.h.cmake b/serialbox-c/src/Config.h.cmake similarity index 100% rename from src/serialbox-c/Config.h.cmake rename to serialbox-c/src/Config.h.cmake diff --git a/src/serialbox-c/ConfigOptions.cpp b/serialbox-c/src/ConfigOptions.cpp similarity index 100% rename from src/serialbox-c/ConfigOptions.cpp rename to serialbox-c/src/ConfigOptions.cpp diff --git a/src/serialbox-c/ConfigOptions.h b/serialbox-c/src/ConfigOptions.h similarity index 100% rename from src/serialbox-c/ConfigOptions.h rename to serialbox-c/src/ConfigOptions.h diff --git a/src/serialbox-c/ErrorHandling.cpp b/serialbox-c/src/ErrorHandling.cpp similarity index 100% rename from src/serialbox-c/ErrorHandling.cpp rename to serialbox-c/src/ErrorHandling.cpp diff --git a/src/serialbox-c/ErrorHandling.h b/serialbox-c/src/ErrorHandling.h similarity index 100% rename from src/serialbox-c/ErrorHandling.h rename to serialbox-c/src/ErrorHandling.h diff --git a/src/serialbox-c/FieldMetainfo.cpp b/serialbox-c/src/FieldMetainfo.cpp similarity index 100% rename from src/serialbox-c/FieldMetainfo.cpp rename to serialbox-c/src/FieldMetainfo.cpp diff --git a/src/serialbox-c/FieldMetainfo.h b/serialbox-c/src/FieldMetainfo.h similarity index 100% rename from src/serialbox-c/FieldMetainfo.h rename to serialbox-c/src/FieldMetainfo.h diff --git a/src/serialbox-c/FortranWrapper.cpp b/serialbox-c/src/FortranWrapper.cpp similarity index 100% rename from src/serialbox-c/FortranWrapper.cpp rename to serialbox-c/src/FortranWrapper.cpp diff --git a/src/serialbox-c/FortranWrapper.h b/serialbox-c/src/FortranWrapper.h similarity index 100% rename from src/serialbox-c/FortranWrapper.h rename to serialbox-c/src/FortranWrapper.h diff --git a/src/serialbox-c/Logging.cpp b/serialbox-c/src/Logging.cpp similarity index 100% rename from src/serialbox-c/Logging.cpp rename to serialbox-c/src/Logging.cpp diff --git a/src/serialbox-c/Logging.h b/serialbox-c/src/Logging.h similarity index 100% rename from src/serialbox-c/Logging.h rename to serialbox-c/src/Logging.h diff --git a/src/serialbox-c/Metainfo.cpp b/serialbox-c/src/Metainfo.cpp similarity index 100% rename from src/serialbox-c/Metainfo.cpp rename to serialbox-c/src/Metainfo.cpp diff --git a/src/serialbox-c/Metainfo.h b/serialbox-c/src/Metainfo.h similarity index 100% rename from src/serialbox-c/Metainfo.h rename to serialbox-c/src/Metainfo.h diff --git a/src/serialbox-c/Savepoint.cpp b/serialbox-c/src/Savepoint.cpp similarity index 100% rename from src/serialbox-c/Savepoint.cpp rename to serialbox-c/src/Savepoint.cpp diff --git a/src/serialbox-c/Savepoint.h b/serialbox-c/src/Savepoint.h similarity index 100% rename from src/serialbox-c/Savepoint.h rename to serialbox-c/src/Savepoint.h diff --git a/src/serialbox-c/Serialbox.h b/serialbox-c/src/Serialbox.h similarity index 100% rename from src/serialbox-c/Serialbox.h rename to serialbox-c/src/Serialbox.h diff --git a/src/serialbox-c/Serializer.cpp b/serialbox-c/src/Serializer.cpp similarity index 100% rename from src/serialbox-c/Serializer.cpp rename to serialbox-c/src/Serializer.cpp diff --git a/src/serialbox-c/Serializer.h b/serialbox-c/src/Serializer.h similarity index 100% rename from src/serialbox-c/Serializer.h rename to serialbox-c/src/Serializer.h diff --git a/src/serialbox-c/Type.h b/serialbox-c/src/Type.h similarity index 100% rename from src/serialbox-c/Type.h rename to serialbox-c/src/Type.h diff --git a/src/serialbox-c/Utility.h b/serialbox-c/src/Utility.h similarity index 100% rename from src/serialbox-c/Utility.h rename to serialbox-c/src/Utility.h diff --git a/test/serialbox-c/CMakeLists.txt b/serialbox-c/test/CMakeLists.txt similarity index 100% rename from test/serialbox-c/CMakeLists.txt rename to serialbox-c/test/CMakeLists.txt diff --git a/test/serialbox-c/UnittestArchive.cpp b/serialbox-c/test/UnittestArchive.cpp similarity index 100% rename from test/serialbox-c/UnittestArchive.cpp rename to serialbox-c/test/UnittestArchive.cpp diff --git a/test/serialbox-c/UnittestConfig.cpp b/serialbox-c/test/UnittestConfig.cpp similarity index 100% rename from test/serialbox-c/UnittestConfig.cpp rename to serialbox-c/test/UnittestConfig.cpp diff --git a/test/serialbox-c/UnittestErrorHandling.cpp b/serialbox-c/test/UnittestErrorHandling.cpp similarity index 100% rename from test/serialbox-c/UnittestErrorHandling.cpp rename to serialbox-c/test/UnittestErrorHandling.cpp diff --git a/test/serialbox-c/UnittestFieldMetaInfo.cpp b/serialbox-c/test/UnittestFieldMetaInfo.cpp similarity index 100% rename from test/serialbox-c/UnittestFieldMetaInfo.cpp rename to serialbox-c/test/UnittestFieldMetaInfo.cpp diff --git a/test/serialbox-c/UnittestFortranWrapper.cpp b/serialbox-c/test/UnittestFortranWrapper.cpp similarity index 100% rename from test/serialbox-c/UnittestFortranWrapper.cpp rename to serialbox-c/test/UnittestFortranWrapper.cpp diff --git a/test/serialbox-c/UnittestLogging.cpp b/serialbox-c/test/UnittestLogging.cpp similarity index 100% rename from test/serialbox-c/UnittestLogging.cpp rename to serialbox-c/test/UnittestLogging.cpp diff --git a/test/serialbox-c/UnittestMain.cpp b/serialbox-c/test/UnittestMain.cpp similarity index 100% rename from test/serialbox-c/UnittestMain.cpp rename to serialbox-c/test/UnittestMain.cpp diff --git a/test/serialbox-c/UnittestMetaInfo.cpp b/serialbox-c/test/UnittestMetaInfo.cpp similarity index 100% rename from test/serialbox-c/UnittestMetaInfo.cpp rename to serialbox-c/test/UnittestMetaInfo.cpp diff --git a/test/serialbox-c/UnittestSavepoint.cpp b/serialbox-c/test/UnittestSavepoint.cpp similarity index 100% rename from test/serialbox-c/UnittestSavepoint.cpp rename to serialbox-c/test/UnittestSavepoint.cpp diff --git a/test/serialbox-c/UnittestSerializer.cpp b/serialbox-c/test/UnittestSerializer.cpp similarity index 100% rename from test/serialbox-c/UnittestSerializer.cpp rename to serialbox-c/test/UnittestSerializer.cpp diff --git a/serialbox-fortran/CMakeLists.txt b/serialbox-fortran/CMakeLists.txt new file mode 100644 index 00000000..8f82e9bd --- /dev/null +++ b/serialbox-fortran/CMakeLists.txt @@ -0,0 +1,31 @@ +# TODO I just copy snippets to this location from the old main CMakeLists.txt + + +# If we build the Fortran Interface, we need a Fortran compiler +if(SERIALBOX_ENABLE_FORTRAN) + enable_language(Fortran) + include(SerialboxFortranCompilerFlags) +endif() + +# CRAY does not want to build shared libraries +if("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "Cray") + message(STATUS "Disabling shared libraries for Cray compiler") + set(SERIALBOX_BUILD_SHARED OFF) + set(BUILD_SHARED_LIBS OFF) + message(STATUS "Disabling python") + set(SERIALBOX_ENABLE_PYTHON OFF) + set(SERIALBOX_ENABLE_SDB OFF) +endif() + + + + +#---------------------------------------- pFUnit --------------------------------------------------- +if(SERIALBOX_TESTING_FORTRAN) + if(SERIALBOX_ENABLE_FORTRAN) + set(PFUNIT_ROOT_ENV "$ENV{PFUNIT_ROOT}") + find_package(pFUnit REQUIRED) + else() + message(WARNING "You need to enable Fortran (-DSERIALBOX_ENABLE_FORTRAN=ON) to build the Fortran tests.") + endif() +endif() \ No newline at end of file diff --git a/src/serialbox-fortran/.gitignore b/serialbox-fortran/src/.gitignore similarity index 85% rename from src/serialbox-fortran/.gitignore rename to serialbox-fortran/src/.gitignore index 63a7748c..00954bf2 100644 --- a/src/serialbox-fortran/.gitignore +++ b/serialbox-fortran/src/.gitignore @@ -1 +1,2 @@ *.mod + diff --git a/src/serialbox-fortran/CMakeLists.txt b/serialbox-fortran/src/CMakeLists.txt similarity index 86% rename from src/serialbox-fortran/CMakeLists.txt rename to serialbox-fortran/src/CMakeLists.txt index 36045b67..0802fde8 100644 --- a/src/serialbox-fortran/CMakeLists.txt +++ b/serialbox-fortran/src/CMakeLists.txt @@ -7,7 +7,7 @@ ## ##===------------------------------------------------------------------------------------------===## -cmake_minimum_required(VERSION 3.12) +cmake_minimum_required(VERSION 3.12.4) if(SERIALBOX_ENABLE_FORTRAN) @@ -15,11 +15,11 @@ if(SERIALBOX_ENABLE_FORTRAN) add_library(SerialboxFortranSerializeObjects OBJECT ${SOURCES_FORTRAN_SERIALIZE}) target_include_directories(SerialboxFortranSerializeObjects PUBLIC - $ + $ $ ) - set(SOURCES_FORTRAN utils_ppser.f90 utils_ppser_kbuff.f90) + set(SOURCES_FORTRAN utils_ppser.f90 utils_ppser_kbuff.f90) if (SERIALBOX_ENABLE_FTG) set(SOURCES_FORTRAN ${SOURCES_FORTRAN} m_ser_ftg.f90 m_ser_ftg_cmp.f90) endif() @@ -33,31 +33,32 @@ if(SERIALBOX_ENABLE_FORTRAN) ) add_library(SerialboxFortranStatic STATIC $ $) - set_target_properties(SerialboxFortranStatic PROPERTIES OUTPUT_NAME SerialboxFortran) target_link_libraries(SerialboxFortranStatic PUBLIC SerialboxFortranObjects) target_link_libraries(SerialboxFortranStatic PUBLIC SerialboxFortranSerializeObjects) target_link_libraries(SerialboxFortranStatic PUBLIC SerialboxCStatic) set_target_properties(SerialboxFortranStatic PROPERTIES VERSION ${Serialbox_VERSION_STRING}) + install(TARGETS SerialboxFortranStatic SerialboxFortranObjects SerialboxFortranSerializeObjects + EXPORT SerialboxTargets + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + ) if(BUILD_SHARED_LIBS) set_target_properties( SerialboxFortranSerializeObjects PROPERTIES POSITION_INDEPENDENT_CODE ON ) set_target_properties( SerialboxFortranObjects PROPERTIES POSITION_INDEPENDENT_CODE ON ) add_library(SerialboxFortranShared SHARED $ $) - set_target_properties(SerialboxFortranShared PROPERTIES OUTPUT_NAME SerialboxFortran) target_link_libraries(SerialboxFortranShared PUBLIC SerialboxFortranObjects) target_link_libraries(SerialboxFortranShared PUBLIC SerialboxFortranSerializeObjects) target_link_libraries(SerialboxFortranShared PUBLIC SerialboxCShared) set_target_properties(SerialboxFortranShared PROPERTIES VERSION ${Serialbox_VERSION_STRING}) - endif() - - serialbox_install_targets( TARGETS - SerialboxFortranStatic - SerialboxFortranShared - SerialboxFortranObjects - SerialboxFortranSerializeObjects - ) + install(TARGETS SerialboxFortranShared + EXPORT SerialboxTargets + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + ) + endif() # Install mod files foreach(source ${SOURCES_FORTRAN} ${SOURCES_FORTRAN_SERIALIZE}) @@ -69,5 +70,4 @@ if(SERIALBOX_ENABLE_FORTRAN) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${module_name}.mod" DESTINATION include) endforeach() - endif() diff --git a/src/serialbox-fortran/m_ser_ftg.f90 b/serialbox-fortran/src/m_ser_ftg.f90 similarity index 100% rename from src/serialbox-fortran/m_ser_ftg.f90 rename to serialbox-fortran/src/m_ser_ftg.f90 diff --git a/src/serialbox-fortran/m_ser_ftg_cmp.f90 b/serialbox-fortran/src/m_ser_ftg_cmp.f90 similarity index 100% rename from src/serialbox-fortran/m_ser_ftg_cmp.f90 rename to serialbox-fortran/src/m_ser_ftg_cmp.f90 diff --git a/src/serialbox-fortran/m_ser_perturb.f90 b/serialbox-fortran/src/m_ser_perturb.f90 similarity index 100% rename from src/serialbox-fortran/m_ser_perturb.f90 rename to serialbox-fortran/src/m_ser_perturb.f90 diff --git a/src/serialbox-fortran/m_serialize.f90 b/serialbox-fortran/src/m_serialize.f90 similarity index 100% rename from src/serialbox-fortran/m_serialize.f90 rename to serialbox-fortran/src/m_serialize.f90 diff --git a/src/serialbox-fortran/utils_ppser.f90 b/serialbox-fortran/src/utils_ppser.f90 similarity index 100% rename from src/serialbox-fortran/utils_ppser.f90 rename to serialbox-fortran/src/utils_ppser.f90 diff --git a/src/serialbox-fortran/utils_ppser_kbuff.f90 b/serialbox-fortran/src/utils_ppser_kbuff.f90 similarity index 100% rename from src/serialbox-fortran/utils_ppser_kbuff.f90 rename to serialbox-fortran/src/utils_ppser_kbuff.f90 diff --git a/test/serialbox-fortran/CMakeLists.txt b/serialbox-fortran/test/CMakeLists.txt similarity index 100% rename from test/serialbox-fortran/CMakeLists.txt rename to serialbox-fortran/test/CMakeLists.txt diff --git a/test/serialbox-fortran/ser_ftg_cmp_test.pf b/serialbox-fortran/test/ser_ftg_cmp_test.pf similarity index 100% rename from test/serialbox-fortran/ser_ftg_cmp_test.pf rename to serialbox-fortran/test/ser_ftg_cmp_test.pf diff --git a/test/serialbox-fortran/ser_ftg_test.pf b/serialbox-fortran/test/ser_ftg_test.pf similarity index 100% rename from test/serialbox-fortran/ser_ftg_test.pf rename to serialbox-fortran/test/ser_ftg_test.pf diff --git a/test/serialbox-fortran/serialbox_test.pf b/serialbox-fortran/test/serialbox_test.pf similarity index 100% rename from test/serialbox-fortran/serialbox_test.pf rename to serialbox-fortran/test/serialbox_test.pf diff --git a/serialbox-python/CMakeLists.txt b/serialbox-python/CMakeLists.txt new file mode 100644 index 00000000..3028571c --- /dev/null +++ b/serialbox-python/CMakeLists.txt @@ -0,0 +1,23 @@ +# TODO I just copy snippets to this location from the old main CMakeLists.txt + + +#---------------------------------------- Python --------------------------------------------------- +if(SERIALBOX_ENABLE_PYTHON) + find_package(PythonInterp 3.4) + + # Python tests are enabled by default if we can find "nose" and "numpy" + set(ENABLE_PYTHON_TESTS OFF) + if(SERIALBOX_TESTING AND PYTHONINTERP_FOUND) + include(FindPythonModule) + find_python_module(nose) + find_python_module(numpy) + if(PY_NOSE_FOUND AND PY_NUMPY_FOUND) + set(ENABLE_PYTHON_TESTS ON) + endif() + endif() + + option(SERIALBOX_TESTING_PYTHON "Run Python tests" ${ENABLE_PYTHON_TESTS}) + mark_as_advanced(ENABLE_PYTHON_TESTS) + +endif(SERIALBOX_ENABLE_PYTHON) + \ No newline at end of file diff --git a/src/serialbox-python/CMakeLists.txt b/serialbox-python/src/CMakeLists.txt similarity index 100% rename from src/serialbox-python/CMakeLists.txt rename to serialbox-python/src/CMakeLists.txt diff --git a/src/serialbox-python/compare/compare.py b/serialbox-python/src/compare/compare.py similarity index 100% rename from src/serialbox-python/compare/compare.py rename to serialbox-python/src/compare/compare.py diff --git a/src/serialbox-python/pp_ser/pp_ser.py b/serialbox-python/src/pp_ser/pp_ser.py similarity index 100% rename from src/serialbox-python/pp_ser/pp_ser.py rename to serialbox-python/src/pp_ser/pp_ser.py diff --git a/src/serialbox-python/sdb/.gitignore b/serialbox-python/src/sdb/.gitignore similarity index 100% rename from src/serialbox-python/sdb/.gitignore rename to serialbox-python/src/sdb/.gitignore diff --git a/src/serialbox-python/sdb/sdb.py b/serialbox-python/src/sdb/sdb.py similarity index 100% rename from src/serialbox-python/sdb/sdb.py rename to serialbox-python/src/sdb/sdb.py diff --git a/src/serialbox-python/sdb/sdbcore/__init__.py b/serialbox-python/src/sdb/sdbcore/__init__.py similarity index 100% rename from src/serialbox-python/sdb/sdbcore/__init__.py rename to serialbox-python/src/sdb/sdbcore/__init__.py diff --git a/src/serialbox-python/sdb/sdbcore/comparisonresult.py b/serialbox-python/src/sdb/sdbcore/comparisonresult.py similarity index 100% rename from src/serialbox-python/sdb/sdbcore/comparisonresult.py rename to serialbox-python/src/sdb/sdbcore/comparisonresult.py diff --git a/src/serialbox-python/sdb/sdbcore/comparisonresultlist.py b/serialbox-python/src/sdb/sdbcore/comparisonresultlist.py similarity index 100% rename from src/serialbox-python/sdb/sdbcore/comparisonresultlist.py rename to serialbox-python/src/sdb/sdbcore/comparisonresultlist.py diff --git a/src/serialbox-python/sdb/sdbcore/error.py b/serialbox-python/src/sdb/sdbcore/error.py similarity index 100% rename from src/serialbox-python/sdb/sdbcore/error.py rename to serialbox-python/src/sdb/sdbcore/error.py diff --git a/src/serialbox-python/sdb/sdbcore/errorlist.py b/serialbox-python/src/sdb/sdbcore/errorlist.py similarity index 100% rename from src/serialbox-python/sdb/sdbcore/errorlist.py rename to serialbox-python/src/sdb/sdbcore/errorlist.py diff --git a/src/serialbox-python/sdb/sdbcore/halos.py b/serialbox-python/src/sdb/sdbcore/halos.py similarity index 100% rename from src/serialbox-python/sdb/sdbcore/halos.py rename to serialbox-python/src/sdb/sdbcore/halos.py diff --git a/src/serialbox-python/sdb/sdbcore/logger.py b/serialbox-python/src/sdb/sdbcore/logger.py similarity index 100% rename from src/serialbox-python/sdb/sdbcore/logger.py rename to serialbox-python/src/sdb/sdbcore/logger.py diff --git a/src/serialbox-python/sdb/sdbcore/serializerdata.py b/serialbox-python/src/sdb/sdbcore/serializerdata.py similarity index 100% rename from src/serialbox-python/sdb/sdbcore/serializerdata.py rename to serialbox-python/src/sdb/sdbcore/serializerdata.py diff --git a/src/serialbox-python/sdb/sdbcore/serializerdatalistener.py b/serialbox-python/src/sdb/sdbcore/serializerdatalistener.py similarity index 100% rename from src/serialbox-python/sdb/sdbcore/serializerdatalistener.py rename to serialbox-python/src/sdb/sdbcore/serializerdatalistener.py diff --git a/src/serialbox-python/sdb/sdbcore/stencildata.py b/serialbox-python/src/sdb/sdbcore/stencildata.py similarity index 100% rename from src/serialbox-python/sdb/sdbcore/stencildata.py rename to serialbox-python/src/sdb/sdbcore/stencildata.py diff --git a/src/serialbox-python/sdb/sdbcore/stencildatalistener.py b/serialbox-python/src/sdb/sdbcore/stencildatalistener.py similarity index 100% rename from src/serialbox-python/sdb/sdbcore/stencildatalistener.py rename to serialbox-python/src/sdb/sdbcore/stencildatalistener.py diff --git a/src/serialbox-python/sdb/sdbcore/stencilfieldmapper.py b/serialbox-python/src/sdb/sdbcore/stencilfieldmapper.py similarity index 100% rename from src/serialbox-python/sdb/sdbcore/stencilfieldmapper.py rename to serialbox-python/src/sdb/sdbcore/stencilfieldmapper.py diff --git a/src/serialbox-python/sdb/sdbcore/version.py b/serialbox-python/src/sdb/sdbcore/version.py similarity index 100% rename from src/serialbox-python/sdb/sdbcore/version.py rename to serialbox-python/src/sdb/sdbcore/version.py diff --git a/src/serialbox-python/sdb/sdbgui/__init__.py b/serialbox-python/src/sdb/sdbgui/__init__.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/__init__.py rename to serialbox-python/src/sdb/sdbgui/__init__.py diff --git a/src/serialbox-python/sdb/sdbgui/droppablelineeditwidget.py b/serialbox-python/src/sdb/sdbgui/droppablelineeditwidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/droppablelineeditwidget.py rename to serialbox-python/src/sdb/sdbgui/droppablelineeditwidget.py diff --git a/src/serialbox-python/sdb/sdbgui/errorconsoleipythonwidget.py b/serialbox-python/src/sdb/sdbgui/errorconsoleipythonwidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/errorconsoleipythonwidget.py rename to serialbox-python/src/sdb/sdbgui/errorconsoleipythonwidget.py diff --git a/src/serialbox-python/sdb/sdbgui/errorconsolewidget.py b/serialbox-python/src/sdb/sdbgui/errorconsolewidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/errorconsolewidget.py rename to serialbox-python/src/sdb/sdbgui/errorconsolewidget.py diff --git a/src/serialbox-python/sdb/sdbgui/errorlistwidget.py b/serialbox-python/src/sdb/sdbgui/errorlistwidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/errorlistwidget.py rename to serialbox-python/src/sdb/sdbgui/errorlistwidget.py diff --git a/src/serialbox-python/sdb/sdbgui/errorvisualizematplotlibwidget.py b/serialbox-python/src/sdb/sdbgui/errorvisualizematplotlibwidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/errorvisualizematplotlibwidget.py rename to serialbox-python/src/sdb/sdbgui/errorvisualizematplotlibwidget.py diff --git a/src/serialbox-python/sdb/sdbgui/errorvisualizewidget.py b/serialbox-python/src/sdb/sdbgui/errorvisualizewidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/errorvisualizewidget.py rename to serialbox-python/src/sdb/sdbgui/errorvisualizewidget.py diff --git a/src/serialbox-python/sdb/sdbgui/errorwindow.py b/serialbox-python/src/sdb/sdbgui/errorwindow.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/errorwindow.py rename to serialbox-python/src/sdb/sdbgui/errorwindow.py diff --git a/src/serialbox-python/sdb/sdbgui/errorwindowheaderwidget.py b/serialbox-python/src/sdb/sdbgui/errorwindowheaderwidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/errorwindowheaderwidget.py rename to serialbox-python/src/sdb/sdbgui/errorwindowheaderwidget.py diff --git a/src/serialbox-python/sdb/sdbgui/globalconfig.py b/serialbox-python/src/sdb/sdbgui/globalconfig.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/globalconfig.py rename to serialbox-python/src/sdb/sdbgui/globalconfig.py diff --git a/src/serialbox-python/sdb/sdbgui/icon.py b/serialbox-python/src/sdb/sdbgui/icon.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/icon.py rename to serialbox-python/src/sdb/sdbgui/icon.py diff --git a/src/serialbox-python/sdb/sdbgui/images/arrow.png b/serialbox-python/src/sdb/sdbgui/images/arrow.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/arrow.png rename to serialbox-python/src/sdb/sdbgui/images/arrow.png diff --git a/src/serialbox-python/sdb/sdbgui/images/dance_1.gif b/serialbox-python/src/sdb/sdbgui/images/dance_1.gif similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/dance_1.gif rename to serialbox-python/src/sdb/sdbgui/images/dance_1.gif diff --git a/src/serialbox-python/sdb/sdbgui/images/dance_2.gif b/serialbox-python/src/sdb/sdbgui/images/dance_2.gif similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/dance_2.gif rename to serialbox-python/src/sdb/sdbgui/images/dance_2.gif diff --git a/src/serialbox-python/sdb/sdbgui/images/dance_3.gif b/serialbox-python/src/sdb/sdbgui/images/dance_3.gif similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/dance_3.gif rename to serialbox-python/src/sdb/sdbgui/images/dance_3.gif diff --git a/src/serialbox-python/sdb/sdbgui/images/edit_add.png b/serialbox-python/src/sdb/sdbgui/images/edit_add.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/edit_add.png rename to serialbox-python/src/sdb/sdbgui/images/edit_add.png diff --git a/src/serialbox-python/sdb/sdbgui/images/edit_remove.png b/serialbox-python/src/sdb/sdbgui/images/edit_remove.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/edit_remove.png rename to serialbox-python/src/sdb/sdbgui/images/edit_remove.png diff --git a/src/serialbox-python/sdb/sdbgui/images/error.png b/serialbox-python/src/sdb/sdbgui/images/error.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/error.png rename to serialbox-python/src/sdb/sdbgui/images/error.png diff --git a/src/serialbox-python/sdb/sdbgui/images/failure-small.png b/serialbox-python/src/sdb/sdbgui/images/failure-small.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/failure-small.png rename to serialbox-python/src/sdb/sdbgui/images/failure-small.png diff --git a/src/serialbox-python/sdb/sdbgui/images/failure.png b/serialbox-python/src/sdb/sdbgui/images/failure.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/failure.png rename to serialbox-python/src/sdb/sdbgui/images/failure.png diff --git a/src/serialbox-python/sdb/sdbgui/images/fileopen.png b/serialbox-python/src/sdb/sdbgui/images/fileopen.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/fileopen.png rename to serialbox-python/src/sdb/sdbgui/images/fileopen.png diff --git a/src/serialbox-python/sdb/sdbgui/images/filesave.png b/serialbox-python/src/sdb/sdbgui/images/filesave.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/filesave.png rename to serialbox-python/src/sdb/sdbgui/images/filesave.png diff --git a/src/serialbox-python/sdb/sdbgui/images/help.png b/serialbox-python/src/sdb/sdbgui/images/help.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/help.png rename to serialbox-python/src/sdb/sdbgui/images/help.png diff --git a/src/serialbox-python/sdb/sdbgui/images/logo-small.png b/serialbox-python/src/sdb/sdbgui/images/logo-small.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/logo-small.png rename to serialbox-python/src/sdb/sdbgui/images/logo-small.png diff --git a/src/serialbox-python/sdb/sdbgui/images/logo.png b/serialbox-python/src/sdb/sdbgui/images/logo.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/logo.png rename to serialbox-python/src/sdb/sdbgui/images/logo.png diff --git a/src/serialbox-python/sdb/sdbgui/images/magnifier.png b/serialbox-python/src/sdb/sdbgui/images/magnifier.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/magnifier.png rename to serialbox-python/src/sdb/sdbgui/images/magnifier.png diff --git a/src/serialbox-python/sdb/sdbgui/images/next_cursor.png b/serialbox-python/src/sdb/sdbgui/images/next_cursor.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/next_cursor.png rename to serialbox-python/src/sdb/sdbgui/images/next_cursor.png diff --git a/src/serialbox-python/sdb/sdbgui/images/none.png b/serialbox-python/src/sdb/sdbgui/images/none.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/none.png rename to serialbox-python/src/sdb/sdbgui/images/none.png diff --git a/src/serialbox-python/sdb/sdbgui/images/prev_cursor.png b/serialbox-python/src/sdb/sdbgui/images/prev_cursor.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/prev_cursor.png rename to serialbox-python/src/sdb/sdbgui/images/prev_cursor.png diff --git a/src/serialbox-python/sdb/sdbgui/images/run.png b/serialbox-python/src/sdb/sdbgui/images/run.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/run.png rename to serialbox-python/src/sdb/sdbgui/images/run.png diff --git a/src/serialbox-python/sdb/sdbgui/images/show_all.png b/serialbox-python/src/sdb/sdbgui/images/show_all.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/show_all.png rename to serialbox-python/src/sdb/sdbgui/images/show_all.png diff --git a/src/serialbox-python/sdb/sdbgui/images/step_in.png b/serialbox-python/src/sdb/sdbgui/images/step_in.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/step_in.png rename to serialbox-python/src/sdb/sdbgui/images/step_in.png diff --git a/src/serialbox-python/sdb/sdbgui/images/success.png b/serialbox-python/src/sdb/sdbgui/images/success.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/success.png rename to serialbox-python/src/sdb/sdbgui/images/success.png diff --git a/src/serialbox-python/sdb/sdbgui/images/visualize.png b/serialbox-python/src/sdb/sdbgui/images/visualize.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/visualize.png rename to serialbox-python/src/sdb/sdbgui/images/visualize.png diff --git a/src/serialbox-python/sdb/sdbgui/images/warning.png b/serialbox-python/src/sdb/sdbgui/images/warning.png similarity index 100% rename from src/serialbox-python/sdb/sdbgui/images/warning.png rename to serialbox-python/src/sdb/sdbgui/images/warning.png diff --git a/src/serialbox-python/sdb/sdbgui/mainwindow.py b/serialbox-python/src/sdb/sdbgui/mainwindow.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/mainwindow.py rename to serialbox-python/src/sdb/sdbgui/mainwindow.py diff --git a/src/serialbox-python/sdb/sdbgui/movie.py b/serialbox-python/src/sdb/sdbgui/movie.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/movie.py rename to serialbox-python/src/sdb/sdbgui/movie.py diff --git a/src/serialbox-python/sdb/sdbgui/pixmap.py b/serialbox-python/src/sdb/sdbgui/pixmap.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/pixmap.py rename to serialbox-python/src/sdb/sdbgui/pixmap.py diff --git a/src/serialbox-python/sdb/sdbgui/popupaboutwidget.py b/serialbox-python/src/sdb/sdbgui/popupaboutwidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/popupaboutwidget.py rename to serialbox-python/src/sdb/sdbgui/popupaboutwidget.py diff --git a/src/serialbox-python/sdb/sdbgui/popuphalodescriptorwidget.py b/serialbox-python/src/sdb/sdbgui/popuphalodescriptorwidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/popuphalodescriptorwidget.py rename to serialbox-python/src/sdb/sdbgui/popuphalodescriptorwidget.py diff --git a/src/serialbox-python/sdb/sdbgui/popupwidget.py b/serialbox-python/src/sdb/sdbgui/popupwidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/popupwidget.py rename to serialbox-python/src/sdb/sdbgui/popupwidget.py diff --git a/src/serialbox-python/sdb/sdbgui/resulttablecellwidget.py b/serialbox-python/src/sdb/sdbgui/resulttablecellwidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/resulttablecellwidget.py rename to serialbox-python/src/sdb/sdbgui/resulttablecellwidget.py diff --git a/src/serialbox-python/sdb/sdbgui/resulttablewidget.py b/serialbox-python/src/sdb/sdbgui/resulttablewidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/resulttablewidget.py rename to serialbox-python/src/sdb/sdbgui/resulttablewidget.py diff --git a/src/serialbox-python/sdb/sdbgui/resultwindow.py b/serialbox-python/src/sdb/sdbgui/resultwindow.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/resultwindow.py rename to serialbox-python/src/sdb/sdbgui/resultwindow.py diff --git a/src/serialbox-python/sdb/sdbgui/sessionmanager.py b/serialbox-python/src/sdb/sdbgui/sessionmanager.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/sessionmanager.py rename to serialbox-python/src/sdb/sdbgui/sessionmanager.py diff --git a/src/serialbox-python/sdb/sdbgui/setupwidget.py b/serialbox-python/src/sdb/sdbgui/setupwidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/setupwidget.py rename to serialbox-python/src/sdb/sdbgui/setupwidget.py diff --git a/src/serialbox-python/sdb/sdbgui/setupwindow.py b/serialbox-python/src/sdb/sdbgui/setupwindow.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/setupwindow.py rename to serialbox-python/src/sdb/sdbgui/setupwindow.py diff --git a/src/serialbox-python/sdb/sdbgui/stencilfieldlistwidget.py b/serialbox-python/src/sdb/sdbgui/stencilfieldlistwidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/stencilfieldlistwidget.py rename to serialbox-python/src/sdb/sdbgui/stencilfieldlistwidget.py diff --git a/src/serialbox-python/sdb/sdbgui/stencilfieldmetainfowidget.py b/serialbox-python/src/sdb/sdbgui/stencilfieldmetainfowidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/stencilfieldmetainfowidget.py rename to serialbox-python/src/sdb/sdbgui/stencilfieldmetainfowidget.py diff --git a/src/serialbox-python/sdb/sdbgui/stencillistwidget.py b/serialbox-python/src/sdb/sdbgui/stencillistwidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/stencillistwidget.py rename to serialbox-python/src/sdb/sdbgui/stencillistwidget.py diff --git a/src/serialbox-python/sdb/sdbgui/stencilthresholdsetterwidget.py b/serialbox-python/src/sdb/sdbgui/stencilthresholdsetterwidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/stencilthresholdsetterwidget.py rename to serialbox-python/src/sdb/sdbgui/stencilthresholdsetterwidget.py diff --git a/src/serialbox-python/sdb/sdbgui/stencilwidget.py b/serialbox-python/src/sdb/sdbgui/stencilwidget.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/stencilwidget.py rename to serialbox-python/src/sdb/sdbgui/stencilwidget.py diff --git a/src/serialbox-python/sdb/sdbgui/stencilwindow.py b/serialbox-python/src/sdb/sdbgui/stencilwindow.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/stencilwindow.py rename to serialbox-python/src/sdb/sdbgui/stencilwindow.py diff --git a/src/serialbox-python/sdb/sdbgui/tabstate.py b/serialbox-python/src/sdb/sdbgui/tabstate.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/tabstate.py rename to serialbox-python/src/sdb/sdbgui/tabstate.py diff --git a/src/serialbox-python/sdb/sdbgui/tabwindow.py b/serialbox-python/src/sdb/sdbgui/tabwindow.py similarity index 100% rename from src/serialbox-python/sdb/sdbgui/tabwindow.py rename to serialbox-python/src/sdb/sdbgui/tabwindow.py diff --git a/src/serialbox-python/serialbox/__init__.py b/serialbox-python/src/serialbox/__init__.py similarity index 100% rename from src/serialbox-python/serialbox/__init__.py rename to serialbox-python/src/serialbox/__init__.py diff --git a/src/serialbox-python/serialbox/archive.py b/serialbox-python/src/serialbox/archive.py similarity index 100% rename from src/serialbox-python/serialbox/archive.py rename to serialbox-python/src/serialbox/archive.py diff --git a/src/serialbox-python/serialbox/common.py b/serialbox-python/src/serialbox/common.py similarity index 100% rename from src/serialbox-python/serialbox/common.py rename to serialbox-python/src/serialbox/common.py diff --git a/src/serialbox-python/serialbox/core.py b/serialbox-python/src/serialbox/core.py similarity index 100% rename from src/serialbox-python/serialbox/core.py rename to serialbox-python/src/serialbox/core.py diff --git a/src/serialbox-python/serialbox/error.py b/serialbox-python/src/serialbox/error.py similarity index 100% rename from src/serialbox-python/serialbox/error.py rename to serialbox-python/src/serialbox/error.py diff --git a/src/serialbox-python/serialbox/fieldmetainfo.py b/serialbox-python/src/serialbox/fieldmetainfo.py similarity index 100% rename from src/serialbox-python/serialbox/fieldmetainfo.py rename to serialbox-python/src/serialbox/fieldmetainfo.py diff --git a/src/serialbox-python/serialbox/metainfomap.py b/serialbox-python/src/serialbox/metainfomap.py similarity index 100% rename from src/serialbox-python/serialbox/metainfomap.py rename to serialbox-python/src/serialbox/metainfomap.py diff --git a/src/serialbox-python/serialbox/savepoint.py b/serialbox-python/src/serialbox/savepoint.py similarity index 100% rename from src/serialbox-python/serialbox/savepoint.py rename to serialbox-python/src/serialbox/savepoint.py diff --git a/src/serialbox-python/serialbox/serializer.py b/serialbox-python/src/serialbox/serializer.py similarity index 100% rename from src/serialbox-python/serialbox/serializer.py rename to serialbox-python/src/serialbox/serializer.py diff --git a/src/serialbox-python/serialbox/serlogging.py b/serialbox-python/src/serialbox/serlogging.py similarity index 100% rename from src/serialbox-python/serialbox/serlogging.py rename to serialbox-python/src/serialbox/serlogging.py diff --git a/src/serialbox-python/serialbox/slice.py b/serialbox-python/src/serialbox/slice.py similarity index 100% rename from src/serialbox-python/serialbox/slice.py rename to serialbox-python/src/serialbox/slice.py diff --git a/src/serialbox-python/serialbox/type.py b/serialbox-python/src/serialbox/type.py similarity index 100% rename from src/serialbox-python/serialbox/type.py rename to serialbox-python/src/serialbox/type.py diff --git a/src/serialbox-python/serialbox/util.py b/serialbox-python/src/serialbox/util.py similarity index 100% rename from src/serialbox-python/serialbox/util.py rename to serialbox-python/src/serialbox/util.py diff --git a/src/serialbox-python/serialbox/visualizer.py b/serialbox-python/src/serialbox/visualizer.py similarity index 100% rename from src/serialbox-python/serialbox/visualizer.py rename to serialbox-python/src/serialbox/visualizer.py diff --git a/test/serialbox-python/CMakeLists.txt b/serialbox-python/test/CMakeLists.txt similarity index 100% rename from test/serialbox-python/CMakeLists.txt rename to serialbox-python/test/CMakeLists.txt diff --git a/test/serialbox-python/run_python_tests.sh.cmake b/serialbox-python/test/run_python_tests.sh.cmake similarity index 100% rename from test/serialbox-python/run_python_tests.sh.cmake rename to serialbox-python/test/run_python_tests.sh.cmake diff --git a/test/serialbox-python/sdb/regression/.gitignore b/serialbox-python/test/sdb/regression/.gitignore similarity index 100% rename from test/serialbox-python/sdb/regression/.gitignore rename to serialbox-python/test/sdb/regression/.gitignore diff --git a/test/serialbox-python/sdb/regression/create_data.py b/serialbox-python/test/sdb/regression/create_data.py similarity index 100% rename from test/serialbox-python/sdb/regression/create_data.py rename to serialbox-python/test/sdb/regression/create_data.py diff --git a/test/serialbox-python/sdb/sdbcore/sdbtest/__init__.py b/serialbox-python/test/sdb/sdbcore/sdbtest/__init__.py similarity index 100% rename from test/serialbox-python/sdb/sdbcore/sdbtest/__init__.py rename to serialbox-python/test/sdb/sdbcore/sdbtest/__init__.py diff --git a/test/serialbox-python/sdb/sdbcore/sdbtest/serializerdatamock.py b/serialbox-python/test/sdb/sdbcore/sdbtest/serializerdatamock.py similarity index 100% rename from test/serialbox-python/sdb/sdbcore/sdbtest/serializerdatamock.py rename to serialbox-python/test/sdb/sdbcore/sdbtest/serializerdatamock.py diff --git a/test/serialbox-python/sdb/sdbcore/sdbtest/serializermock.py b/serialbox-python/test/sdb/sdbcore/sdbtest/serializermock.py similarity index 100% rename from test/serialbox-python/sdb/sdbcore/sdbtest/serializermock.py rename to serialbox-python/test/sdb/sdbcore/sdbtest/serializermock.py diff --git a/test/serialbox-python/sdb/sdbcore/sdbtest/testlistener.py b/serialbox-python/test/sdb/sdbcore/sdbtest/testlistener.py similarity index 100% rename from test/serialbox-python/sdb/sdbcore/sdbtest/testlistener.py rename to serialbox-python/test/sdb/sdbcore/sdbtest/testlistener.py diff --git a/test/serialbox-python/sdb/sdbcore/test_sdbcoreC.py b/serialbox-python/test/sdb/sdbcore/test_sdbcoreC.py similarity index 100% rename from test/serialbox-python/sdb/sdbcore/test_sdbcoreC.py rename to serialbox-python/test/sdb/sdbcore/test_sdbcoreC.py diff --git a/test/serialbox-python/sdb/sdbcore/test_serializerdata.py b/serialbox-python/test/sdb/sdbcore/test_serializerdata.py similarity index 100% rename from test/serialbox-python/sdb/sdbcore/test_serializerdata.py rename to serialbox-python/test/sdb/sdbcore/test_serializerdata.py diff --git a/test/serialbox-python/sdb/sdbcore/test_serializermock.py b/serialbox-python/test/sdb/sdbcore/test_serializermock.py similarity index 100% rename from test/serialbox-python/sdb/sdbcore/test_serializermock.py rename to serialbox-python/test/sdb/sdbcore/test_serializermock.py diff --git a/test/serialbox-python/sdb/sdbcore/test_stencildata.py b/serialbox-python/test/sdb/sdbcore/test_stencildata.py similarity index 100% rename from test/serialbox-python/sdb/sdbcore/test_stencildata.py rename to serialbox-python/test/sdb/sdbcore/test_stencildata.py diff --git a/test/serialbox-python/sdb/sdbcore/test_stencilfieldmapper.py b/serialbox-python/test/sdb/sdbcore/test_stencilfieldmapper.py similarity index 100% rename from test/serialbox-python/sdb/sdbcore/test_stencilfieldmapper.py rename to serialbox-python/test/sdb/sdbcore/test_stencilfieldmapper.py diff --git a/test/serialbox-python/serialbox/test_archive.py b/serialbox-python/test/serialbox/test_archive.py similarity index 100% rename from test/serialbox-python/serialbox/test_archive.py rename to serialbox-python/test/serialbox/test_archive.py diff --git a/test/serialbox-python/serialbox/test_core.py b/serialbox-python/test/serialbox/test_core.py similarity index 100% rename from test/serialbox-python/serialbox/test_core.py rename to serialbox-python/test/serialbox/test_core.py diff --git a/test/serialbox-python/serialbox/test_fieldmetainfo.py b/serialbox-python/test/serialbox/test_fieldmetainfo.py similarity index 100% rename from test/serialbox-python/serialbox/test_fieldmetainfo.py rename to serialbox-python/test/serialbox/test_fieldmetainfo.py diff --git a/test/serialbox-python/serialbox/test_metainfomap.py b/serialbox-python/test/serialbox/test_metainfomap.py similarity index 100% rename from test/serialbox-python/serialbox/test_metainfomap.py rename to serialbox-python/test/serialbox/test_metainfomap.py diff --git a/test/serialbox-python/serialbox/test_savepoint.py b/serialbox-python/test/serialbox/test_savepoint.py similarity index 100% rename from test/serialbox-python/serialbox/test_savepoint.py rename to serialbox-python/test/serialbox/test_savepoint.py diff --git a/test/serialbox-python/serialbox/test_serializer.py b/serialbox-python/test/serialbox/test_serializer.py similarity index 100% rename from test/serialbox-python/serialbox/test_serializer.py rename to serialbox-python/test/serialbox/test_serializer.py diff --git a/serialbox/CMakeLists.txt b/serialbox/CMakeLists.txt new file mode 100644 index 00000000..f7485e40 --- /dev/null +++ b/serialbox/CMakeLists.txt @@ -0,0 +1,383 @@ +##===------------------------------------------------------------------------------*- CMake -*-===## +## +## S E R I A L B O X +## +## This file is distributed under terms of BSD license. +## See LICENSE.txt for more information. +## +##===------------------------------------------------------------------------------------------===## +## +## This is the master CMake file of the serialbox project. +## +##===------------------------------------------------------------------------------------------===## + +set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/install" CACHE PATH "CMake install prefix") + +cmake_policy(SET CMP0048 NEW) +file(STRINGS "../version.txt" __SERIALBOX_VERSION) +project(Serialbox VERSION ${__SERIALBOX_VERSION} LANGUAGES CXX) +cmake_minimum_required(VERSION 3.12.4) + +set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_C_EXTENSIONS OFF) + +list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake/modules") # TODO fix location +include(ExternalProject) +include(CMakeParseArguments) +include(CheckCXXCompilerFlag) + +#---------------------------------------- Configure ------------------------------------------------ + +if(UNIX) + set(SERIALBOX_ON_UNIX 1) +endif(UNIX) + +if(WIN32) + set(SERIALBOX_ON_WIN32 1) +endif(WIN32) + +# Serialbox version +set(Serialbox_VERSION_STRING + "${Serialbox_VERSION_MAJOR}.${Serialbox_VERSION_MINOR}.${Serialbox_VERSION_PATCH}") + +message(STATUS "Serialbox version: ${Serialbox_VERSION_STRING}") + +#---------------------------------------- User options --------------------------------------------- +option(BUILD_SHARED_LIBS "Build shared libraries" OFF) +#option(SERIALBOX_ENABLE_PYTHON "Build Python Interface" ${SERIALBOX_ENABLE_C}) +#option(SERIALBOX_ENABLE_FORTRAN "Build Fortran Interface" OFF) +#option(SERIALBOX_ENABLE_FTG "Build FortranTestGenerator frontend" OFF) +#option(SERIALBOX_ENABLE_SDB "Install the stencil-debugger (sdb)" ON) + +option(SERIALBOX_LOGGING "Enable logging" ON) +option(SERIALBOX_ASYNC_API "Enable the asynchronous API" ON) +option(SERIALBOX_EXAMPLES "Build example exectuables" ON) + +option(SERIALBOX_ENABLE_EXPERIMENTAL_FILESYSTEM "Use std::experimental::filesystem if available" ON) +option(SERIALBOX_USE_OPENSSL "Use OpenSSL library" OFF) +option(SERIALBOX_USE_NETCDF "Use NetCDF library" OFF) + +option(BUILD_TESTING "Build unittest executables" ON) +option(SERIALBOX_TESTING_GRIDTOOLS "Build gridtools unitests and examples" OFF) +option(SERIALBOX_TESTING_STELLA "Build STELLA unitests" OFF) +option(SERIALBOX_TESTING_DEATH_TESTS "Run death-tests" OFF) +option(SERIALBOX_TESTING_LARGE_FILE_TESTS "Run large file (>4GB) tests" OFF) +#option(SERIALBOX_TESTING_FORTRAN "Build tests for the Fortran interface") + +#option(SERIALBOX_BENCHMARKING "Build benchmark exectuables" OFF) # TODO reenable +#option(SERIALBOX_DOCUMENTATION "Build and install the documentation" OFF) # TODO reenable + +#option(SERIALBOX_CODE_COVERAGE "Generate code coverage" OFF) # TODO reenable +#option(SERIALBOX_VERBOSE_WARNINGS "Enable verbose warnings (-Wall)" OFF) # TODO reenable + +#---------------------------------------- CMake options -------------------------------------------- + +## Perform checks to make sure we support the current compiler +include(SerialboxCheckCxxCompilerSupport) + +## Set C++ standard to C++11 +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +# Shared architecture flags +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") + +# Compiler specific +if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-sign-compare") +elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") +elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -wd488") +endif() + +# Set build type to Release if nothing was specified (instead of Debug) +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "Release" CACHE STRING + "Choose the type of build, options are: Debug Release RelWithDebInfo" FORCE) + message(STATUS "Setting build type to 'Release' as none was specified") +endif(NOT CMAKE_BUILD_TYPE) + +# Clear all cmake generated files +# TODO +#add_custom_target(clean-all +# COMMAND ${CMAKE_MAKE_PROGRAM} clean +# COMMAND ${CMAKE_COMMAND} -P +# "${CMAKE_SOURCE_DIR}/cmake/modules/SerialboxCleanAll.cmake") + +# We need thread support +find_package(Threads REQUIRED) + +# Set script directory +set(SCRIPT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../tools) #TODO + +# Set shared library flags +if(BUILD_SHARED_LIBS) + # TODO revisit all this settings + + # Use, i.e. don't skip the full RPATH for the build tree + set(CMAKE_SKIP_BUILD_RPATH FALSE) + + # When building, don't use the install RPATH already (but later on when installing) + set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) + + set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") + set(CMAKE_MACOSX_RPATH "${CMAKE_INSTALL_RPATH}") + + # Add the automatically determined parts of the RPATH which point to directories outside the + # build tree to the install RPATH + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + + # The RPATH to be used when installing, but only if it's not a system directory + list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir) + if("${isSystemDir}" STREQUAL "-1") + SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") + endif("${isSystemDir}" STREQUAL "-1") +endif() + +if(NOT(SERIALBOX_LOGGING)) + add_definitions(-DSERIALBOX_DISABLE_LOGGING) #TODO on target +else() + set(SERIALBOX_HAS_LOGGING 1) +endif() + +if(SERIALBOX_ASYNC_API) + add_definitions(-DSERIALBOX_ASYNC_API) #TODO on target +endif(SERIALBOX_ASYNC_API) + +## Enable testing if one ore more of the tests is requested +if(SERIALBOX_TESTING_GRIDTOOLS OR + SERIALBOX_TESTING_STELLA OR + SERIALBOX_TESTING_DEATH_TESTS) + set(BUILD_TESTING ON) #TODO via BUILD_TESTING +endif() + +## IDE Support +include(IDESupport) + +#---------------------------------------- GTest ---------------------------------------------------- +if(BUILD_TESTING) #TODO remove this hack + set(tmp_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}) + set(BUILD_SHARED_LIBS OFF) + add_subdirectory(external/googletest) + set(BUILD_SHARED_LIBS ${tmp_BUILD_SHARED_LIBS}) +endif(BUILD_TESTING) + +#---------------------------------------- NetCDF --------------------------------------------------- +if(${SERIALBOX_USE_NETCDF}) + find_package(NetCDF REQUIRED) + if(NOT(${NetCDF_FOUND})) + message(FATAL_ERROR "NetCDF library not found!") + endif() + set(SERIALBOX_HAS_NETCDF 1) +endif() + +#---------------------------------------- GridTools ------------------------------------------------ +if(SERIALBOX_TESTING_GRIDTOOLS) + find_package(GridTools QUIET REQUIRED) + set(SERIALBOX_HAS_GRIDTOOLS 1) +endif(SERIALBOX_TESTING_GRIDTOOLS) + +#---------------------------------------- std::experimental::filesystem ---------------------------- +if(SERIALBOX_ENABLE_EXPERIMENTAL_FILESYSTEM) + unset(STD_FILESYSTEM_LIB_CHECK) # + find_library( STD_FILESYSTEM_LIB_CHECK NAMES stdc++fs PATHS + ${CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES} + ) + mark_as_advanced(STD_FILESYSTEM_LIB_CHECK) + if( STD_FILESYSTEM_LIB_CHECK ) + message(STATUS "Using std::experimental::filesystem (no dependency on compiled boost libs)") + add_library(SerialboxFilesytemTarget INTERFACE) + target_link_libraries(SerialboxFilesytemTarget INTERFACE ${STD_FILESYSTEM_LIB_CHECK}) + set(SERIALBOX_FILESYSTEM_LIBRARY_STRING "SERIALBOX_USE_STD_EXPERIMENTAL_FILESYSTEM") + set(_use_boost_filesystem OFF) + else() + message(STATUS "std::experimental::filesystem not found, falling back to boost::filesystem") + set(_use_boost_filesystem ON) + endif() +else() + set(_use_boost_filesystem ON) +endif() + +#---------------------------------------- Boost ---------------------------------------------------- +if(_use_boost_filesystem) + set(REQUIRED_BOOST_COMPONENTS filesystem system) +endif() + +# If ${REQUIRED_BOOST_COMPONENTS} is empty we still need the headers +find_package(Boost 1.54 REQUIRED ${REQUIRED_BOOST_COMPONENTS}) +link_directories(${Boost_LIBRARY_DIRS}) +set(SERIALBOX_BOOST_VERSION ${Boost_VERSION}) + +if(_use_boost_filesystem) + add_library(SerialboxFilesytemTarget INTERFACE) + target_link_libraries(SerialboxFilesytemTarget INTERFACE Boost::filesystem) + set(SERIALBOX_FILESYSTEM_LIBRARY_STRING "SERIALBOX_USE_BOOST_FILESYSTEM") +endif() + +install(TARGETS SerialboxFilesytemTarget + EXPORT SerialboxTargets + ) + + +#---------------------------------------- STELLA --------------------------------------------------- +if(SERIALBOX_TESTING_STELLA) + + # If STELLA_ROOT is not provided, we try to find it in external/ + set(STELLA_ROOT_ENV "$ENV{STELLA_ROOT}") + if(NOT(STELLA_ROOT) AND NOT(STELLA_ROOT_ENV) AND + EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/external/stella/CMakeLists.txt") + + set(STELLA_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/external/stella") + + set(BUILD_STELLA "ON" BOOL) + set(STELLA_INSTALL_DIR "${CMAKE_BINARY_DIR}/external/stella/install") + + # Forward toolchain + set(CMAKE_EXTERNAL_ARGS -Wno-dev + -DSTELLA_ENABLE_BENCHMARK=OFF + -DSTELLA_ENABLE_COMMUNICATION=OFF + -DSTELLA_ENABLE_SERIALIZATION=OFF + -DSTELLA_ENABLE_TESTING=OFF + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_GENERATOR=${CMAKE_GENERATOR} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} + -DCMAKE_INSTALL_PREFIX=${STELLA_INSTALL_DIR} + ) + + # Build STELLA + ExternalProject_Add( + stella + URL "${CMAKE_CURRENT_SOURCE_DIR}/external/stella" + PREFIX "external/stella" + CMAKE_ARGS ${CMAKE_EXTERNAL_ARGS} + ) + message(STATUS "Building STELLA from: ${CMAKE_CURRENT_SOURCE_DIR}/external/stella") + + set(STELLA_INCLUDE_DIRS "${STELLA_INSTALL_DIR}/include/STELLA") + set(STELLA_LIBRARIES "${STELLA_INSTALL_DIR}/lib/libSharedInfrastructure.a" + "${STELLA_INSTALL_DIR}/lib/libStella.a" + "${STELLA_INSTALL_DIR}/lib/libStellaUtils.a") + else() + find_package(STELLA QUIET REQUIRED) + endif() + + include_directories(SYSTEM ${STELLA_INCLUDE_DIRS}) + set(SERIALBOX_HAS_STELLA 1) + +endif(SERIALBOX_TESTING_STELLA) + +#---------------------------------------- ClangTools ----------------------------------------------- + +#TODO move to a separate file + +find_package(ClangTools) +if("$ENV{CMAKE_EXPORT_COMPILE_COMMANDS}" STREQUAL "1" OR CLANG_TIDY_FOUND) + set(CMAKE_EXPORT_COMPILE_COMMANDS 1) +endif() + +if(CLANG_FORMAT_BIN) + # Runs clang format and updates files in place. + add_custom_target(format + COMMAND ${SCRIPT_DIR}/run-clang-format.sh + ${CMAKE_CURRENT_SOURCE_DIR} + ${CLANG_FORMAT_BIN} + 1 + `find ${CMAKE_CURRENT_SOURCE_DIR}/src + -name \*.h -print -o -name \*.cpp -print`) + + # Runs clang format and exits with a non-zero exit code if any files need to be reformatted + add_custom_target(check-format + COMMAND ${SCRIPT_DIR}/run-clang-format.sh + ${CMAKE_CURRENT_SOURCE_DIR} + ${CLANG_FORMAT_BIN} + 0 + `find ${CMAKE_CURRENT_SOURCE_DIR}/src + -name \*.h -print -o -name \*.cpp -print`) +endif() + +if(CLANG_TIDY_BIN) + # Runs clang-tidy and attempts to fix any warning automatically + add_custom_target(clang-tidy + COMMAND ${SCRIPT_DIR}/run-clang-tidy.sh + ${CLANG_TIDY_BIN} + ${CMAKE_BINARY_DIR}/compile_commands.json + 1 + `find ${CMAKE_CURRENT_SOURCE_DIR}/src + -name \*.h -print -o -name \*.cpp -print`) + + # Runs clang-tidy and exits with a non-zero exit code if any errors are found. + add_custom_target(check-clang-tidy + COMMAND ${SCRIPT_DIR}/run-clang-tidy.sh + ${CLANG_TIDY_BIN} + ${CMAKE_BINARY_DIR}/compile_commands.json + 0 + `find ${CMAKE_CURRENT_SOURCE_DIR}/src + -name \*.h -print -o -name \*.cpp -print`) +endif() + +# --------------------------------------- Code Coverage -------------------------------------------- +if(SERIALBOX_CODE_COVERAGE) + include(SerialboxCoverage) + serialbox_enable_coverage(${CMAKE_BINARY_DIR}) + + set(SERIALBOX_EXTERNAL_LIBRARIES ${SERIALBOX_EXTERNAL_LIBRARIES} + ${CMAKE_SHARED_LINKER_FLAGS_COVERAGE}) +endif(SERIALBOX_CODE_COVERAGE) + +#---------------------------------------- Compilation ---------------------------------------------- +# Generate serialbox/core/Config.h +set(SERIALBOX_CONFIG_FILE_DISCLAIMER "WARNING! All changes made in this file will be lost!") +set(SERIALBOX_CXX_CONFIG_FILE_IN ${PROJECT_SOURCE_DIR}/src/serialbox/core/Config.h.cmake) +set(SERIALBOX_CXX_CONFIG_FILE ${PROJECT_SOURCE_DIR}/src/serialbox/core/Config.h) #TODO move to CMakeFiles +configure_file(${SERIALBOX_CXX_CONFIG_FILE_IN} ${SERIALBOX_CXX_CONFIG_FILE}) +install(FILES ${SERIALBOX_CXX_CONFIG_FILE} + DESTINATION ${CMAKE_INSTALL_PREFIX}/include/serialbox/core) + +# Install serialbox headers +install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/serialbox DESTINATION include + FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp") + +## Build Serialbox +add_subdirectory(src/serialbox) + +## Build unittests +# TODO reenable +if(BUILD_TESTING) + enable_testing() + include(SerialboxTestScript) + serialbox_test_init() + + if(SERIALBOX_TESTING_DEATH_TESTS) + add_definitions(-DSERIALBOX_RUN_DEATH_TESTS) + endif() + + if(SERIALBOX_TESTING_LARGE_FILE_TESTS) + add_definitions(-DSERIALBOX_RUN_LARGE_FILE_TESTS) + endif() + + # Generate utility/Config.h + set(SERIALBOX_CPP_CONFIG_FILE_IN ${PROJECT_SOURCE_DIR}/test/utility/Config.h.cmake) + set(SERIALBOX_CPP_CONFIG_FILE ${CMAKE_BINARY_DIR}/test/utility/Config.h) + configure_file(${SERIALBOX_CPP_CONFIG_FILE_IN} ${SERIALBOX_CPP_CONFIG_FILE}) + include_directories(${CMAKE_BINARY_DIR}/test) + + add_subdirectory(test) +endif(BUILD_TESTING) + +## Build examples +#if(SERIALBOX_EXAMPLES) +# add_subdirectory(examples) +#endif(SERIALBOX_EXAMPLES) + +## Build documentation +#if(SERIALBOX_DOCUMENTATION) +# add_subdirectory(docs) +#endif() + +#if(SERIALBOX_TESTING) +# serialbox_test_end() +#endif(SERIALBOX_TESTING) + +include(cmake/Packaging.cmake) diff --git a/test/benchmark/BenchmarkMain.cpp b/serialbox/benchmark/BenchmarkMain.cpp similarity index 100% rename from test/benchmark/BenchmarkMain.cpp rename to serialbox/benchmark/BenchmarkMain.cpp diff --git a/test/benchmark/BenchmarkOldSerialbox.cpp b/serialbox/benchmark/BenchmarkOldSerialbox.cpp similarity index 100% rename from test/benchmark/BenchmarkOldSerialbox.cpp rename to serialbox/benchmark/BenchmarkOldSerialbox.cpp diff --git a/test/benchmark/BenchmarkSerialbox.cpp b/serialbox/benchmark/BenchmarkSerialbox.cpp similarity index 100% rename from test/benchmark/BenchmarkSerialbox.cpp rename to serialbox/benchmark/BenchmarkSerialbox.cpp diff --git a/test/benchmark/CMakeLists.txt b/serialbox/benchmark/CMakeLists.txt similarity index 100% rename from test/benchmark/CMakeLists.txt rename to serialbox/benchmark/CMakeLists.txt diff --git a/serialbox/cmake/Packaging.cmake b/serialbox/cmake/Packaging.cmake new file mode 100644 index 00000000..131fe0bc --- /dev/null +++ b/serialbox/cmake/Packaging.cmake @@ -0,0 +1,86 @@ +##===------------------------------------------------------------------------------*- CMake -*-===## +## +## S E R I A L B O X +## +## This file is distributed under terms of BSD license. +## See LICENSE.txt for more information. +## +##===------------------------------------------------------------------------------------------===## + +# this registers the build-tree with a global CMake-registry +#export(PACKAGE Serialbox) TODO enable + +include(CMakePackageConfigHelpers) + +set(CMAKE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/cmake) + +if(BUILD_SHARED_LIBS) + install(EXPORT SerialboxTargets + FILE SerialboxSharedTargets.cmake + NAMESPACE Serialbox::shared + DESTINATION ${CMAKE_INSTALL_DIR} + ) +else() + install(EXPORT SerialboxTargets + FILE SerialboxStaticTargets.cmake + NAMESPACE Serialbox::shared + DESTINATION ${CMAKE_INSTALL_DIR} + ) +endif() + +## Generate and install SerialboxConfig.cmake +configure_package_config_file(${CMAKE_SOURCE_DIR}/cmake/SerialboxConfig.cmake.in + "${PROJECT_BINARY_DIR}/cmake/SerialboxConfig.cmake" + INSTALL_DESTINATION ${CMAKE_INSTALL_DIR} + PATH_VARS CMAKE_INSTALL_DIR +) +install(FILES "${PROJECT_BINARY_DIR}/cmake/SerialboxConfig.cmake" DESTINATION cmake) + +## Install SerialboxTooling.cmake +# TODO +#install(FILES ${CMAKE_SOURCE_DIR}/cmake/SerialboxTooling.cmake DESTINATION cmake/) + +# Generate and install SerialboxConfigVersion.cmake +write_basic_package_version_file( + "${PROJECT_BINARY_DIR}/cmake/SerialboxConfigVersion.cmake" + VERSION ${Serialbox_VERSION_STRING} + COMPATIBILITY SameMajorVersion +) +install(FILES "${PROJECT_BINARY_DIR}/cmake/SerialboxConfigVersion.cmake" DESTINATION cmake) + +## For build tree +#export(TARGETS SerialboxStatic SerialboxObjects SerialboxFilesytemTarget +# FILE ${PROJECT_BINARY_DIR}/SerialboxTargets.cmake +# NAMESPACE Serialbox:: +#) +#if(SERIALBOX_HAS_NETCDF) +# export(TARGETS NETCDF_TARGET +# APPEND FILE ${PROJECT_BINARY_DIR}/SerialboxTargets.cmake +# NAMESPACE Serialbox:: +# ) +#endif() +#if(SERIALBOX_ENABLE_C) +# export(TARGETS SerialboxCStatic SerialboxCObjects +# APPEND FILE ${PROJECT_BINARY_DIR}/SerialboxTargets.cmake +# NAMESPACE Serialbox:: +# ) +#endif() +#if(SERIALBOX_ENABLE_FORTRAN) +# export(TARGETS SerialboxFortranStatic SerialboxFortranObjects SerialboxFortranSerializeObjects +# APPEND FILE ${PROJECT_BINARY_DIR}/SerialboxTargets.cmake +# NAMESPACE Serialbox:: +# ) +#endif() +# +#set(CMAKE_INSTALL_DIR ${PROJECT_SOURCE_DIR}/cmake) +#set(PYTHON_INSTALL_DIR ${PROJECT_SOURCE_DIR}/src/serialbox-python) +#configure_package_config_file(${CMAKE_SOURCE_DIR}/cmake/SerialboxConfig.cmake.in +# ${PROJECT_BINARY_DIR}/SerialboxConfig.cmake +# INSTALL_DESTINATION ${PROJECT_BINARY_DIR} +# PATH_VARS CMAKE_INSTALL_DIR PYTHON_INSTALL_DIR +#) +#write_basic_package_version_file( +# ${PROJECT_BINARY_DIR}/SerialboxConfigVersion.cmake +# VERSION ${Serialbox_VERSION_STRING} +# COMPATIBILITY AnyNewerVersion +#) diff --git a/serialbox/cmake/SerialboxConfig.cmake.in b/serialbox/cmake/SerialboxConfig.cmake.in new file mode 100644 index 00000000..298473ce --- /dev/null +++ b/serialbox/cmake/SerialboxConfig.cmake.in @@ -0,0 +1,144 @@ +##===------------------------------------------------------------------------------*- CMake -*-===## +## +## S E R I A L B O X +## +## This file is distributed under terms of BSD license. +## See LICENSE.txt for more information. +## +##===------------------------------------------------------------------------------------------===## + +@PACKAGE_INIT@ + +#===---------------------------------------------------------------------------------------------=== +# Serialbox configuration - automatically generated by CMake - START +#===---------------------------------------------------------------------------------------------=== +# Major version of SERIALBOX +set(Serialbox_VERSION_MAJOR "@Serialbox_VERSION_MAJOR@") + +# Minor version of SERIALBOX +set(Serialbox_VERSION_MINOR "@Serialbox_VERSION_MINOR@") + +# Patch version of SERIALBOX +set(Serialbox_VERSION_PATCH "@Serialbox_VERSION_PATCH@") + +# SERIALBOX version string +set(Serialbox_VERSION_STRING "@Serialbox_VERSION_MAJOR@.@Serialbox_VERSION_MINOR@.@Serialbox_VERSION_PATCH@") + +# Define if OpenSSL is available +set(SERIALBOX_HAS_OPENSSL "@SERIALBOX_USE_OPENSSL@") + +# Define if NetCDF is available +set(SERIALBOX_HAS_NETCDF "@SERIALBOX_USE_NETCDF@") + +# SERIALBOX was compiled with logging support (requires Boost.Log) +set(SERIALBOX_HAS_LOGGING "@SERIALBOX_LOGGING@") + +# Set Boost configuration +set(SERIALBOX_BOOST_LIB_VERSION "@Boost_LIB_VERSION@") +STRING(REGEX REPLACE "_" "." SERIALBOX_BOOST_VERSION ${SERIALBOX_BOOST_LIB_VERSION}) +set(SERIALBOX_BOOST_LIBRARY_DIRS "@Boost_LIBRARY_DIRS@") +set(SERIALBOX_BOOST_INCLUDE_DIRS "@Boost_INCLUDE_DIRS@") +set(SERIALBOX_REQUIRED_BOOST_COMPONENTS "@REQUIRED_BOOST_COMPONENTS@") + +#===---------------------------------------------------------------------------------------------=== +# Find Serialbox libraries +#====--------------------------------------------------------------------------------------------=== + +# Import library targets +set(SERIALBOX_HAS_STATIC_LIBRARY FALSE) +if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SerialboxStaticTargets.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/SerialboxStaticTargets.cmake") + set(SERIALBOX_HAS_STATIC_LIBRARY TRUE) +endif() + +set(SERIALBOX_HAS_SHARED_LIBRARY FALSE) +if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SerialboxSharedTargets.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/SerialboxSharedTargets.cmake") + set(SERIALBOX_HAS_SHARED_LIBRARY TRUE) +endif() + +# TODO make one of the two the default (or the only one that exists, i.e. such that Serialbox::serialbox can be used) + +# Report findings +message(STATUS "Found Serialbox version: ${SERIALBOX_VERSION}") +# +#get_property(_static_lib TARGET Serialbox::SerialboxStatic PROPERTY LOCATION) +#message(STATUS " Static serialbox: ${_static_lib}") +# +#if(SERIALBOX_HAS_SHARED_LIBRARY) +# get_property(_shared_lib TARGET Serialbox::SerialboxShared PROPERTY LOCATION) +# message(STATUS " Shared serialbox: ${_shared_lib}") +#endif() + +#===---------------------------------------------------------------------------------------------=== +# Find external libraries +#====--------------------------------------------------------------------------------------------=== +include(CMakeFindDependencyMacro) +# +# Pthreads +# +message( STATUS "Serialbox: find_depencency( Threads )" ) +find_dependency(Threads) + +# +# Boost (Serialbox always uses the shared Boost libraries) +# +get_property(SHARED_LIB_SUPPORT GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS) +if (SHARED_LIB_SUPPORT) + set(Boost_USE_STATIC_LIBS OFF) + set(Boost_USE_STATIC_RUNTIME OFF) + set(Boost_USE_MULTITHREADED ON) +endif() + +set(BOOST_LIBRARYDIR "${SERIALBOX_BOOST_LIBRARY_DIRS}") +set(BOOST_INCLUDEDIR "${SERIALBOX_BOOST_INCLUDE_DIRS}") +set(Boost_NO_SYSTEM_PATHS "ON") # Force boost to search locations specified above + +message( STATUS "Serialbox: find_depencency( Boost ${SERIALBOX_BOOST_VERSION} EXACT COMPONENTS ${SERIALBOX_REQUIRED_BOOST_COMPONENTS}}") +find_dependency(Boost + ${SERIALBOX_BOOST_VERSION} EXACT COMPONENTS ${SERIALBOX_REQUIRED_BOOST_COMPONENTS}) +if(Boost_FOUND) + list(APPEND SERIALBOX_INCLUDE_DIRS ${Boost_INCLUDE_DIRS}) +else() + + # Give some diagnostic infos + set(WARN_STR "Serialbox: Boost (${SERIALBOX_BOOST_VERSION}) NOT found!") + + if(DEFINED Boost_LIB_VERSION) + string(REPLACE "_" "." FOUND_BOOST_VERSION ${Boost_LIB_VERSION}) + list(APPEND WARN_STR " (Found Boost ${FOUND_BOOST_VERSION})") + endif() + + list(APPEND WARN_STR "\nRequired components:") + + foreach(component ${SERIALBOX_REQUIRED_BOOST_COMPONENTS}) + list(APPEND WARN_STR "\n - ${component}") + endforeach() + + message(WARNING ${WARN_STR} "\n") +endif() + +# +# NetCDF +# +if(SERIALBOX_HAS_NETCDF) + set(NETCDF_ROOT_ENV $ENV{NETCDF_ROOT}) + if(NETCDF_ROOT_ENV) + set(NETCDF_ROOT ${NETCDF_ROOT_ENV} CACHE PATH "NetCDF install path.") + endif() + + if(NOT(DEFINED NETCDF_ROOT)) + find_path(NETCDF_ROOT NAMES include/netcdf.h) + else() + get_filename_component(_NETCDF_ROOT_ABSOLUTE ${NETCDF_ROOT} ABSOLUTE) + set(NETCDF_ROOT ${_NETCDF_ROOT_ABSOLUTE} CACHE PATH "NetCDF-4 install path.") + endif() + + find_library(NETCDF_LIBRARIES NAMES netcdf HINTS ${NETCDF_ROOT}/lib) + if(NETCDF_LIBRARIES) + mark_as_advanced(NETCDF_LIBRARIES) + else() + message(WARNING + "Serialbox depends on the NetCDF-4 libraries. (Try setting NETCDF_ROOT in the env)") + endif() +endif() diff --git a/external/googletest/.gitignore b/serialbox/external/googletest/.gitignore similarity index 100% rename from external/googletest/.gitignore rename to serialbox/external/googletest/.gitignore diff --git a/external/googletest/.travis.yml b/serialbox/external/googletest/.travis.yml similarity index 100% rename from external/googletest/.travis.yml rename to serialbox/external/googletest/.travis.yml diff --git a/external/googletest/BUILD.bazel b/serialbox/external/googletest/BUILD.bazel similarity index 100% rename from external/googletest/BUILD.bazel rename to serialbox/external/googletest/BUILD.bazel diff --git a/external/googletest/CMakeLists.txt b/serialbox/external/googletest/CMakeLists.txt similarity index 100% rename from external/googletest/CMakeLists.txt rename to serialbox/external/googletest/CMakeLists.txt diff --git a/external/googletest/CONTRIBUTING.md b/serialbox/external/googletest/CONTRIBUTING.md similarity index 100% rename from external/googletest/CONTRIBUTING.md rename to serialbox/external/googletest/CONTRIBUTING.md diff --git a/external/googletest/LICENSE b/serialbox/external/googletest/LICENSE similarity index 100% rename from external/googletest/LICENSE rename to serialbox/external/googletest/LICENSE diff --git a/external/googletest/Makefile.am b/serialbox/external/googletest/Makefile.am similarity index 100% rename from external/googletest/Makefile.am rename to serialbox/external/googletest/Makefile.am diff --git a/external/googletest/README.md b/serialbox/external/googletest/README.md similarity index 100% rename from external/googletest/README.md rename to serialbox/external/googletest/README.md diff --git a/external/googletest/WORKSPACE b/serialbox/external/googletest/WORKSPACE similarity index 100% rename from external/googletest/WORKSPACE rename to serialbox/external/googletest/WORKSPACE diff --git a/external/googletest/appveyor.yml b/serialbox/external/googletest/appveyor.yml similarity index 100% rename from external/googletest/appveyor.yml rename to serialbox/external/googletest/appveyor.yml diff --git a/external/googletest/ci/build-linux-autotools.sh b/serialbox/external/googletest/ci/build-linux-autotools.sh similarity index 100% rename from external/googletest/ci/build-linux-autotools.sh rename to serialbox/external/googletest/ci/build-linux-autotools.sh diff --git a/external/googletest/ci/build-linux-bazel.sh b/serialbox/external/googletest/ci/build-linux-bazel.sh similarity index 100% rename from external/googletest/ci/build-linux-bazel.sh rename to serialbox/external/googletest/ci/build-linux-bazel.sh diff --git a/external/googletest/ci/env-linux.sh b/serialbox/external/googletest/ci/env-linux.sh similarity index 100% rename from external/googletest/ci/env-linux.sh rename to serialbox/external/googletest/ci/env-linux.sh diff --git a/external/googletest/ci/env-osx.sh b/serialbox/external/googletest/ci/env-osx.sh similarity index 100% rename from external/googletest/ci/env-osx.sh rename to serialbox/external/googletest/ci/env-osx.sh diff --git a/external/googletest/ci/get-nprocessors.sh b/serialbox/external/googletest/ci/get-nprocessors.sh similarity index 100% rename from external/googletest/ci/get-nprocessors.sh rename to serialbox/external/googletest/ci/get-nprocessors.sh diff --git a/external/googletest/ci/install-linux.sh b/serialbox/external/googletest/ci/install-linux.sh similarity index 100% rename from external/googletest/ci/install-linux.sh rename to serialbox/external/googletest/ci/install-linux.sh diff --git a/external/googletest/ci/install-osx.sh b/serialbox/external/googletest/ci/install-osx.sh similarity index 100% rename from external/googletest/ci/install-osx.sh rename to serialbox/external/googletest/ci/install-osx.sh diff --git a/external/googletest/ci/log-config.sh b/serialbox/external/googletest/ci/log-config.sh similarity index 100% rename from external/googletest/ci/log-config.sh rename to serialbox/external/googletest/ci/log-config.sh diff --git a/external/googletest/ci/travis.sh b/serialbox/external/googletest/ci/travis.sh similarity index 100% rename from external/googletest/ci/travis.sh rename to serialbox/external/googletest/ci/travis.sh diff --git a/external/googletest/configure.ac b/serialbox/external/googletest/configure.ac similarity index 100% rename from external/googletest/configure.ac rename to serialbox/external/googletest/configure.ac diff --git a/external/googletest/googlemock/CHANGES b/serialbox/external/googletest/googlemock/CHANGES similarity index 100% rename from external/googletest/googlemock/CHANGES rename to serialbox/external/googletest/googlemock/CHANGES diff --git a/external/googletest/googlemock/CMakeLists.txt b/serialbox/external/googletest/googlemock/CMakeLists.txt similarity index 100% rename from external/googletest/googlemock/CMakeLists.txt rename to serialbox/external/googletest/googlemock/CMakeLists.txt diff --git a/external/googletest/googlemock/CONTRIBUTORS b/serialbox/external/googletest/googlemock/CONTRIBUTORS similarity index 100% rename from external/googletest/googlemock/CONTRIBUTORS rename to serialbox/external/googletest/googlemock/CONTRIBUTORS diff --git a/external/googletest/googlemock/LICENSE b/serialbox/external/googletest/googlemock/LICENSE similarity index 100% rename from external/googletest/googlemock/LICENSE rename to serialbox/external/googletest/googlemock/LICENSE diff --git a/external/googletest/googlemock/Makefile.am b/serialbox/external/googletest/googlemock/Makefile.am similarity index 100% rename from external/googletest/googlemock/Makefile.am rename to serialbox/external/googletest/googlemock/Makefile.am diff --git a/external/googletest/googlemock/README.md b/serialbox/external/googletest/googlemock/README.md similarity index 100% rename from external/googletest/googlemock/README.md rename to serialbox/external/googletest/googlemock/README.md diff --git a/external/googletest/googlemock/cmake/gmock.pc.in b/serialbox/external/googletest/googlemock/cmake/gmock.pc.in similarity index 100% rename from external/googletest/googlemock/cmake/gmock.pc.in rename to serialbox/external/googletest/googlemock/cmake/gmock.pc.in diff --git a/external/googletest/googlemock/cmake/gmock_main.pc.in b/serialbox/external/googletest/googlemock/cmake/gmock_main.pc.in similarity index 100% rename from external/googletest/googlemock/cmake/gmock_main.pc.in rename to serialbox/external/googletest/googlemock/cmake/gmock_main.pc.in diff --git a/external/googletest/googlemock/configure.ac b/serialbox/external/googletest/googlemock/configure.ac similarity index 100% rename from external/googletest/googlemock/configure.ac rename to serialbox/external/googletest/googlemock/configure.ac diff --git a/external/googletest/googlemock/docs/CheatSheet.md b/serialbox/external/googletest/googlemock/docs/CheatSheet.md similarity index 100% rename from external/googletest/googlemock/docs/CheatSheet.md rename to serialbox/external/googletest/googlemock/docs/CheatSheet.md diff --git a/external/googletest/googlemock/docs/CookBook.md b/serialbox/external/googletest/googlemock/docs/CookBook.md similarity index 100% rename from external/googletest/googlemock/docs/CookBook.md rename to serialbox/external/googletest/googlemock/docs/CookBook.md diff --git a/external/googletest/googlemock/docs/DesignDoc.md b/serialbox/external/googletest/googlemock/docs/DesignDoc.md similarity index 100% rename from external/googletest/googlemock/docs/DesignDoc.md rename to serialbox/external/googletest/googlemock/docs/DesignDoc.md diff --git a/external/googletest/googlemock/docs/Documentation.md b/serialbox/external/googletest/googlemock/docs/Documentation.md similarity index 100% rename from external/googletest/googlemock/docs/Documentation.md rename to serialbox/external/googletest/googlemock/docs/Documentation.md diff --git a/external/googletest/googlemock/docs/ForDummies.md b/serialbox/external/googletest/googlemock/docs/ForDummies.md similarity index 100% rename from external/googletest/googlemock/docs/ForDummies.md rename to serialbox/external/googletest/googlemock/docs/ForDummies.md diff --git a/external/googletest/googlemock/docs/FrequentlyAskedQuestions.md b/serialbox/external/googletest/googlemock/docs/FrequentlyAskedQuestions.md similarity index 100% rename from external/googletest/googlemock/docs/FrequentlyAskedQuestions.md rename to serialbox/external/googletest/googlemock/docs/FrequentlyAskedQuestions.md diff --git a/external/googletest/googlemock/docs/KnownIssues.md b/serialbox/external/googletest/googlemock/docs/KnownIssues.md similarity index 100% rename from external/googletest/googlemock/docs/KnownIssues.md rename to serialbox/external/googletest/googlemock/docs/KnownIssues.md diff --git a/external/googletest/googlemock/include/gmock/gmock-actions.h b/serialbox/external/googletest/googlemock/include/gmock/gmock-actions.h similarity index 100% rename from external/googletest/googlemock/include/gmock/gmock-actions.h rename to serialbox/external/googletest/googlemock/include/gmock/gmock-actions.h diff --git a/external/googletest/googlemock/include/gmock/gmock-cardinalities.h b/serialbox/external/googletest/googlemock/include/gmock/gmock-cardinalities.h similarity index 100% rename from external/googletest/googlemock/include/gmock/gmock-cardinalities.h rename to serialbox/external/googletest/googlemock/include/gmock/gmock-cardinalities.h diff --git a/external/googletest/googlemock/include/gmock/gmock-generated-actions.h b/serialbox/external/googletest/googlemock/include/gmock/gmock-generated-actions.h similarity index 100% rename from external/googletest/googlemock/include/gmock/gmock-generated-actions.h rename to serialbox/external/googletest/googlemock/include/gmock/gmock-generated-actions.h diff --git a/external/googletest/googlemock/include/gmock/gmock-generated-actions.h.pump b/serialbox/external/googletest/googlemock/include/gmock/gmock-generated-actions.h.pump similarity index 100% rename from external/googletest/googlemock/include/gmock/gmock-generated-actions.h.pump rename to serialbox/external/googletest/googlemock/include/gmock/gmock-generated-actions.h.pump diff --git a/external/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h b/serialbox/external/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h similarity index 100% rename from external/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h rename to serialbox/external/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h diff --git a/external/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump b/serialbox/external/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump similarity index 100% rename from external/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump rename to serialbox/external/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump diff --git a/external/googletest/googlemock/include/gmock/gmock-generated-matchers.h b/serialbox/external/googletest/googlemock/include/gmock/gmock-generated-matchers.h similarity index 100% rename from external/googletest/googlemock/include/gmock/gmock-generated-matchers.h rename to serialbox/external/googletest/googlemock/include/gmock/gmock-generated-matchers.h diff --git a/external/googletest/googlemock/include/gmock/gmock-generated-matchers.h.pump b/serialbox/external/googletest/googlemock/include/gmock/gmock-generated-matchers.h.pump similarity index 100% rename from external/googletest/googlemock/include/gmock/gmock-generated-matchers.h.pump rename to serialbox/external/googletest/googlemock/include/gmock/gmock-generated-matchers.h.pump diff --git a/external/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h b/serialbox/external/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h similarity index 100% rename from external/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h rename to serialbox/external/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h diff --git a/external/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump b/serialbox/external/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump similarity index 100% rename from external/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump rename to serialbox/external/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump diff --git a/external/googletest/googlemock/include/gmock/gmock-matchers.h b/serialbox/external/googletest/googlemock/include/gmock/gmock-matchers.h similarity index 100% rename from external/googletest/googlemock/include/gmock/gmock-matchers.h rename to serialbox/external/googletest/googlemock/include/gmock/gmock-matchers.h diff --git a/external/googletest/googlemock/include/gmock/gmock-more-actions.h b/serialbox/external/googletest/googlemock/include/gmock/gmock-more-actions.h similarity index 100% rename from external/googletest/googlemock/include/gmock/gmock-more-actions.h rename to serialbox/external/googletest/googlemock/include/gmock/gmock-more-actions.h diff --git a/external/googletest/googlemock/include/gmock/gmock-more-matchers.h b/serialbox/external/googletest/googlemock/include/gmock/gmock-more-matchers.h similarity index 100% rename from external/googletest/googlemock/include/gmock/gmock-more-matchers.h rename to serialbox/external/googletest/googlemock/include/gmock/gmock-more-matchers.h diff --git a/external/googletest/googlemock/include/gmock/gmock-spec-builders.h b/serialbox/external/googletest/googlemock/include/gmock/gmock-spec-builders.h similarity index 100% rename from external/googletest/googlemock/include/gmock/gmock-spec-builders.h rename to serialbox/external/googletest/googlemock/include/gmock/gmock-spec-builders.h diff --git a/external/googletest/googlemock/include/gmock/gmock.h b/serialbox/external/googletest/googlemock/include/gmock/gmock.h similarity index 100% rename from external/googletest/googlemock/include/gmock/gmock.h rename to serialbox/external/googletest/googlemock/include/gmock/gmock.h diff --git a/external/googletest/googlemock/include/gmock/internal/custom/README.md b/serialbox/external/googletest/googlemock/include/gmock/internal/custom/README.md similarity index 100% rename from external/googletest/googlemock/include/gmock/internal/custom/README.md rename to serialbox/external/googletest/googlemock/include/gmock/internal/custom/README.md diff --git a/external/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h b/serialbox/external/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h similarity index 100% rename from external/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h rename to serialbox/external/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h diff --git a/external/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump b/serialbox/external/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump similarity index 100% rename from external/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump rename to serialbox/external/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump diff --git a/external/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h b/serialbox/external/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h similarity index 100% rename from external/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h rename to serialbox/external/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h diff --git a/external/googletest/googlemock/include/gmock/internal/custom/gmock-port.h b/serialbox/external/googletest/googlemock/include/gmock/internal/custom/gmock-port.h similarity index 100% rename from external/googletest/googlemock/include/gmock/internal/custom/gmock-port.h rename to serialbox/external/googletest/googlemock/include/gmock/internal/custom/gmock-port.h diff --git a/external/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h b/serialbox/external/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h similarity index 100% rename from external/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h rename to serialbox/external/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h diff --git a/external/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h.pump b/serialbox/external/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h.pump similarity index 100% rename from external/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h.pump rename to serialbox/external/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h.pump diff --git a/external/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h b/serialbox/external/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h similarity index 100% rename from external/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h rename to serialbox/external/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h diff --git a/external/googletest/googlemock/include/gmock/internal/gmock-port.h b/serialbox/external/googletest/googlemock/include/gmock/internal/gmock-port.h similarity index 100% rename from external/googletest/googlemock/include/gmock/internal/gmock-port.h rename to serialbox/external/googletest/googlemock/include/gmock/internal/gmock-port.h diff --git a/external/googletest/googlemock/msvc/2005/gmock.sln b/serialbox/external/googletest/googlemock/msvc/2005/gmock.sln similarity index 100% rename from external/googletest/googlemock/msvc/2005/gmock.sln rename to serialbox/external/googletest/googlemock/msvc/2005/gmock.sln diff --git a/external/googletest/googlemock/msvc/2005/gmock.vcproj b/serialbox/external/googletest/googlemock/msvc/2005/gmock.vcproj similarity index 100% rename from external/googletest/googlemock/msvc/2005/gmock.vcproj rename to serialbox/external/googletest/googlemock/msvc/2005/gmock.vcproj diff --git a/external/googletest/googlemock/msvc/2005/gmock_config.vsprops b/serialbox/external/googletest/googlemock/msvc/2005/gmock_config.vsprops similarity index 100% rename from external/googletest/googlemock/msvc/2005/gmock_config.vsprops rename to serialbox/external/googletest/googlemock/msvc/2005/gmock_config.vsprops diff --git a/external/googletest/googlemock/msvc/2005/gmock_main.vcproj b/serialbox/external/googletest/googlemock/msvc/2005/gmock_main.vcproj similarity index 100% rename from external/googletest/googlemock/msvc/2005/gmock_main.vcproj rename to serialbox/external/googletest/googlemock/msvc/2005/gmock_main.vcproj diff --git a/external/googletest/googlemock/msvc/2005/gmock_test.vcproj b/serialbox/external/googletest/googlemock/msvc/2005/gmock_test.vcproj similarity index 100% rename from external/googletest/googlemock/msvc/2005/gmock_test.vcproj rename to serialbox/external/googletest/googlemock/msvc/2005/gmock_test.vcproj diff --git a/external/googletest/googlemock/msvc/2010/gmock.sln b/serialbox/external/googletest/googlemock/msvc/2010/gmock.sln similarity index 100% rename from external/googletest/googlemock/msvc/2010/gmock.sln rename to serialbox/external/googletest/googlemock/msvc/2010/gmock.sln diff --git a/external/googletest/googlemock/msvc/2010/gmock.vcxproj b/serialbox/external/googletest/googlemock/msvc/2010/gmock.vcxproj similarity index 100% rename from external/googletest/googlemock/msvc/2010/gmock.vcxproj rename to serialbox/external/googletest/googlemock/msvc/2010/gmock.vcxproj diff --git a/external/googletest/googlemock/msvc/2010/gmock_config.props b/serialbox/external/googletest/googlemock/msvc/2010/gmock_config.props similarity index 100% rename from external/googletest/googlemock/msvc/2010/gmock_config.props rename to serialbox/external/googletest/googlemock/msvc/2010/gmock_config.props diff --git a/external/googletest/googlemock/msvc/2010/gmock_main.vcxproj b/serialbox/external/googletest/googlemock/msvc/2010/gmock_main.vcxproj similarity index 100% rename from external/googletest/googlemock/msvc/2010/gmock_main.vcxproj rename to serialbox/external/googletest/googlemock/msvc/2010/gmock_main.vcxproj diff --git a/external/googletest/googlemock/msvc/2010/gmock_test.vcxproj b/serialbox/external/googletest/googlemock/msvc/2010/gmock_test.vcxproj similarity index 100% rename from external/googletest/googlemock/msvc/2010/gmock_test.vcxproj rename to serialbox/external/googletest/googlemock/msvc/2010/gmock_test.vcxproj diff --git a/external/googletest/googlemock/msvc/2015/gmock.sln b/serialbox/external/googletest/googlemock/msvc/2015/gmock.sln similarity index 100% rename from external/googletest/googlemock/msvc/2015/gmock.sln rename to serialbox/external/googletest/googlemock/msvc/2015/gmock.sln diff --git a/external/googletest/googlemock/msvc/2015/gmock.vcxproj b/serialbox/external/googletest/googlemock/msvc/2015/gmock.vcxproj similarity index 100% rename from external/googletest/googlemock/msvc/2015/gmock.vcxproj rename to serialbox/external/googletest/googlemock/msvc/2015/gmock.vcxproj diff --git a/external/googletest/googlemock/msvc/2015/gmock_config.props b/serialbox/external/googletest/googlemock/msvc/2015/gmock_config.props similarity index 100% rename from external/googletest/googlemock/msvc/2015/gmock_config.props rename to serialbox/external/googletest/googlemock/msvc/2015/gmock_config.props diff --git a/external/googletest/googlemock/msvc/2015/gmock_main.vcxproj b/serialbox/external/googletest/googlemock/msvc/2015/gmock_main.vcxproj similarity index 100% rename from external/googletest/googlemock/msvc/2015/gmock_main.vcxproj rename to serialbox/external/googletest/googlemock/msvc/2015/gmock_main.vcxproj diff --git a/external/googletest/googlemock/msvc/2015/gmock_test.vcxproj b/serialbox/external/googletest/googlemock/msvc/2015/gmock_test.vcxproj similarity index 100% rename from external/googletest/googlemock/msvc/2015/gmock_test.vcxproj rename to serialbox/external/googletest/googlemock/msvc/2015/gmock_test.vcxproj diff --git a/external/googletest/googlemock/scripts/fuse_gmock_files.py b/serialbox/external/googletest/googlemock/scripts/fuse_gmock_files.py similarity index 100% rename from external/googletest/googlemock/scripts/fuse_gmock_files.py rename to serialbox/external/googletest/googlemock/scripts/fuse_gmock_files.py diff --git a/external/googletest/googlemock/scripts/generator/LICENSE b/serialbox/external/googletest/googlemock/scripts/generator/LICENSE similarity index 100% rename from external/googletest/googlemock/scripts/generator/LICENSE rename to serialbox/external/googletest/googlemock/scripts/generator/LICENSE diff --git a/external/googletest/googlemock/scripts/generator/README b/serialbox/external/googletest/googlemock/scripts/generator/README similarity index 100% rename from external/googletest/googlemock/scripts/generator/README rename to serialbox/external/googletest/googlemock/scripts/generator/README diff --git a/external/googletest/googlemock/scripts/generator/README.cppclean b/serialbox/external/googletest/googlemock/scripts/generator/README.cppclean similarity index 100% rename from external/googletest/googlemock/scripts/generator/README.cppclean rename to serialbox/external/googletest/googlemock/scripts/generator/README.cppclean diff --git a/external/googletest/googlemock/scripts/generator/cpp/__init__.py b/serialbox/external/googletest/googlemock/scripts/generator/cpp/__init__.py similarity index 100% rename from external/googletest/googlemock/scripts/generator/cpp/__init__.py rename to serialbox/external/googletest/googlemock/scripts/generator/cpp/__init__.py diff --git a/external/googletest/googlemock/scripts/generator/cpp/ast.py b/serialbox/external/googletest/googlemock/scripts/generator/cpp/ast.py similarity index 100% rename from external/googletest/googlemock/scripts/generator/cpp/ast.py rename to serialbox/external/googletest/googlemock/scripts/generator/cpp/ast.py diff --git a/external/googletest/googlemock/scripts/generator/cpp/gmock_class.py b/serialbox/external/googletest/googlemock/scripts/generator/cpp/gmock_class.py similarity index 100% rename from external/googletest/googlemock/scripts/generator/cpp/gmock_class.py rename to serialbox/external/googletest/googlemock/scripts/generator/cpp/gmock_class.py diff --git a/external/googletest/googlemock/scripts/generator/cpp/gmock_class_test.py b/serialbox/external/googletest/googlemock/scripts/generator/cpp/gmock_class_test.py similarity index 100% rename from external/googletest/googlemock/scripts/generator/cpp/gmock_class_test.py rename to serialbox/external/googletest/googlemock/scripts/generator/cpp/gmock_class_test.py diff --git a/external/googletest/googlemock/scripts/generator/cpp/keywords.py b/serialbox/external/googletest/googlemock/scripts/generator/cpp/keywords.py similarity index 100% rename from external/googletest/googlemock/scripts/generator/cpp/keywords.py rename to serialbox/external/googletest/googlemock/scripts/generator/cpp/keywords.py diff --git a/external/googletest/googlemock/scripts/generator/cpp/tokenize.py b/serialbox/external/googletest/googlemock/scripts/generator/cpp/tokenize.py similarity index 100% rename from external/googletest/googlemock/scripts/generator/cpp/tokenize.py rename to serialbox/external/googletest/googlemock/scripts/generator/cpp/tokenize.py diff --git a/external/googletest/googlemock/scripts/generator/cpp/utils.py b/serialbox/external/googletest/googlemock/scripts/generator/cpp/utils.py similarity index 100% rename from external/googletest/googlemock/scripts/generator/cpp/utils.py rename to serialbox/external/googletest/googlemock/scripts/generator/cpp/utils.py diff --git a/external/googletest/googlemock/scripts/generator/gmock_gen.py b/serialbox/external/googletest/googlemock/scripts/generator/gmock_gen.py similarity index 100% rename from external/googletest/googlemock/scripts/generator/gmock_gen.py rename to serialbox/external/googletest/googlemock/scripts/generator/gmock_gen.py diff --git a/external/googletest/googlemock/scripts/gmock-config.in b/serialbox/external/googletest/googlemock/scripts/gmock-config.in similarity index 100% rename from external/googletest/googlemock/scripts/gmock-config.in rename to serialbox/external/googletest/googlemock/scripts/gmock-config.in diff --git a/external/googletest/googlemock/scripts/gmock_doctor.py b/serialbox/external/googletest/googlemock/scripts/gmock_doctor.py similarity index 100% rename from external/googletest/googlemock/scripts/gmock_doctor.py rename to serialbox/external/googletest/googlemock/scripts/gmock_doctor.py diff --git a/external/googletest/googlemock/scripts/upload.py b/serialbox/external/googletest/googlemock/scripts/upload.py similarity index 100% rename from external/googletest/googlemock/scripts/upload.py rename to serialbox/external/googletest/googlemock/scripts/upload.py diff --git a/external/googletest/googlemock/scripts/upload_gmock.py b/serialbox/external/googletest/googlemock/scripts/upload_gmock.py similarity index 100% rename from external/googletest/googlemock/scripts/upload_gmock.py rename to serialbox/external/googletest/googlemock/scripts/upload_gmock.py diff --git a/external/googletest/googlemock/src/gmock-all.cc b/serialbox/external/googletest/googlemock/src/gmock-all.cc similarity index 100% rename from external/googletest/googlemock/src/gmock-all.cc rename to serialbox/external/googletest/googlemock/src/gmock-all.cc diff --git a/external/googletest/googlemock/src/gmock-cardinalities.cc b/serialbox/external/googletest/googlemock/src/gmock-cardinalities.cc similarity index 100% rename from external/googletest/googlemock/src/gmock-cardinalities.cc rename to serialbox/external/googletest/googlemock/src/gmock-cardinalities.cc diff --git a/external/googletest/googlemock/src/gmock-internal-utils.cc b/serialbox/external/googletest/googlemock/src/gmock-internal-utils.cc similarity index 100% rename from external/googletest/googlemock/src/gmock-internal-utils.cc rename to serialbox/external/googletest/googlemock/src/gmock-internal-utils.cc diff --git a/external/googletest/googlemock/src/gmock-matchers.cc b/serialbox/external/googletest/googlemock/src/gmock-matchers.cc similarity index 100% rename from external/googletest/googlemock/src/gmock-matchers.cc rename to serialbox/external/googletest/googlemock/src/gmock-matchers.cc diff --git a/external/googletest/googlemock/src/gmock-spec-builders.cc b/serialbox/external/googletest/googlemock/src/gmock-spec-builders.cc similarity index 100% rename from external/googletest/googlemock/src/gmock-spec-builders.cc rename to serialbox/external/googletest/googlemock/src/gmock-spec-builders.cc diff --git a/external/googletest/googlemock/src/gmock.cc b/serialbox/external/googletest/googlemock/src/gmock.cc similarity index 100% rename from external/googletest/googlemock/src/gmock.cc rename to serialbox/external/googletest/googlemock/src/gmock.cc diff --git a/external/googletest/googlemock/src/gmock_main.cc b/serialbox/external/googletest/googlemock/src/gmock_main.cc similarity index 100% rename from external/googletest/googlemock/src/gmock_main.cc rename to serialbox/external/googletest/googlemock/src/gmock_main.cc diff --git a/external/googletest/googlemock/test/BUILD.bazel b/serialbox/external/googletest/googlemock/test/BUILD.bazel similarity index 100% rename from external/googletest/googlemock/test/BUILD.bazel rename to serialbox/external/googletest/googlemock/test/BUILD.bazel diff --git a/external/googletest/googlemock/test/gmock-actions_test.cc b/serialbox/external/googletest/googlemock/test/gmock-actions_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock-actions_test.cc rename to serialbox/external/googletest/googlemock/test/gmock-actions_test.cc diff --git a/external/googletest/googlemock/test/gmock-cardinalities_test.cc b/serialbox/external/googletest/googlemock/test/gmock-cardinalities_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock-cardinalities_test.cc rename to serialbox/external/googletest/googlemock/test/gmock-cardinalities_test.cc diff --git a/external/googletest/googlemock/test/gmock-generated-actions_test.cc b/serialbox/external/googletest/googlemock/test/gmock-generated-actions_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock-generated-actions_test.cc rename to serialbox/external/googletest/googlemock/test/gmock-generated-actions_test.cc diff --git a/external/googletest/googlemock/test/gmock-generated-function-mockers_test.cc b/serialbox/external/googletest/googlemock/test/gmock-generated-function-mockers_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock-generated-function-mockers_test.cc rename to serialbox/external/googletest/googlemock/test/gmock-generated-function-mockers_test.cc diff --git a/external/googletest/googlemock/test/gmock-generated-internal-utils_test.cc b/serialbox/external/googletest/googlemock/test/gmock-generated-internal-utils_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock-generated-internal-utils_test.cc rename to serialbox/external/googletest/googlemock/test/gmock-generated-internal-utils_test.cc diff --git a/external/googletest/googlemock/test/gmock-generated-matchers_test.cc b/serialbox/external/googletest/googlemock/test/gmock-generated-matchers_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock-generated-matchers_test.cc rename to serialbox/external/googletest/googlemock/test/gmock-generated-matchers_test.cc diff --git a/external/googletest/googlemock/test/gmock-internal-utils_test.cc b/serialbox/external/googletest/googlemock/test/gmock-internal-utils_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock-internal-utils_test.cc rename to serialbox/external/googletest/googlemock/test/gmock-internal-utils_test.cc diff --git a/external/googletest/googlemock/test/gmock-matchers_test.cc b/serialbox/external/googletest/googlemock/test/gmock-matchers_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock-matchers_test.cc rename to serialbox/external/googletest/googlemock/test/gmock-matchers_test.cc diff --git a/external/googletest/googlemock/test/gmock-more-actions_test.cc b/serialbox/external/googletest/googlemock/test/gmock-more-actions_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock-more-actions_test.cc rename to serialbox/external/googletest/googlemock/test/gmock-more-actions_test.cc diff --git a/external/googletest/googlemock/test/gmock-nice-strict_test.cc b/serialbox/external/googletest/googlemock/test/gmock-nice-strict_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock-nice-strict_test.cc rename to serialbox/external/googletest/googlemock/test/gmock-nice-strict_test.cc diff --git a/external/googletest/googlemock/test/gmock-port_test.cc b/serialbox/external/googletest/googlemock/test/gmock-port_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock-port_test.cc rename to serialbox/external/googletest/googlemock/test/gmock-port_test.cc diff --git a/external/googletest/googlemock/test/gmock-spec-builders_test.cc b/serialbox/external/googletest/googlemock/test/gmock-spec-builders_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock-spec-builders_test.cc rename to serialbox/external/googletest/googlemock/test/gmock-spec-builders_test.cc diff --git a/external/googletest/googlemock/test/gmock_all_test.cc b/serialbox/external/googletest/googlemock/test/gmock_all_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock_all_test.cc rename to serialbox/external/googletest/googlemock/test/gmock_all_test.cc diff --git a/external/googletest/googlemock/test/gmock_ex_test.cc b/serialbox/external/googletest/googlemock/test/gmock_ex_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock_ex_test.cc rename to serialbox/external/googletest/googlemock/test/gmock_ex_test.cc diff --git a/external/googletest/googlemock/test/gmock_leak_test.py b/serialbox/external/googletest/googlemock/test/gmock_leak_test.py similarity index 100% rename from external/googletest/googlemock/test/gmock_leak_test.py rename to serialbox/external/googletest/googlemock/test/gmock_leak_test.py diff --git a/external/googletest/googlemock/test/gmock_leak_test_.cc b/serialbox/external/googletest/googlemock/test/gmock_leak_test_.cc similarity index 100% rename from external/googletest/googlemock/test/gmock_leak_test_.cc rename to serialbox/external/googletest/googlemock/test/gmock_leak_test_.cc diff --git a/external/googletest/googlemock/test/gmock_link2_test.cc b/serialbox/external/googletest/googlemock/test/gmock_link2_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock_link2_test.cc rename to serialbox/external/googletest/googlemock/test/gmock_link2_test.cc diff --git a/external/googletest/googlemock/test/gmock_link_test.cc b/serialbox/external/googletest/googlemock/test/gmock_link_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock_link_test.cc rename to serialbox/external/googletest/googlemock/test/gmock_link_test.cc diff --git a/external/googletest/googlemock/test/gmock_link_test.h b/serialbox/external/googletest/googlemock/test/gmock_link_test.h similarity index 100% rename from external/googletest/googlemock/test/gmock_link_test.h rename to serialbox/external/googletest/googlemock/test/gmock_link_test.h diff --git a/external/googletest/googlemock/test/gmock_output_test.py b/serialbox/external/googletest/googlemock/test/gmock_output_test.py similarity index 100% rename from external/googletest/googlemock/test/gmock_output_test.py rename to serialbox/external/googletest/googlemock/test/gmock_output_test.py diff --git a/external/googletest/googlemock/test/gmock_output_test_.cc b/serialbox/external/googletest/googlemock/test/gmock_output_test_.cc similarity index 100% rename from external/googletest/googlemock/test/gmock_output_test_.cc rename to serialbox/external/googletest/googlemock/test/gmock_output_test_.cc diff --git a/external/googletest/googlemock/test/gmock_output_test_golden.txt b/serialbox/external/googletest/googlemock/test/gmock_output_test_golden.txt similarity index 100% rename from external/googletest/googlemock/test/gmock_output_test_golden.txt rename to serialbox/external/googletest/googlemock/test/gmock_output_test_golden.txt diff --git a/external/googletest/googlemock/test/gmock_stress_test.cc b/serialbox/external/googletest/googlemock/test/gmock_stress_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock_stress_test.cc rename to serialbox/external/googletest/googlemock/test/gmock_stress_test.cc diff --git a/external/googletest/googlemock/test/gmock_test.cc b/serialbox/external/googletest/googlemock/test/gmock_test.cc similarity index 100% rename from external/googletest/googlemock/test/gmock_test.cc rename to serialbox/external/googletest/googlemock/test/gmock_test.cc diff --git a/external/googletest/googlemock/test/gmock_test_utils.py b/serialbox/external/googletest/googlemock/test/gmock_test_utils.py similarity index 100% rename from external/googletest/googlemock/test/gmock_test_utils.py rename to serialbox/external/googletest/googlemock/test/gmock_test_utils.py diff --git a/external/googletest/googletest/CHANGES b/serialbox/external/googletest/googletest/CHANGES similarity index 100% rename from external/googletest/googletest/CHANGES rename to serialbox/external/googletest/googletest/CHANGES diff --git a/external/googletest/googletest/CMakeLists.txt b/serialbox/external/googletest/googletest/CMakeLists.txt similarity index 100% rename from external/googletest/googletest/CMakeLists.txt rename to serialbox/external/googletest/googletest/CMakeLists.txt diff --git a/external/googletest/googletest/CONTRIBUTORS b/serialbox/external/googletest/googletest/CONTRIBUTORS similarity index 100% rename from external/googletest/googletest/CONTRIBUTORS rename to serialbox/external/googletest/googletest/CONTRIBUTORS diff --git a/external/googletest/googletest/LICENSE b/serialbox/external/googletest/googletest/LICENSE similarity index 100% rename from external/googletest/googletest/LICENSE rename to serialbox/external/googletest/googletest/LICENSE diff --git a/external/googletest/googletest/Makefile.am b/serialbox/external/googletest/googletest/Makefile.am similarity index 100% rename from external/googletest/googletest/Makefile.am rename to serialbox/external/googletest/googletest/Makefile.am diff --git a/external/googletest/googletest/README.md b/serialbox/external/googletest/googletest/README.md similarity index 100% rename from external/googletest/googletest/README.md rename to serialbox/external/googletest/googletest/README.md diff --git a/external/googletest/googletest/cmake/Config.cmake.in b/serialbox/external/googletest/googletest/cmake/Config.cmake.in similarity index 100% rename from external/googletest/googletest/cmake/Config.cmake.in rename to serialbox/external/googletest/googletest/cmake/Config.cmake.in diff --git a/external/googletest/googletest/cmake/gtest.pc.in b/serialbox/external/googletest/googletest/cmake/gtest.pc.in similarity index 100% rename from external/googletest/googletest/cmake/gtest.pc.in rename to serialbox/external/googletest/googletest/cmake/gtest.pc.in diff --git a/external/googletest/googletest/cmake/gtest_main.pc.in b/serialbox/external/googletest/googletest/cmake/gtest_main.pc.in similarity index 100% rename from external/googletest/googletest/cmake/gtest_main.pc.in rename to serialbox/external/googletest/googletest/cmake/gtest_main.pc.in diff --git a/external/googletest/googletest/cmake/internal_utils.cmake b/serialbox/external/googletest/googletest/cmake/internal_utils.cmake similarity index 100% rename from external/googletest/googletest/cmake/internal_utils.cmake rename to serialbox/external/googletest/googletest/cmake/internal_utils.cmake diff --git a/external/googletest/googletest/codegear/gtest.cbproj b/serialbox/external/googletest/googletest/codegear/gtest.cbproj similarity index 100% rename from external/googletest/googletest/codegear/gtest.cbproj rename to serialbox/external/googletest/googletest/codegear/gtest.cbproj diff --git a/external/googletest/googletest/codegear/gtest.groupproj b/serialbox/external/googletest/googletest/codegear/gtest.groupproj similarity index 100% rename from external/googletest/googletest/codegear/gtest.groupproj rename to serialbox/external/googletest/googletest/codegear/gtest.groupproj diff --git a/external/googletest/googletest/codegear/gtest_all.cc b/serialbox/external/googletest/googletest/codegear/gtest_all.cc similarity index 100% rename from external/googletest/googletest/codegear/gtest_all.cc rename to serialbox/external/googletest/googletest/codegear/gtest_all.cc diff --git a/external/googletest/googletest/codegear/gtest_link.cc b/serialbox/external/googletest/googletest/codegear/gtest_link.cc similarity index 100% rename from external/googletest/googletest/codegear/gtest_link.cc rename to serialbox/external/googletest/googletest/codegear/gtest_link.cc diff --git a/external/googletest/googletest/codegear/gtest_main.cbproj b/serialbox/external/googletest/googletest/codegear/gtest_main.cbproj similarity index 100% rename from external/googletest/googletest/codegear/gtest_main.cbproj rename to serialbox/external/googletest/googletest/codegear/gtest_main.cbproj diff --git a/external/googletest/googletest/codegear/gtest_unittest.cbproj b/serialbox/external/googletest/googletest/codegear/gtest_unittest.cbproj similarity index 100% rename from external/googletest/googletest/codegear/gtest_unittest.cbproj rename to serialbox/external/googletest/googletest/codegear/gtest_unittest.cbproj diff --git a/external/googletest/googletest/configure.ac b/serialbox/external/googletest/googletest/configure.ac similarity index 100% rename from external/googletest/googletest/configure.ac rename to serialbox/external/googletest/googletest/configure.ac diff --git a/external/googletest/googletest/docs/Pkgconfig.md b/serialbox/external/googletest/googletest/docs/Pkgconfig.md similarity index 100% rename from external/googletest/googletest/docs/Pkgconfig.md rename to serialbox/external/googletest/googletest/docs/Pkgconfig.md diff --git a/external/googletest/googletest/docs/PumpManual.md b/serialbox/external/googletest/googletest/docs/PumpManual.md similarity index 100% rename from external/googletest/googletest/docs/PumpManual.md rename to serialbox/external/googletest/googletest/docs/PumpManual.md diff --git a/external/googletest/googletest/docs/XcodeGuide.md b/serialbox/external/googletest/googletest/docs/XcodeGuide.md similarity index 100% rename from external/googletest/googletest/docs/XcodeGuide.md rename to serialbox/external/googletest/googletest/docs/XcodeGuide.md diff --git a/external/googletest/googletest/docs/advanced.md b/serialbox/external/googletest/googletest/docs/advanced.md similarity index 100% rename from external/googletest/googletest/docs/advanced.md rename to serialbox/external/googletest/googletest/docs/advanced.md diff --git a/external/googletest/googletest/docs/faq.md b/serialbox/external/googletest/googletest/docs/faq.md similarity index 100% rename from external/googletest/googletest/docs/faq.md rename to serialbox/external/googletest/googletest/docs/faq.md diff --git a/external/googletest/googletest/docs/primer.md b/serialbox/external/googletest/googletest/docs/primer.md similarity index 100% rename from external/googletest/googletest/docs/primer.md rename to serialbox/external/googletest/googletest/docs/primer.md diff --git a/external/googletest/googletest/docs/samples.md b/serialbox/external/googletest/googletest/docs/samples.md similarity index 100% rename from external/googletest/googletest/docs/samples.md rename to serialbox/external/googletest/googletest/docs/samples.md diff --git a/external/googletest/googletest/include/gtest/gtest-death-test.h b/serialbox/external/googletest/googletest/include/gtest/gtest-death-test.h similarity index 100% rename from external/googletest/googletest/include/gtest/gtest-death-test.h rename to serialbox/external/googletest/googletest/include/gtest/gtest-death-test.h diff --git a/external/googletest/googletest/include/gtest/gtest-message.h b/serialbox/external/googletest/googletest/include/gtest/gtest-message.h similarity index 100% rename from external/googletest/googletest/include/gtest/gtest-message.h rename to serialbox/external/googletest/googletest/include/gtest/gtest-message.h diff --git a/external/googletest/googletest/include/gtest/gtest-param-test.h b/serialbox/external/googletest/googletest/include/gtest/gtest-param-test.h similarity index 100% rename from external/googletest/googletest/include/gtest/gtest-param-test.h rename to serialbox/external/googletest/googletest/include/gtest/gtest-param-test.h diff --git a/external/googletest/googletest/include/gtest/gtest-param-test.h.pump b/serialbox/external/googletest/googletest/include/gtest/gtest-param-test.h.pump similarity index 100% rename from external/googletest/googletest/include/gtest/gtest-param-test.h.pump rename to serialbox/external/googletest/googletest/include/gtest/gtest-param-test.h.pump diff --git a/external/googletest/googletest/include/gtest/gtest-printers.h b/serialbox/external/googletest/googletest/include/gtest/gtest-printers.h similarity index 100% rename from external/googletest/googletest/include/gtest/gtest-printers.h rename to serialbox/external/googletest/googletest/include/gtest/gtest-printers.h diff --git a/external/googletest/googletest/include/gtest/gtest-spi.h b/serialbox/external/googletest/googletest/include/gtest/gtest-spi.h similarity index 100% rename from external/googletest/googletest/include/gtest/gtest-spi.h rename to serialbox/external/googletest/googletest/include/gtest/gtest-spi.h diff --git a/external/googletest/googletest/include/gtest/gtest-test-part.h b/serialbox/external/googletest/googletest/include/gtest/gtest-test-part.h similarity index 100% rename from external/googletest/googletest/include/gtest/gtest-test-part.h rename to serialbox/external/googletest/googletest/include/gtest/gtest-test-part.h diff --git a/external/googletest/googletest/include/gtest/gtest-typed-test.h b/serialbox/external/googletest/googletest/include/gtest/gtest-typed-test.h similarity index 100% rename from external/googletest/googletest/include/gtest/gtest-typed-test.h rename to serialbox/external/googletest/googletest/include/gtest/gtest-typed-test.h diff --git a/external/googletest/googletest/include/gtest/gtest.h b/serialbox/external/googletest/googletest/include/gtest/gtest.h similarity index 100% rename from external/googletest/googletest/include/gtest/gtest.h rename to serialbox/external/googletest/googletest/include/gtest/gtest.h diff --git a/external/googletest/googletest/include/gtest/gtest_pred_impl.h b/serialbox/external/googletest/googletest/include/gtest/gtest_pred_impl.h similarity index 100% rename from external/googletest/googletest/include/gtest/gtest_pred_impl.h rename to serialbox/external/googletest/googletest/include/gtest/gtest_pred_impl.h diff --git a/external/googletest/googletest/include/gtest/gtest_prod.h b/serialbox/external/googletest/googletest/include/gtest/gtest_prod.h similarity index 100% rename from external/googletest/googletest/include/gtest/gtest_prod.h rename to serialbox/external/googletest/googletest/include/gtest/gtest_prod.h diff --git a/external/googletest/googletest/include/gtest/internal/custom/README.md b/serialbox/external/googletest/googletest/include/gtest/internal/custom/README.md similarity index 100% rename from external/googletest/googletest/include/gtest/internal/custom/README.md rename to serialbox/external/googletest/googletest/include/gtest/internal/custom/README.md diff --git a/external/googletest/googletest/include/gtest/internal/custom/gtest-port.h b/serialbox/external/googletest/googletest/include/gtest/internal/custom/gtest-port.h similarity index 100% rename from external/googletest/googletest/include/gtest/internal/custom/gtest-port.h rename to serialbox/external/googletest/googletest/include/gtest/internal/custom/gtest-port.h diff --git a/external/googletest/googletest/include/gtest/internal/custom/gtest-printers.h b/serialbox/external/googletest/googletest/include/gtest/internal/custom/gtest-printers.h similarity index 100% rename from external/googletest/googletest/include/gtest/internal/custom/gtest-printers.h rename to serialbox/external/googletest/googletest/include/gtest/internal/custom/gtest-printers.h diff --git a/external/googletest/googletest/include/gtest/internal/custom/gtest.h b/serialbox/external/googletest/googletest/include/gtest/internal/custom/gtest.h similarity index 100% rename from external/googletest/googletest/include/gtest/internal/custom/gtest.h rename to serialbox/external/googletest/googletest/include/gtest/internal/custom/gtest.h diff --git a/external/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h b/serialbox/external/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h similarity index 100% rename from external/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h rename to serialbox/external/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h diff --git a/external/googletest/googletest/include/gtest/internal/gtest-filepath.h b/serialbox/external/googletest/googletest/include/gtest/internal/gtest-filepath.h similarity index 100% rename from external/googletest/googletest/include/gtest/internal/gtest-filepath.h rename to serialbox/external/googletest/googletest/include/gtest/internal/gtest-filepath.h diff --git a/external/googletest/googletest/include/gtest/internal/gtest-internal.h b/serialbox/external/googletest/googletest/include/gtest/internal/gtest-internal.h similarity index 100% rename from external/googletest/googletest/include/gtest/internal/gtest-internal.h rename to serialbox/external/googletest/googletest/include/gtest/internal/gtest-internal.h diff --git a/external/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h b/serialbox/external/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h similarity index 100% rename from external/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h rename to serialbox/external/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h diff --git a/external/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h b/serialbox/external/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h similarity index 100% rename from external/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h rename to serialbox/external/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h diff --git a/external/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump b/serialbox/external/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump similarity index 100% rename from external/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump rename to serialbox/external/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump diff --git a/external/googletest/googletest/include/gtest/internal/gtest-param-util.h b/serialbox/external/googletest/googletest/include/gtest/internal/gtest-param-util.h similarity index 100% rename from external/googletest/googletest/include/gtest/internal/gtest-param-util.h rename to serialbox/external/googletest/googletest/include/gtest/internal/gtest-param-util.h diff --git a/external/googletest/googletest/include/gtest/internal/gtest-port-arch.h b/serialbox/external/googletest/googletest/include/gtest/internal/gtest-port-arch.h similarity index 100% rename from external/googletest/googletest/include/gtest/internal/gtest-port-arch.h rename to serialbox/external/googletest/googletest/include/gtest/internal/gtest-port-arch.h diff --git a/external/googletest/googletest/include/gtest/internal/gtest-port.h b/serialbox/external/googletest/googletest/include/gtest/internal/gtest-port.h similarity index 100% rename from external/googletest/googletest/include/gtest/internal/gtest-port.h rename to serialbox/external/googletest/googletest/include/gtest/internal/gtest-port.h diff --git a/external/googletest/googletest/include/gtest/internal/gtest-string.h b/serialbox/external/googletest/googletest/include/gtest/internal/gtest-string.h similarity index 100% rename from external/googletest/googletest/include/gtest/internal/gtest-string.h rename to serialbox/external/googletest/googletest/include/gtest/internal/gtest-string.h diff --git a/external/googletest/googletest/include/gtest/internal/gtest-tuple.h b/serialbox/external/googletest/googletest/include/gtest/internal/gtest-tuple.h similarity index 100% rename from external/googletest/googletest/include/gtest/internal/gtest-tuple.h rename to serialbox/external/googletest/googletest/include/gtest/internal/gtest-tuple.h diff --git a/external/googletest/googletest/include/gtest/internal/gtest-tuple.h.pump b/serialbox/external/googletest/googletest/include/gtest/internal/gtest-tuple.h.pump similarity index 100% rename from external/googletest/googletest/include/gtest/internal/gtest-tuple.h.pump rename to serialbox/external/googletest/googletest/include/gtest/internal/gtest-tuple.h.pump diff --git a/external/googletest/googletest/include/gtest/internal/gtest-type-util.h b/serialbox/external/googletest/googletest/include/gtest/internal/gtest-type-util.h similarity index 100% rename from external/googletest/googletest/include/gtest/internal/gtest-type-util.h rename to serialbox/external/googletest/googletest/include/gtest/internal/gtest-type-util.h diff --git a/external/googletest/googletest/include/gtest/internal/gtest-type-util.h.pump b/serialbox/external/googletest/googletest/include/gtest/internal/gtest-type-util.h.pump similarity index 100% rename from external/googletest/googletest/include/gtest/internal/gtest-type-util.h.pump rename to serialbox/external/googletest/googletest/include/gtest/internal/gtest-type-util.h.pump diff --git a/external/googletest/googletest/m4/acx_pthread.m4 b/serialbox/external/googletest/googletest/m4/acx_pthread.m4 similarity index 100% rename from external/googletest/googletest/m4/acx_pthread.m4 rename to serialbox/external/googletest/googletest/m4/acx_pthread.m4 diff --git a/external/googletest/googletest/m4/gtest.m4 b/serialbox/external/googletest/googletest/m4/gtest.m4 similarity index 100% rename from external/googletest/googletest/m4/gtest.m4 rename to serialbox/external/googletest/googletest/m4/gtest.m4 diff --git a/external/googletest/googletest/msvc/2010/gtest-md.sln b/serialbox/external/googletest/googletest/msvc/2010/gtest-md.sln similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest-md.sln rename to serialbox/external/googletest/googletest/msvc/2010/gtest-md.sln diff --git a/external/googletest/googletest/msvc/2010/gtest-md.vcxproj b/serialbox/external/googletest/googletest/msvc/2010/gtest-md.vcxproj similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest-md.vcxproj rename to serialbox/external/googletest/googletest/msvc/2010/gtest-md.vcxproj diff --git a/external/googletest/googletest/msvc/2010/gtest-md.vcxproj.filters b/serialbox/external/googletest/googletest/msvc/2010/gtest-md.vcxproj.filters similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest-md.vcxproj.filters rename to serialbox/external/googletest/googletest/msvc/2010/gtest-md.vcxproj.filters diff --git a/external/googletest/googletest/msvc/2010/gtest.sln b/serialbox/external/googletest/googletest/msvc/2010/gtest.sln similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest.sln rename to serialbox/external/googletest/googletest/msvc/2010/gtest.sln diff --git a/external/googletest/googletest/msvc/2010/gtest.vcxproj b/serialbox/external/googletest/googletest/msvc/2010/gtest.vcxproj similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest.vcxproj rename to serialbox/external/googletest/googletest/msvc/2010/gtest.vcxproj diff --git a/external/googletest/googletest/msvc/2010/gtest.vcxproj.filters b/serialbox/external/googletest/googletest/msvc/2010/gtest.vcxproj.filters similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest.vcxproj.filters rename to serialbox/external/googletest/googletest/msvc/2010/gtest.vcxproj.filters diff --git a/external/googletest/googletest/msvc/2010/gtest_main-md.vcxproj b/serialbox/external/googletest/googletest/msvc/2010/gtest_main-md.vcxproj similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest_main-md.vcxproj rename to serialbox/external/googletest/googletest/msvc/2010/gtest_main-md.vcxproj diff --git a/external/googletest/googletest/msvc/2010/gtest_main-md.vcxproj.filters b/serialbox/external/googletest/googletest/msvc/2010/gtest_main-md.vcxproj.filters similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest_main-md.vcxproj.filters rename to serialbox/external/googletest/googletest/msvc/2010/gtest_main-md.vcxproj.filters diff --git a/external/googletest/googletest/msvc/2010/gtest_main.vcxproj b/serialbox/external/googletest/googletest/msvc/2010/gtest_main.vcxproj similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest_main.vcxproj rename to serialbox/external/googletest/googletest/msvc/2010/gtest_main.vcxproj diff --git a/external/googletest/googletest/msvc/2010/gtest_main.vcxproj.filters b/serialbox/external/googletest/googletest/msvc/2010/gtest_main.vcxproj.filters similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest_main.vcxproj.filters rename to serialbox/external/googletest/googletest/msvc/2010/gtest_main.vcxproj.filters diff --git a/external/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj b/serialbox/external/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj rename to serialbox/external/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj diff --git a/external/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj.filters b/serialbox/external/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj.filters similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj.filters rename to serialbox/external/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj.filters diff --git a/external/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj b/serialbox/external/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj rename to serialbox/external/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj diff --git a/external/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj.filters b/serialbox/external/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj.filters similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj.filters rename to serialbox/external/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj.filters diff --git a/external/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj b/serialbox/external/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj rename to serialbox/external/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj diff --git a/external/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj.filters b/serialbox/external/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj.filters similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj.filters rename to serialbox/external/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj.filters diff --git a/external/googletest/googletest/msvc/2010/gtest_unittest.vcxproj b/serialbox/external/googletest/googletest/msvc/2010/gtest_unittest.vcxproj similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest_unittest.vcxproj rename to serialbox/external/googletest/googletest/msvc/2010/gtest_unittest.vcxproj diff --git a/external/googletest/googletest/msvc/2010/gtest_unittest.vcxproj.filters b/serialbox/external/googletest/googletest/msvc/2010/gtest_unittest.vcxproj.filters similarity index 100% rename from external/googletest/googletest/msvc/2010/gtest_unittest.vcxproj.filters rename to serialbox/external/googletest/googletest/msvc/2010/gtest_unittest.vcxproj.filters diff --git a/external/googletest/googletest/samples/prime_tables.h b/serialbox/external/googletest/googletest/samples/prime_tables.h similarity index 100% rename from external/googletest/googletest/samples/prime_tables.h rename to serialbox/external/googletest/googletest/samples/prime_tables.h diff --git a/external/googletest/googletest/samples/sample1.cc b/serialbox/external/googletest/googletest/samples/sample1.cc similarity index 100% rename from external/googletest/googletest/samples/sample1.cc rename to serialbox/external/googletest/googletest/samples/sample1.cc diff --git a/external/googletest/googletest/samples/sample1.h b/serialbox/external/googletest/googletest/samples/sample1.h similarity index 100% rename from external/googletest/googletest/samples/sample1.h rename to serialbox/external/googletest/googletest/samples/sample1.h diff --git a/external/googletest/googletest/samples/sample10_unittest.cc b/serialbox/external/googletest/googletest/samples/sample10_unittest.cc similarity index 100% rename from external/googletest/googletest/samples/sample10_unittest.cc rename to serialbox/external/googletest/googletest/samples/sample10_unittest.cc diff --git a/external/googletest/googletest/samples/sample1_unittest.cc b/serialbox/external/googletest/googletest/samples/sample1_unittest.cc similarity index 100% rename from external/googletest/googletest/samples/sample1_unittest.cc rename to serialbox/external/googletest/googletest/samples/sample1_unittest.cc diff --git a/external/googletest/googletest/samples/sample2.cc b/serialbox/external/googletest/googletest/samples/sample2.cc similarity index 100% rename from external/googletest/googletest/samples/sample2.cc rename to serialbox/external/googletest/googletest/samples/sample2.cc diff --git a/external/googletest/googletest/samples/sample2.h b/serialbox/external/googletest/googletest/samples/sample2.h similarity index 100% rename from external/googletest/googletest/samples/sample2.h rename to serialbox/external/googletest/googletest/samples/sample2.h diff --git a/external/googletest/googletest/samples/sample2_unittest.cc b/serialbox/external/googletest/googletest/samples/sample2_unittest.cc similarity index 100% rename from external/googletest/googletest/samples/sample2_unittest.cc rename to serialbox/external/googletest/googletest/samples/sample2_unittest.cc diff --git a/external/googletest/googletest/samples/sample3-inl.h b/serialbox/external/googletest/googletest/samples/sample3-inl.h similarity index 100% rename from external/googletest/googletest/samples/sample3-inl.h rename to serialbox/external/googletest/googletest/samples/sample3-inl.h diff --git a/external/googletest/googletest/samples/sample3_unittest.cc b/serialbox/external/googletest/googletest/samples/sample3_unittest.cc similarity index 100% rename from external/googletest/googletest/samples/sample3_unittest.cc rename to serialbox/external/googletest/googletest/samples/sample3_unittest.cc diff --git a/external/googletest/googletest/samples/sample4.cc b/serialbox/external/googletest/googletest/samples/sample4.cc similarity index 100% rename from external/googletest/googletest/samples/sample4.cc rename to serialbox/external/googletest/googletest/samples/sample4.cc diff --git a/external/googletest/googletest/samples/sample4.h b/serialbox/external/googletest/googletest/samples/sample4.h similarity index 100% rename from external/googletest/googletest/samples/sample4.h rename to serialbox/external/googletest/googletest/samples/sample4.h diff --git a/external/googletest/googletest/samples/sample4_unittest.cc b/serialbox/external/googletest/googletest/samples/sample4_unittest.cc similarity index 100% rename from external/googletest/googletest/samples/sample4_unittest.cc rename to serialbox/external/googletest/googletest/samples/sample4_unittest.cc diff --git a/external/googletest/googletest/samples/sample5_unittest.cc b/serialbox/external/googletest/googletest/samples/sample5_unittest.cc similarity index 100% rename from external/googletest/googletest/samples/sample5_unittest.cc rename to serialbox/external/googletest/googletest/samples/sample5_unittest.cc diff --git a/external/googletest/googletest/samples/sample6_unittest.cc b/serialbox/external/googletest/googletest/samples/sample6_unittest.cc similarity index 100% rename from external/googletest/googletest/samples/sample6_unittest.cc rename to serialbox/external/googletest/googletest/samples/sample6_unittest.cc diff --git a/external/googletest/googletest/samples/sample7_unittest.cc b/serialbox/external/googletest/googletest/samples/sample7_unittest.cc similarity index 100% rename from external/googletest/googletest/samples/sample7_unittest.cc rename to serialbox/external/googletest/googletest/samples/sample7_unittest.cc diff --git a/external/googletest/googletest/samples/sample8_unittest.cc b/serialbox/external/googletest/googletest/samples/sample8_unittest.cc similarity index 100% rename from external/googletest/googletest/samples/sample8_unittest.cc rename to serialbox/external/googletest/googletest/samples/sample8_unittest.cc diff --git a/external/googletest/googletest/samples/sample9_unittest.cc b/serialbox/external/googletest/googletest/samples/sample9_unittest.cc similarity index 100% rename from external/googletest/googletest/samples/sample9_unittest.cc rename to serialbox/external/googletest/googletest/samples/sample9_unittest.cc diff --git a/external/googletest/googletest/scripts/common.py b/serialbox/external/googletest/googletest/scripts/common.py similarity index 100% rename from external/googletest/googletest/scripts/common.py rename to serialbox/external/googletest/googletest/scripts/common.py diff --git a/external/googletest/googletest/scripts/fuse_gtest_files.py b/serialbox/external/googletest/googletest/scripts/fuse_gtest_files.py similarity index 100% rename from external/googletest/googletest/scripts/fuse_gtest_files.py rename to serialbox/external/googletest/googletest/scripts/fuse_gtest_files.py diff --git a/external/googletest/googletest/scripts/gen_gtest_pred_impl.py b/serialbox/external/googletest/googletest/scripts/gen_gtest_pred_impl.py similarity index 100% rename from external/googletest/googletest/scripts/gen_gtest_pred_impl.py rename to serialbox/external/googletest/googletest/scripts/gen_gtest_pred_impl.py diff --git a/external/googletest/googletest/scripts/gtest-config.in b/serialbox/external/googletest/googletest/scripts/gtest-config.in similarity index 100% rename from external/googletest/googletest/scripts/gtest-config.in rename to serialbox/external/googletest/googletest/scripts/gtest-config.in diff --git a/external/googletest/googletest/scripts/pump.py b/serialbox/external/googletest/googletest/scripts/pump.py similarity index 100% rename from external/googletest/googletest/scripts/pump.py rename to serialbox/external/googletest/googletest/scripts/pump.py diff --git a/external/googletest/googletest/scripts/release_docs.py b/serialbox/external/googletest/googletest/scripts/release_docs.py similarity index 100% rename from external/googletest/googletest/scripts/release_docs.py rename to serialbox/external/googletest/googletest/scripts/release_docs.py diff --git a/external/googletest/googletest/scripts/upload.py b/serialbox/external/googletest/googletest/scripts/upload.py similarity index 100% rename from external/googletest/googletest/scripts/upload.py rename to serialbox/external/googletest/googletest/scripts/upload.py diff --git a/external/googletest/googletest/scripts/upload_gtest.py b/serialbox/external/googletest/googletest/scripts/upload_gtest.py similarity index 100% rename from external/googletest/googletest/scripts/upload_gtest.py rename to serialbox/external/googletest/googletest/scripts/upload_gtest.py diff --git a/external/googletest/googletest/src/gtest-all.cc b/serialbox/external/googletest/googletest/src/gtest-all.cc similarity index 100% rename from external/googletest/googletest/src/gtest-all.cc rename to serialbox/external/googletest/googletest/src/gtest-all.cc diff --git a/external/googletest/googletest/src/gtest-death-test.cc b/serialbox/external/googletest/googletest/src/gtest-death-test.cc similarity index 100% rename from external/googletest/googletest/src/gtest-death-test.cc rename to serialbox/external/googletest/googletest/src/gtest-death-test.cc diff --git a/external/googletest/googletest/src/gtest-filepath.cc b/serialbox/external/googletest/googletest/src/gtest-filepath.cc similarity index 100% rename from external/googletest/googletest/src/gtest-filepath.cc rename to serialbox/external/googletest/googletest/src/gtest-filepath.cc diff --git a/external/googletest/googletest/src/gtest-internal-inl.h b/serialbox/external/googletest/googletest/src/gtest-internal-inl.h similarity index 100% rename from external/googletest/googletest/src/gtest-internal-inl.h rename to serialbox/external/googletest/googletest/src/gtest-internal-inl.h diff --git a/external/googletest/googletest/src/gtest-port.cc b/serialbox/external/googletest/googletest/src/gtest-port.cc similarity index 100% rename from external/googletest/googletest/src/gtest-port.cc rename to serialbox/external/googletest/googletest/src/gtest-port.cc diff --git a/external/googletest/googletest/src/gtest-printers.cc b/serialbox/external/googletest/googletest/src/gtest-printers.cc similarity index 100% rename from external/googletest/googletest/src/gtest-printers.cc rename to serialbox/external/googletest/googletest/src/gtest-printers.cc diff --git a/external/googletest/googletest/src/gtest-test-part.cc b/serialbox/external/googletest/googletest/src/gtest-test-part.cc similarity index 100% rename from external/googletest/googletest/src/gtest-test-part.cc rename to serialbox/external/googletest/googletest/src/gtest-test-part.cc diff --git a/external/googletest/googletest/src/gtest-typed-test.cc b/serialbox/external/googletest/googletest/src/gtest-typed-test.cc similarity index 100% rename from external/googletest/googletest/src/gtest-typed-test.cc rename to serialbox/external/googletest/googletest/src/gtest-typed-test.cc diff --git a/external/googletest/googletest/src/gtest.cc b/serialbox/external/googletest/googletest/src/gtest.cc similarity index 100% rename from external/googletest/googletest/src/gtest.cc rename to serialbox/external/googletest/googletest/src/gtest.cc diff --git a/external/googletest/googletest/src/gtest_main.cc b/serialbox/external/googletest/googletest/src/gtest_main.cc similarity index 100% rename from external/googletest/googletest/src/gtest_main.cc rename to serialbox/external/googletest/googletest/src/gtest_main.cc diff --git a/external/googletest/googletest/test/BUILD.bazel b/serialbox/external/googletest/googletest/test/BUILD.bazel similarity index 100% rename from external/googletest/googletest/test/BUILD.bazel rename to serialbox/external/googletest/googletest/test/BUILD.bazel diff --git a/external/googletest/googletest/test/googletest-break-on-failure-unittest.py b/serialbox/external/googletest/googletest/test/googletest-break-on-failure-unittest.py similarity index 100% rename from external/googletest/googletest/test/googletest-break-on-failure-unittest.py rename to serialbox/external/googletest/googletest/test/googletest-break-on-failure-unittest.py diff --git a/external/googletest/googletest/test/googletest-break-on-failure-unittest_.cc b/serialbox/external/googletest/googletest/test/googletest-break-on-failure-unittest_.cc similarity index 100% rename from external/googletest/googletest/test/googletest-break-on-failure-unittest_.cc rename to serialbox/external/googletest/googletest/test/googletest-break-on-failure-unittest_.cc diff --git a/external/googletest/googletest/test/googletest-catch-exceptions-test.py b/serialbox/external/googletest/googletest/test/googletest-catch-exceptions-test.py similarity index 100% rename from external/googletest/googletest/test/googletest-catch-exceptions-test.py rename to serialbox/external/googletest/googletest/test/googletest-catch-exceptions-test.py diff --git a/external/googletest/googletest/test/googletest-catch-exceptions-test_.cc b/serialbox/external/googletest/googletest/test/googletest-catch-exceptions-test_.cc similarity index 100% rename from external/googletest/googletest/test/googletest-catch-exceptions-test_.cc rename to serialbox/external/googletest/googletest/test/googletest-catch-exceptions-test_.cc diff --git a/external/googletest/googletest/test/googletest-color-test.py b/serialbox/external/googletest/googletest/test/googletest-color-test.py similarity index 100% rename from external/googletest/googletest/test/googletest-color-test.py rename to serialbox/external/googletest/googletest/test/googletest-color-test.py diff --git a/external/googletest/googletest/test/googletest-color-test_.cc b/serialbox/external/googletest/googletest/test/googletest-color-test_.cc similarity index 100% rename from external/googletest/googletest/test/googletest-color-test_.cc rename to serialbox/external/googletest/googletest/test/googletest-color-test_.cc diff --git a/external/googletest/googletest/test/googletest-death-test-test.cc b/serialbox/external/googletest/googletest/test/googletest-death-test-test.cc similarity index 100% rename from external/googletest/googletest/test/googletest-death-test-test.cc rename to serialbox/external/googletest/googletest/test/googletest-death-test-test.cc diff --git a/external/googletest/googletest/test/googletest-death-test_ex_test.cc b/serialbox/external/googletest/googletest/test/googletest-death-test_ex_test.cc similarity index 100% rename from external/googletest/googletest/test/googletest-death-test_ex_test.cc rename to serialbox/external/googletest/googletest/test/googletest-death-test_ex_test.cc diff --git a/external/googletest/googletest/test/googletest-env-var-test.py b/serialbox/external/googletest/googletest/test/googletest-env-var-test.py similarity index 100% rename from external/googletest/googletest/test/googletest-env-var-test.py rename to serialbox/external/googletest/googletest/test/googletest-env-var-test.py diff --git a/external/googletest/googletest/test/googletest-env-var-test_.cc b/serialbox/external/googletest/googletest/test/googletest-env-var-test_.cc similarity index 100% rename from external/googletest/googletest/test/googletest-env-var-test_.cc rename to serialbox/external/googletest/googletest/test/googletest-env-var-test_.cc diff --git a/external/googletest/googletest/test/googletest-filepath-test.cc b/serialbox/external/googletest/googletest/test/googletest-filepath-test.cc similarity index 100% rename from external/googletest/googletest/test/googletest-filepath-test.cc rename to serialbox/external/googletest/googletest/test/googletest-filepath-test.cc diff --git a/external/googletest/googletest/test/googletest-filter-unittest.py b/serialbox/external/googletest/googletest/test/googletest-filter-unittest.py similarity index 100% rename from external/googletest/googletest/test/googletest-filter-unittest.py rename to serialbox/external/googletest/googletest/test/googletest-filter-unittest.py diff --git a/external/googletest/googletest/test/googletest-filter-unittest_.cc b/serialbox/external/googletest/googletest/test/googletest-filter-unittest_.cc similarity index 100% rename from external/googletest/googletest/test/googletest-filter-unittest_.cc rename to serialbox/external/googletest/googletest/test/googletest-filter-unittest_.cc diff --git a/external/googletest/googletest/test/googletest-json-outfiles-test.py b/serialbox/external/googletest/googletest/test/googletest-json-outfiles-test.py similarity index 100% rename from external/googletest/googletest/test/googletest-json-outfiles-test.py rename to serialbox/external/googletest/googletest/test/googletest-json-outfiles-test.py diff --git a/external/googletest/googletest/test/googletest-json-output-unittest.py b/serialbox/external/googletest/googletest/test/googletest-json-output-unittest.py similarity index 100% rename from external/googletest/googletest/test/googletest-json-output-unittest.py rename to serialbox/external/googletest/googletest/test/googletest-json-output-unittest.py diff --git a/external/googletest/googletest/test/googletest-linked-ptr-test.cc b/serialbox/external/googletest/googletest/test/googletest-linked-ptr-test.cc similarity index 100% rename from external/googletest/googletest/test/googletest-linked-ptr-test.cc rename to serialbox/external/googletest/googletest/test/googletest-linked-ptr-test.cc diff --git a/external/googletest/googletest/test/googletest-list-tests-unittest.py b/serialbox/external/googletest/googletest/test/googletest-list-tests-unittest.py similarity index 100% rename from external/googletest/googletest/test/googletest-list-tests-unittest.py rename to serialbox/external/googletest/googletest/test/googletest-list-tests-unittest.py diff --git a/external/googletest/googletest/test/googletest-list-tests-unittest_.cc b/serialbox/external/googletest/googletest/test/googletest-list-tests-unittest_.cc similarity index 100% rename from external/googletest/googletest/test/googletest-list-tests-unittest_.cc rename to serialbox/external/googletest/googletest/test/googletest-list-tests-unittest_.cc diff --git a/external/googletest/googletest/test/googletest-listener-test.cc b/serialbox/external/googletest/googletest/test/googletest-listener-test.cc similarity index 100% rename from external/googletest/googletest/test/googletest-listener-test.cc rename to serialbox/external/googletest/googletest/test/googletest-listener-test.cc diff --git a/external/googletest/googletest/test/googletest-message-test.cc b/serialbox/external/googletest/googletest/test/googletest-message-test.cc similarity index 100% rename from external/googletest/googletest/test/googletest-message-test.cc rename to serialbox/external/googletest/googletest/test/googletest-message-test.cc diff --git a/external/googletest/googletest/test/googletest-options-test.cc b/serialbox/external/googletest/googletest/test/googletest-options-test.cc similarity index 100% rename from external/googletest/googletest/test/googletest-options-test.cc rename to serialbox/external/googletest/googletest/test/googletest-options-test.cc diff --git a/external/googletest/googletest/test/googletest-output-test-golden-lin.txt b/serialbox/external/googletest/googletest/test/googletest-output-test-golden-lin.txt similarity index 100% rename from external/googletest/googletest/test/googletest-output-test-golden-lin.txt rename to serialbox/external/googletest/googletest/test/googletest-output-test-golden-lin.txt diff --git a/external/googletest/googletest/test/googletest-output-test.py b/serialbox/external/googletest/googletest/test/googletest-output-test.py similarity index 100% rename from external/googletest/googletest/test/googletest-output-test.py rename to serialbox/external/googletest/googletest/test/googletest-output-test.py diff --git a/external/googletest/googletest/test/googletest-output-test_.cc b/serialbox/external/googletest/googletest/test/googletest-output-test_.cc similarity index 100% rename from external/googletest/googletest/test/googletest-output-test_.cc rename to serialbox/external/googletest/googletest/test/googletest-output-test_.cc diff --git a/external/googletest/googletest/test/googletest-param-test-invalid-name1-test.py b/serialbox/external/googletest/googletest/test/googletest-param-test-invalid-name1-test.py similarity index 100% rename from external/googletest/googletest/test/googletest-param-test-invalid-name1-test.py rename to serialbox/external/googletest/googletest/test/googletest-param-test-invalid-name1-test.py diff --git a/external/googletest/googletest/test/googletest-param-test-invalid-name1-test_.cc b/serialbox/external/googletest/googletest/test/googletest-param-test-invalid-name1-test_.cc similarity index 100% rename from external/googletest/googletest/test/googletest-param-test-invalid-name1-test_.cc rename to serialbox/external/googletest/googletest/test/googletest-param-test-invalid-name1-test_.cc diff --git a/external/googletest/googletest/test/googletest-param-test-invalid-name2-test.py b/serialbox/external/googletest/googletest/test/googletest-param-test-invalid-name2-test.py similarity index 100% rename from external/googletest/googletest/test/googletest-param-test-invalid-name2-test.py rename to serialbox/external/googletest/googletest/test/googletest-param-test-invalid-name2-test.py diff --git a/external/googletest/googletest/test/googletest-param-test-invalid-name2-test_.cc b/serialbox/external/googletest/googletest/test/googletest-param-test-invalid-name2-test_.cc similarity index 100% rename from external/googletest/googletest/test/googletest-param-test-invalid-name2-test_.cc rename to serialbox/external/googletest/googletest/test/googletest-param-test-invalid-name2-test_.cc diff --git a/external/googletest/googletest/test/googletest-param-test-test.cc b/serialbox/external/googletest/googletest/test/googletest-param-test-test.cc similarity index 100% rename from external/googletest/googletest/test/googletest-param-test-test.cc rename to serialbox/external/googletest/googletest/test/googletest-param-test-test.cc diff --git a/external/googletest/googletest/test/googletest-param-test-test.h b/serialbox/external/googletest/googletest/test/googletest-param-test-test.h similarity index 100% rename from external/googletest/googletest/test/googletest-param-test-test.h rename to serialbox/external/googletest/googletest/test/googletest-param-test-test.h diff --git a/external/googletest/googletest/test/googletest-param-test2-test.cc b/serialbox/external/googletest/googletest/test/googletest-param-test2-test.cc similarity index 100% rename from external/googletest/googletest/test/googletest-param-test2-test.cc rename to serialbox/external/googletest/googletest/test/googletest-param-test2-test.cc diff --git a/external/googletest/googletest/test/googletest-port-test.cc b/serialbox/external/googletest/googletest/test/googletest-port-test.cc similarity index 100% rename from external/googletest/googletest/test/googletest-port-test.cc rename to serialbox/external/googletest/googletest/test/googletest-port-test.cc diff --git a/external/googletest/googletest/test/googletest-printers-test.cc b/serialbox/external/googletest/googletest/test/googletest-printers-test.cc similarity index 100% rename from external/googletest/googletest/test/googletest-printers-test.cc rename to serialbox/external/googletest/googletest/test/googletest-printers-test.cc diff --git a/external/googletest/googletest/test/googletest-shuffle-test.py b/serialbox/external/googletest/googletest/test/googletest-shuffle-test.py similarity index 100% rename from external/googletest/googletest/test/googletest-shuffle-test.py rename to serialbox/external/googletest/googletest/test/googletest-shuffle-test.py diff --git a/external/googletest/googletest/test/googletest-shuffle-test_.cc b/serialbox/external/googletest/googletest/test/googletest-shuffle-test_.cc similarity index 100% rename from external/googletest/googletest/test/googletest-shuffle-test_.cc rename to serialbox/external/googletest/googletest/test/googletest-shuffle-test_.cc diff --git a/external/googletest/googletest/test/googletest-test-part-test.cc b/serialbox/external/googletest/googletest/test/googletest-test-part-test.cc similarity index 100% rename from external/googletest/googletest/test/googletest-test-part-test.cc rename to serialbox/external/googletest/googletest/test/googletest-test-part-test.cc diff --git a/external/googletest/googletest/test/googletest-test2_test.cc b/serialbox/external/googletest/googletest/test/googletest-test2_test.cc similarity index 100% rename from external/googletest/googletest/test/googletest-test2_test.cc rename to serialbox/external/googletest/googletest/test/googletest-test2_test.cc diff --git a/external/googletest/googletest/test/googletest-throw-on-failure-test.py b/serialbox/external/googletest/googletest/test/googletest-throw-on-failure-test.py similarity index 100% rename from external/googletest/googletest/test/googletest-throw-on-failure-test.py rename to serialbox/external/googletest/googletest/test/googletest-throw-on-failure-test.py diff --git a/external/googletest/googletest/test/googletest-throw-on-failure-test_.cc b/serialbox/external/googletest/googletest/test/googletest-throw-on-failure-test_.cc similarity index 100% rename from external/googletest/googletest/test/googletest-throw-on-failure-test_.cc rename to serialbox/external/googletest/googletest/test/googletest-throw-on-failure-test_.cc diff --git a/external/googletest/googletest/test/googletest-tuple-test.cc b/serialbox/external/googletest/googletest/test/googletest-tuple-test.cc similarity index 100% rename from external/googletest/googletest/test/googletest-tuple-test.cc rename to serialbox/external/googletest/googletest/test/googletest-tuple-test.cc diff --git a/external/googletest/googletest/test/googletest-uninitialized-test.py b/serialbox/external/googletest/googletest/test/googletest-uninitialized-test.py similarity index 100% rename from external/googletest/googletest/test/googletest-uninitialized-test.py rename to serialbox/external/googletest/googletest/test/googletest-uninitialized-test.py diff --git a/external/googletest/googletest/test/googletest-uninitialized-test_.cc b/serialbox/external/googletest/googletest/test/googletest-uninitialized-test_.cc similarity index 100% rename from external/googletest/googletest/test/googletest-uninitialized-test_.cc rename to serialbox/external/googletest/googletest/test/googletest-uninitialized-test_.cc diff --git a/external/googletest/googletest/test/gtest-typed-test2_test.cc b/serialbox/external/googletest/googletest/test/gtest-typed-test2_test.cc similarity index 100% rename from external/googletest/googletest/test/gtest-typed-test2_test.cc rename to serialbox/external/googletest/googletest/test/gtest-typed-test2_test.cc diff --git a/external/googletest/googletest/test/gtest-typed-test_test.cc b/serialbox/external/googletest/googletest/test/gtest-typed-test_test.cc similarity index 100% rename from external/googletest/googletest/test/gtest-typed-test_test.cc rename to serialbox/external/googletest/googletest/test/gtest-typed-test_test.cc diff --git a/external/googletest/googletest/test/gtest-typed-test_test.h b/serialbox/external/googletest/googletest/test/gtest-typed-test_test.h similarity index 100% rename from external/googletest/googletest/test/gtest-typed-test_test.h rename to serialbox/external/googletest/googletest/test/gtest-typed-test_test.h diff --git a/external/googletest/googletest/test/gtest-unittest-api_test.cc b/serialbox/external/googletest/googletest/test/gtest-unittest-api_test.cc similarity index 100% rename from external/googletest/googletest/test/gtest-unittest-api_test.cc rename to serialbox/external/googletest/googletest/test/gtest-unittest-api_test.cc diff --git a/external/googletest/googletest/test/gtest_all_test.cc b/serialbox/external/googletest/googletest/test/gtest_all_test.cc similarity index 100% rename from external/googletest/googletest/test/gtest_all_test.cc rename to serialbox/external/googletest/googletest/test/gtest_all_test.cc diff --git a/external/googletest/googletest/test/gtest_assert_by_exception_test.cc b/serialbox/external/googletest/googletest/test/gtest_assert_by_exception_test.cc similarity index 100% rename from external/googletest/googletest/test/gtest_assert_by_exception_test.cc rename to serialbox/external/googletest/googletest/test/gtest_assert_by_exception_test.cc diff --git a/external/googletest/googletest/test/gtest_environment_test.cc b/serialbox/external/googletest/googletest/test/gtest_environment_test.cc similarity index 100% rename from external/googletest/googletest/test/gtest_environment_test.cc rename to serialbox/external/googletest/googletest/test/gtest_environment_test.cc diff --git a/external/googletest/googletest/test/gtest_help_test.py b/serialbox/external/googletest/googletest/test/gtest_help_test.py similarity index 100% rename from external/googletest/googletest/test/gtest_help_test.py rename to serialbox/external/googletest/googletest/test/gtest_help_test.py diff --git a/external/googletest/googletest/test/gtest_help_test_.cc b/serialbox/external/googletest/googletest/test/gtest_help_test_.cc similarity index 100% rename from external/googletest/googletest/test/gtest_help_test_.cc rename to serialbox/external/googletest/googletest/test/gtest_help_test_.cc diff --git a/external/googletest/googletest/test/gtest_json_test_utils.py b/serialbox/external/googletest/googletest/test/gtest_json_test_utils.py similarity index 100% rename from external/googletest/googletest/test/gtest_json_test_utils.py rename to serialbox/external/googletest/googletest/test/gtest_json_test_utils.py diff --git a/external/googletest/googletest/test/gtest_list_output_unittest.py b/serialbox/external/googletest/googletest/test/gtest_list_output_unittest.py similarity index 100% rename from external/googletest/googletest/test/gtest_list_output_unittest.py rename to serialbox/external/googletest/googletest/test/gtest_list_output_unittest.py diff --git a/external/googletest/googletest/test/gtest_list_output_unittest_.cc b/serialbox/external/googletest/googletest/test/gtest_list_output_unittest_.cc similarity index 100% rename from external/googletest/googletest/test/gtest_list_output_unittest_.cc rename to serialbox/external/googletest/googletest/test/gtest_list_output_unittest_.cc diff --git a/external/googletest/googletest/test/gtest_main_unittest.cc b/serialbox/external/googletest/googletest/test/gtest_main_unittest.cc similarity index 100% rename from external/googletest/googletest/test/gtest_main_unittest.cc rename to serialbox/external/googletest/googletest/test/gtest_main_unittest.cc diff --git a/external/googletest/googletest/test/gtest_no_test_unittest.cc b/serialbox/external/googletest/googletest/test/gtest_no_test_unittest.cc similarity index 100% rename from external/googletest/googletest/test/gtest_no_test_unittest.cc rename to serialbox/external/googletest/googletest/test/gtest_no_test_unittest.cc diff --git a/external/googletest/googletest/test/gtest_pred_impl_unittest.cc b/serialbox/external/googletest/googletest/test/gtest_pred_impl_unittest.cc similarity index 100% rename from external/googletest/googletest/test/gtest_pred_impl_unittest.cc rename to serialbox/external/googletest/googletest/test/gtest_pred_impl_unittest.cc diff --git a/external/googletest/googletest/test/gtest_premature_exit_test.cc b/serialbox/external/googletest/googletest/test/gtest_premature_exit_test.cc similarity index 100% rename from external/googletest/googletest/test/gtest_premature_exit_test.cc rename to serialbox/external/googletest/googletest/test/gtest_premature_exit_test.cc diff --git a/external/googletest/googletest/test/gtest_prod_test.cc b/serialbox/external/googletest/googletest/test/gtest_prod_test.cc similarity index 100% rename from external/googletest/googletest/test/gtest_prod_test.cc rename to serialbox/external/googletest/googletest/test/gtest_prod_test.cc diff --git a/external/googletest/googletest/test/gtest_repeat_test.cc b/serialbox/external/googletest/googletest/test/gtest_repeat_test.cc similarity index 100% rename from external/googletest/googletest/test/gtest_repeat_test.cc rename to serialbox/external/googletest/googletest/test/gtest_repeat_test.cc diff --git a/external/googletest/googletest/test/gtest_sole_header_test.cc b/serialbox/external/googletest/googletest/test/gtest_sole_header_test.cc similarity index 100% rename from external/googletest/googletest/test/gtest_sole_header_test.cc rename to serialbox/external/googletest/googletest/test/gtest_sole_header_test.cc diff --git a/external/googletest/googletest/test/gtest_stress_test.cc b/serialbox/external/googletest/googletest/test/gtest_stress_test.cc similarity index 100% rename from external/googletest/googletest/test/gtest_stress_test.cc rename to serialbox/external/googletest/googletest/test/gtest_stress_test.cc diff --git a/external/googletest/googletest/test/gtest_test_macro_stack_footprint_test.cc b/serialbox/external/googletest/googletest/test/gtest_test_macro_stack_footprint_test.cc similarity index 100% rename from external/googletest/googletest/test/gtest_test_macro_stack_footprint_test.cc rename to serialbox/external/googletest/googletest/test/gtest_test_macro_stack_footprint_test.cc diff --git a/external/googletest/googletest/test/gtest_test_utils.py b/serialbox/external/googletest/googletest/test/gtest_test_utils.py similarity index 100% rename from external/googletest/googletest/test/gtest_test_utils.py rename to serialbox/external/googletest/googletest/test/gtest_test_utils.py diff --git a/external/googletest/googletest/test/gtest_testbridge_test.py b/serialbox/external/googletest/googletest/test/gtest_testbridge_test.py similarity index 100% rename from external/googletest/googletest/test/gtest_testbridge_test.py rename to serialbox/external/googletest/googletest/test/gtest_testbridge_test.py diff --git a/external/googletest/googletest/test/gtest_testbridge_test_.cc b/serialbox/external/googletest/googletest/test/gtest_testbridge_test_.cc similarity index 100% rename from external/googletest/googletest/test/gtest_testbridge_test_.cc rename to serialbox/external/googletest/googletest/test/gtest_testbridge_test_.cc diff --git a/external/googletest/googletest/test/gtest_throw_on_failure_ex_test.cc b/serialbox/external/googletest/googletest/test/gtest_throw_on_failure_ex_test.cc similarity index 100% rename from external/googletest/googletest/test/gtest_throw_on_failure_ex_test.cc rename to serialbox/external/googletest/googletest/test/gtest_throw_on_failure_ex_test.cc diff --git a/external/googletest/googletest/test/gtest_unittest.cc b/serialbox/external/googletest/googletest/test/gtest_unittest.cc similarity index 100% rename from external/googletest/googletest/test/gtest_unittest.cc rename to serialbox/external/googletest/googletest/test/gtest_unittest.cc diff --git a/external/googletest/googletest/test/gtest_xml_outfile1_test_.cc b/serialbox/external/googletest/googletest/test/gtest_xml_outfile1_test_.cc similarity index 100% rename from external/googletest/googletest/test/gtest_xml_outfile1_test_.cc rename to serialbox/external/googletest/googletest/test/gtest_xml_outfile1_test_.cc diff --git a/external/googletest/googletest/test/gtest_xml_outfile2_test_.cc b/serialbox/external/googletest/googletest/test/gtest_xml_outfile2_test_.cc similarity index 100% rename from external/googletest/googletest/test/gtest_xml_outfile2_test_.cc rename to serialbox/external/googletest/googletest/test/gtest_xml_outfile2_test_.cc diff --git a/external/googletest/googletest/test/gtest_xml_outfiles_test.py b/serialbox/external/googletest/googletest/test/gtest_xml_outfiles_test.py similarity index 100% rename from external/googletest/googletest/test/gtest_xml_outfiles_test.py rename to serialbox/external/googletest/googletest/test/gtest_xml_outfiles_test.py diff --git a/external/googletest/googletest/test/gtest_xml_output_unittest.py b/serialbox/external/googletest/googletest/test/gtest_xml_output_unittest.py similarity index 100% rename from external/googletest/googletest/test/gtest_xml_output_unittest.py rename to serialbox/external/googletest/googletest/test/gtest_xml_output_unittest.py diff --git a/external/googletest/googletest/test/gtest_xml_output_unittest_.cc b/serialbox/external/googletest/googletest/test/gtest_xml_output_unittest_.cc similarity index 100% rename from external/googletest/googletest/test/gtest_xml_output_unittest_.cc rename to serialbox/external/googletest/googletest/test/gtest_xml_output_unittest_.cc diff --git a/external/googletest/googletest/test/gtest_xml_test_utils.py b/serialbox/external/googletest/googletest/test/gtest_xml_test_utils.py similarity index 100% rename from external/googletest/googletest/test/gtest_xml_test_utils.py rename to serialbox/external/googletest/googletest/test/gtest_xml_test_utils.py diff --git a/external/googletest/googletest/test/production.cc b/serialbox/external/googletest/googletest/test/production.cc similarity index 100% rename from external/googletest/googletest/test/production.cc rename to serialbox/external/googletest/googletest/test/production.cc diff --git a/external/googletest/googletest/test/production.h b/serialbox/external/googletest/googletest/test/production.h similarity index 100% rename from external/googletest/googletest/test/production.h rename to serialbox/external/googletest/googletest/test/production.h diff --git a/external/googletest/googletest/xcode/Config/DebugProject.xcconfig b/serialbox/external/googletest/googletest/xcode/Config/DebugProject.xcconfig similarity index 100% rename from external/googletest/googletest/xcode/Config/DebugProject.xcconfig rename to serialbox/external/googletest/googletest/xcode/Config/DebugProject.xcconfig diff --git a/external/googletest/googletest/xcode/Config/FrameworkTarget.xcconfig b/serialbox/external/googletest/googletest/xcode/Config/FrameworkTarget.xcconfig similarity index 100% rename from external/googletest/googletest/xcode/Config/FrameworkTarget.xcconfig rename to serialbox/external/googletest/googletest/xcode/Config/FrameworkTarget.xcconfig diff --git a/external/googletest/googletest/xcode/Config/General.xcconfig b/serialbox/external/googletest/googletest/xcode/Config/General.xcconfig similarity index 100% rename from external/googletest/googletest/xcode/Config/General.xcconfig rename to serialbox/external/googletest/googletest/xcode/Config/General.xcconfig diff --git a/external/googletest/googletest/xcode/Config/ReleaseProject.xcconfig b/serialbox/external/googletest/googletest/xcode/Config/ReleaseProject.xcconfig similarity index 100% rename from external/googletest/googletest/xcode/Config/ReleaseProject.xcconfig rename to serialbox/external/googletest/googletest/xcode/Config/ReleaseProject.xcconfig diff --git a/external/googletest/googletest/xcode/Config/StaticLibraryTarget.xcconfig b/serialbox/external/googletest/googletest/xcode/Config/StaticLibraryTarget.xcconfig similarity index 100% rename from external/googletest/googletest/xcode/Config/StaticLibraryTarget.xcconfig rename to serialbox/external/googletest/googletest/xcode/Config/StaticLibraryTarget.xcconfig diff --git a/external/googletest/googletest/xcode/Config/TestTarget.xcconfig b/serialbox/external/googletest/googletest/xcode/Config/TestTarget.xcconfig similarity index 100% rename from external/googletest/googletest/xcode/Config/TestTarget.xcconfig rename to serialbox/external/googletest/googletest/xcode/Config/TestTarget.xcconfig diff --git a/external/googletest/googletest/xcode/Resources/Info.plist b/serialbox/external/googletest/googletest/xcode/Resources/Info.plist similarity index 100% rename from external/googletest/googletest/xcode/Resources/Info.plist rename to serialbox/external/googletest/googletest/xcode/Resources/Info.plist diff --git a/external/googletest/googletest/xcode/Samples/FrameworkSample/Info.plist b/serialbox/external/googletest/googletest/xcode/Samples/FrameworkSample/Info.plist similarity index 100% rename from external/googletest/googletest/xcode/Samples/FrameworkSample/Info.plist rename to serialbox/external/googletest/googletest/xcode/Samples/FrameworkSample/Info.plist diff --git a/external/googletest/googletest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj b/serialbox/external/googletest/googletest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj similarity index 100% rename from external/googletest/googletest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj rename to serialbox/external/googletest/googletest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj diff --git a/external/googletest/googletest/xcode/Samples/FrameworkSample/runtests.sh b/serialbox/external/googletest/googletest/xcode/Samples/FrameworkSample/runtests.sh similarity index 100% rename from external/googletest/googletest/xcode/Samples/FrameworkSample/runtests.sh rename to serialbox/external/googletest/googletest/xcode/Samples/FrameworkSample/runtests.sh diff --git a/external/googletest/googletest/xcode/Samples/FrameworkSample/widget.cc b/serialbox/external/googletest/googletest/xcode/Samples/FrameworkSample/widget.cc similarity index 100% rename from external/googletest/googletest/xcode/Samples/FrameworkSample/widget.cc rename to serialbox/external/googletest/googletest/xcode/Samples/FrameworkSample/widget.cc diff --git a/external/googletest/googletest/xcode/Samples/FrameworkSample/widget.h b/serialbox/external/googletest/googletest/xcode/Samples/FrameworkSample/widget.h similarity index 100% rename from external/googletest/googletest/xcode/Samples/FrameworkSample/widget.h rename to serialbox/external/googletest/googletest/xcode/Samples/FrameworkSample/widget.h diff --git a/external/googletest/googletest/xcode/Samples/FrameworkSample/widget_test.cc b/serialbox/external/googletest/googletest/xcode/Samples/FrameworkSample/widget_test.cc similarity index 100% rename from external/googletest/googletest/xcode/Samples/FrameworkSample/widget_test.cc rename to serialbox/external/googletest/googletest/xcode/Samples/FrameworkSample/widget_test.cc diff --git a/external/googletest/googletest/xcode/Scripts/runtests.sh b/serialbox/external/googletest/googletest/xcode/Scripts/runtests.sh similarity index 100% rename from external/googletest/googletest/xcode/Scripts/runtests.sh rename to serialbox/external/googletest/googletest/xcode/Scripts/runtests.sh diff --git a/external/googletest/googletest/xcode/Scripts/versiongenerate.py b/serialbox/external/googletest/googletest/xcode/Scripts/versiongenerate.py similarity index 100% rename from external/googletest/googletest/xcode/Scripts/versiongenerate.py rename to serialbox/external/googletest/googletest/xcode/Scripts/versiongenerate.py diff --git a/external/googletest/googletest/xcode/gtest.xcodeproj/project.pbxproj b/serialbox/external/googletest/googletest/xcode/gtest.xcodeproj/project.pbxproj similarity index 100% rename from external/googletest/googletest/xcode/gtest.xcodeproj/project.pbxproj rename to serialbox/external/googletest/googletest/xcode/gtest.xcodeproj/project.pbxproj diff --git a/src/external/json/json.hpp b/serialbox/external/json/json.hpp similarity index 100% rename from src/external/json/json.hpp rename to serialbox/external/json/json.hpp diff --git a/src/serialbox/CMakeLists.txt b/serialbox/src/serialbox/CMakeLists.txt similarity index 100% rename from src/serialbox/CMakeLists.txt rename to serialbox/src/serialbox/CMakeLists.txt diff --git a/src/serialbox/core/.gitignore b/serialbox/src/serialbox/core/.gitignore similarity index 100% rename from src/serialbox/core/.gitignore rename to serialbox/src/serialbox/core/.gitignore diff --git a/src/serialbox/core/Array.h b/serialbox/src/serialbox/core/Array.h similarity index 100% rename from src/serialbox/core/Array.h rename to serialbox/src/serialbox/core/Array.h diff --git a/serialbox/src/serialbox/core/CMakeLists.txt b/serialbox/src/serialbox/core/CMakeLists.txt new file mode 100644 index 00000000..80da5579 --- /dev/null +++ b/serialbox/src/serialbox/core/CMakeLists.txt @@ -0,0 +1,96 @@ +##===------------------------------------------------------------------------------*- CMake -*-===## +## +## S E R I A L B O X +## +## This file is distributed under terms of BSD license. +## See LICENSE.txt for more information. +## +##===------------------------------------------------------------------------------------------===## + +set(SOURCES + FieldMap.cpp + FieldMap.h + FieldMapSerializer.h + FieldMapSerializer.cpp + FieldMetainfoImpl.cpp + FieldMetainfoImpl.h + FieldMetainfoImplSerializer.cpp + FieldMetainfoImplSerializer.h + FieldID.cpp + FieldID.h + Logging.cpp + Logging.h + MetainfoMapImpl.cpp + MetainfoMapImpl.h + MetainfoMapImplSerializer.cpp + MetainfoMapImplSerializer.h + MetainfoValueImpl.cpp + MetainfoValueImpl.h + SavepointImpl.cpp + SavepointImpl.h + SavepointImplSerializer.cpp + SavepointImplSerializer.h + SavepointVector.cpp + SavepointVector.h + SavepointVectorSerializer.cpp + SavepointVectorSerializer.h + SerializerImpl.cpp + SerializerImpl.h + StorageView.cpp + StorageView.h + Type.cpp + Type.h + Unreachable.cpp + Unreachable.h + + hash/HashFactory.cpp + hash/HashFactory.h + hash/SHA256.cpp + hash/SHA256.h + hash/MD5.cpp + hash/MD5.h + + archive/ArchiveFactory.cpp + archive/ArchiveFactory.h + archive/BinaryArchive.cpp + archive/BinaryArchive.h + archive/NetCDFArchive.cpp + archive/NetCDFArchive.h + archive/MockArchive.cpp + archive/MockArchive.h + + frontend/stella/MetainfoSet.cpp + frontend/stella/MetainfoSet.h + frontend/stella/Savepoint.cpp + frontend/stella/Savepoint.h + frontend/stella/Serializer.cpp + frontend/stella/Serializer.h + frontend/stella/DataFieldInfo.cpp + frontend/stella/DataFieldInfo.h +) + +add_library(Serialbox ${SOURCES}) +set_target_properties(Serialbox PROPERTIES VERSION ${Serialbox_VERSION_STRING}) +target_include_directories(Serialbox + PUBLIC + $ + $ + ) +target_link_libraries(Serialbox PRIVATE Boost::boost) +target_link_libraries(Serialbox PUBLIC SerialboxFilesytemTarget) +# we use "-lpthread" instead of ${CMAKE_THREAD_LIBS_INIT} on purpose, because ${CMAKE_THREAD_LIBS_INIT} +# contains "-pthread" instead of "-lpthread" which is a problem if it propagates to nvcc via the target +# TODO use the workaround from GridTools +target_link_libraries(Serialbox PUBLIC pthread) + +if(SERIALBOX_USE_NETCDF) + target_link_libraries(Serialbox PRIVATE NETCDF_TARGET) + #TODO try to make private once we protect our headers + target_include_directories(Serialbox SYSTEM PUBLIC ${NETCDF_INCLUDES}) +endif() + +install(TARGETS Serialbox + EXPORT SerialboxTargets + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + ) \ No newline at end of file diff --git a/src/serialbox/core/Compiler.h b/serialbox/src/serialbox/core/Compiler.h similarity index 100% rename from src/serialbox/core/Compiler.h rename to serialbox/src/serialbox/core/Compiler.h diff --git a/src/serialbox/core/Config.h.cmake b/serialbox/src/serialbox/core/Config.h.cmake similarity index 100% rename from src/serialbox/core/Config.h.cmake rename to serialbox/src/serialbox/core/Config.h.cmake diff --git a/src/serialbox/core/Exception.h b/serialbox/src/serialbox/core/Exception.h similarity index 100% rename from src/serialbox/core/Exception.h rename to serialbox/src/serialbox/core/Exception.h diff --git a/src/serialbox/core/FieldID.cpp b/serialbox/src/serialbox/core/FieldID.cpp similarity index 100% rename from src/serialbox/core/FieldID.cpp rename to serialbox/src/serialbox/core/FieldID.cpp diff --git a/src/serialbox/core/FieldID.h b/serialbox/src/serialbox/core/FieldID.h similarity index 100% rename from src/serialbox/core/FieldID.h rename to serialbox/src/serialbox/core/FieldID.h diff --git a/src/serialbox/core/FieldMap.cpp b/serialbox/src/serialbox/core/FieldMap.cpp similarity index 100% rename from src/serialbox/core/FieldMap.cpp rename to serialbox/src/serialbox/core/FieldMap.cpp diff --git a/src/serialbox/core/FieldMap.h b/serialbox/src/serialbox/core/FieldMap.h similarity index 100% rename from src/serialbox/core/FieldMap.h rename to serialbox/src/serialbox/core/FieldMap.h diff --git a/src/serialbox/core/FieldMapSerializer.cpp b/serialbox/src/serialbox/core/FieldMapSerializer.cpp similarity index 100% rename from src/serialbox/core/FieldMapSerializer.cpp rename to serialbox/src/serialbox/core/FieldMapSerializer.cpp diff --git a/src/serialbox/core/FieldMapSerializer.h b/serialbox/src/serialbox/core/FieldMapSerializer.h similarity index 100% rename from src/serialbox/core/FieldMapSerializer.h rename to serialbox/src/serialbox/core/FieldMapSerializer.h diff --git a/src/serialbox/core/FieldMetainfoImpl.cpp b/serialbox/src/serialbox/core/FieldMetainfoImpl.cpp similarity index 100% rename from src/serialbox/core/FieldMetainfoImpl.cpp rename to serialbox/src/serialbox/core/FieldMetainfoImpl.cpp diff --git a/src/serialbox/core/FieldMetainfoImpl.h b/serialbox/src/serialbox/core/FieldMetainfoImpl.h similarity index 100% rename from src/serialbox/core/FieldMetainfoImpl.h rename to serialbox/src/serialbox/core/FieldMetainfoImpl.h diff --git a/src/serialbox/core/FieldMetainfoImplSerializer.cpp b/serialbox/src/serialbox/core/FieldMetainfoImplSerializer.cpp similarity index 100% rename from src/serialbox/core/FieldMetainfoImplSerializer.cpp rename to serialbox/src/serialbox/core/FieldMetainfoImplSerializer.cpp diff --git a/src/serialbox/core/FieldMetainfoImplSerializer.h b/serialbox/src/serialbox/core/FieldMetainfoImplSerializer.h similarity index 100% rename from src/serialbox/core/FieldMetainfoImplSerializer.h rename to serialbox/src/serialbox/core/FieldMetainfoImplSerializer.h diff --git a/src/serialbox/core/Filesystem.h b/serialbox/src/serialbox/core/Filesystem.h similarity index 100% rename from src/serialbox/core/Filesystem.h rename to serialbox/src/serialbox/core/Filesystem.h diff --git a/src/serialbox/core/Json.h b/serialbox/src/serialbox/core/Json.h similarity index 97% rename from src/serialbox/core/Json.h rename to serialbox/src/serialbox/core/Json.h index bbdfe92f..7848ab6c 100644 --- a/src/serialbox/core/Json.h +++ b/serialbox/src/serialbox/core/Json.h @@ -25,7 +25,7 @@ // On purpose including relatively as we are going out of the serialbox include directory. We don't // want to install json.hpp to prevent accidently including it in the public interface. // TODO split public and private headers properly in separate directories. -#include "../../external/json/json.hpp" +#include "../../../external/json/json.hpp" /// \namespace json /// \brief Namespace of the JSON library diff --git a/src/serialbox/core/Logging.cpp b/serialbox/src/serialbox/core/Logging.cpp similarity index 100% rename from src/serialbox/core/Logging.cpp rename to serialbox/src/serialbox/core/Logging.cpp diff --git a/src/serialbox/core/Logging.h b/serialbox/src/serialbox/core/Logging.h similarity index 100% rename from src/serialbox/core/Logging.h rename to serialbox/src/serialbox/core/Logging.h diff --git a/src/serialbox/core/MetainfoMapImpl.cpp b/serialbox/src/serialbox/core/MetainfoMapImpl.cpp similarity index 100% rename from src/serialbox/core/MetainfoMapImpl.cpp rename to serialbox/src/serialbox/core/MetainfoMapImpl.cpp diff --git a/src/serialbox/core/MetainfoMapImpl.h b/serialbox/src/serialbox/core/MetainfoMapImpl.h similarity index 100% rename from src/serialbox/core/MetainfoMapImpl.h rename to serialbox/src/serialbox/core/MetainfoMapImpl.h diff --git a/src/serialbox/core/MetainfoMapImplSerializer.cpp b/serialbox/src/serialbox/core/MetainfoMapImplSerializer.cpp similarity index 100% rename from src/serialbox/core/MetainfoMapImplSerializer.cpp rename to serialbox/src/serialbox/core/MetainfoMapImplSerializer.cpp diff --git a/src/serialbox/core/MetainfoMapImplSerializer.h b/serialbox/src/serialbox/core/MetainfoMapImplSerializer.h similarity index 100% rename from src/serialbox/core/MetainfoMapImplSerializer.h rename to serialbox/src/serialbox/core/MetainfoMapImplSerializer.h diff --git a/src/serialbox/core/MetainfoValueImpl.cpp b/serialbox/src/serialbox/core/MetainfoValueImpl.cpp similarity index 100% rename from src/serialbox/core/MetainfoValueImpl.cpp rename to serialbox/src/serialbox/core/MetainfoValueImpl.cpp diff --git a/src/serialbox/core/MetainfoValueImpl.h b/serialbox/src/serialbox/core/MetainfoValueImpl.h similarity index 100% rename from src/serialbox/core/MetainfoValueImpl.h rename to serialbox/src/serialbox/core/MetainfoValueImpl.h diff --git a/src/serialbox/core/STLExtras.h b/serialbox/src/serialbox/core/STLExtras.h similarity index 100% rename from src/serialbox/core/STLExtras.h rename to serialbox/src/serialbox/core/STLExtras.h diff --git a/src/serialbox/core/SavepointImpl.cpp b/serialbox/src/serialbox/core/SavepointImpl.cpp similarity index 100% rename from src/serialbox/core/SavepointImpl.cpp rename to serialbox/src/serialbox/core/SavepointImpl.cpp diff --git a/src/serialbox/core/SavepointImpl.h b/serialbox/src/serialbox/core/SavepointImpl.h similarity index 100% rename from src/serialbox/core/SavepointImpl.h rename to serialbox/src/serialbox/core/SavepointImpl.h diff --git a/src/serialbox/core/SavepointImplSerializer.cpp b/serialbox/src/serialbox/core/SavepointImplSerializer.cpp similarity index 100% rename from src/serialbox/core/SavepointImplSerializer.cpp rename to serialbox/src/serialbox/core/SavepointImplSerializer.cpp diff --git a/src/serialbox/core/SavepointImplSerializer.h b/serialbox/src/serialbox/core/SavepointImplSerializer.h similarity index 100% rename from src/serialbox/core/SavepointImplSerializer.h rename to serialbox/src/serialbox/core/SavepointImplSerializer.h diff --git a/src/serialbox/core/SavepointVector.cpp b/serialbox/src/serialbox/core/SavepointVector.cpp similarity index 100% rename from src/serialbox/core/SavepointVector.cpp rename to serialbox/src/serialbox/core/SavepointVector.cpp diff --git a/src/serialbox/core/SavepointVector.h b/serialbox/src/serialbox/core/SavepointVector.h similarity index 100% rename from src/serialbox/core/SavepointVector.h rename to serialbox/src/serialbox/core/SavepointVector.h diff --git a/src/serialbox/core/SavepointVectorSerializer.cpp b/serialbox/src/serialbox/core/SavepointVectorSerializer.cpp similarity index 100% rename from src/serialbox/core/SavepointVectorSerializer.cpp rename to serialbox/src/serialbox/core/SavepointVectorSerializer.cpp diff --git a/src/serialbox/core/SavepointVectorSerializer.h b/serialbox/src/serialbox/core/SavepointVectorSerializer.h similarity index 100% rename from src/serialbox/core/SavepointVectorSerializer.h rename to serialbox/src/serialbox/core/SavepointVectorSerializer.h diff --git a/src/serialbox/core/SerializerImpl.cpp b/serialbox/src/serialbox/core/SerializerImpl.cpp similarity index 100% rename from src/serialbox/core/SerializerImpl.cpp rename to serialbox/src/serialbox/core/SerializerImpl.cpp diff --git a/src/serialbox/core/SerializerImpl.h b/serialbox/src/serialbox/core/SerializerImpl.h similarity index 100% rename from src/serialbox/core/SerializerImpl.h rename to serialbox/src/serialbox/core/SerializerImpl.h diff --git a/src/serialbox/core/Slice.h b/serialbox/src/serialbox/core/Slice.h similarity index 100% rename from src/serialbox/core/Slice.h rename to serialbox/src/serialbox/core/Slice.h diff --git a/src/serialbox/core/StorageView.cpp b/serialbox/src/serialbox/core/StorageView.cpp similarity index 100% rename from src/serialbox/core/StorageView.cpp rename to serialbox/src/serialbox/core/StorageView.cpp diff --git a/src/serialbox/core/StorageView.h b/serialbox/src/serialbox/core/StorageView.h similarity index 100% rename from src/serialbox/core/StorageView.h rename to serialbox/src/serialbox/core/StorageView.h diff --git a/src/serialbox/core/StorageViewIterator.h b/serialbox/src/serialbox/core/StorageViewIterator.h similarity index 100% rename from src/serialbox/core/StorageViewIterator.h rename to serialbox/src/serialbox/core/StorageViewIterator.h diff --git a/src/serialbox/core/Timer.h b/serialbox/src/serialbox/core/Timer.h similarity index 100% rename from src/serialbox/core/Timer.h rename to serialbox/src/serialbox/core/Timer.h diff --git a/src/serialbox/core/Type.cpp b/serialbox/src/serialbox/core/Type.cpp similarity index 100% rename from src/serialbox/core/Type.cpp rename to serialbox/src/serialbox/core/Type.cpp diff --git a/src/serialbox/core/Type.h b/serialbox/src/serialbox/core/Type.h similarity index 100% rename from src/serialbox/core/Type.h rename to serialbox/src/serialbox/core/Type.h diff --git a/src/serialbox/core/Unreachable.cpp b/serialbox/src/serialbox/core/Unreachable.cpp similarity index 100% rename from src/serialbox/core/Unreachable.cpp rename to serialbox/src/serialbox/core/Unreachable.cpp diff --git a/src/serialbox/core/Unreachable.h b/serialbox/src/serialbox/core/Unreachable.h similarity index 100% rename from src/serialbox/core/Unreachable.h rename to serialbox/src/serialbox/core/Unreachable.h diff --git a/src/serialbox/core/Version.h b/serialbox/src/serialbox/core/Version.h similarity index 100% rename from src/serialbox/core/Version.h rename to serialbox/src/serialbox/core/Version.h diff --git a/src/serialbox/core/archive/Archive.h b/serialbox/src/serialbox/core/archive/Archive.h similarity index 100% rename from src/serialbox/core/archive/Archive.h rename to serialbox/src/serialbox/core/archive/Archive.h diff --git a/src/serialbox/core/archive/ArchiveFactory.cpp b/serialbox/src/serialbox/core/archive/ArchiveFactory.cpp similarity index 100% rename from src/serialbox/core/archive/ArchiveFactory.cpp rename to serialbox/src/serialbox/core/archive/ArchiveFactory.cpp diff --git a/src/serialbox/core/archive/ArchiveFactory.h b/serialbox/src/serialbox/core/archive/ArchiveFactory.h similarity index 100% rename from src/serialbox/core/archive/ArchiveFactory.h rename to serialbox/src/serialbox/core/archive/ArchiveFactory.h diff --git a/src/serialbox/core/archive/BinaryArchive.cpp b/serialbox/src/serialbox/core/archive/BinaryArchive.cpp similarity index 100% rename from src/serialbox/core/archive/BinaryArchive.cpp rename to serialbox/src/serialbox/core/archive/BinaryArchive.cpp diff --git a/src/serialbox/core/archive/BinaryArchive.h b/serialbox/src/serialbox/core/archive/BinaryArchive.h similarity index 100% rename from src/serialbox/core/archive/BinaryArchive.h rename to serialbox/src/serialbox/core/archive/BinaryArchive.h diff --git a/src/serialbox/core/archive/MockArchive.cpp b/serialbox/src/serialbox/core/archive/MockArchive.cpp similarity index 100% rename from src/serialbox/core/archive/MockArchive.cpp rename to serialbox/src/serialbox/core/archive/MockArchive.cpp diff --git a/src/serialbox/core/archive/MockArchive.h b/serialbox/src/serialbox/core/archive/MockArchive.h similarity index 100% rename from src/serialbox/core/archive/MockArchive.h rename to serialbox/src/serialbox/core/archive/MockArchive.h diff --git a/src/serialbox/core/archive/NetCDFArchive.cpp b/serialbox/src/serialbox/core/archive/NetCDFArchive.cpp similarity index 100% rename from src/serialbox/core/archive/NetCDFArchive.cpp rename to serialbox/src/serialbox/core/archive/NetCDFArchive.cpp diff --git a/src/serialbox/core/archive/NetCDFArchive.h b/serialbox/src/serialbox/core/archive/NetCDFArchive.h similarity index 100% rename from src/serialbox/core/archive/NetCDFArchive.h rename to serialbox/src/serialbox/core/archive/NetCDFArchive.h diff --git a/src/serialbox/core/frontend/gridtools/Exception.h b/serialbox/src/serialbox/core/frontend/gridtools/Exception.h similarity index 100% rename from src/serialbox/core/frontend/gridtools/Exception.h rename to serialbox/src/serialbox/core/frontend/gridtools/Exception.h diff --git a/src/serialbox/core/frontend/gridtools/FieldMetainfo.h b/serialbox/src/serialbox/core/frontend/gridtools/FieldMetainfo.h similarity index 100% rename from src/serialbox/core/frontend/gridtools/FieldMetainfo.h rename to serialbox/src/serialbox/core/frontend/gridtools/FieldMetainfo.h diff --git a/src/serialbox/core/frontend/gridtools/Logging.h b/serialbox/src/serialbox/core/frontend/gridtools/Logging.h similarity index 100% rename from src/serialbox/core/frontend/gridtools/Logging.h rename to serialbox/src/serialbox/core/frontend/gridtools/Logging.h diff --git a/src/serialbox/core/frontend/gridtools/MetainfoMap.h b/serialbox/src/serialbox/core/frontend/gridtools/MetainfoMap.h similarity index 100% rename from src/serialbox/core/frontend/gridtools/MetainfoMap.h rename to serialbox/src/serialbox/core/frontend/gridtools/MetainfoMap.h diff --git a/src/serialbox/core/frontend/gridtools/MetainfoValue.h b/serialbox/src/serialbox/core/frontend/gridtools/MetainfoValue.h similarity index 100% rename from src/serialbox/core/frontend/gridtools/MetainfoValue.h rename to serialbox/src/serialbox/core/frontend/gridtools/MetainfoValue.h diff --git a/src/serialbox/core/frontend/gridtools/Savepoint.h b/serialbox/src/serialbox/core/frontend/gridtools/Savepoint.h similarity index 100% rename from src/serialbox/core/frontend/gridtools/Savepoint.h rename to serialbox/src/serialbox/core/frontend/gridtools/Savepoint.h diff --git a/src/serialbox/core/frontend/gridtools/Serializer.h b/serialbox/src/serialbox/core/frontend/gridtools/Serializer.h similarity index 100% rename from src/serialbox/core/frontend/gridtools/Serializer.h rename to serialbox/src/serialbox/core/frontend/gridtools/Serializer.h diff --git a/src/serialbox/core/frontend/gridtools/Slice.h b/serialbox/src/serialbox/core/frontend/gridtools/Slice.h similarity index 100% rename from src/serialbox/core/frontend/gridtools/Slice.h rename to serialbox/src/serialbox/core/frontend/gridtools/Slice.h diff --git a/src/serialbox/core/frontend/gridtools/StorageViewHelper.h b/serialbox/src/serialbox/core/frontend/gridtools/StorageViewHelper.h similarity index 100% rename from src/serialbox/core/frontend/gridtools/StorageViewHelper.h rename to serialbox/src/serialbox/core/frontend/gridtools/StorageViewHelper.h diff --git a/src/serialbox/core/frontend/gridtools/Timer.h b/serialbox/src/serialbox/core/frontend/gridtools/Timer.h similarity index 100% rename from src/serialbox/core/frontend/gridtools/Timer.h rename to serialbox/src/serialbox/core/frontend/gridtools/Timer.h diff --git a/src/serialbox/core/frontend/gridtools/Type.h b/serialbox/src/serialbox/core/frontend/gridtools/Type.h similarity index 100% rename from src/serialbox/core/frontend/gridtools/Type.h rename to serialbox/src/serialbox/core/frontend/gridtools/Type.h diff --git a/src/serialbox/core/frontend/stella/DataFieldInfo.cpp b/serialbox/src/serialbox/core/frontend/stella/DataFieldInfo.cpp similarity index 100% rename from src/serialbox/core/frontend/stella/DataFieldInfo.cpp rename to serialbox/src/serialbox/core/frontend/stella/DataFieldInfo.cpp diff --git a/src/serialbox/core/frontend/stella/DataFieldInfo.h b/serialbox/src/serialbox/core/frontend/stella/DataFieldInfo.h similarity index 100% rename from src/serialbox/core/frontend/stella/DataFieldInfo.h rename to serialbox/src/serialbox/core/frontend/stella/DataFieldInfo.h diff --git a/src/serialbox/core/frontend/stella/ForwardDecl.h b/serialbox/src/serialbox/core/frontend/stella/ForwardDecl.h similarity index 100% rename from src/serialbox/core/frontend/stella/ForwardDecl.h rename to serialbox/src/serialbox/core/frontend/stella/ForwardDecl.h diff --git a/src/serialbox/core/frontend/stella/IJKBoundary.h b/serialbox/src/serialbox/core/frontend/stella/IJKBoundary.h similarity index 100% rename from src/serialbox/core/frontend/stella/IJKBoundary.h rename to serialbox/src/serialbox/core/frontend/stella/IJKBoundary.h diff --git a/src/serialbox/core/frontend/stella/IJKSize.h b/serialbox/src/serialbox/core/frontend/stella/IJKSize.h similarity index 100% rename from src/serialbox/core/frontend/stella/IJKSize.h rename to serialbox/src/serialbox/core/frontend/stella/IJKSize.h diff --git a/src/serialbox/core/frontend/stella/KBoundary.h b/serialbox/src/serialbox/core/frontend/stella/KBoundary.h similarity index 100% rename from src/serialbox/core/frontend/stella/KBoundary.h rename to serialbox/src/serialbox/core/frontend/stella/KBoundary.h diff --git a/src/serialbox/core/frontend/stella/MetainfoSet.cpp b/serialbox/src/serialbox/core/frontend/stella/MetainfoSet.cpp similarity index 100% rename from src/serialbox/core/frontend/stella/MetainfoSet.cpp rename to serialbox/src/serialbox/core/frontend/stella/MetainfoSet.cpp diff --git a/src/serialbox/core/frontend/stella/MetainfoSet.h b/serialbox/src/serialbox/core/frontend/stella/MetainfoSet.h similarity index 100% rename from src/serialbox/core/frontend/stella/MetainfoSet.h rename to serialbox/src/serialbox/core/frontend/stella/MetainfoSet.h diff --git a/src/serialbox/core/frontend/stella/Savepoint.cpp b/serialbox/src/serialbox/core/frontend/stella/Savepoint.cpp similarity index 100% rename from src/serialbox/core/frontend/stella/Savepoint.cpp rename to serialbox/src/serialbox/core/frontend/stella/Savepoint.cpp diff --git a/src/serialbox/core/frontend/stella/Savepoint.h b/serialbox/src/serialbox/core/frontend/stella/Savepoint.h similarity index 100% rename from src/serialbox/core/frontend/stella/Savepoint.h rename to serialbox/src/serialbox/core/frontend/stella/Savepoint.h diff --git a/src/serialbox/core/frontend/stella/SerializationException.h b/serialbox/src/serialbox/core/frontend/stella/SerializationException.h similarity index 100% rename from src/serialbox/core/frontend/stella/SerializationException.h rename to serialbox/src/serialbox/core/frontend/stella/SerializationException.h diff --git a/src/serialbox/core/frontend/stella/Serializer.cpp b/serialbox/src/serialbox/core/frontend/stella/Serializer.cpp similarity index 100% rename from src/serialbox/core/frontend/stella/Serializer.cpp rename to serialbox/src/serialbox/core/frontend/stella/Serializer.cpp diff --git a/src/serialbox/core/frontend/stella/Serializer.h b/serialbox/src/serialbox/core/frontend/stella/Serializer.h similarity index 100% rename from src/serialbox/core/frontend/stella/Serializer.h rename to serialbox/src/serialbox/core/frontend/stella/Serializer.h diff --git a/src/serialbox/core/frontend/stella/TypeName.h b/serialbox/src/serialbox/core/frontend/stella/TypeName.h similarity index 100% rename from src/serialbox/core/frontend/stella/TypeName.h rename to serialbox/src/serialbox/core/frontend/stella/TypeName.h diff --git a/src/serialbox/core/frontend/stella/Utility.h b/serialbox/src/serialbox/core/frontend/stella/Utility.h similarity index 100% rename from src/serialbox/core/frontend/stella/Utility.h rename to serialbox/src/serialbox/core/frontend/stella/Utility.h diff --git a/src/serialbox/core/hash/Hash.h b/serialbox/src/serialbox/core/hash/Hash.h similarity index 100% rename from src/serialbox/core/hash/Hash.h rename to serialbox/src/serialbox/core/hash/Hash.h diff --git a/src/serialbox/core/hash/HashFactory.cpp b/serialbox/src/serialbox/core/hash/HashFactory.cpp similarity index 100% rename from src/serialbox/core/hash/HashFactory.cpp rename to serialbox/src/serialbox/core/hash/HashFactory.cpp diff --git a/src/serialbox/core/hash/HashFactory.h b/serialbox/src/serialbox/core/hash/HashFactory.h similarity index 100% rename from src/serialbox/core/hash/HashFactory.h rename to serialbox/src/serialbox/core/hash/HashFactory.h diff --git a/src/serialbox/core/hash/MD5.cpp b/serialbox/src/serialbox/core/hash/MD5.cpp similarity index 100% rename from src/serialbox/core/hash/MD5.cpp rename to serialbox/src/serialbox/core/hash/MD5.cpp diff --git a/src/serialbox/core/hash/MD5.h b/serialbox/src/serialbox/core/hash/MD5.h similarity index 100% rename from src/serialbox/core/hash/MD5.h rename to serialbox/src/serialbox/core/hash/MD5.h diff --git a/src/serialbox/core/hash/SHA256.cpp b/serialbox/src/serialbox/core/hash/SHA256.cpp similarity index 100% rename from src/serialbox/core/hash/SHA256.cpp rename to serialbox/src/serialbox/core/hash/SHA256.cpp diff --git a/src/serialbox/core/hash/SHA256.h b/serialbox/src/serialbox/core/hash/SHA256.h similarity index 100% rename from src/serialbox/core/hash/SHA256.h rename to serialbox/src/serialbox/core/hash/SHA256.h diff --git a/src/serialbox/gridtools/serialbox.hpp b/serialbox/src/serialbox/gridtools/serialbox.hpp similarity index 100% rename from src/serialbox/gridtools/serialbox.hpp rename to serialbox/src/serialbox/gridtools/serialbox.hpp diff --git a/src/serialbox/stella/Serialbox.h b/serialbox/src/serialbox/stella/Serialbox.h similarity index 100% rename from src/serialbox/stella/Serialbox.h rename to serialbox/src/serialbox/stella/Serialbox.h diff --git a/serialbox/test/CMakeLists.txt b/serialbox/test/CMakeLists.txt new file mode 100644 index 00000000..e2c43e30 --- /dev/null +++ b/serialbox/test/CMakeLists.txt @@ -0,0 +1,72 @@ +##===------------------------------------------------------------------------------*- CMake -*-===## +## +## S E R I A L B O X +## +## This file is distributed under terms of BSD license. +## See LICENSE.txt for more information. +## +##===------------------------------------------------------------------------------------------===## + +# TODO maybe needs to be re-used by the C tests + +## serialbox_add_unittest_executable +## --------------------------------- +## +## Add a unittest executable and register it within CMake +## +## NAME:STRING=<> - Name of the unitests +## LIBRARIES:STRING=<> - Specify external libraries or flags to be use when linking the +## target (SerialboxUnittestUtility will be added). +## SOURCES:STRING=<> - List of source files +## DEPENDS:STRING=<> - Dependency on other targets +function(serialbox_add_unittest_executable) + set(one_value_args NAME) + set(multi_value_args LIBRARIES SOURCES DEPENDS) + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) + + set(libraries ${ARG_LIBRARIES} SerialboxUnittestUtility) + set(sources ${ARG_SOURCES}) + set(depends ${ARG_DEPENDS}) + + if(ARG_UNPARSED_ARGUMENTS) + message(FATAL_ERROR + "unparsed arguments: ${ARG_UNPARSED_ARGUMENTS}") + endif() + + set(opt_arg) + if(ARG_LIBRARIES) + set(opt_arg ${opt_arg} LIBRARIES ${ARG_LIBRARIES}) + endif() + add_executable(${ARG_NAME} ${sources}) + target_link_libraries(${ARG_NAME} SerialboxUnittestUtility ${depends} ${ARG_LIBRARIES}) + + if(DEFINED SERIALBOX_VERBOSE_WARNINGS) + set_target_properties(${ARG_NAME} PROPERTIES COMPILE_FLAGS -Wall) + endif() + + if(DEFINED BUILD_SERIALBOX_OLD) + add_dependencies(${ARG_NAME} serialbox-old) + endif() + + if(DEFINED BUILD_STELLA) + add_dependencies(${ARG_NAME} stella) + endif() + + if(SERIALBOX_HAS_GRIDTOOLS) + target_link_libraries(${ARG_NAME} GridTools::gridtools) + endif() + + if(DEFINED COVERAGE_SUPPORTED) + set_property(TARGET ${ARG_NAME} PROPERTY COMPILE_FLAGS ${CMAKE_CXX_FLAGS_COVERAGE}) + set_property(TARGET ${ARG_NAME} PROPERTY LINK_FLAGS ${CMAKE_EXE_LINKER_FLAGS_COVERAGE}) + set_property(TARGET ${ARG_NAME} PROPERTY RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) + add_dependencies(coverage ${ARG_NAME}) + endif() + + serialbox_add_test(TARGET ${ARG_NAME} + EXECUTABLE ${CMAKE_CURRENT_BINARY_DIR}/${ARG_NAME}) +endfunction(serialbox_add_unittest_executable) + +## Add subdirectories +add_subdirectory(utility) +add_subdirectory(core) diff --git a/test/serialbox/core/CMakeLists.txt b/serialbox/test/core/CMakeLists.txt similarity index 71% rename from test/serialbox/core/CMakeLists.txt rename to serialbox/test/core/CMakeLists.txt index 9dd70a3f..7d661bdb 100644 --- a/test/serialbox/core/CMakeLists.txt +++ b/serialbox/test/core/CMakeLists.txt @@ -2,13 +2,11 @@ ## ## S E R I A L B O X ## -## This file is distributed under terms of BSD license. +## This file is distributed under terms of BSD license. ## See LICENSE.txt for more information. ## ##===------------------------------------------------------------------------------------------===## -cmake_minimum_required(VERSION 3.12) - set(SOURCES UnittestArray.cpp UnittestException.cpp @@ -27,32 +25,30 @@ set(SOURCES UnittestUnreachable.cpp UnittestUpgradeArchive.cpp UnittestVersion.cpp - - # archive/ - archive/UnittestArchiveFactory.cpp + + # archive/ + archive/UnittestArchiveFactory.cpp archive/UnittestBinaryArchive.cpp archive/UnittestNetCDFArchive.cpp archive/UnittestMockArchive.cpp - + # frontend/gridtools/ frontend/gridtools/UnittestStorageView.cpp frontend/gridtools/UnittestMetainfoMap.cpp - frontend/gridtools/UnittestFieldMetaInfo.cpp - frontend/gridtools/UnittestSavepoint.cpp - frontend/gridtools/UnittestSerializer.cpp - + frontend/gridtools/UnittestFieldMetaInfo.cpp + frontend/gridtools/UnittestSavepoint.cpp + frontend/gridtools/UnittestSerializer.cpp + # frontend/stella/ frontend/stella/UnittestStorageView.cpp frontend/stella/UnittestMetainfoSet.cpp frontend/stella/UnittestException.cpp - frontend/stella/UnittestSavepoint.cpp + frontend/stella/UnittestSavepoint.cpp frontend/stella/UnittestSerializer.cpp frontend/stella/UnittestDataFieldInfo.cpp - frontend/stella/UnittestUtility.cpp + frontend/stella/UnittestUtility.cpp ) - -serialbox_add_unittest_executable(NAME SerialboxCppUnittest + +serialbox_add_unittest_executable(NAME SerialboxCppUnittest SOURCES ${SOURCES} UnittestMain.cpp - LIBRARIES SerialboxStatic ) - diff --git a/test/serialbox/core/UnittestArray.cpp b/serialbox/test/core/UnittestArray.cpp similarity index 100% rename from test/serialbox/core/UnittestArray.cpp rename to serialbox/test/core/UnittestArray.cpp diff --git a/test/serialbox/core/UnittestException.cpp b/serialbox/test/core/UnittestException.cpp similarity index 100% rename from test/serialbox/core/UnittestException.cpp rename to serialbox/test/core/UnittestException.cpp diff --git a/test/serialbox/core/UnittestFieldID.cpp b/serialbox/test/core/UnittestFieldID.cpp similarity index 100% rename from test/serialbox/core/UnittestFieldID.cpp rename to serialbox/test/core/UnittestFieldID.cpp diff --git a/test/serialbox/core/UnittestFieldMap.cpp b/serialbox/test/core/UnittestFieldMap.cpp similarity index 100% rename from test/serialbox/core/UnittestFieldMap.cpp rename to serialbox/test/core/UnittestFieldMap.cpp diff --git a/test/serialbox/core/UnittestFieldMetainfoImpl.cpp b/serialbox/test/core/UnittestFieldMetainfoImpl.cpp similarity index 100% rename from test/serialbox/core/UnittestFieldMetainfoImpl.cpp rename to serialbox/test/core/UnittestFieldMetainfoImpl.cpp diff --git a/test/serialbox/core/UnittestMain.cpp b/serialbox/test/core/UnittestMain.cpp similarity index 100% rename from test/serialbox/core/UnittestMain.cpp rename to serialbox/test/core/UnittestMain.cpp diff --git a/test/serialbox/core/UnittestMetainfoMapImpl.cpp b/serialbox/test/core/UnittestMetainfoMapImpl.cpp similarity index 100% rename from test/serialbox/core/UnittestMetainfoMapImpl.cpp rename to serialbox/test/core/UnittestMetainfoMapImpl.cpp diff --git a/test/serialbox/core/UnittestMetainfoValueImpl.cpp b/serialbox/test/core/UnittestMetainfoValueImpl.cpp similarity index 100% rename from test/serialbox/core/UnittestMetainfoValueImpl.cpp rename to serialbox/test/core/UnittestMetainfoValueImpl.cpp diff --git a/test/serialbox/core/UnittestSavepointImpl.cpp b/serialbox/test/core/UnittestSavepointImpl.cpp similarity index 100% rename from test/serialbox/core/UnittestSavepointImpl.cpp rename to serialbox/test/core/UnittestSavepointImpl.cpp diff --git a/test/serialbox/core/UnittestSavepointVector.cpp b/serialbox/test/core/UnittestSavepointVector.cpp similarity index 100% rename from test/serialbox/core/UnittestSavepointVector.cpp rename to serialbox/test/core/UnittestSavepointVector.cpp diff --git a/test/serialbox/core/UnittestSerializerImpl.cpp b/serialbox/test/core/UnittestSerializerImpl.cpp similarity index 100% rename from test/serialbox/core/UnittestSerializerImpl.cpp rename to serialbox/test/core/UnittestSerializerImpl.cpp diff --git a/test/serialbox/core/UnittestSlice.cpp b/serialbox/test/core/UnittestSlice.cpp similarity index 100% rename from test/serialbox/core/UnittestSlice.cpp rename to serialbox/test/core/UnittestSlice.cpp diff --git a/test/serialbox/core/UnittestStorage.cpp b/serialbox/test/core/UnittestStorage.cpp similarity index 100% rename from test/serialbox/core/UnittestStorage.cpp rename to serialbox/test/core/UnittestStorage.cpp diff --git a/test/serialbox/core/UnittestStorageView.cpp b/serialbox/test/core/UnittestStorageView.cpp similarity index 100% rename from test/serialbox/core/UnittestStorageView.cpp rename to serialbox/test/core/UnittestStorageView.cpp diff --git a/test/serialbox/core/UnittestType.cpp b/serialbox/test/core/UnittestType.cpp similarity index 100% rename from test/serialbox/core/UnittestType.cpp rename to serialbox/test/core/UnittestType.cpp diff --git a/test/serialbox/core/UnittestUnreachable.cpp b/serialbox/test/core/UnittestUnreachable.cpp similarity index 100% rename from test/serialbox/core/UnittestUnreachable.cpp rename to serialbox/test/core/UnittestUnreachable.cpp diff --git a/test/serialbox/core/UnittestUpgradeArchive.cpp b/serialbox/test/core/UnittestUpgradeArchive.cpp similarity index 100% rename from test/serialbox/core/UnittestUpgradeArchive.cpp rename to serialbox/test/core/UnittestUpgradeArchive.cpp diff --git a/test/serialbox/core/UnittestVersion.cpp b/serialbox/test/core/UnittestVersion.cpp similarity index 100% rename from test/serialbox/core/UnittestVersion.cpp rename to serialbox/test/core/UnittestVersion.cpp diff --git a/test/serialbox/core/archive/UnittestArchiveFactory.cpp b/serialbox/test/core/archive/UnittestArchiveFactory.cpp similarity index 100% rename from test/serialbox/core/archive/UnittestArchiveFactory.cpp rename to serialbox/test/core/archive/UnittestArchiveFactory.cpp diff --git a/test/serialbox/core/archive/UnittestBinaryArchive.cpp b/serialbox/test/core/archive/UnittestBinaryArchive.cpp similarity index 100% rename from test/serialbox/core/archive/UnittestBinaryArchive.cpp rename to serialbox/test/core/archive/UnittestBinaryArchive.cpp diff --git a/test/serialbox/core/archive/UnittestMockArchive.cpp b/serialbox/test/core/archive/UnittestMockArchive.cpp similarity index 100% rename from test/serialbox/core/archive/UnittestMockArchive.cpp rename to serialbox/test/core/archive/UnittestMockArchive.cpp diff --git a/test/serialbox/core/archive/UnittestNetCDFArchive.cpp b/serialbox/test/core/archive/UnittestNetCDFArchive.cpp similarity index 100% rename from test/serialbox/core/archive/UnittestNetCDFArchive.cpp rename to serialbox/test/core/archive/UnittestNetCDFArchive.cpp diff --git a/test/serialbox/core/frontend/gridtools/UnittestFieldMetaInfo.cpp b/serialbox/test/core/frontend/gridtools/UnittestFieldMetaInfo.cpp similarity index 100% rename from test/serialbox/core/frontend/gridtools/UnittestFieldMetaInfo.cpp rename to serialbox/test/core/frontend/gridtools/UnittestFieldMetaInfo.cpp diff --git a/test/serialbox/core/frontend/gridtools/UnittestMetainfoMap.cpp b/serialbox/test/core/frontend/gridtools/UnittestMetainfoMap.cpp similarity index 100% rename from test/serialbox/core/frontend/gridtools/UnittestMetainfoMap.cpp rename to serialbox/test/core/frontend/gridtools/UnittestMetainfoMap.cpp diff --git a/test/serialbox/core/frontend/gridtools/UnittestSavepoint.cpp b/serialbox/test/core/frontend/gridtools/UnittestSavepoint.cpp similarity index 100% rename from test/serialbox/core/frontend/gridtools/UnittestSavepoint.cpp rename to serialbox/test/core/frontend/gridtools/UnittestSavepoint.cpp diff --git a/test/serialbox/core/frontend/gridtools/UnittestSerializer.cpp b/serialbox/test/core/frontend/gridtools/UnittestSerializer.cpp similarity index 100% rename from test/serialbox/core/frontend/gridtools/UnittestSerializer.cpp rename to serialbox/test/core/frontend/gridtools/UnittestSerializer.cpp diff --git a/test/serialbox/core/frontend/gridtools/UnittestStorageView.cpp b/serialbox/test/core/frontend/gridtools/UnittestStorageView.cpp similarity index 100% rename from test/serialbox/core/frontend/gridtools/UnittestStorageView.cpp rename to serialbox/test/core/frontend/gridtools/UnittestStorageView.cpp diff --git a/test/serialbox/core/frontend/stella/UnittestDataFieldInfo.cpp b/serialbox/test/core/frontend/stella/UnittestDataFieldInfo.cpp similarity index 100% rename from test/serialbox/core/frontend/stella/UnittestDataFieldInfo.cpp rename to serialbox/test/core/frontend/stella/UnittestDataFieldInfo.cpp diff --git a/test/serialbox/core/frontend/stella/UnittestException.cpp b/serialbox/test/core/frontend/stella/UnittestException.cpp similarity index 100% rename from test/serialbox/core/frontend/stella/UnittestException.cpp rename to serialbox/test/core/frontend/stella/UnittestException.cpp diff --git a/test/serialbox/core/frontend/stella/UnittestMetainfoSet.cpp b/serialbox/test/core/frontend/stella/UnittestMetainfoSet.cpp similarity index 100% rename from test/serialbox/core/frontend/stella/UnittestMetainfoSet.cpp rename to serialbox/test/core/frontend/stella/UnittestMetainfoSet.cpp diff --git a/test/serialbox/core/frontend/stella/UnittestSavepoint.cpp b/serialbox/test/core/frontend/stella/UnittestSavepoint.cpp similarity index 100% rename from test/serialbox/core/frontend/stella/UnittestSavepoint.cpp rename to serialbox/test/core/frontend/stella/UnittestSavepoint.cpp diff --git a/test/serialbox/core/frontend/stella/UnittestSerializer.cpp b/serialbox/test/core/frontend/stella/UnittestSerializer.cpp similarity index 100% rename from test/serialbox/core/frontend/stella/UnittestSerializer.cpp rename to serialbox/test/core/frontend/stella/UnittestSerializer.cpp diff --git a/test/serialbox/core/frontend/stella/UnittestStorageView.cpp b/serialbox/test/core/frontend/stella/UnittestStorageView.cpp similarity index 100% rename from test/serialbox/core/frontend/stella/UnittestStorageView.cpp rename to serialbox/test/core/frontend/stella/UnittestStorageView.cpp diff --git a/test/serialbox/core/frontend/stella/UnittestUtility.cpp b/serialbox/test/core/frontend/stella/UnittestUtility.cpp similarity index 100% rename from test/serialbox/core/frontend/stella/UnittestUtility.cpp rename to serialbox/test/core/frontend/stella/UnittestUtility.cpp diff --git a/test/utility/BenchmarkEnvironment.cpp b/serialbox/test/utility/BenchmarkEnvironment.cpp similarity index 100% rename from test/utility/BenchmarkEnvironment.cpp rename to serialbox/test/utility/BenchmarkEnvironment.cpp diff --git a/test/utility/BenchmarkEnvironment.h b/serialbox/test/utility/BenchmarkEnvironment.h similarity index 100% rename from test/utility/BenchmarkEnvironment.h rename to serialbox/test/utility/BenchmarkEnvironment.h diff --git a/test/utility/CInterfaceTestBase.cpp b/serialbox/test/utility/CInterfaceTestBase.cpp similarity index 100% rename from test/utility/CInterfaceTestBase.cpp rename to serialbox/test/utility/CInterfaceTestBase.cpp diff --git a/test/utility/CInterfaceTestBase.h b/serialbox/test/utility/CInterfaceTestBase.h similarity index 100% rename from test/utility/CInterfaceTestBase.h rename to serialbox/test/utility/CInterfaceTestBase.h diff --git a/serialbox/test/utility/CMakeLists.txt b/serialbox/test/utility/CMakeLists.txt new file mode 100644 index 00000000..0c2c9690 --- /dev/null +++ b/serialbox/test/utility/CMakeLists.txt @@ -0,0 +1,36 @@ +##===------------------------------------------------------------------------------*- CMake -*-===## +## +## S E R I A L B O X +## +## This file is distributed under terms of BSD license. +## See LICENSE.txt for more information. +## +##===------------------------------------------------------------------------------------------===## + +cmake_minimum_required(VERSION 3.12) + +set(SOURCES + BenchmarkEnvironment.h + BenchmarkEnvironment.cpp + CInterfaceTestBase.h + CInterfaceTestBase.cpp + FileUtility.h + GridTools.h + Storage.h + STELLA.h + Serialbox.h + SerializerTestBase.h + UnittestEnvironment.h + UnittestEnvironment.cpp +) + +add_library(SerialboxUnittestUtility STATIC ${SOURCES}) +set_target_properties(SerialboxUnittestUtility PROPERTIES VERSION ${Serialbox_VERSION_STRING}) +target_include_directories(SerialboxUnittestUtility PUBLIC ${CMAKE_SOURCE_DIR}/test) +target_link_libraries(SerialboxUnittestUtility PUBLIC Boost::boost) +target_link_libraries(SerialboxUnittestUtility PUBLIC gtest_main) #TODO use target +target_link_libraries(SerialboxUnittestUtility PUBLIC SerialboxFilesytemTarget) +target_link_libraries(SerialboxUnittestUtility PUBLIC Serialbox) +if(GRIDTOOLS_FOUND) + target_link_libraries(SerialboxUnittestUtility PUBLIC GridTools_TARGET) #TODO use the official GridTools target +endif() diff --git a/test/utility/Config.h.cmake b/serialbox/test/utility/Config.h.cmake similarity index 100% rename from test/utility/Config.h.cmake rename to serialbox/test/utility/Config.h.cmake diff --git a/test/utility/FileUtility.h b/serialbox/test/utility/FileUtility.h similarity index 100% rename from test/utility/FileUtility.h rename to serialbox/test/utility/FileUtility.h diff --git a/test/utility/GridTools.h b/serialbox/test/utility/GridTools.h similarity index 100% rename from test/utility/GridTools.h rename to serialbox/test/utility/GridTools.h diff --git a/test/utility/STELLA.h b/serialbox/test/utility/STELLA.h similarity index 100% rename from test/utility/STELLA.h rename to serialbox/test/utility/STELLA.h diff --git a/test/utility/Serialbox.h b/serialbox/test/utility/Serialbox.h similarity index 100% rename from test/utility/Serialbox.h rename to serialbox/test/utility/Serialbox.h diff --git a/test/utility/SerializerTestBase.h b/serialbox/test/utility/SerializerTestBase.h similarity index 100% rename from test/utility/SerializerTestBase.h rename to serialbox/test/utility/SerializerTestBase.h diff --git a/test/utility/Storage.h b/serialbox/test/utility/Storage.h similarity index 100% rename from test/utility/Storage.h rename to serialbox/test/utility/Storage.h diff --git a/test/utility/UnittestEnvironment.cpp b/serialbox/test/utility/UnittestEnvironment.cpp similarity index 100% rename from test/utility/UnittestEnvironment.cpp rename to serialbox/test/utility/UnittestEnvironment.cpp diff --git a/test/utility/UnittestEnvironment.h b/serialbox/test/utility/UnittestEnvironment.h similarity index 100% rename from test/utility/UnittestEnvironment.h rename to serialbox/test/utility/UnittestEnvironment.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt deleted file mode 100644 index 6576cbff..00000000 --- a/src/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -##===------------------------------------------------------------------------------*- CMake -*-===## -## -## S E R I A L B O X -## -## This file is distributed under terms of BSD license. -## See LICENSE.txt for more information. -## -##===------------------------------------------------------------------------------------------===## - -cmake_minimum_required(VERSION 3.12) - -include(CMakeParseArguments) - -## Add subdirectories -add_subdirectory(serialbox) -add_subdirectory(serialbox-c) -add_subdirectory(serialbox-fortran) -add_subdirectory(serialbox-python) - diff --git a/src/serialbox-c/Config.h b/src/serialbox-c/Config.h new file mode 100644 index 00000000..499a297d --- /dev/null +++ b/src/serialbox-c/Config.h @@ -0,0 +1,29 @@ +/*===-- serialbox-c/Config.h --------------------------------------------------------*- C++ -*-===*\ + * + * S E R I A L B O X + * + * This file is distributed under terms of BSD license. + * See LICENSE.txt for more information + * + *===------------------------------------------------------------------------------------------===// + * + *! \file + *! WARNING! All changes made in this file will be lost! + *! + *! This file contains platform specific definitions of the Serialbox C Interface. + * +\*===------------------------------------------------------------------------------------------===*/ + +#include "serialbox/core/Config.h" + +#ifndef SERIALBOX_C_CONFIG_H +#define SERIALBOX_C_CONFIG_H + +/* SERIALBOX C++ compiler string */ +#define SERIALBOX_CXX_COMPILER_STRING "/home/vogtha/bin/cc" + +/* SERIALBOX C++ compiler flags */ +#define SERIALBOX_CXX_FLAGS " -Wno-sign-compare -O3 -DNDEBUG" + +#endif + diff --git a/src/serialbox/core/CMakeLists.txt b/src/serialbox/core/CMakeLists.txt deleted file mode 100644 index 8ad3eb76..00000000 --- a/src/serialbox/core/CMakeLists.txt +++ /dev/null @@ -1,114 +0,0 @@ -##===------------------------------------------------------------------------------*- CMake -*-===## -## -## S E R I A L B O X -## -## This file is distributed under terms of BSD license. -## See LICENSE.txt for more information. -## -##===------------------------------------------------------------------------------------------===## - -cmake_minimum_required(VERSION 3.12) - -set(SOURCES - FieldMap.cpp - FieldMap.h - FieldMapSerializer.h - FieldMapSerializer.cpp - FieldMetainfoImpl.cpp - FieldMetainfoImpl.h - FieldMetainfoImplSerializer.cpp - FieldMetainfoImplSerializer.h - FieldID.cpp - FieldID.h - Logging.cpp - Logging.h - MetainfoMapImpl.cpp - MetainfoMapImpl.h - MetainfoMapImplSerializer.cpp - MetainfoMapImplSerializer.h - MetainfoValueImpl.cpp - MetainfoValueImpl.h - SavepointImpl.cpp - SavepointImpl.h - SavepointImplSerializer.cpp - SavepointImplSerializer.h - SavepointVector.cpp - SavepointVector.h - SavepointVectorSerializer.cpp - SavepointVectorSerializer.h - SerializerImpl.cpp - SerializerImpl.h - StorageView.cpp - StorageView.h - Type.cpp - Type.h - Unreachable.cpp - Unreachable.h - - hash/HashFactory.cpp - hash/HashFactory.h - hash/SHA256.cpp - hash/SHA256.h - hash/MD5.cpp - hash/MD5.h - - archive/ArchiveFactory.cpp - archive/ArchiveFactory.h - archive/BinaryArchive.cpp - archive/BinaryArchive.h - archive/NetCDFArchive.cpp - archive/NetCDFArchive.h - archive/MockArchive.cpp - archive/MockArchive.h - - frontend/stella/MetainfoSet.cpp - frontend/stella/MetainfoSet.h - frontend/stella/Savepoint.cpp - frontend/stella/Savepoint.h - frontend/stella/Serializer.cpp - frontend/stella/Serializer.h - frontend/stella/DataFieldInfo.cpp - frontend/stella/DataFieldInfo.h -) - -add_library(SerialboxObjects OBJECT ${SOURCES}) -target_include_directories(SerialboxObjects - PUBLIC - $ - $ - ) -target_link_libraries(SerialboxObjects PRIVATE Boost::boost) -target_link_libraries(SerialboxObjects PUBLIC SerialboxFilesytemTarget) -# we use "-lpthread" instead of ${CMAKE_THREAD_LIBS_INIT} on purpose, because ${CMAKE_THREAD_LIBS_INIT} -# contains "-pthread" instead of "-lpthread" which is a problem if it propagates to nvcc via the target -target_link_libraries(SerialboxObjects PUBLIC pthread) - -add_library(SerialboxStatic STATIC $) -set_target_properties(SerialboxStatic PROPERTIES OUTPUT_NAME SerialboxCore) -set_target_properties(SerialboxStatic PROPERTIES VERSION ${Serialbox_VERSION_STRING}) -target_link_libraries(SerialboxStatic PUBLIC SerialboxObjects) -if(BUILD_SHARED_LIBS) - add_library(SerialboxShared $) - set_target_properties(SerialboxShared PROPERTIES OUTPUT_NAME SerialboxCore) - set_target_properties(SerialboxShared PROPERTIES VERSION ${Serialbox_VERSION_STRING}) - target_link_libraries(SerialboxShared PUBLIC SerialboxObjects) -endif() - -if(SERIALBOX_USE_NETCDF) - target_link_libraries(SerialboxStatic PRIVATE NETCDF_TARGET) - if(BUILD_SHARED_LIBS) - target_link_libraries(SerialboxShared PUBLIC NETCDF_TARGET) - endif() - #TODO try to make private once we protect our headers - target_include_directories(SerialboxObjects SYSTEM PUBLIC ${NETCDF_INCLUDES}) -endif() - -if(BUILD_SHARED_LIBS) - set_property(TARGET SerialboxObjects PROPERTY POSITION_INDEPENDENT_CODE 1) -endif() - -serialbox_install_targets( TARGETS - SerialboxStatic - SerialboxObjects - SerialboxShared -) diff --git a/src/serialbox/core/Config.h b/src/serialbox/core/Config.h new file mode 100644 index 00000000..ff56d5e2 --- /dev/null +++ b/src/serialbox/core/Config.h @@ -0,0 +1,53 @@ +/*===-- serialbox/Core/Config.h -----------------------------------------------------*- C++ -*-===*\ + * + * S E R I A L B O X + * + * This file is distributed under terms of BSD license. + * See LICENSE.txt for more information + * + *===------------------------------------------------------------------------------------------===// + * + *! \file + *! WARNING! All changes made in this file will be lost! + *! + *! This generated file contains platform specific definitions. + * +\*===------------------------------------------------------------------------------------------===*/ + +#ifndef SERIALBOX_CORE_CONFIG_H +#define SERIALBOX_CORE_CONFIG_H +/* Define if this is Unixish platform */ +#define SERIALBOX_ON_UNIX 1 + +/* Define if this is Win32ish platform */ +/* #undef SERIALBOX_ON_WIN32 */ + +/* Major version of SERIALBOX */ +#define SERIALBOX_VERSION_MAJOR 2 + +/* Minor version of SERIALBOX */ +#define SERIALBOX_VERSION_MINOR 6 + +/* Patch version of SERIALBOX */ +#define SERIALBOX_VERSION_PATCH 0 + +/* SERIALBOX version string */ +#define SERIALBOX_VERSION_STRING "2.6.0" + +/* Boost version used during compilation */ +#define SERIALBOX_BOOST_VERSION 107100 + +/* Define if OpenSSL is available */ +/* #undef SERIALBOX_HAS_OPENSSL */ + +/* Define if NetCDF is available */ +/* #undef SERIALBOX_HAS_NETCDF */ + +/* SERIALBOX was compiled with logging support */ +#define SERIALBOX_HAS_LOGGING 1 + +/* SERIALBOX was compiled with the following filesystem */ +#define SERIALBOX_USE_STD_EXPERIMENTAL_FILESYSTEM + +#endif + diff --git a/test/serialbox/CMakeLists.txt b/test/serialbox/CMakeLists.txt deleted file mode 100644 index 2fecfeee..00000000 --- a/test/serialbox/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -##===------------------------------------------------------------------------------*- CMake -*-===## -## -## S E R I A L B O X -## -## This file is distributed under terms of BSD license. -## See LICENSE.txt for more information. -## -##===------------------------------------------------------------------------------------------===## - -cmake_minimum_required(VERSION 3.12) - -## Add subdirectories -add_subdirectory(core) diff --git a/test/utility/CMakeLists.txt b/test/utility/CMakeLists.txt deleted file mode 100644 index 40fb88f2..00000000 --- a/test/utility/CMakeLists.txt +++ /dev/null @@ -1,39 +0,0 @@ -##===------------------------------------------------------------------------------*- CMake -*-===## -## -## S E R I A L B O X -## -## This file is distributed under terms of BSD license. -## See LICENSE.txt for more information. -## -##===------------------------------------------------------------------------------------------===## - -cmake_minimum_required(VERSION 3.12) - -set(SOURCES - BenchmarkEnvironment.h - BenchmarkEnvironment.cpp - CInterfaceTestBase.h - CInterfaceTestBase.cpp - FileUtility.h - GridTools.h - Storage.h - STELLA.h - Serialbox.h - SerializerTestBase.h - UnittestEnvironment.h - UnittestEnvironment.cpp -) - -add_library(SerialboxUnittestUtilityObjects OBJECT ${SOURCES}) -target_include_directories(SerialboxUnittestUtilityObjects PUBLIC ${PROJECT_SOURCE_DIR}/test) -target_link_libraries(SerialboxUnittestUtilityObjects PUBLIC Boost::boost) -target_link_libraries(SerialboxUnittestUtilityObjects PUBLIC gtest_main) -target_link_libraries(SerialboxUnittestUtilityObjects PUBLIC SerialboxFilesytemTarget) -target_link_libraries(SerialboxUnittestUtilityObjects PUBLIC SerialboxStatic) -if(GRIDTOOLS_FOUND) - target_link_libraries(SerialboxUnittestUtilityObjects PUBLIC GridTools_TARGET) -endif() - -add_library(SerialboxUnittestUtilityStatic STATIC $) -set_target_properties(SerialboxUnittestUtilityStatic PROPERTIES VERSION ${Serialbox_VERSION_STRING}) -target_link_libraries(SerialboxUnittestUtilityStatic PUBLIC SerialboxUnittestUtilityObjects) diff --git a/version.txt b/version.txt new file mode 100644 index 00000000..4a36342f --- /dev/null +++ b/version.txt @@ -0,0 +1 @@ +3.0.0 From 0c844448da1eb456fd67b585f1fb19fd0c176783 Mon Sep 17 00:00:00 2001 From: Hannes Vogt Date: Tue, 26 Mar 2019 13:04:27 +0100 Subject: [PATCH 2/5] fix gridtools --- serialbox/CMakeLists.txt | 2 +- serialbox/test/utility/CMakeLists.txt | 6 ++---- serialbox/test/utility/GridTools.h | 23 ++++++++++------------- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/serialbox/CMakeLists.txt b/serialbox/CMakeLists.txt index f7485e40..c8d380e2 100644 --- a/serialbox/CMakeLists.txt +++ b/serialbox/CMakeLists.txt @@ -174,7 +174,7 @@ endif() #---------------------------------------- GridTools ------------------------------------------------ if(SERIALBOX_TESTING_GRIDTOOLS) - find_package(GridTools QUIET REQUIRED) + find_package(GridTools 0.22.0 REQUIRED) set(SERIALBOX_HAS_GRIDTOOLS 1) endif(SERIALBOX_TESTING_GRIDTOOLS) diff --git a/serialbox/test/utility/CMakeLists.txt b/serialbox/test/utility/CMakeLists.txt index 0c2c9690..daafdce9 100644 --- a/serialbox/test/utility/CMakeLists.txt +++ b/serialbox/test/utility/CMakeLists.txt @@ -7,8 +7,6 @@ ## ##===------------------------------------------------------------------------------------------===## -cmake_minimum_required(VERSION 3.12) - set(SOURCES BenchmarkEnvironment.h BenchmarkEnvironment.cpp @@ -28,9 +26,9 @@ add_library(SerialboxUnittestUtility STATIC ${SOURCES}) set_target_properties(SerialboxUnittestUtility PROPERTIES VERSION ${Serialbox_VERSION_STRING}) target_include_directories(SerialboxUnittestUtility PUBLIC ${CMAKE_SOURCE_DIR}/test) target_link_libraries(SerialboxUnittestUtility PUBLIC Boost::boost) -target_link_libraries(SerialboxUnittestUtility PUBLIC gtest_main) #TODO use target +target_link_libraries(SerialboxUnittestUtility PUBLIC gtest_main) target_link_libraries(SerialboxUnittestUtility PUBLIC SerialboxFilesytemTarget) target_link_libraries(SerialboxUnittestUtility PUBLIC Serialbox) if(GRIDTOOLS_FOUND) - target_link_libraries(SerialboxUnittestUtility PUBLIC GridTools_TARGET) #TODO use the official GridTools target + target_link_libraries(SerialboxUnittestUtility PUBLIC GridTools::gridtools) endif() diff --git a/serialbox/test/utility/GridTools.h b/serialbox/test/utility/GridTools.h index 5365fa54..c145fe99 100644 --- a/serialbox/test/utility/GridTools.h +++ b/serialbox/test/utility/GridTools.h @@ -19,8 +19,8 @@ #ifdef SERIALBOX_HAS_GRIDTOOLS -#include "gridtools/stencil-composition/stencil-composition.hpp" -#include "gridtools/storage/storage-facility.hpp" +#include "gridtools/stencil_composition/stencil_composition.hpp" +#include "gridtools/storage/storage_facility.hpp" namespace serialbox { @@ -64,21 +64,18 @@ struct gridtools_storage_types { // Storage Info using cpu_2d_real_meta_data_type = storage_traits_type::storage_info_t<1, 2, halo_2d_type>; using gpu_2d_real_meta_data_type = - gridtools::storage_info_interface<2, gpu_2d_real_layout_type, halo_2d_type, - gridtools::alignment>; + gridtools::storage_info<2, gpu_2d_real_layout_type, halo_2d_type, + gridtools::alignment>; using cpu_2d_meta_data_type = storage_traits_type::special_storage_info_t<3, gridtools::selector<1, 1, 0>, halo_3d_type>; - using gpu_2d_meta_data_type = - gridtools::storage_info_interface<4, gpu_2d_layout_type, halo_3d_type, - gridtools::alignment>; + using gpu_2d_meta_data_type = gridtools::storage_info<4, gpu_2d_layout_type, halo_3d_type, + gridtools::alignment>; using cpu_3d_meta_data_type = storage_traits_type::storage_info_t<5, 3, halo_3d_type>; - using gpu_3d_meta_data_type = - gridtools::storage_info_interface<6, gpu_3d_layout_type, halo_3d_type, - gridtools::alignment>; + using gpu_3d_meta_data_type = gridtools::storage_info<6, gpu_3d_layout_type, halo_3d_type, + gridtools::alignment>; using cpu_4d_meta_data_type = storage_traits_type::storage_info_t<7, 4, halo_4d_type>; - using gpu_4d_meta_data_type = - gridtools::storage_info_interface<8, gpu_4d_layout_type, halo_4d_type, - gridtools::alignment>; + using gpu_4d_meta_data_type = gridtools::storage_info<8, gpu_4d_layout_type, halo_4d_type, + gridtools::alignment>; // Storage using cpu_2d_real_storage_type = storage_traits_type::data_store_t; From f02afed4326524f098160005de95944c5d444a03 Mon Sep 17 00:00:00 2001 From: Hannes Vogt Date: Mon, 20 May 2019 18:00:44 +0200 Subject: [PATCH 3/5] ignore .clangd --- .gitignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index f106b93a..f1b21730 100644 --- a/.gitignore +++ b/.gitignore @@ -29,7 +29,7 @@ external/* # Ignore gh-pages folder gh-pages* -#Ignore Eclipse files +# Eclipse files /.settings/ /.cproject /.pydevproject @@ -37,4 +37,3 @@ gh-pages* #theia/vscode/gitpod settings /compile_commands.json /.clangd - From b411fedd1f90b641b5764a542326c1463f19f080 Mon Sep 17 00:00:00 2001 From: Hannes Vogt Date: Mon, 20 May 2019 18:01:00 +0200 Subject: [PATCH 4/5] Fix missing dtor for virtual class --- serialbox/src/serialbox/core/hash/Hash.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/serialbox/src/serialbox/core/hash/Hash.h b/serialbox/src/serialbox/core/hash/Hash.h index 381a1b8b..e3bd05e8 100644 --- a/serialbox/src/serialbox/core/hash/Hash.h +++ b/serialbox/src/serialbox/core/hash/Hash.h @@ -36,6 +36,8 @@ class Hash { /// /// \return Hex representation as string of the computed hash virtual std::string hash(const void* data, int length) = 0; + + virtual ~Hash(){}; }; } // namespace serialbox From f859a39f442c1e511c80870cd81794bc4f18d59d Mon Sep 17 00:00:00 2001 From: Hannes Vogt Date: Thu, 2 Apr 2020 15:26:53 +0000 Subject: [PATCH 5/5] glue together core and serialbox-c (very hacky) --- serialbox-c/CMakeLists.txt | 51 +++++++++- serialbox-c/src/CMakeLists.txt | 89 ------------------ serialbox-c/src/{ => serialbox-c}/.gitignore | 0 serialbox-c/src/{ => serialbox-c}/Api.h | 0 serialbox-c/src/{ => serialbox-c}/Archive.cpp | 0 serialbox-c/src/{ => serialbox-c}/Archive.h | 0 serialbox-c/src/{ => serialbox-c}/Array.cpp | 0 serialbox-c/src/{ => serialbox-c}/Array.h | 0 serialbox-c/src/serialbox-c/CMakeLists.txt | 93 +++++++++++++++++++ .../src/{ => serialbox-c}/Config.h.cmake | 3 +- .../src/{ => serialbox-c}/ConfigOptions.cpp | 0 .../src/{ => serialbox-c}/ConfigOptions.h | 0 .../src/{ => serialbox-c}/ErrorHandling.cpp | 2 +- .../src/{ => serialbox-c}/ErrorHandling.h | 0 .../src/{ => serialbox-c}/FieldMetainfo.cpp | 0 .../src/{ => serialbox-c}/FieldMetainfo.h | 0 .../src/{ => serialbox-c}/FortranWrapper.cpp | 0 .../src/{ => serialbox-c}/FortranWrapper.h | 0 serialbox-c/src/{ => serialbox-c}/Logging.cpp | 0 serialbox-c/src/{ => serialbox-c}/Logging.h | 0 .../src/{ => serialbox-c}/Metainfo.cpp | 0 serialbox-c/src/{ => serialbox-c}/Metainfo.h | 0 .../src/{ => serialbox-c}/Savepoint.cpp | 0 serialbox-c/src/{ => serialbox-c}/Savepoint.h | 0 serialbox-c/src/{ => serialbox-c}/Serialbox.h | 0 .../src/{ => serialbox-c}/Serializer.cpp | 0 .../src/{ => serialbox-c}/Serializer.h | 0 serialbox-c/src/{ => serialbox-c}/Type.h | 2 +- serialbox-c/src/{ => serialbox-c}/Utility.h | 0 serialbox/CMakeLists.txt | 1 - serialbox/cmake/Packaging.cmake | 2 +- serialbox/src/serialbox/core/CMakeLists.txt | 2 +- serialbox/test/utility/CMakeLists.txt | 2 +- src/serialbox/core/Config.h | 53 ----------- 34 files changed, 146 insertions(+), 154 deletions(-) delete mode 100644 serialbox-c/src/CMakeLists.txt rename serialbox-c/src/{ => serialbox-c}/.gitignore (100%) rename serialbox-c/src/{ => serialbox-c}/Api.h (100%) rename serialbox-c/src/{ => serialbox-c}/Archive.cpp (100%) rename serialbox-c/src/{ => serialbox-c}/Archive.h (100%) rename serialbox-c/src/{ => serialbox-c}/Array.cpp (100%) rename serialbox-c/src/{ => serialbox-c}/Array.h (100%) create mode 100644 serialbox-c/src/serialbox-c/CMakeLists.txt rename serialbox-c/src/{ => serialbox-c}/Config.h.cmake (92%) rename serialbox-c/src/{ => serialbox-c}/ConfigOptions.cpp (100%) rename serialbox-c/src/{ => serialbox-c}/ConfigOptions.h (100%) rename serialbox-c/src/{ => serialbox-c}/ErrorHandling.cpp (98%) rename serialbox-c/src/{ => serialbox-c}/ErrorHandling.h (100%) rename serialbox-c/src/{ => serialbox-c}/FieldMetainfo.cpp (100%) rename serialbox-c/src/{ => serialbox-c}/FieldMetainfo.h (100%) rename serialbox-c/src/{ => serialbox-c}/FortranWrapper.cpp (100%) rename serialbox-c/src/{ => serialbox-c}/FortranWrapper.h (100%) rename serialbox-c/src/{ => serialbox-c}/Logging.cpp (100%) rename serialbox-c/src/{ => serialbox-c}/Logging.h (100%) rename serialbox-c/src/{ => serialbox-c}/Metainfo.cpp (100%) rename serialbox-c/src/{ => serialbox-c}/Metainfo.h (100%) rename serialbox-c/src/{ => serialbox-c}/Savepoint.cpp (100%) rename serialbox-c/src/{ => serialbox-c}/Savepoint.h (100%) rename serialbox-c/src/{ => serialbox-c}/Serialbox.h (100%) rename serialbox-c/src/{ => serialbox-c}/Serializer.cpp (100%) rename serialbox-c/src/{ => serialbox-c}/Serializer.h (100%) rename serialbox-c/src/{ => serialbox-c}/Type.h (98%) rename serialbox-c/src/{ => serialbox-c}/Utility.h (100%) delete mode 100644 src/serialbox/core/Config.h diff --git a/serialbox-c/CMakeLists.txt b/serialbox-c/CMakeLists.txt index 3bc0bbac..699173e9 100644 --- a/serialbox-c/CMakeLists.txt +++ b/serialbox-c/CMakeLists.txt @@ -1,6 +1,47 @@ -#TODO just snippets +##===------------------------------------------------------------------------------*- CMake -*-===## +## +## S E R I A L B O X +## +## This file is distributed under terms of BSD license. +## See LICENSE.txt for more information. +## +##===------------------------------------------------------------------------------------------===## +## +## This is the master CMake file of the serialbox project. +## +##===------------------------------------------------------------------------------------------===## -if(SERIALBOX_ENABLE_C) - install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/serialbox-c DESTINATION include - FILES_MATCHING PATTERN "*.h") -endif() \ No newline at end of file +set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/install" CACHE PATH "CMake install prefix") + +cmake_policy(SET CMP0048 NEW) +file(STRINGS "../version.txt" __SERIALBOX_VERSION) +project(Serialbox VERSION ${__SERIALBOX_VERSION} LANGUAGES CXX C) +cmake_minimum_required(VERSION 3.12.4) + +set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_C_EXTENSIONS OFF) + +list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake/modules") # TODO fix location + +#---------------------------------------- Configure ------------------------------------------------ + +if(UNIX) + set(SERIALBOX_ON_UNIX 1) +endif(UNIX) + +if(WIN32) + set(SERIALBOX_ON_WIN32 1) +endif(WIN32) + +# Serialbox version +set(Serialbox_VERSION_STRING + "${Serialbox_VERSION_MAJOR}.${Serialbox_VERSION_MINOR}.${Serialbox_VERSION_PATCH}") + + +find_package(Boost 1.54 REQUIRED) +add_subdirectory(src/serialbox-c) + +install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/serialbox-c DESTINATION include + FILES_MATCHING PATTERN "*.h") + +add_subdirectory(../serialbox serialbox) \ No newline at end of file diff --git a/serialbox-c/src/CMakeLists.txt b/serialbox-c/src/CMakeLists.txt deleted file mode 100644 index ba59fa95..00000000 --- a/serialbox-c/src/CMakeLists.txt +++ /dev/null @@ -1,89 +0,0 @@ -##===------------------------------------------------------------------------------*- CMake -*-===## -## -## S E R I A L B O X -## -## This file is distributed under terms of BSD license. -## See LICENSE.txt for more information. -## -##===------------------------------------------------------------------------------------------===## - -cmake_minimum_required(VERSION 3.12) - -if(SERIALBOX_ENABLE_C) - # Generate serialbox-c/Config.h - set(SERIALBOX_CXX_COMPILER ${CMAKE_C_COMPILER}) - set(SERIALBOX_CXX_FLAGS ${CMAKE_CXX_FLAGS}) - if(CMAKE_BUILD_TYPE MATCHES "Release") - set(SERIALBOX_CXX_FLAGS "${SERIALBOX_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}") - elseif(CMAKE_BUILD_TYPE MATCHES "RelWithDebInfo") - set(SERIALBOX_CXX_FLAGS "${SERIALBOX_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") - elseif(CMAKE_BUILD_TYPE MATCHES "MinSizeRel") - set(SERIALBOX_CXX_FLAGS "${SERIALBOX_CXX_FLAGS} ${CMAKE_CXX_FLAGS_MINSIZEREL}") - else(CMAKE_BUILD_TYPE MATCHES "Debug") - set(SERIALBOX_CXX_FLAGS "${SERIALBOX_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}") - endif() - - set(SERIALBOX_C_CONFIG_FILE_IN ${PROJECT_SOURCE_DIR}/src/serialbox-c/Config.h.cmake) - set(SERIALBOX_C_CONFIG_FILE ${PROJECT_SOURCE_DIR}/src/serialbox-c/Config.h) - set(SERIALBOX_C_CONFIG_FILE_DISCLAIMER "WARNING! All changes made in this file will be lost!") - configure_file(${SERIALBOX_C_CONFIG_FILE_IN} ${SERIALBOX_C_CONFIG_FILE}) - install(FILES ${SERIALBOX_C_CONFIG_FILE} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/serialbox-c) - - # Compile serialboxC - set(SOURCES - Archive.cpp - Archive.h - Array.cpp - Array.h - ConfigOptions.cpp - ConfigOptions.h - ErrorHandling.cpp - ErrorHandling.h - FieldMetainfo.cpp - FieldMetainfo.h - Logging.cpp - Logging.h - Metainfo.cpp - Metainfo.h - Savepoint.cpp - Savepoint.h - Serializer.cpp - Serializer.h - FortranWrapper.cpp - FortranWrapper.h - ) - - set(EXTERNAL_LIBRARIES ${Boost_LIBRARIES} ${SERIALBOX_EXTERNAL_LIBRARIES}) - - add_library(SerialboxCObjects OBJECT ${SOURCES}) - target_include_directories(SerialboxCObjects - PUBLIC - $ - $ - ) - target_link_libraries(SerialboxCObjects PUBLIC Boost::boost) - - add_library(SerialboxCStatic STATIC $) - set_target_properties(SerialboxCStatic PROPERTIES OUTPUT_NAME SerialboxC) - set_target_properties(SerialboxCStatic PROPERTIES VERSION ${Serialbox_VERSION_STRING}) - target_link_libraries(SerialboxCStatic PUBLIC SerialboxCObjects) - target_link_libraries(SerialboxCStatic PUBLIC SerialboxStatic) - if(BUILD_SHARED_LIBS) - add_library(SerialboxCShared $) - set_target_properties(SerialboxCShared PROPERTIES OUTPUT_NAME SerialboxC) - set_target_properties(SerialboxCShared PROPERTIES VERSION ${Serialbox_VERSION_STRING}) - target_link_libraries(SerialboxCShared PUBLIC SerialboxCObjects) - target_link_libraries(SerialboxCShared PUBLIC SerialboxShared) - endif() - - if(BUILD_SHARED_LIBS) - set_property(TARGET SerialboxCObjects PROPERTY POSITION_INDEPENDENT_CODE 1) - endif() - - serialbox_install_targets( TARGETS - SerialboxCStatic - SerialboxCShared - SerialboxCObjects - ) - -endif() diff --git a/serialbox-c/src/.gitignore b/serialbox-c/src/serialbox-c/.gitignore similarity index 100% rename from serialbox-c/src/.gitignore rename to serialbox-c/src/serialbox-c/.gitignore diff --git a/serialbox-c/src/Api.h b/serialbox-c/src/serialbox-c/Api.h similarity index 100% rename from serialbox-c/src/Api.h rename to serialbox-c/src/serialbox-c/Api.h diff --git a/serialbox-c/src/Archive.cpp b/serialbox-c/src/serialbox-c/Archive.cpp similarity index 100% rename from serialbox-c/src/Archive.cpp rename to serialbox-c/src/serialbox-c/Archive.cpp diff --git a/serialbox-c/src/Archive.h b/serialbox-c/src/serialbox-c/Archive.h similarity index 100% rename from serialbox-c/src/Archive.h rename to serialbox-c/src/serialbox-c/Archive.h diff --git a/serialbox-c/src/Array.cpp b/serialbox-c/src/serialbox-c/Array.cpp similarity index 100% rename from serialbox-c/src/Array.cpp rename to serialbox-c/src/serialbox-c/Array.cpp diff --git a/serialbox-c/src/Array.h b/serialbox-c/src/serialbox-c/Array.h similarity index 100% rename from serialbox-c/src/Array.h rename to serialbox-c/src/serialbox-c/Array.h diff --git a/serialbox-c/src/serialbox-c/CMakeLists.txt b/serialbox-c/src/serialbox-c/CMakeLists.txt new file mode 100644 index 00000000..c9cf1e98 --- /dev/null +++ b/serialbox-c/src/serialbox-c/CMakeLists.txt @@ -0,0 +1,93 @@ +##===------------------------------------------------------------------------------*- CMake -*-===## +## +## S E R I A L B O X +## +## This file is distributed under terms of BSD license. +## See LICENSE.txt for more information. +## +##===------------------------------------------------------------------------------------------===## + +cmake_minimum_required(VERSION 3.12) + +# Generate serialbox-c/Config.h +set(SERIALBOX_CXX_COMPILER ${CMAKE_C_COMPILER}) +set(SERIALBOX_CXX_FLAGS ${CMAKE_CXX_FLAGS}) + +if(CMAKE_BUILD_TYPE MATCHES "Release") + set(SERIALBOX_CXX_FLAGS "${SERIALBOX_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}") +elseif(CMAKE_BUILD_TYPE MATCHES "RelWithDebInfo") + set(SERIALBOX_CXX_FLAGS "${SERIALBOX_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") +elseif(CMAKE_BUILD_TYPE MATCHES "MinSizeRel") + set(SERIALBOX_CXX_FLAGS "${SERIALBOX_CXX_FLAGS} ${CMAKE_CXX_FLAGS_MINSIZEREL}") +else(CMAKE_BUILD_TYPE MATCHES "Debug") + set(SERIALBOX_CXX_FLAGS "${SERIALBOX_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}") +endif() + +set(SERIALBOX_C_CONFIG_FILE_IN ${CMAKE_CURRENT_LIST_DIR}/Config.h.cmake) +set(SERIALBOX_C_CONFIG_FILE ${CMAKE_CURRENT_LIST_DIR}/Config.h) +set(SERIALBOX_C_CONFIG_FILE_DISCLAIMER "WARNING! All changes made in this file will be lost!") +configure_file(${SERIALBOX_C_CONFIG_FILE_IN} ${SERIALBOX_C_CONFIG_FILE}) +install(FILES ${SERIALBOX_C_CONFIG_FILE} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/serialbox-c) + +# Compile serialboxC +set(SOURCES + Archive.cpp + Archive.h + Array.cpp + Array.h + ConfigOptions.cpp + ConfigOptions.h + ErrorHandling.cpp + ErrorHandling.h + FieldMetainfo.cpp + FieldMetainfo.h + Logging.cpp + Logging.h + Metainfo.cpp + Metainfo.h + Savepoint.cpp + Savepoint.h + Serializer.cpp + Serializer.h + FortranWrapper.cpp + FortranWrapper.h +) + +set(EXTERNAL_LIBRARIES ${Boost_LIBRARIES} ${SERIALBOX_EXTERNAL_LIBRARIES}) + +message(STATUS "${SOURCES}") +add_library(SerialboxCObjects OBJECT ${SOURCES}) +target_include_directories(SerialboxCObjects +PUBLIC + $ + $ +) +target_link_libraries(SerialboxCObjects PUBLIC Boost::boost) +target_link_libraries(SerialboxCObjects PUBLIC Serialbox) + +add_library(SerialboxCStatic STATIC $) +set_target_properties(SerialboxCStatic PROPERTIES OUTPUT_NAME SerialboxC) +set_target_properties(SerialboxCStatic PROPERTIES VERSION ${Serialbox_VERSION_STRING}) +target_link_libraries(SerialboxCStatic PUBLIC SerialboxCObjects) +target_link_libraries(SerialboxCStatic PUBLIC Serialbox) + +# TODO remove the BUILD_SHARED_LIBS variant +if(BUILD_SHARED_LIBS) + add_library(SerialboxCShared $) + set_target_properties(SerialboxCShared PROPERTIES OUTPUT_NAME SerialboxC) + set_target_properties(SerialboxCShared PROPERTIES VERSION ${Serialbox_VERSION_STRING}) + target_link_libraries(SerialboxCShared PUBLIC SerialboxCObjects) + target_link_libraries(SerialboxCShared PUBLIC SerialboxShared) +endif() + +if(BUILD_SHARED_LIBS) + set_property(TARGET SerialboxCObjects PROPERTY POSITION_INDEPENDENT_CODE 1) +endif() + +include(SerialboxInstallTargets) + +serialbox_install_targets(TARGETS + SerialboxCStatic + SerialboxCShared + SerialboxCObjects + ) \ No newline at end of file diff --git a/serialbox-c/src/Config.h.cmake b/serialbox-c/src/serialbox-c/Config.h.cmake similarity index 92% rename from serialbox-c/src/Config.h.cmake rename to serialbox-c/src/serialbox-c/Config.h.cmake index 2b44d5af..26bc7b09 100644 --- a/serialbox-c/src/Config.h.cmake +++ b/serialbox-c/src/serialbox-c/Config.h.cmake @@ -14,7 +14,8 @@ * \*===------------------------------------------------------------------------------------------===*/ -#include "serialbox/core/Config.h" +// TODO remove all this config shit +//# include "serialbox/core/Config.h" #ifndef SERIALBOX_C_CONFIG_H #define SERIALBOX_C_CONFIG_H diff --git a/serialbox-c/src/ConfigOptions.cpp b/serialbox-c/src/serialbox-c/ConfigOptions.cpp similarity index 100% rename from serialbox-c/src/ConfigOptions.cpp rename to serialbox-c/src/serialbox-c/ConfigOptions.cpp diff --git a/serialbox-c/src/ConfigOptions.h b/serialbox-c/src/serialbox-c/ConfigOptions.h similarity index 100% rename from serialbox-c/src/ConfigOptions.h rename to serialbox-c/src/serialbox-c/ConfigOptions.h diff --git a/serialbox-c/src/ErrorHandling.cpp b/serialbox-c/src/serialbox-c/ErrorHandling.cpp similarity index 98% rename from serialbox-c/src/ErrorHandling.cpp rename to serialbox-c/src/serialbox-c/ErrorHandling.cpp index b438a31a..32b33781 100644 --- a/serialbox-c/src/ErrorHandling.cpp +++ b/serialbox-c/src/serialbox-c/ErrorHandling.cpp @@ -13,7 +13,7 @@ \*===------------------------------------------------------------------------------------------===*/ #include "serialbox-c/ErrorHandling.h" -#include "serialbox/core/Compiler.h" +// #include "serialbox/core/Compiler.h" #include #include #include diff --git a/serialbox-c/src/ErrorHandling.h b/serialbox-c/src/serialbox-c/ErrorHandling.h similarity index 100% rename from serialbox-c/src/ErrorHandling.h rename to serialbox-c/src/serialbox-c/ErrorHandling.h diff --git a/serialbox-c/src/FieldMetainfo.cpp b/serialbox-c/src/serialbox-c/FieldMetainfo.cpp similarity index 100% rename from serialbox-c/src/FieldMetainfo.cpp rename to serialbox-c/src/serialbox-c/FieldMetainfo.cpp diff --git a/serialbox-c/src/FieldMetainfo.h b/serialbox-c/src/serialbox-c/FieldMetainfo.h similarity index 100% rename from serialbox-c/src/FieldMetainfo.h rename to serialbox-c/src/serialbox-c/FieldMetainfo.h diff --git a/serialbox-c/src/FortranWrapper.cpp b/serialbox-c/src/serialbox-c/FortranWrapper.cpp similarity index 100% rename from serialbox-c/src/FortranWrapper.cpp rename to serialbox-c/src/serialbox-c/FortranWrapper.cpp diff --git a/serialbox-c/src/FortranWrapper.h b/serialbox-c/src/serialbox-c/FortranWrapper.h similarity index 100% rename from serialbox-c/src/FortranWrapper.h rename to serialbox-c/src/serialbox-c/FortranWrapper.h diff --git a/serialbox-c/src/Logging.cpp b/serialbox-c/src/serialbox-c/Logging.cpp similarity index 100% rename from serialbox-c/src/Logging.cpp rename to serialbox-c/src/serialbox-c/Logging.cpp diff --git a/serialbox-c/src/Logging.h b/serialbox-c/src/serialbox-c/Logging.h similarity index 100% rename from serialbox-c/src/Logging.h rename to serialbox-c/src/serialbox-c/Logging.h diff --git a/serialbox-c/src/Metainfo.cpp b/serialbox-c/src/serialbox-c/Metainfo.cpp similarity index 100% rename from serialbox-c/src/Metainfo.cpp rename to serialbox-c/src/serialbox-c/Metainfo.cpp diff --git a/serialbox-c/src/Metainfo.h b/serialbox-c/src/serialbox-c/Metainfo.h similarity index 100% rename from serialbox-c/src/Metainfo.h rename to serialbox-c/src/serialbox-c/Metainfo.h diff --git a/serialbox-c/src/Savepoint.cpp b/serialbox-c/src/serialbox-c/Savepoint.cpp similarity index 100% rename from serialbox-c/src/Savepoint.cpp rename to serialbox-c/src/serialbox-c/Savepoint.cpp diff --git a/serialbox-c/src/Savepoint.h b/serialbox-c/src/serialbox-c/Savepoint.h similarity index 100% rename from serialbox-c/src/Savepoint.h rename to serialbox-c/src/serialbox-c/Savepoint.h diff --git a/serialbox-c/src/Serialbox.h b/serialbox-c/src/serialbox-c/Serialbox.h similarity index 100% rename from serialbox-c/src/Serialbox.h rename to serialbox-c/src/serialbox-c/Serialbox.h diff --git a/serialbox-c/src/Serializer.cpp b/serialbox-c/src/serialbox-c/Serializer.cpp similarity index 100% rename from serialbox-c/src/Serializer.cpp rename to serialbox-c/src/serialbox-c/Serializer.cpp diff --git a/serialbox-c/src/Serializer.h b/serialbox-c/src/serialbox-c/Serializer.h similarity index 100% rename from serialbox-c/src/Serializer.h rename to serialbox-c/src/serialbox-c/Serializer.h diff --git a/serialbox-c/src/Type.h b/serialbox-c/src/serialbox-c/Type.h similarity index 98% rename from serialbox-c/src/Type.h rename to serialbox-c/src/serialbox-c/Type.h index ad88ffe7..dd686e66 100644 --- a/serialbox-c/src/Type.h +++ b/serialbox-c/src/serialbox-c/Type.h @@ -16,7 +16,7 @@ #define SERIALBOX_C_TYPE_H #include "serialbox-c/Api.h" -#include "serialbox/core/Config.h" +// #include "serialbox/core/Config.h" #include #ifdef __cplusplus diff --git a/serialbox-c/src/Utility.h b/serialbox-c/src/serialbox-c/Utility.h similarity index 100% rename from serialbox-c/src/Utility.h rename to serialbox-c/src/serialbox-c/Utility.h diff --git a/serialbox/CMakeLists.txt b/serialbox/CMakeLists.txt index c8d380e2..ef6e8397 100644 --- a/serialbox/CMakeLists.txt +++ b/serialbox/CMakeLists.txt @@ -19,7 +19,6 @@ project(Serialbox VERSION ${__SERIALBOX_VERSION} LANGUAGES CXX) cmake_minimum_required(VERSION 3.12.4) set(CMAKE_CXX_EXTENSIONS OFF) -set(CMAKE_C_EXTENSIONS OFF) list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake/modules") # TODO fix location include(ExternalProject) diff --git a/serialbox/cmake/Packaging.cmake b/serialbox/cmake/Packaging.cmake index 131fe0bc..3d9d4ca5 100644 --- a/serialbox/cmake/Packaging.cmake +++ b/serialbox/cmake/Packaging.cmake @@ -29,7 +29,7 @@ else() endif() ## Generate and install SerialboxConfig.cmake -configure_package_config_file(${CMAKE_SOURCE_DIR}/cmake/SerialboxConfig.cmake.in +configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/SerialboxConfig.cmake.in "${PROJECT_BINARY_DIR}/cmake/SerialboxConfig.cmake" INSTALL_DESTINATION ${CMAKE_INSTALL_DIR} PATH_VARS CMAKE_INSTALL_DIR diff --git a/serialbox/src/serialbox/core/CMakeLists.txt b/serialbox/src/serialbox/core/CMakeLists.txt index 80da5579..188f9f92 100644 --- a/serialbox/src/serialbox/core/CMakeLists.txt +++ b/serialbox/src/serialbox/core/CMakeLists.txt @@ -73,7 +73,7 @@ add_library(Serialbox ${SOURCES}) set_target_properties(Serialbox PROPERTIES VERSION ${Serialbox_VERSION_STRING}) target_include_directories(Serialbox PUBLIC - $ + $ $ ) target_link_libraries(Serialbox PRIVATE Boost::boost) diff --git a/serialbox/test/utility/CMakeLists.txt b/serialbox/test/utility/CMakeLists.txt index daafdce9..faba4785 100644 --- a/serialbox/test/utility/CMakeLists.txt +++ b/serialbox/test/utility/CMakeLists.txt @@ -24,7 +24,7 @@ set(SOURCES add_library(SerialboxUnittestUtility STATIC ${SOURCES}) set_target_properties(SerialboxUnittestUtility PROPERTIES VERSION ${Serialbox_VERSION_STRING}) -target_include_directories(SerialboxUnittestUtility PUBLIC ${CMAKE_SOURCE_DIR}/test) +target_include_directories(SerialboxUnittestUtility PUBLIC ${PROJECT_SOURCE_DIR}/test) target_link_libraries(SerialboxUnittestUtility PUBLIC Boost::boost) target_link_libraries(SerialboxUnittestUtility PUBLIC gtest_main) target_link_libraries(SerialboxUnittestUtility PUBLIC SerialboxFilesytemTarget) diff --git a/src/serialbox/core/Config.h b/src/serialbox/core/Config.h deleted file mode 100644 index ff56d5e2..00000000 --- a/src/serialbox/core/Config.h +++ /dev/null @@ -1,53 +0,0 @@ -/*===-- serialbox/Core/Config.h -----------------------------------------------------*- C++ -*-===*\ - * - * S E R I A L B O X - * - * This file is distributed under terms of BSD license. - * See LICENSE.txt for more information - * - *===------------------------------------------------------------------------------------------===// - * - *! \file - *! WARNING! All changes made in this file will be lost! - *! - *! This generated file contains platform specific definitions. - * -\*===------------------------------------------------------------------------------------------===*/ - -#ifndef SERIALBOX_CORE_CONFIG_H -#define SERIALBOX_CORE_CONFIG_H -/* Define if this is Unixish platform */ -#define SERIALBOX_ON_UNIX 1 - -/* Define if this is Win32ish platform */ -/* #undef SERIALBOX_ON_WIN32 */ - -/* Major version of SERIALBOX */ -#define SERIALBOX_VERSION_MAJOR 2 - -/* Minor version of SERIALBOX */ -#define SERIALBOX_VERSION_MINOR 6 - -/* Patch version of SERIALBOX */ -#define SERIALBOX_VERSION_PATCH 0 - -/* SERIALBOX version string */ -#define SERIALBOX_VERSION_STRING "2.6.0" - -/* Boost version used during compilation */ -#define SERIALBOX_BOOST_VERSION 107100 - -/* Define if OpenSSL is available */ -/* #undef SERIALBOX_HAS_OPENSSL */ - -/* Define if NetCDF is available */ -/* #undef SERIALBOX_HAS_NETCDF */ - -/* SERIALBOX was compiled with logging support */ -#define SERIALBOX_HAS_LOGGING 1 - -/* SERIALBOX was compiled with the following filesystem */ -#define SERIALBOX_USE_STD_EXPERIMENTAL_FILESYSTEM - -#endif -