diff --git a/.gitignore b/.gitignore index f0a1a1901..3ec18ece0 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,7 @@ mkqtdecl.tmp # private data private src/plugins/* +!src/plugins/streamers !src/plugins/*.pro !src/plugins/*.pri diff --git a/src/db/db/dbCIF.cc b/src/plugins/streamers/cif/db_plugin/dbCIF.cc similarity index 100% rename from src/db/db/dbCIF.cc rename to src/plugins/streamers/cif/db_plugin/dbCIF.cc diff --git a/src/db/db/dbCIF.h b/src/plugins/streamers/cif/db_plugin/dbCIF.h similarity index 100% rename from src/db/db/dbCIF.h rename to src/plugins/streamers/cif/db_plugin/dbCIF.h diff --git a/src/db/db/dbCIFReader.cc b/src/plugins/streamers/cif/db_plugin/dbCIFReader.cc similarity index 100% rename from src/db/db/dbCIFReader.cc rename to src/plugins/streamers/cif/db_plugin/dbCIFReader.cc diff --git a/src/db/db/dbCIFReader.h b/src/plugins/streamers/cif/db_plugin/dbCIFReader.h similarity index 100% rename from src/db/db/dbCIFReader.h rename to src/plugins/streamers/cif/db_plugin/dbCIFReader.h diff --git a/src/db/db/dbCIFWriter.cc b/src/plugins/streamers/cif/db_plugin/dbCIFWriter.cc similarity index 100% rename from src/db/db/dbCIFWriter.cc rename to src/plugins/streamers/cif/db_plugin/dbCIFWriter.cc diff --git a/src/db/db/dbCIFWriter.h b/src/plugins/streamers/cif/db_plugin/dbCIFWriter.h similarity index 100% rename from src/db/db/dbCIFWriter.h rename to src/plugins/streamers/cif/db_plugin/dbCIFWriter.h diff --git a/src/laybasic/laybasic/CIFReaderOptionPage.ui b/src/plugins/streamers/cif/lay_plugin/CIFReaderOptionPage.ui similarity index 100% rename from src/laybasic/laybasic/CIFReaderOptionPage.ui rename to src/plugins/streamers/cif/lay_plugin/CIFReaderOptionPage.ui diff --git a/src/laybasic/laybasic/CIFWriterOptionPage.ui b/src/plugins/streamers/cif/lay_plugin/CIFWriterOptionPage.ui similarity index 100% rename from src/laybasic/laybasic/CIFWriterOptionPage.ui rename to src/plugins/streamers/cif/lay_plugin/CIFWriterOptionPage.ui diff --git a/src/laybasic/laybasic/layCIFReaderPlugin.cc b/src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.cc similarity index 100% rename from src/laybasic/laybasic/layCIFReaderPlugin.cc rename to src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.cc diff --git a/src/laybasic/laybasic/layCIFReaderPlugin.h b/src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.h similarity index 100% rename from src/laybasic/laybasic/layCIFReaderPlugin.h rename to src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.h diff --git a/src/laybasic/laybasic/layCIFWriterPlugin.cc b/src/plugins/streamers/cif/lay_plugin/layCIFWriterPlugin.cc similarity index 100% rename from src/laybasic/laybasic/layCIFWriterPlugin.cc rename to src/plugins/streamers/cif/lay_plugin/layCIFWriterPlugin.cc diff --git a/src/laybasic/laybasic/layCIFWriterPlugin.h b/src/plugins/streamers/cif/lay_plugin/layCIFWriterPlugin.h similarity index 100% rename from src/laybasic/laybasic/layCIFWriterPlugin.h rename to src/plugins/streamers/cif/lay_plugin/layCIFWriterPlugin.h diff --git a/src/db/unit_tests/dbCIFReader.cc b/src/plugins/streamers/cif/unit_tests/dbCIFReader.cc similarity index 100% rename from src/db/unit_tests/dbCIFReader.cc rename to src/plugins/streamers/cif/unit_tests/dbCIFReader.cc diff --git a/src/db/db/dbDXF.cc b/src/plugins/streamers/dxf/db_plugin/dbDXF.cc similarity index 100% rename from src/db/db/dbDXF.cc rename to src/plugins/streamers/dxf/db_plugin/dbDXF.cc diff --git a/src/db/db/dbDXF.h b/src/plugins/streamers/dxf/db_plugin/dbDXF.h similarity index 100% rename from src/db/db/dbDXF.h rename to src/plugins/streamers/dxf/db_plugin/dbDXF.h diff --git a/src/db/db/dbDXFReader.cc b/src/plugins/streamers/dxf/db_plugin/dbDXFReader.cc similarity index 100% rename from src/db/db/dbDXFReader.cc rename to src/plugins/streamers/dxf/db_plugin/dbDXFReader.cc diff --git a/src/db/db/dbDXFReader.h b/src/plugins/streamers/dxf/db_plugin/dbDXFReader.h similarity index 100% rename from src/db/db/dbDXFReader.h rename to src/plugins/streamers/dxf/db_plugin/dbDXFReader.h diff --git a/src/db/db/dbDXFWriter.cc b/src/plugins/streamers/dxf/db_plugin/dbDXFWriter.cc similarity index 100% rename from src/db/db/dbDXFWriter.cc rename to src/plugins/streamers/dxf/db_plugin/dbDXFWriter.cc diff --git a/src/db/db/dbDXFWriter.h b/src/plugins/streamers/dxf/db_plugin/dbDXFWriter.h similarity index 100% rename from src/db/db/dbDXFWriter.h rename to src/plugins/streamers/dxf/db_plugin/dbDXFWriter.h diff --git a/src/laybasic/laybasic/DXFReaderOptionPage.ui b/src/plugins/streamers/dxf/lay_plugin/DXFReaderOptionPage.ui similarity index 100% rename from src/laybasic/laybasic/DXFReaderOptionPage.ui rename to src/plugins/streamers/dxf/lay_plugin/DXFReaderOptionPage.ui diff --git a/src/laybasic/laybasic/DXFWriterOptionPage.ui b/src/plugins/streamers/dxf/lay_plugin/DXFWriterOptionPage.ui similarity index 100% rename from src/laybasic/laybasic/DXFWriterOptionPage.ui rename to src/plugins/streamers/dxf/lay_plugin/DXFWriterOptionPage.ui diff --git a/src/laybasic/laybasic/layDXFReaderPlugin.cc b/src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.cc similarity index 100% rename from src/laybasic/laybasic/layDXFReaderPlugin.cc rename to src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.cc diff --git a/src/laybasic/laybasic/layDXFReaderPlugin.h b/src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.h similarity index 100% rename from src/laybasic/laybasic/layDXFReaderPlugin.h rename to src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.h diff --git a/src/laybasic/laybasic/layDXFWriterPlugin.cc b/src/plugins/streamers/dxf/lay_plugin/layDXFWriterPlugin.cc similarity index 100% rename from src/laybasic/laybasic/layDXFWriterPlugin.cc rename to src/plugins/streamers/dxf/lay_plugin/layDXFWriterPlugin.cc diff --git a/src/laybasic/laybasic/layDXFWriterPlugin.h b/src/plugins/streamers/dxf/lay_plugin/layDXFWriterPlugin.h similarity index 100% rename from src/laybasic/laybasic/layDXFWriterPlugin.h rename to src/plugins/streamers/dxf/lay_plugin/layDXFWriterPlugin.h diff --git a/src/db/unit_tests/dbDXFReader.cc b/src/plugins/streamers/dxf/unit_tests/dbDXFReader.cc similarity index 100% rename from src/db/unit_tests/dbDXFReader.cc rename to src/plugins/streamers/dxf/unit_tests/dbDXFReader.cc diff --git a/src/plugins/streamers/gds2/db_plugin/db_plugin.pro b/src/plugins/streamers/gds2/db_plugin/db_plugin.pro new file mode 100644 index 000000000..7755a91b0 --- /dev/null +++ b/src/plugins/streamers/gds2/db_plugin/db_plugin.pro @@ -0,0 +1,28 @@ + +TARGET = gds2 +DESTDIR = $$OUT_PWD/../../../../db_plugins + +include($$PWD/../../../db_plugin.pri) + +HEADERS = \ + contrib/dbGDS2Converter.h \ + contrib/dbGDS2TextReader.h \ + contrib/dbGDS2TextWriter.h \ + dbGDS2.h \ + dbGDS2ReaderBase.h \ + dbGDS2Reader.h \ + dbGDS2WriterBase.h \ + dbGDS2Writer.h \ + +SOURCES = \ + contrib/dbGDS2Converter.cc \ + contrib/dbGDS2Text.cc \ + contrib/dbGDS2TextReader.cc \ + contrib/dbGDS2TextWriter.cc \ + dbGDS2.cc \ + dbGDS2ReaderBase.cc \ + dbGDS2Reader.cc \ + dbGDS2WriterBase.cc \ + dbGDS2Writer.cc \ + gsiDeclDbGDS2.cc \ + diff --git a/src/plugins/streamers/gds2/db_plugin/gsiDeclDbGDS2.cc b/src/plugins/streamers/gds2/db_plugin/gsiDeclDbGDS2.cc new file mode 100644 index 000000000..9d8329284 --- /dev/null +++ b/src/plugins/streamers/gds2/db_plugin/gsiDeclDbGDS2.cc @@ -0,0 +1,329 @@ + +/* + + KLayout Layout Viewer + Copyright (C) 2006-2018 Matthias Koefferlein + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + + +#include "dbGDS2.h" +#include "dbGDS2Writer.h" +#include "dbGDS2Reader.h" +#include "dbSaveLayoutOptions.h" +#include "dbLoadLayoutOptions.h" + +#include "gsiDecl.h" + +namespace gsi +{ + +// --------------------------------------------------------------- +// gsi Implementation of specific methods + +static void set_gds2_max_vertex_count (db::SaveLayoutOptions *options, unsigned int n) +{ + options->get_options ().max_vertex_count = n; +} + +static unsigned int get_gds2_max_vertex_count (const db::SaveLayoutOptions *options) +{ + return options->get_options ().max_vertex_count; +} + +static void set_gds2_max_cellname_length (db::SaveLayoutOptions *options, unsigned int n) +{ + options->get_options ().max_cellname_length = n; +} + +static unsigned int get_gds2_max_cellname_length (const db::SaveLayoutOptions *options) +{ + return options->get_options ().max_cellname_length; +} + +static void set_gds2_multi_xy_records (db::SaveLayoutOptions *options, bool n) +{ + options->get_options ().multi_xy_records = n; +} + +static bool get_gds2_multi_xy_records (const db::SaveLayoutOptions *options) +{ + return options->get_options ().multi_xy_records; +} + +static void set_gds2_write_file_properties (db::SaveLayoutOptions *options, bool n) +{ + options->get_options ().write_file_properties = n; +} + +static bool get_gds2_write_file_properties (const db::SaveLayoutOptions *options) +{ + return options->get_options ().write_file_properties; +} + +static void set_gds2_write_cell_properties (db::SaveLayoutOptions *options, bool n) +{ + options->get_options ().write_cell_properties = n; +} + +static bool get_gds2_write_cell_properties (const db::SaveLayoutOptions *options) +{ + return options->get_options ().write_cell_properties; +} + +static void set_gds2_no_zero_length_paths (db::SaveLayoutOptions *options, bool n) +{ + options->get_options ().no_zero_length_paths = n; +} + +static bool get_gds2_no_zero_length_paths (const db::SaveLayoutOptions *options) +{ + return options->get_options ().no_zero_length_paths; +} + +static void set_gds2_write_timestamps (db::SaveLayoutOptions *options, bool n) +{ + options->get_options ().write_timestamps = n; +} + +static bool get_gds2_write_timestamps (const db::SaveLayoutOptions *options) +{ + return options->get_options ().write_timestamps; +} + +static void set_gds2_libname (db::SaveLayoutOptions *options, const std::string &n) +{ + options->get_options ().libname = n; +} + +static std::string get_gds2_libname (const db::SaveLayoutOptions *options) +{ + return options->get_options ().libname; +} + +static void set_gds2_user_units (db::SaveLayoutOptions *options, double n) +{ + options->get_options ().user_units = n; +} + +static double get_gds2_user_units (const db::SaveLayoutOptions *options) +{ + return options->get_options ().user_units; +} + +// extend lay::SaveLayoutOptions with the GDS2 options +static +gsi::ClassExt gds2_writer_options ( + gsi::method_ext ("gds2_max_vertex_count=", &set_gds2_max_vertex_count, + "@brief Set the maximum number of vertices for polygons to write\n" + "@args count\n" + "This property describes the maximum number of point for polygons in GDS2 files.\n" + "Polygons with more points will be split.\n" + "The minimum value for this property is 4. The maximum allowed value is about 4000 or 8000, depending on the\n" + "GDS2 interpretation. If \\gds2_multi_xy_records is true, this\n" + "property is not used. Instead, the number of points is unlimited.\n" + "\nThis property has been added in version 0.18.\n" + ) + + gsi::method_ext ("gds2_max_vertex_count", &get_gds2_max_vertex_count, + "@brief Get the maximum number of vertices for polygons to write\n" + "See \\gds2_max_vertex_count= method for a description of the maximum vertex count." + "\nThis property has been added in version 0.18.\n" + ) + + gsi::method_ext ("gds2_multi_xy_records=", &set_gds2_multi_xy_records, + "@brief Use multiple XY records in BOUNDARY elements for unlimited large polygons\n" + "@args flag\n" + "\n" + "Setting this property to true allows to produce unlimited polygons \n" + "at the cost of incompatible formats. Setting it to true disables the \\gds2_max_vertex_count setting.\n" + "\nThis property has been added in version 0.18.\n" + ) + + gsi::method_ext ("gds2_multi_xy_records?", &get_gds2_multi_xy_records, + "@brief Get the property enabling multiple XY records for BOUNDARY elements\n" + "See \\gds2_multi_xy_records= method for a description of this property." + "\nThis property has been added in version 0.18.\n" + ) + + gsi::method_ext ("gds2_write_timestamps=", &set_gds2_write_timestamps, + "@brief Write the current time into the GDS2 timestamps if set to true\n" + "@args flag\n" + "\n" + "If this property is set to false, the time fields will all be zero. This somewhat simplifies compare and diff " + "applications.\n" + "\n" + "\nThis property has been added in version 0.21.16.\n" + ) + + gsi::method_ext ("gds2_write_timestamps?", &get_gds2_write_timestamps, + "@brief Gets a value indicating whether the current time is written into the GDS2 timestamp fields\n" + "\nThis property has been added in version 0.21.16.\n" + ) + + gsi::method_ext ("gds2_no_zero_length_paths=", &set_gds2_no_zero_length_paths, + "@brief Eliminates zero-length paths if true\n" + "@args flag\n" + "\n" + "If this property is set to true, paths with zero length will be converted to BOUNDARY objects.\n" + "\n" + "\nThis property has been added in version 0.23.\n" + ) + + gsi::method_ext ("gds2_no_zero_length_paths?|#gds2_no_zero_length_paths", &get_gds2_no_zero_length_paths, + "@brief Gets a value indicating whether zero-length paths are eliminated\n" + "\nThis property has been added in version 0.23.\n" + ) + + gsi::method_ext ("gds2_write_cell_properties=", &set_gds2_write_cell_properties, + "@brief Enables writing of cell properties if set to true\n" + "@args flag\n" + "\n" + "If this property is set to true, cell properties will be written as PROPATTR/PROPVALUE records immediately " + "following the BGNSTR records. This is a non-standard extension and is therefore disabled by default.\n" + "\n" + "\nThis property has been added in version 0.23.\n" + ) + + gsi::method_ext ("gds2_write_cell_properties?|#gds2_write_cell_properties", &get_gds2_write_cell_properties, + "@brief Gets a value indicating whether cell properties are written\n" + "\nThis property has been added in version 0.23.\n" + ) + + gsi::method_ext ("gds2_write_file_properties=", &set_gds2_write_file_properties, + "@brief Enables writing of file properties if set to true\n" + "@args flag\n" + "\n" + "If this property is set to true, layout properties will be written as PROPATTR/PROPVALUE records immediately " + "following the BGNLIB records. This is a non-standard extension and is therefore disabled by default.\n" + "\n" + "\nThis property has been added in version 0.24.\n" + ) + + gsi::method_ext ("gds2_write_file_properties?|#gds2_write_file_properties", &get_gds2_write_file_properties, + "@brief Gets a value indicating whether layout properties are written\n" + "\nThis property has been added in version 0.24.\n" + ) + + gsi::method_ext ("gds2_max_cellname_length=", &set_gds2_max_cellname_length, + "@brief Maximum length of cell names\n" + "@args length\n" + "\n" + "This property describes the maximum number of characters for cell names. \n" + "Longer cell names will be shortened.\n" + "\nThis property has been added in version 0.18.\n" + ) + + gsi::method_ext ("gds2_max_cellname_length", &get_gds2_max_cellname_length, + "@brief Get the maximum length of cell names\n" + "See \\gds2_max_cellname_length= method for a description of the maximum cell name length." + "\nThis property has been added in version 0.18.\n" + ) + + gsi::method_ext ("gds2_libname=", &set_gds2_libname, + "@brief Set the library name\n" + "@args libname\n" + "\n" + "The library name is the string written into the LIBNAME records of the GDS file.\n" + "The library name should not be an empty string and is subject to certain limitations in the character choice.\n" + "\nThis property has been added in version 0.18.\n" + ) + + gsi::method_ext ("gds2_libname", &get_gds2_libname, + "@brief Get the library name\n" + "See \\gds2_libname= method for a description of the library name." + "\nThis property has been added in version 0.18.\n" + ) + + gsi::method_ext ("gds2_user_units=", &set_gds2_user_units, + "@brief Set the users units to write into the GDS file\n" + "@args uu\n" + "\n" + "The user units of a GDS file are rarely used and usually are set to 1 (micron).\n" + "The intention of the user units is to specify the display units. KLayout ignores the user unit and uses microns as the display unit.\n" + "The user unit must be larger than zero.\n" + "\nThis property has been added in version 0.18.\n" + ) + + gsi::method_ext ("gds2_user_units", &get_gds2_user_units, + "@brief Get the user units\n" + "See \\gds2_user_units= method for a description of the user units." + "\nThis property has been added in version 0.18.\n" + ), + "" +); + +// --------------------------------------------------------------- +// gsi Implementation of specific methods + +static void set_gds2_box_mode (db::LoadLayoutOptions *options, unsigned int n) +{ + options->get_options ().box_mode = n; +} + +static unsigned int get_gds2_box_mode (const db::LoadLayoutOptions *options) +{ + return options->get_options ().box_mode; +} + +static void set_gds2_allow_multi_xy_records (db::LoadLayoutOptions *options, bool n) +{ + options->get_options ().allow_multi_xy_records = n; +} + +static bool get_gds2_allow_multi_xy_records (const db::LoadLayoutOptions *options) +{ + return options->get_options ().allow_multi_xy_records; +} + +static void set_gds2_allow_big_records (db::LoadLayoutOptions *options, bool n) +{ + options->get_options ().allow_big_records = n; +} + +static bool get_gds2_allow_big_records (const db::LoadLayoutOptions *options) +{ + return options->get_options ().allow_big_records; +} + +// extend lay::LoadLayoutOptions with the GDS2 options +static +gsi::ClassExt gds2_reader_options ( + gsi::method_ext ("gds2_box_mode=", &set_gds2_box_mode, + "@brief Sets a value specifying how to treat BOX records\n" + "This property specifies how BOX records are treated.\n" + "Allowed values are 0 (ignore), 1 (treat as rectangles), 2 (treat as boundaries) or 3 (treat as errors). The default is 1.\n" + "\nThis property has been added in version 0.18.\n" + ) + + gsi::method_ext ("gds2_box_mode", &get_gds2_box_mode, + "@brief Gets a value specifying how to treat BOX records\n" + "See \\gds2_box_mode= method for a description of this mode." + "\nThis property has been added in version 0.18.\n" + ) + + gsi::method_ext ("gds2_allow_multi_xy_records=", &set_gds2_allow_multi_xy_records, + "@brief Allows the use of multiple XY records in BOUNDARY elements for unlimited large polygons\n" + "\n" + "Setting this property to true allows big polygons that span over multiple XY records.\n" + "For strict compatibility with the standard, this property should be set to false. The default is true.\n" + "\nThis property has been added in version 0.18.\n" + ) + + gsi::method_ext ("gds2_allow_multi_xy_records?|#gds2_allow_multi_xy_records", &get_gds2_allow_multi_xy_records, + "@brief Gets a value specifying whether to allow big polygons with multiple XY records.\n" + "See \\gds2_allow_multi_xy_records= method for a description of this property." + "\nThis property has been added in version 0.18.\n" + ) + + gsi::method_ext ("gds2_allow_big_records=", &set_gds2_allow_big_records, + "@brief Allows big records with more than 32767 bytes\n" + "\n" + "Setting this property to true allows larger records by treating the record length as unsigned short, which for example " + "allows larger polygons (~8000 points rather than ~4000 points) without using multiple XY records.\n" + "For strict compatibility with the standard, this property should be set to false. The default is true.\n" + "\nThis property has been added in version 0.18.\n" + ) + + gsi::method_ext ("gds2_allow_big_records?|#gds2_allow_big_records", &get_gds2_allow_big_records, + "@brief Gets a value specifying whether to allow big records with a length of 32768 to 65535 bytes.\n" + "See \\gds2_allow_big_records= method for a description of this property." + "\nThis property has been added in version 0.18.\n" + ), + "" +); + +} + diff --git a/src/plugins/streamers/gds2/gds2.pro b/src/plugins/streamers/gds2/gds2.pro new file mode 100644 index 000000000..a9bfe6a92 --- /dev/null +++ b/src/plugins/streamers/gds2/gds2.pro @@ -0,0 +1,8 @@ + +TEMPLATE = subdirs + +SUBDIRS = db_plugin lay_plugin unit_tests + +lay_plugin.depends += db_plugin +unit_tests.depends += db_plugin + diff --git a/src/plugins/streamers/gds2/lay_plugin/lay_plugin.pro b/src/plugins/streamers/gds2/lay_plugin/lay_plugin.pro new file mode 100644 index 000000000..2b0691531 --- /dev/null +++ b/src/plugins/streamers/gds2/lay_plugin/lay_plugin.pro @@ -0,0 +1,25 @@ + +TARGET = gds2 +DESTDIR = $$OUT_PWD/../../../../lay_plugins + +include($$PWD/../../../lay_plugin.pri) + +INCLUDEPATH += $$PWD/../db_plugin +DEPENDPATH += $$PWD/../db_plugin +LIBS += -L$$DESTDIR/../db_plugins -lgds2 + +!isEmpty(RPATH) { + QMAKE_RPATHDIR += $$RPATH/db_plugins +} + +HEADERS = \ + layGDS2ReaderPlugin.h \ + layGDS2WriterPlugin.h \ + +SOURCES = \ + layGDS2ReaderPlugin.cc \ + layGDS2WriterPlugin.cc \ + +FORMS = \ + GDS2ReaderOptionPage.ui \ + GDS2WriterOptionPage.ui \ diff --git a/src/plugins/streamers/gds2/unit_tests/unit_tests.pro b/src/plugins/streamers/gds2/unit_tests/unit_tests.pro new file mode 100644 index 000000000..a46e85687 --- /dev/null +++ b/src/plugins/streamers/gds2/unit_tests/unit_tests.pro @@ -0,0 +1,21 @@ + +DESTDIR_UT = $$OUT_PWD/../../../.. + +TARGET = gds2_tests + +include($$PWD/../../../../lib_ut.pri) + +SOURCES = \ + dbGDS2Reader.cc \ + dbGDS2Writer.cc \ + +INCLUDEPATH += $$LAY_INC $$TL_INC $$DB_INC $$GSI_INC $$PWD/../db_plugin +DEPENDPATH += $$LAY_INC $$TL_INC $$DB_INC $$GSI_INC $$PWD/../db_plugin + +LIBS += -L$$DESTDIR_UT -lklayout_db -lklayout_tl -lklayout_gsi + +# This makes the test pull the mebes library for testing (not installed) +PLUGINPATH = $$OUT_PWD/../../../../db_plugins +QMAKE_RPATHDIR += $$PLUGINPATH + +LIBS += -L$$PLUGINPATH -lgds2 diff --git a/src/db/db/dbOASIS.cc b/src/plugins/streamers/oasis/db_plugin/dbOASIS.cc similarity index 100% rename from src/db/db/dbOASIS.cc rename to src/plugins/streamers/oasis/db_plugin/dbOASIS.cc diff --git a/src/db/db/dbOASIS.h b/src/plugins/streamers/oasis/db_plugin/dbOASIS.h similarity index 100% rename from src/db/db/dbOASIS.h rename to src/plugins/streamers/oasis/db_plugin/dbOASIS.h diff --git a/src/db/db/dbOASISReader.cc b/src/plugins/streamers/oasis/db_plugin/dbOASISReader.cc similarity index 100% rename from src/db/db/dbOASISReader.cc rename to src/plugins/streamers/oasis/db_plugin/dbOASISReader.cc diff --git a/src/db/db/dbOASISReader.h b/src/plugins/streamers/oasis/db_plugin/dbOASISReader.h similarity index 100% rename from src/db/db/dbOASISReader.h rename to src/plugins/streamers/oasis/db_plugin/dbOASISReader.h diff --git a/src/db/db/dbOASISWriter.cc b/src/plugins/streamers/oasis/db_plugin/dbOASISWriter.cc similarity index 100% rename from src/db/db/dbOASISWriter.cc rename to src/plugins/streamers/oasis/db_plugin/dbOASISWriter.cc diff --git a/src/db/db/dbOASISWriter.h b/src/plugins/streamers/oasis/db_plugin/dbOASISWriter.h similarity index 100% rename from src/db/db/dbOASISWriter.h rename to src/plugins/streamers/oasis/db_plugin/dbOASISWriter.h diff --git a/src/laybasic/laybasic/OASISWriterOptionPage.ui b/src/plugins/streamers/oasis/lay_plugin/OASISWriterOptionPage.ui similarity index 100% rename from src/laybasic/laybasic/OASISWriterOptionPage.ui rename to src/plugins/streamers/oasis/lay_plugin/OASISWriterOptionPage.ui diff --git a/src/laybasic/laybasic/layOASISReaderPlugin.cc b/src/plugins/streamers/oasis/lay_plugin/layOASISReaderPlugin.cc similarity index 100% rename from src/laybasic/laybasic/layOASISReaderPlugin.cc rename to src/plugins/streamers/oasis/lay_plugin/layOASISReaderPlugin.cc diff --git a/src/laybasic/laybasic/layOASISReaderPlugin.h b/src/plugins/streamers/oasis/lay_plugin/layOASISReaderPlugin.h similarity index 100% rename from src/laybasic/laybasic/layOASISReaderPlugin.h rename to src/plugins/streamers/oasis/lay_plugin/layOASISReaderPlugin.h diff --git a/src/laybasic/laybasic/layOASISWriterPlugin.cc b/src/plugins/streamers/oasis/lay_plugin/layOASISWriterPlugin.cc similarity index 100% rename from src/laybasic/laybasic/layOASISWriterPlugin.cc rename to src/plugins/streamers/oasis/lay_plugin/layOASISWriterPlugin.cc diff --git a/src/laybasic/laybasic/layOASISWriterPlugin.h b/src/plugins/streamers/oasis/lay_plugin/layOASISWriterPlugin.h similarity index 100% rename from src/laybasic/laybasic/layOASISWriterPlugin.h rename to src/plugins/streamers/oasis/lay_plugin/layOASISWriterPlugin.h diff --git a/src/db/unit_tests/dbOASISReader.cc b/src/plugins/streamers/oasis/unit_tests/dbOASISReader.cc similarity index 100% rename from src/db/unit_tests/dbOASISReader.cc rename to src/plugins/streamers/oasis/unit_tests/dbOASISReader.cc diff --git a/src/db/unit_tests/dbOASISWriter.cc b/src/plugins/streamers/oasis/unit_tests/dbOASISWriter.cc similarity index 100% rename from src/db/unit_tests/dbOASISWriter.cc rename to src/plugins/streamers/oasis/unit_tests/dbOASISWriter.cc diff --git a/src/db/unit_tests/dbOASISWriter2.cc b/src/plugins/streamers/oasis/unit_tests/dbOASISWriter2.cc similarity index 100% rename from src/db/unit_tests/dbOASISWriter2.cc rename to src/plugins/streamers/oasis/unit_tests/dbOASISWriter2.cc diff --git a/src/plugins/streamers/streamers.pro b/src/plugins/streamers/streamers.pro new file mode 100644 index 000000000..5d7bbf3ad --- /dev/null +++ b/src/plugins/streamers/streamers.pro @@ -0,0 +1,9 @@ + +TEMPLATE = subdirs + +# Automatically include all sub-folders, but not the .pro file +SUBDIR_LIST = $$files($$PWD/*) +SUBDIR_LIST -= $$PWD/streamers.pro + +SUBDIRS = $$SUBDIR_LIST +