From 8e8e931062c257bbb691bd18f13565c0f1a5ec83 Mon Sep 17 00:00:00 2001 From: "J. Daniel Smith" Date: Mon, 27 Nov 2023 17:07:57 -0500 Subject: [PATCH] link against CODA-OSS and NITRO as DLLs (#721) * latest from CODA-OSS and NITRO * Squashed 'externals/coda-oss/' changes from e87c32b4d..faf5d0521 faf5d0521 allow CMake to switch between building SHARED (DLLs) or STATIC libraires d15173f38 export symbols used by NITRO (#756) 6ed3c048b use Debug DLL library in Debug 5eae4c1f6 turn of /Wall for MSVC (#755) 47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization aea8e7b1e reduce use of str::toString() (#754) 8062154a4 HighFive 2,8,0 (#753) 92f8b88c7 std::ostringstream overloads 8cb27de27 reduce use of .c_str() and .str() (#752) 3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main 3ec510861 Add missing files 1693eac7e Update build_unittest.yml 03f1a3bdf release 2023-10-23 (#747) 4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss 9428f12a0 add extensions for .log and known Windows/Linux binaries (#746) c3fd20a88 added some OLD Visual Studio extensions d00db384a everything is text except for known binaries c3813bb29 eol=lf is the default 4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746) 18f2c051f more FmtX() -> str::Format() changes (#745) 959532681 reduce use of FmtX macro (#743) fffac7fc4 Fix memory leaks in "cli" (#741) 95ff879ba make it easier to turn on AVX2/AVX512F (#740) a950c848b enable AVX2 and AVX512F CMake builds (#739) 369737085 use std::ssize() to reduce casts (#738) 8ae7dabac std::size() and std::ssize() (#737) 8db480be5 enable ASAN for GitHub builds (#736) c92a55d7c build in SIX 333b91024 Squashed commit of the following: ac8c312db Only allow va_args formatting under controlled circumstances (#735) 589aacfd7 str::to_native() for when conversion to std::string really is needed 743feb41e try hard not to lose string encoding (#734) 1854a9b46 hide use of str::cast() inside `details` namespace (#733) fbe0c85f9 compile-time getSIMDInstructionSet() (#732) ee2c46358 more consistent naming for routines to convert between encodings (#731) 00e2dd928 another FmtX() overload 165a799c5 more FmtX() overloads (#729) 8dee6f7a6 revert toString() changes (#728) bf7ae4a71 use overloads rather than varargs for std::format() (#727) 22e050207 utility routines to reduce duplicated code (#726) a5ea60647 remove str::EncodedStringView (#725) 168cbae01 reduce differences between 'main' and 'cpp17' (#724) 5b892bf5f release 2023-08-18 (#723) 0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722) 7691adb56 normalize line endings (#721) b7d50efdd update to HDF5 1.14.2 (#720) fcc96ec69 Update .gitattributes (#719) bb82a94c9 xerces-c 3.2.4 (#718) ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717) b4ca18a11 fix compiler warning about order of operations a5df5b823 update to HighFive 2.7.1 (#716) 4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715) 00d843f87 remove hdf5.lite (#714) 443dd3825 Reduce compiler warnings, speed up builds (#713) d60861821 get optional working with partial C++17 (#712) d5bd0d804 "warning STL4036: is removed in C++20." c19ece7f9 Don't interfere with a partial C++20 implementation (#711) 065e86ddc operator==() for QName (#710) 1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709) 6dd247991 our optional<> is now closer to C++17 (#708) 87ac61739 strict checking on `std::complex` is too much of a hassle for now 034d52c86 overloads to byte-swap type::Complex are too much trouble (#707) 42d449c33 sys::byteSwap overloads for types::Complex (#705) 4092fd8e7 remove work-around for NITRO bug (#704) e2472acfc build in NITRO and SIX (#703) 32ccf9105 Use same build paths as Visual Studio (#701) 366ac9f43 Another round of removing compiler warnings (#702) a7f8ef260 Fix compile warnings from building CODA (#700) f70b4202f account for coda-oss.vcxproj being in other SLNs af3faebfc Remove more compiler/code-analysis warnings (#699) 82be2a6db unittests should work w/o install (#698) dbb90a06d add msbuild for coda-oss.sln (#697) 5a417140a reduce compiler warnings (#696) 288619dfa all modules now part of coda-oss.vcxproj (#695) c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694) ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693) d78a8595a OS::getSIMDInstructionSet() utility (#692) 2d2df467d fix `python3 waf dumplib` 54033e70e Merge branch 'main' into feature/complex_short 3c63f9f65 std::numbers from C++20 (#691) 892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690) b3872181e match coda-oss naming conventions (#688) 704d6867f beef-up our complex type (#687) 47c1c1cd6 check is_absolute() for URLs (#686) c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684) ad10286bc volatile is about "special" memory, not threading (#685) f4d42005f fix build error in NITRO ff11a5557 keep using std::complex for now (#682) c88b9c053 types::complex (#681) d1244a080 don't need our own make_unique in C++14 (#680) aeec0131c assert()s for mem::CopyablePtr (#679) 72b0ebd60 add types::complex_short (#678) 932130a58 patch to build other projects c00c1f203 coda-oss release 2023-06-06 (#677) ef54bbcd5 remove more compiler warnings (#676) dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674) 90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675) eb9960772 stronger type-checking for byteSwap() (#673) ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672) b1de8c0e5 std::byte should be a unique type (#671) c05bf9a02 allow enums to be byte-swapped too 1f9fd88d6 remove spurious 47684c45b byteSwap now uses byte buffers (#670) cbc659db2 add swapBytes() utility from SIX (#669) 891481b64 simplify byte-swapping (#668) 540ae763e more byteSwap() tweaks 0774c03c4 threaded byteSwap() (#667) d156370d3 swapping a single-byte value makes no sense c120e3255 be sure parameter is used to avoid compiler warning e85ec9331 --output-on-failure for CTest (#666) e80376197 turn off "there is no warning number" warning c5f0a5d15 A C-string may not be NULL-terminated (#665) 0c5eb29ae use platform-specific routines for byteSwap() (#664) 0b7d581fa remove transform_async() (#663) f6489b6be Merge branch 'main' into feature/xml.lite_tweaks 836c426a2 use function-pointers so that isConsoleOutput is only checked once 56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks 69cc0e506 use the more rigorous create_and_check_datatype() 9efb87558 Merge branch 'main' into feature/hdf5 4d2f2f417 more HighFive unittests (#662) 14191a844 HighFive::create_datatype() goes from C++ to HighFive 98583473f utility routines to read string attributes 1fa75ce81 use the C API to read a string attribute 71e7b69f5 still can't figure out how to read a string attribute :-( e96f37a69 test reading the file attributes a25244519 getAttribute() unittest 8f12a3000 getDataType() unittest 857ff0af3 HighFive utility routines (#661) 1d687db57 writeDataSet() utility overload 106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-( 2641b60b2 Merge branch 'main' into feature/hdf5 35c19e7e8 change actions to @v3 (#660) 212bbd3a3 works on local machine, but not build server ... ? 7125118b0 dump of 1D vector doesn't work :-( c704db435 sigh ... WAF build still failing :-( 01aae4616 does dump() of a 1D vector work? 76a53c813 comment-out H5 writing :-( 0f0e19aff test_highfive_dump() cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF 6584a264a does test_highfive_create() work? cde6147ce tweak HighFive wrappers (#659) 316566854 Revert "trying HighFive "write" unittests again" a9ec24ca4 trying HighFive "write" unittests again 585ad49a5 tweak names of utility routines 4c91a4d97 make it easier to read a std::vector and std::vecotr 0217ffa26 readDataSet() now works for 1D data 95e8973f2 trying to get hdf5::lite::load() working 4d294611d "const" correctness 5e6305c3f fix load_complex() 4a134dc5f start work on utility routines to read complex data from HDF5 9d76a7f41 Merge branch 'main' into feature/hdf5 8f9667a24 whitepsace ebd3fc99e Merge branch 'main' into feature/hdf5 40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure 935aa3459 be sure the dataset has real data 114b9bf33 update release notes bd9c0b26c tweak HighFive utility routines acda1ef57 turn off diagnostics around expected failures 22a748840 readDataSet() utility routine for HighFive bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC 6142f5b33 use HighFive routines to write a HDF5 file 5bbf1abaf Use HiveFive routines to get info about the file 84fbc8378 duplicate unittests with H5Easy f1f054c03 Merge branch 'main' into feature/hdf5 9b63ca470 fix directory names f6f826689 fix directory names 7aeb82c33 Merge branch 'main' into feature/hdf5 d028baaeb hook up HighFive header-only library (#653) 3083b0a31 Revert "HighFive 2.6.2" 246985a7f Revert ""build" HighFive HDF5 library" a8b75a586 Revert "turn off HighFive Boost support" ec68d5f83 Revert "Add HighFive unittests" f1f85b9e7 Revert "get test_high_five_base more-or-less compiling" 5ea634ee1 Revert "more work on getting HighFive unittests to build" ecc45433c more work on getting HighFive unittests to build bb194788a get test_high_five_base more-or-less compiling d42bde000 Add HighFive unittests ddc86bb32 turn off HighFive Boost support b255122d4 "build" HighFive HDF5 library 396cc3ef2 HighFive 2.6.2 5e5f9d9c0 Merge branch 'main' into feature/hdf5 ee938b4a5 changes from SIX bb764df90 Merge branch 'main' into feature/xml.lite_tweaks de2a24380 make derived classes 'final' if possible 14e19bcd2 Change xml lite function to virtual (#645) 8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks 18ad90645 hdf5Write unittest 3462e1179 createFile() and writeFile() overloads ecee81d53 fix typos 197eecfa6 sketch-out hdf5::lite::writeFile() bd2311795 use SpanRC for writeFile(), not yet implemented ea9af7510 simple SpanRC to hold a 2D-size and pointer 027c19ee8 createFile() unittest 1f9d07ecb hook up createFile() 8c7e4473f start hooking up HDF5 writing 146e0bea3 Merge branch 'main' into feature/hdf5 88ca9fcb7 Merge branch 'main' into feature/hdf5 42b604b46 Squashed commit of the following: 10ee602c2 Merge branch 'main' into feature/hdf5 67aa42b69 restore changes from "main" 8bbfcbfbf unittests can be simplified to match fewer "view" classes 126bb802e Merge branch 'main' into feature/hdf5 3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<> 24c2b489c Squashed commit of the following: 2703c119d Squashed commit of the following: 9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<> 51bc931dc Merge branch 'main' into feature/hdf5 a84f25816 Squashed commit of the following: c4d2ed696 add missing #include guards, fix type in existing #include guard d541525a0 use a single ComplexViewConstIterator for all views 86e6a459f CODA_OSS_disable_warning causes GCC errors :-( 5d4b9c2cb only need an custom iterator for ComplexSpansView d9f0fb128 hook up iterators b9329e4db initial pass at a ComplexViewConstIterator 635238873 remove compiler warning about unused "constexpr" variables b39f6096f use the casing from H5 to make copy/pasting code slightly easier 0887b13eb Merge branch 'main' into feature/hdf5 bd07df1ca Consistent casing for Dataset, Datatype, Dataspace 7acd30ee2 tweak hdf5.lite dependencies 38ab914df Jupyter notebook for creating H5 files 95a040e0b _small.h5 is now (correctly) FLOAT32 107e7c487 make a simple values() member function to avoid template magic e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch 738333688 readDatasetT() now throws for the wrong buffer type 6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5 310f8fd3d can't get template magic right for copy_axis() 86b306d59 stepping through copy ctors in the debugger is annoying f243e92d6 trying to make wrong type of buffer fail 2b10d9652 read in new sample file a28e59d8c help the compiler with type deduction 49bf5e9bc nested_complex_float_data_small.h5 e029325fc utility routines to "deconstruct" and array of std::complex dede3bd39 Merge branch 'main' into feature/hdf5 904b1ef5e tweak class names, make_() and copy() utility routines 8237b9efb make it harder to pass the wrong types to ComplexViews 4d9aeda2c ComplexArrayView and ComplexParallelView utility classes f5e367dfa test std::span> a4a2844f2 read in the nested "i" and "r" data 115615265 sample file has subgroups 8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5 9f4232a1d update sample H5 file 8c55db73a walk through HDF5 sub-groups 7775ed9c4 Update 123_barfoo_catdog_cx.h5 677975d7c Matlab code to create sample H5 file a0e7dfe07 Update test_hdf5info.cpp 0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message 86a677321 skeleton for more sample data 85f79b099 Merge branch 'main' into feature/hdf5 18088e942 Merge branch 'main' into feature/hdf5 3a1d17692 Merge branch 'main' into feature/hdf5 1755c69d7 Merge branch 'main' into feature/hdf5 9ad015432 No more "11" suffix on exception names c20d96251 Squashed commit of the following: c88cee999 other values to be filled-in bca4a4ecd incorporation NamedObject from HDF5 docs 61fa68f72 groupInfo() 460e7d766 datasetInfo() 14eb9b764 start filling in DatasetInfo afe5f1c3a start to fill in DatasetInfo 77a968c72 start filling in GroupInfo d81bcdfd9 openGroup() to open groups (loc) a0cd29469 comment-out "dataset" unittest for now 86e006024 begin filling in FileInfo 366dda6ab a return_type_of utility is needed to deduce the return type e21928263 explicitly pass return type to template 4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions b3b5ebde7 use new exception utility routines ea1c03ef0 put exception handling/conversion in a utility routine 819a99d39 utility routine for exception handling 6f34eea97 put utilities in a separate file for easier reuse fcbde4f24 break utility routines into smaller pieces for easier reuse 52358ea8a WIN32 no longer automatically defined? 5a4286472 Revert "build HDF5 with C89" 680e599e9 build HDF5 with C89 a87a07121 Merge branch 'main' into feature/hdf5 8447c1a90 Revert "sym-links instead of copying files" db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks fb60b5696 Merge branch 'main' into feature/hdf5 5110a5cc8 Comments about _u and _q 1a937d32c Merge branch 'main' into feature/xml.lite_tweaks fa06f04d7 get ready for hdf5.lite enhancdements b040c7c43 sym-links instead of copying files aa431bb47 use _u for xml::lite::Uri 3d0c6d58c fix case-sensitive #include filename 93dcd0e52 operator() for getElementByName() 75a93af85 more operator[] overloads to make attribute management easier 4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks ffdd9beb0 simplify attribute creation 9bf5414f5 simplify attribute creation 82d7a4e95 SWIG gets confused about namespaces 7a61d0741 fix bug on Element ctor uncovered by unittest fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings a325b7053 operator+=() overload for addChild daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks b887d2b47 provide overloads for Element& rather than creating new "reference" types 1fa6bba38 rename test_xmleasy.cpp 7c8c9e0f1 += overload 850da6f63 overload for std::string 4547fc5a7 use UIT-8 strings for characterData 4723462a3 convenient addChild() overloads e48720753 copy over ElementReference from xml.easy a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks 6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)" f7466a6d7 Revert "simple routines for single element" a5490230d Revert "make some operators simplier ways of calling functions" c9a25630a Revert "get document creation working" 8af8710b0 Revert "free functions instead of member functions" 16c3847cb Revert "ElementReference distinct from Element" 7d68e156f Revert "ElementMutableReference" 00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks a42969c1f ElementMutableReference a20ae9355 ElementReference distinct from Element 14eeeea0b free functions instead of member functions 4aae014b3 get document creation working 883569269 make some operators simplier ways of calling functions 053bd1212 simple routines for single element 8bf701a2e check-in of new xml.easy (to move code between computers) 41f959051 unittests for creating XML documents from scratch 9752d50ae Merge branch 'main' into feature/xml.lite_tweaks 1531d5709 by default, don't validate strings passed to Uri() 46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks 39b547d32 remove more vestiges of Expat and LibXML ec8274d52 remove LibXML and Expat as they're no longer used/supported. 20eeefeef Merge branch 'master' into feature/xml.lite_tweaks 95074b9b1 update for newer Intel compiler 7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks 57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks 4b67561c3 remove validate() overload that nobody is using fa15f1e5d Squashed commit of the following: 1484a9090 test the new validate() API 470da70fb hookup StringStreamT routines 2cddf2504 begin hooking up validate() overloads 1b5d910f3 overload validate() for UTF-8 and Windows-1252 03309b8c9 Squashed commit of the following: b72c6c5bf older compiler doesn't like our make_unique af8f00307 validate UTF-8 XML on Linux 211188613 unit-test for LEGACY XML validation 3c1169d2b Squashed commit of the following: 3afff19ca std::filesystem::path for FileInputStreamOS 908d452f8 WIP: validate all of our sample XML files 00f9bb16b validate against a XML schema 243d8c356 Merge branch 'master' into feature/xml.lite_tweaks 2815d707d fix to work with SWIG bindings. :-( 460862132 trying (again) to remove vestiages of old code e3c83a858 Revert "new code should use UTF-8" 811207c92 new code should use UTF-8 0ffd835f9 Squashed commit of the following: 1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks c1d806aff Merge branch 'master' into feature/xml.lite_tweaks 850d3c811 str::strip() that can be easier to use than str::trim() 580ba9c8c explicitly =delete move 2b39831a8 Squashed commit of the following: 39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks 9adf86cba force calling new UTF-8 write() routines ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks 8a34583fa overload to take schemaPaths as filesystem::path 8671b442f parse XML embedded in a binary file ec4a902f1 updates from xerces.lite 80dc4d963 updates from xerces.lite 549766d6c Attributes::contains() no longer catches an exception 8a645ceac need "sys/" when building in other environments 36af08269 super-simple URI validation 78ef28a3e SWIG bindings are a PITA! :-( e9cba8491 SWIG needs help with Uri 8a8d8dc07 another routines used by pre-build SWIG bindings 818e1ec5d pre-build SWIG bindings use getElementByTagName() member function 067cac5d8 old compiler gets confused on unadorned QName ba92c0ae7 more use of Uri and QName 446c7d17a use QName in new code d6f8b0c83 more direct use of QName 90fff1c73 use xml::lite::QName instead of tuple 646cbb5ed more direct use of QName and Uri ba589ea3b make QName more robust bab0ee8b5 createElement() -> addNewElement() e3a145747 grab changes from six-library 32285e95c Merge branch 'master' into feature/xml.lite_tweaks 9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks a12bbc32c make it easier to create new Elements with a value fc9967f98 make it easy for callers to addChild() keep a reference to the Element 4627766b7 be sure test_xmlparser works in "externals" of other projects bf2276396 "private" is part of the name-mangling fad92bcc8 making sure copy-ctor is implemented f90fdcead consolidate common XML test code 9fc53f2d5 use str:: utility for casting 6da6f794b still trying to find the right macro for SWIG 0c1b86c56 still trying to fix SWIG fdc6fc9bd trying to fix SWIG build error 7835e8c27 SWIG needs copy-ctor 585695942 disable copy/assignment for Element, it's probably almost always wrong 391fed613 fix double-delete caused by copying 61790fe69 retry parsing XML with Windows-1252 if first parse() fails 63cffac59 change string_encoding to match coda-oss style of PascalCase 010479bbe read an XML file we know is wrongly encoded as Windows-1252 9a0505062 more references instead of pointers 2d44b6951 Reading Windows-1252 w/o "encoding" fails 63dc7b076 read Windows-1252 too c9434c9cb test as UIT-8 too f310ccf0c get reading from UTF-8 XML working on Windows 1fa39c2be get testReadUtf8XmlFile working on Linux 1a83cd815 sys::Path is too much trouble right now ed60aa22c unit-test to read XML from a file a9336db7c Squashed commit of the following: 0825beb0d Merge branch 'master' into feature/xml.lite_tweaks c618489be Merge branch 'master' into feature/xml.lite_tweaks e8e4b8fe1 determine string_encoding based on platform 1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding 961bef66b Merge branch 'master' into feature/xml.lite_tweaks e9798a5cb fix static_assert() 6f7772874 Merge branch 'master' into feature/xml.lite_tweaks b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks 1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features. 53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks 60cf8ae80 "" doesn't work with decltype() in older C++ 97e72477a reduce getValue() overloads by making "key" a template argument 5e6373e55 reduce code duplication f9e7cfeee provide castValue instead of getValue(T&) cbd0bd8f2 castValue throws instead of returning a bool like getValue(T&) 87c7514fc Merge branch 'master' into feature/xml.lite_tweaks 10cc61223 make getElement*() consistent for zero or >1 results f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks 1765efc62 allow clients to specify toType() and toString() for getValue() and setValue() df8b746e1 allow clients to specify their own toType/toString routines 66702726a Merge branch 'master' into feature/xml.lite_tweaks 6956311f1 Merge branch 'master' into feature/xml.lite_tweaks d505f3593 Merge branch 'master' into feature/xml.lite_tweaks fbd106115 catch a BadCastException and return false from getValue() 3a78377b5 use a template to reduce duplicated code 0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks a848aa3a2 get & set the characer data as a type f3ee1ee12 utility routines to set an attribute value 595227683 templates to get an attribute value convert to a specific type 06639227b miised a change in last commit 1aa458ef8 add getValue() overloads that return true/false rather than throwing faa6d3075 added getElementByTagName() overloads as that's a very common use-case git-subtree-dir: externals/coda-oss git-subtree-split: faf5d052105327ecd137e269624d1ff03c9ecd24 * Squashed 'externals/nitro/' changes from c8ecbe9ae..22f11f42b 22f11f42b build as a DLL in Visual Studio (#603) 8d8184c27 NITRO can now build DLLs (#602) d3f58f038 added environment variable to enable pre-loading of TREs (#601) 85a113021 Merge branch 'main' of https://github.com/mdaus/nitro a1cec9cf6 Merge branch 'main' of https://github.com/mdaus/nitro 6801fa735 Merge branch 'main' of https://github.com/mdaus/nitro eca918471 /guard:cf 5d540334b /guard:cf de4686af0 improve TRE unitesting (#599) a4d0a5130 remove /Wall from MSVC (#598) b97c4a867 disable pre-loaded TREs (#597) 1075b4ecd be sure the string is properly padded for the field type a37046807 latest from CODA-OSS (#596) 205bf8e36 infrastructure for "preloading" TREs (#593) 0342b596a latest from CODA-OSS (#592) 0084f9bf7 reduce use of .str() (#591) 253f57b2b latest from CODA-OSS (#590) d6bc1d83a disable code-analysis to fix Github builds 981e75116 Update main.yml 907bf91cd Update frequent_check.yml 0357b1432 NITRO-2.11.5 (#589) a0ad6f943 CODA-OSS 2023-10-23 (#588) 1b631e578 latest from CODA-OSS (#587) 574bfe2b6 FmtX() -> str::Format() (#586) edfa0f7ce latest from CODA-OSS (#585) b26e15318 latest from CODA-OSS (#583) 0db9bdb29 fix ASAN diagnostics (#582) e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c' 6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7 32d9c4fe4 latest from CODA-OSS 49f6338d2 latest from CODA-OSS (#581) 72cd86cbf latest from CODA-OSS (#580) e4920a743 FmtX() -> str::Format() 81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68 e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595' 72209535d toString() changes from CODA-OSS (#579) fc1f59799 latest from CODA-OSS (#578) 02e8f80c6 latest from CODA-OSS (#577) e7ea728ec reduce differences between cpp17 and main branches (#576) 547d0aa9f NITRO-2.11.4 (#575) fe309c4ba Merge branch 'main' of github.com:mdaus/nitro 10efa9990 latest from CODA-OSS (#574) d08f1c0a1 CRLF db5d3d484 latest from CODA-OSS 98c755048 CRLF aa1482543 CRLF bfdbe69a4 Latest from CODA-OSS (#573) 9e4ce0b58 latest from CODA-OSS (#572) 227a8a8f4 trust coda-oss for right -std flags 13869687e latest from CODA-OSS (#571) 5724d8c18 latest from CODA-OSS (#570) fb794f0fe latest from CODA-OSS (#569) 7a6132ba0 update files changes in cpp17 branch (#568) de91d4977 Fix bug creating NITFException (#567) 225273436 fix YAML for 'main' 5d1c83d11 single project for unittests (#566) 102a019db latest from CODA-OSS (known broken build) (#565) b4ae2d429 match YAML from coda-oss 176bcaf6d build NITRO.SLN using msbuild (#562) 85e9043b8 latest from CODA-OSS (#561) 49ec50325 use new "PlatformToolkit" special environment variable (#560) 6c06e3711 latest from CODA-OSS (#559) cee9feb42 latest from CODA-OSS (#558) 3f01809fa latest from coda-oss (#557) 471fb3fc1 Update test_j2k_loading++.cpp b12caf2fc latest from CODA-OSS (#556) 0cd432624 use sys::make_span (#555) 05dae18a3 patch to build other projects 8f974e995 NITRO-2.11.3 (#554) 870aa6afd update to coda-oss 2023-06-05 (#553) 2fd7a0bfa latest from coda-oss (#552) 0eecce004 invoke() utility to reduce code duplication (#550) 59fb02fe9 latest from coda-oss (#551) 9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549) 089ba0b5b latest from coda-oss 3b52f0025 latest from coda-oss (#547) 90c6263e2 latest from coda-oss (#544) 90d513ac5 latest from coda-oss (#543) git-subtree-dir: externals/nitro git-subtree-split: 22f11f42b856d8d0c60e7018e467642be4757a23 * build in SIX * check_valid_six and crop_sicd both link * UnitTest project links * CSM links --- UnitTest/UnitTest.vcxproj | 19 ++- UnitTest/pch.h | 10 +- externals/coda-oss/UnitTest/UnitTest.vcxproj | 1 + externals/coda-oss/cmake/CodaBuild.cmake | 4 + .../coda-oss/modules/c++/coda-oss.vcxproj | 4 +- .../c++/config/include/config/Exports.h | 34 +++--- .../c++/logging/include/logging/Setup.h | 4 +- externals/coda-oss/modules/c++/pch.h | 10 +- .../sio.lite/include/sio/lite/FileHeader.h | 4 +- .../sio.lite/include/sio/lite/FileReader.h | 4 - .../sio.lite/include/sio/lite/SioFileReader.h | 7 +- .../sio.lite/include/sio/lite/StreamReader.h | 4 +- .../modules/c++/sys/include/sys/FileFinder.h | 15 +-- .../c++/sys/include/sys/sys_filesystem.h | 1 + .../c++/xml.lite/include/xml/lite/Element.h | 2 +- externals/nitro/UnitTest/UnitTest.cpp | 4 +- externals/nitro/UnitTest/UnitTest.vcxproj | 12 +- externals/nitro/UnitTest/pch.h | 11 +- externals/nitro/modules/c++/nitf-c++.vcxproj | 15 ++- .../modules/c++/nitf/apps/show_nitf++/pch.h | 5 - .../nitf/apps/show_nitf++/show_nitf++.vcxproj | 7 +- .../modules/c++/nitf/include/nitf/exports.hpp | 40 ++++--- externals/nitro/modules/c++/pch.h | 11 +- .../nitro/modules/c/j2k/J2KCompress.vcxproj | 4 +- .../nitro/modules/c/j2k/J2KDecompress.vcxproj | 4 +- .../nitro/modules/c/j2k/source/OpenJPEGImpl.c | 8 ++ externals/nitro/modules/c/nitf-c.vcxproj | 11 +- .../nitro/modules/c/nitf-c.vcxproj.filters | 3 + externals/nitro/modules/c/nitf/ACCHZB.vcxproj | 113 ------------------ externals/nitro/modules/c/nitf/ACCPOB.vcxproj | 113 ------------------ externals/nitro/modules/c/nitf/ACFTA.vcxproj | 113 ------------------ externals/nitro/modules/c/nitf/AIMIDB.vcxproj | 113 ------------------ externals/nitro/modules/c/nitf/CSCRNA.vcxproj | 113 ------------------ externals/nitro/modules/c/nitf/CSEXRB.vcxproj | 113 ------------------ externals/nitro/modules/c/nitf/ENGRDA.vcxproj | 113 ------------------ externals/nitro/modules/c/nitf/HISTOA.vcxproj | 113 ------------------ externals/nitro/modules/c/nitf/JITCID.vcxproj | 113 ------------------ externals/nitro/modules/c/nitf/PTPRAA.vcxproj | 113 ------------------ externals/nitro/modules/c/nitf/RPFHDR.vcxproj | 113 ------------------ .../nitro/modules/c/nitf/TEST_DES.vcxproj | 8 +- .../modules/c/nitf/include/nitf/BandInfo.h | 2 +- .../modules/c/nitf/include/nitf/Defines.h | 2 +- .../nitro/modules/c/nitf/include/nitf/Field.h | 4 +- .../modules/c/nitf/include/nitf/ImageIO.h | 36 +++--- .../modules/c/nitf/include/nitf/NitfWriter.h | 8 +- .../c/nitf/include/nitf/PluginIdentifier.h | 2 +- .../c/nitf/include/nitf/PluginRegistry.h | 8 +- .../modules/c/nitf/include/nitf/System.h | 2 +- externals/nitro/modules/c/nitf/source/Field.c | 4 +- .../nitro/modules/c/nitf/source/ImageIO.c | 4 +- .../modules/c/nitf/source/PluginRegistry.c | 85 +++++++++++-- externals/nitro/modules/c/nitf/source/TRE.c | 2 +- externals/nitro/modules/c/nitf/source/TREs.c | 4 +- .../nitro/modules/c/nrt/include/nrt/Defines.h | 15 +++ .../nitro/modules/c/nrt/include/nrt/Error.h | 4 +- .../nitro/modules/c/nrt/include/nrt/Exports.h | 107 +++++++++++++++++ .../nitro/modules/c/nrt/include/nrt/Types.h | 10 +- .../nitro/modules/c/nrt/include/nrt/Utils.h | 22 ++-- externals/nitro/modules/c/nrt/source/Utils.c | 16 +-- externals/nitro/modules/c/pch.h | 6 + externals/nitro/nitro.sln | 12 +- six/modules/c++/cphd/cphd.vcxproj | 7 +- six/modules/c++/cphd03/cphd03.vcxproj | 7 +- six/modules/c++/cphd03/framework.h | 6 - six/modules/c++/nitro_pch.h | 5 - .../check_valid_six.vcxproj | 19 ++- .../c++/samples/check_valid_six.dir/pch.h | 4 - .../samples/crop_sicd.dir/crop_sicd.vcxproj | 22 +++- six/modules/c++/samples/crop_sicd.dir/pch.h | 3 - six/modules/c++/scene/scene.vcxproj | 9 +- six/modules/c++/six.convert/framework.h | 2 - six/modules/c++/six.sicd/framework.h | 2 - six/modules/c++/six.sicd/six.sicd.vcxproj | 12 +- six/modules/c++/six.sidd/six.sidd.vcxproj | 12 +- six/modules/c++/six/six.vcxproj | 15 +-- six/projects/csm/csm.vcxproj | 23 +++- six/projects/csm/framework.h | 6 - 77 files changed, 503 insertions(+), 1515 deletions(-) delete mode 100644 externals/nitro/modules/c/nitf/ACCHZB.vcxproj delete mode 100644 externals/nitro/modules/c/nitf/ACCPOB.vcxproj delete mode 100644 externals/nitro/modules/c/nitf/ACFTA.vcxproj delete mode 100644 externals/nitro/modules/c/nitf/AIMIDB.vcxproj delete mode 100644 externals/nitro/modules/c/nitf/CSCRNA.vcxproj delete mode 100644 externals/nitro/modules/c/nitf/CSEXRB.vcxproj delete mode 100644 externals/nitro/modules/c/nitf/ENGRDA.vcxproj delete mode 100644 externals/nitro/modules/c/nitf/HISTOA.vcxproj delete mode 100644 externals/nitro/modules/c/nitf/JITCID.vcxproj delete mode 100644 externals/nitro/modules/c/nitf/PTPRAA.vcxproj delete mode 100644 externals/nitro/modules/c/nitf/RPFHDR.vcxproj create mode 100644 externals/nitro/modules/c/nrt/include/nrt/Exports.h diff --git a/UnitTest/UnitTest.vcxproj b/UnitTest/UnitTest.vcxproj index e4b39643d7..be06747ca0 100644 --- a/UnitTest/UnitTest.vcxproj +++ b/UnitTest/UnitTest.vcxproj @@ -58,7 +58,7 @@ Level4 true $(SolutionDir);$(SolutionDir)six\modules\c++\scene\include;$(SolutionDir)six\modules\c++\six\include;$(SolutionDir)six\modules\c++\six.sidd\include;$(SolutionDir)six\modules\c++\six.sicd\include;$(SolutionDir)six\modules\c++\cphd\include;$(SolutionDir)six\modules\c++\cphd03\include;$(SolutionDir)externals\nitro\modules\c\nrt\include;$(SolutionDir)externals\nitro\modules\c\nitf\include;$(SolutionDir)externals\nitro\modules\c++\nitf\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration);$(SolutionDir)out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)out\install\$(Platform)-$(Configuration);$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) - _DEBUG;SIX_DEFAULT_SCHEMA_PATH=R"($(SolutionDir)install-$(Configuration)-$(Platform).$(PlatformToolset)\conf\schema\six)";%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + _DEBUG;SIX_DEFAULT_SCHEMA_PATH=R"($(SolutionDir)install-$(Configuration)-$(Platform).$(PlatformToolset)\conf\schema\six)";%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true pch.h true @@ -84,7 +84,7 @@ true true $(SolutionDir);$(SolutionDir)six\modules\c++\scene\include;$(SolutionDir)six\modules\c++\six\include;$(SolutionDir)six\modules\c++\six.sidd\include;$(SolutionDir)six\modules\c++\six.sicd\include;$(SolutionDir)six\modules\c++\cphd\include;$(SolutionDir)six\modules\c++\cphd03\include;$(SolutionDir)externals\nitro\modules\c\nrt\include;$(SolutionDir)externals\nitro\modules\c\nitf\include;$(SolutionDir)externals\nitro\modules\c++\nitf\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration);$(SolutionDir)out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)out\install\$(Platform)-$(Configuration);$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) - NDEBUG;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + NDEBUG;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true pch.h true @@ -293,12 +293,27 @@ + + {9997e895-5161-4ddf-8f3f-099894cb2f21} + + + {8f357a19-799e-4971-850e-3f28485c130b} + + + {f06550ad-cfc7-40b8-8727-6c82c69a8982} + + + {78849481-d356-4cc7-b182-31c21f857ed1} + {016ef417-e41c-404c-b3b5-34b6cdd94bb3} {01be4480-9620-4ded-b34f-d2e3ab4b7c8b} + + {1cfcde59-6410-4037-95eb-b37d31e10820} + {34ac2314-fbd1-42ad-aaf4-0cebc6bf737e} diff --git a/UnitTest/pch.h b/UnitTest/pch.h index 0925dea43a..c1e5c99f31 100644 --- a/UnitTest/pch.h +++ b/UnitTest/pch.h @@ -82,17 +82,11 @@ #include #pragma comment(lib, "ws2_32") -#pragma comment(lib, "mt-c++") -#pragma comment(lib, "sys-c++") -#pragma comment(lib, "except-c++") -#pragma comment(lib, "str-c++") -#pragma comment(lib, "xerces-c") -#pragma comment(lib, "xml.lite-c++.lib") #pragma warning(push) -#pragma warning(disable: 4800) // Implicit conversion from '...' to bool.Possible information loss +#pragma warning(disable: 4800) // Implicit conversion from '...' to bool. Possible information loss #pragma warning(disable: 4388) // '...': signed / unsigned mismatch -#pragma warning(disable: 4866) // compiler may not enforce left - to - right evaluation order for call to '...' +#pragma warning(disable: 4866) // compiler may not enforce left-to-right evaluation order for call to '...' #include "CppUnitTest.h" #pragma warning(pop) diff --git a/externals/coda-oss/UnitTest/UnitTest.vcxproj b/externals/coda-oss/UnitTest/UnitTest.vcxproj index f06331de90..020ee7b39b 100644 --- a/externals/coda-oss/UnitTest/UnitTest.vcxproj +++ b/externals/coda-oss/UnitTest/UnitTest.vcxproj @@ -71,6 +71,7 @@ true /Zc:__cplusplus %(AdditionalOptions) AdvancedVectorExtensions2 + MultiThreadedDebugDLL Windows diff --git a/externals/coda-oss/cmake/CodaBuild.cmake b/externals/coda-oss/cmake/CodaBuild.cmake index 1427737888..5ac3ed9627 100644 --- a/externals/coda-oss/cmake/CodaBuild.cmake +++ b/externals/coda-oss/cmake/CodaBuild.cmake @@ -128,8 +128,12 @@ macro(coda_initialize_build) option(BUILD_SHARED_LIBS "Build shared libraries instead of static." OFF) if(BUILD_SHARED_LIBS) set(CODA_LIBRARY_TYPE "shared") + add_definitions(-DCODA_OSS_LIBRARY_SHARED=1) + add_definitions(-UCODA_OSS_LIBRARY_STATIC) else() set(CODA_LIBRARY_TYPE "static") + add_definitions(-DCODA_OSS_LIBRARY_STATIC=1) + add_definitions(-UCODA_OSS_LIBRARY_SHARED) endif() option(CODA_BUILD_TESTS "build tests" ON) diff --git a/externals/coda-oss/modules/c++/coda-oss.vcxproj b/externals/coda-oss/modules/c++/coda-oss.vcxproj index 77af044c55..7278051f64 100644 --- a/externals/coda-oss/modules/c++/coda-oss.vcxproj +++ b/externals/coda-oss/modules/c++/coda-oss.vcxproj @@ -566,7 +566,7 @@ Level4 true - _DEBUG;_LIB;%(PreprocessorDefinitions);CODA_OSS_EXPORTS;CODA_OSS_DLL;MT_DEFAULT_PINNING=0;RE_ENABLE_STD_REGEX=1 + _DEBUG;%(PreprocessorDefinitions);MT_DEFAULT_PINNING=0;RE_ENABLE_STD_REGEX=1;CODA_OSS_EXPORTS;CODA_OSS_LIBRARY_SHARED=1 pch.h cli\include;coda_oss\include;config\include;dbi\include;except\include;gsl\include;hdf5.lite\include;io\include;logging\include;math\include;math.linear\include;math.poly\include;mem\include;mt\include;net\include;net.ssl\include;plugin\include;polygon\include;re\include;sio.lite\include;std\include;str\include;sys\include;tiff\include;types\include;unique\include;units\include;xml.lite\include;zip\include;$(ProjectDir)include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)externals\$(ProjectName)\out\install\$(Platform)-$(Configuration)\include Use @@ -596,7 +596,7 @@ true true true - NDEBUG;_LIB;%(PreprocessorDefinitions);CODA_OSS_EXPORTS;CODA_OSS_DLL;MT_DEFAULT_PINNING=0;RE_ENABLE_STD_REGEX=1 + NDEBUG;%(PreprocessorDefinitions);MT_DEFAULT_PINNING=0;RE_ENABLE_STD_REGEX=1;CODA_OSS_EXPORTS;CODA_OSS_LIBRARY_SHARED=1 pch.h cli\include;coda_oss\include;config\include;dbi\include;except\include;gsl\include;hdf5.lite\include;io\include;logging\include;math\include;math.linear\include;math.poly\include;mem\include;mt\include;net\include;net.ssl\include;plugin\include;polygon\include;re\include;sio.lite\include;std\include;str\include;sys\include;tiff\include;types\include;unique\include;units\include;xml.lite\include;zip\include;$(ProjectDir)include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)externals\$(ProjectName)\out\install\$(Platform)-$(Configuration)\include Use diff --git a/externals/coda-oss/modules/c++/config/include/config/Exports.h b/externals/coda-oss/modules/c++/config/include/config/Exports.h index 6b77d9fd74..71949e7c7b 100644 --- a/externals/coda-oss/modules/c++/config/include/config/Exports.h +++ b/externals/coda-oss/modules/c++/config/include/config/Exports.h @@ -1,22 +1,30 @@ -#ifndef CODA_OSS_config_Exports_h_INCLUDED_ -#define CODA_OSS_config_Exports_h_INCLUDED_ #pragma once #include "config/compiler_extensions.h" -// Need to specify how this code will be consumed, either CODA_OSS_LIB (static library) -// or CODA_OSS_DLL (aka "shared" library). For DLLs, it needs to be set for BOTH +// Need to specify how this code will be consumed, either CODA_OSS_LIB_ (static library) +// or CODA_OSS_DLL_ (aka "shared" library). For DLLs, it needs to be set for BOTH // "exporting" (building this code) and "importing" (consuming). // // Use Windows naming conventions (DLL, LIB) because this really only matters for _MSC_VER, see below. -#if !defined(CODA_OSS_LIB) && !defined(CODA_OSS_DLL) - #define CODA_OSS_LIB 1 - //#define CODA_OSS_DLL 1 +#if !defined(CODA_OSS_LIB_) && !defined(CODA_OSS_DLL_) + #if CODA_OSS_LIBRARY_SHARED + #if CODA_OSS_LIBRARY_STATIC + #error "CODA_OSS_LIBRARY_SHARED already #define'd'" + #endif + #define CODA_OSS_DLL_ 1 // Symbols must be exported and imported (see below). + #else + // CODA_OSS_LIBRARY_STATIC doesn't have to be defined + #define CODA_OSS_LIB_ 1 // Static library, all symbols visible. + #endif #endif -#if defined(CODA_OSS_LIB) && defined(CODA_OSS_DLL) - #error "Both CODA_OSS_LIB and CODA_OSS_DLL are #define'd'" +#if !defined(CODA_OSS_LIB_) && !defined(CODA_OSS_DLL_) + #error "One of CODA_OSS_LIB_ pr CODA_OSS_DLL_ must be #define'd'" #endif -#if defined(CODA_OSS_EXPORTS) && defined(CODA_OSS_LIB) +#if defined(CODA_OSS_LIB_) && defined(CODA_OSS_DLL_) + #error "Both CODA_OSS_LIB_ and CODA_OSS_DLL_ are #define'd'" +#endif +#if defined(CODA_OSS_EXPORTS) && defined(CODA_OSS_LIB_) #error "Can't export from a LIB'" #endif @@ -35,10 +43,10 @@ // We need to know whether we're consuming (importing) a DLL or static LIB // The default is a static LIB as that's what existing code/builds expect. - #ifdef CODA_OSS_DLL + #ifdef CODA_OSS_DLL_ // Actually, it seems that the linker is able to figure this out from the .LIB, so // there doesn't seem to be a need for __declspec(dllimport). Clients don't - // need to #define CODA_OSS_DLL ... ? Well, almost ... it looks + // need to #define CODA_OSS_DLL_ ... ? Well, almost ... it looks // like __declspec(dllimport) is needed to get virtual "inline"s (e.g., // destructors) correct. #define CODA_OSS_API CODA_OSS_library_import @@ -50,5 +58,3 @@ #if defined(_MSC_VER) #pragma warning(disable: 4251) // '...' : class '...' needs to have dll-interface to be used by clients of struct '...' #endif - -#endif // CODA_OSS_config_Exports_h_INCLUDED_ diff --git a/externals/coda-oss/modules/c++/logging/include/logging/Setup.h b/externals/coda-oss/modules/c++/logging/include/logging/Setup.h index ed6334d6e4..763767a49f 100644 --- a/externals/coda-oss/modules/c++/logging/include/logging/Setup.h +++ b/externals/coda-oss/modules/c++/logging/include/logging/Setup.h @@ -20,6 +20,7 @@ * */ +#pragma once #ifndef CODA_OSS_logging_Setup_h_INCLUDED_ #define CODA_OSS_logging_Setup_h_INCLUDED_ @@ -29,6 +30,7 @@ #include "mem/SharedPtr.h" #include "logging/Logger.h" #include "sys/filesystem.h" +#include "config/Exports.h" namespace logging { @@ -48,7 +50,7 @@ using path = coda_oss::filesystem::path; // still used in SWIG bindings * \param logCount - number of rotating logs to keep (default: 0 no rotation) * \param logBytes - number of bytes per rotating log (default: 0 no rotation) */ -std::unique_ptr setupLogger( +CODA_OSS_API std::unique_ptr setupLogger( const path& program, const std::string& logLevel = "warning", const path& logFile = "console", diff --git a/externals/coda-oss/modules/c++/pch.h b/externals/coda-oss/modules/c++/pch.h index 7952e6efa2..5cda65986c 100644 --- a/externals/coda-oss/modules/c++/pch.h +++ b/externals/coda-oss/modules/c++/pch.h @@ -5,8 +5,13 @@ // Do not add files here that you will be updating frequently as this negates the performance advantage. #pragma once -#ifndef CODA_OSS_pch_h_INCLUDED_ -#define CODA_OSS_pch_h_INCLUDED_ + +// We're building in Visual Studio ... used to control where we get a little bit +// of config info +#define CODA_OSS_PCH 1 +#ifndef CODA_OSS_LIBRARY_SHARED +#define CODA_OSS_LIBRARY_SHARED 1 +#endif #include "coda_oss/CPlusPlus.h" #include "config/disable_compiler_warnings.h" @@ -114,4 +119,3 @@ CODA_OSS_disable_warning_pop #include "hdf5/lite/H5_.h" #pragma comment(lib, "hdf5-c++.lib") -#endif //CODA_OSS_pch_h_INCLUDED_ diff --git a/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/FileHeader.h b/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/FileHeader.h index a5633e5098..1a76c16764 100644 --- a/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/FileHeader.h +++ b/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/FileHeader.h @@ -19,6 +19,7 @@ * see . * */ +#pragma once #ifndef __SIO_LITE_FILE_HEADER_H__ #define __SIO_LITE_FILE_HEADER_H__ @@ -28,6 +29,7 @@ #include #include #include +#include "config/Exports.h" #include "sio/lite/UserDataDictionary.h" #include "sio/lite/InvalidHeaderException.h" #include "sio/lite/UnsupportedDataTypeException.h" @@ -37,7 +39,7 @@ namespace sio namespace lite { -class FileHeader +class CODA_OSS_API FileHeader { public: /** Unsigned byte data */ diff --git a/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/FileReader.h b/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/FileReader.h index b94fbc1ae7..885b3b68b6 100644 --- a/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/FileReader.h +++ b/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/FileReader.h @@ -19,10 +19,6 @@ * see . * */ -#ifndef CODA_OSS_sio_lite_FileReader_h_INCLUDED_ -#define CODA_OSS_sio_lite_FileReader_h_INCLUDED_ #pragma once - #include "sio/lite/SioFileReader.h" -#endif // CODA_OSS_sio_lite_FileReader_h_INCLUDED_ diff --git a/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/SioFileReader.h b/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/SioFileReader.h index 446476dfc7..54fe31c32f 100644 --- a/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/SioFileReader.h +++ b/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/SioFileReader.h @@ -19,12 +19,14 @@ * see . * */ +#pragma once #ifndef __SIO_LITE_FILE_READER_H__ #define __SIO_LITE_FILE_READER_H__ #include #include #include +#include "config/Exports.h" #include "sio/lite/InvalidHeaderException.h" #include "sio/lite/StreamReader.h" @@ -80,12 +82,9 @@ namespace lite \endcode */ -class FileReader : public StreamReader, public io::Seekable +class CODA_OSS_API FileReader : public StreamReader, public io::Seekable { - - public: - /** Constructor */ FileReader() : StreamReader() {} diff --git a/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/StreamReader.h b/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/StreamReader.h index 982b8900fb..efa9897ffc 100644 --- a/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/StreamReader.h +++ b/externals/coda-oss/modules/c++/sio.lite/include/sio/lite/StreamReader.h @@ -19,10 +19,12 @@ * see . * */ +#pragma once #ifndef __SIO_LITE_STREAM_READER_H__ #define __SIO_LITE_STREAM_READER_H__ #include +#include "config/Exports.h" #include "sio/lite/FileHeader.h" namespace sio @@ -87,7 +89,7 @@ namespace lite \endcode * */ -class StreamReader : public io::InputStream +class CODA_OSS_API StreamReader : public io::InputStream { public: /** Constructor */ diff --git a/externals/coda-oss/modules/c++/sys/include/sys/FileFinder.h b/externals/coda-oss/modules/c++/sys/include/sys/FileFinder.h index 0485de3c89..e60ec85534 100644 --- a/externals/coda-oss/modules/c++/sys/include/sys/FileFinder.h +++ b/externals/coda-oss/modules/c++/sys/include/sys/FileFinder.h @@ -20,6 +20,7 @@ * */ +#pragma once #ifndef __SYS_FILE_FINDER_H__ #define __SYS_FILE_FINDER_H__ @@ -37,7 +38,7 @@ namespace sys /** * Predicate interface for all entries */ -struct FilePredicate +struct CODA_OSS_API FilePredicate { using argument_type = std::string; using result_type = bool; @@ -58,7 +59,7 @@ struct ExistsPredicate : FilePredicate /** * Predicate that matches files only (no directories) */ -struct FileOnlyPredicate: public FilePredicate +struct CODA_OSS_API FileOnlyPredicate : public FilePredicate { virtual ~FileOnlyPredicate() = default; virtual bool operator()(const std::string& entry) const override; @@ -147,7 +148,7 @@ struct LogicalPredicate : public FilePredicate * The FileFinder class allows you to search for * files/directories in a clean way. */ -struct FileFinder final +struct CODA_OSS_API FileFinder final { FileFinder() = default; ~FileFinder() = default; @@ -167,7 +168,7 @@ struct FileFinder final // until either the file is found or we stop at a ".git" directory. // // This (obviously) might take a while, so consider whether the result should be cached. -coda_oss::filesystem::path findFirstFile(const coda_oss::filesystem::path& startingDirectory, const coda_oss::filesystem::path& filename); +CODA_OSS_API coda_oss::filesystem::path findFirstFile(const coda_oss::filesystem::path& startingDirectory, const coda_oss::filesystem::path& filename); coda_oss::filesystem::path findFirstDirectory(const coda_oss::filesystem::path& startingDirectory, const coda_oss::filesystem::path& dir); // This is here most to avoid creating a new module for a few utility routines @@ -175,11 +176,11 @@ namespace test // i.e., sys::test { // Try to find the specified "root" directory starting at the given path. // Used by unittest to find sample files. - coda_oss::filesystem::path findRootDirectory(const coda_oss::filesystem::path& p, const std::string& rootName, + CODA_OSS_API coda_oss::filesystem::path findRootDirectory(const coda_oss::filesystem::path& p, const std::string& rootName, std::function isRoot); - coda_oss::filesystem::path findCMakeBuildRoot(const coda_oss::filesystem::path& p); - bool isCMakeBuild(const coda_oss::filesystem::path& p); + CODA_OSS_API coda_oss::filesystem::path findCMakeBuildRoot(const coda_oss::filesystem::path& p); + bool CODA_OSS_API isCMakeBuild(const coda_oss::filesystem::path& p); coda_oss::filesystem::path findCMakeInstallRoot(const coda_oss::filesystem::path& p); bool isCMakeInstall(const coda_oss::filesystem::path& p); diff --git a/externals/coda-oss/modules/c++/sys/include/sys/sys_filesystem.h b/externals/coda-oss/modules/c++/sys/include/sys/sys_filesystem.h index 59df476a5d..3cbab0837e 100644 --- a/externals/coda-oss/modules/c++/sys/include/sys/sys_filesystem.h +++ b/externals/coda-oss/modules/c++/sys/include/sys/sys_filesystem.h @@ -79,6 +79,7 @@ struct CODA_OSS_API path final // N.B. this is an INCOMPLETE and NON-STANDARD im { *this = source; } + ~path() = default; path& operator=(const path&) = default; path& operator=(path&&) = default; diff --git a/externals/coda-oss/modules/c++/xml.lite/include/xml/lite/Element.h b/externals/coda-oss/modules/c++/xml.lite/include/xml/lite/Element.h index 323b77aba3..ee4e05346e 100644 --- a/externals/coda-oss/modules/c++/xml.lite/include/xml/lite/Element.h +++ b/externals/coda-oss/modules/c++/xml.lite/include/xml/lite/Element.h @@ -499,7 +499,7 @@ struct CODA_OSS_API Element // SOAPElement derives :-( coda_oss::u8string mCharacterData; }; -Element& add(const xml::lite::QName&, const std::string& value, Element& parent); +CODA_OSS_API Element& add(const xml::lite::QName&, const std::string& value, Element& parent); #ifndef SWIG // The (old) version of SWIG we're using doesn't like certain C++11 features. diff --git a/externals/nitro/UnitTest/UnitTest.cpp b/externals/nitro/UnitTest/UnitTest.cpp index 96add941b2..ea4c5718fd 100644 --- a/externals/nitro/UnitTest/UnitTest.cpp +++ b/externals/nitro/UnitTest/UnitTest.cpp @@ -8,6 +8,8 @@ TEST_MODULE_INITIALIZE(methodName) { // module initialization code - nitf_PluginRegistry_PreloadedTREHandlersEnable(NRT_TRUE); + //nitf_PluginRegistry_PreloadedTREHandlersEnable(NRT_TRUE); + _putenv("NITF_PRELOADED_TRE_HANDLERS_ENABLE=default"); + nitf::Test::j2kSetNitfPluginPath(); } \ No newline at end of file diff --git a/externals/nitro/UnitTest/UnitTest.vcxproj b/externals/nitro/UnitTest/UnitTest.vcxproj index bae72b864d..547527c2ab 100644 --- a/externals/nitro/UnitTest/UnitTest.vcxproj +++ b/externals/nitro/UnitTest/UnitTest.vcxproj @@ -58,7 +58,7 @@ Level4 true $(ProjectDir);$(SolutionDir)modules\c\nrt\include;$(SolutionDir)modules\c\nitf\include;$(SolutionDir)modules\c++\nitf\include;$(SolutionDir)modules\c\j2k\include;$(SolutionDir)modules\c;$(SolutionDir)modules\c++;$(SolutionDir)externals\coda-oss\modules\c++;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include;$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) - _DEBUG;%(PreprocessorDefinitions) + _DEBUG;%(PreprocessorDefinitions);CODA_OSS_LIBRARY_SHARED=1 true pch.h AdvancedVectorExtensions2 @@ -68,6 +68,8 @@ true true true + Guard + ProgramDatabase Windows @@ -82,7 +84,7 @@ true true $(ProjectDir);$(SolutionDir)modules\c\nrt\include;$(SolutionDir)modules\c\nitf\include;$(SolutionDir)modules\c++\nitf\include;$(SolutionDir)modules\c\j2k\include;$(SolutionDir)modules\c;$(SolutionDir)modules\c++;$(SolutionDir)externals\coda-oss\modules\c++;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include;$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) - NDEBUG;%(PreprocessorDefinitions) + NDEBUG;%(PreprocessorDefinitions);CODA_OSS_LIBRARY_SHARED=1 true pch.h AdvancedVectorExtensions2 @@ -252,15 +254,15 @@ + + {9997e895-5161-4ddf-8f3f-099894cb2f21} + {8f357a19-799e-4971-850e-3f28485c130b} {f06550ad-cfc7-40b8-8727-6c82c69a8982} - - {78849481-d356-4cc7-b182-31c21f857ed1} - diff --git a/externals/nitro/UnitTest/pch.h b/externals/nitro/UnitTest/pch.h index 37e984a9ed..86707841a5 100644 --- a/externals/nitro/UnitTest/pch.h +++ b/externals/nitro/UnitTest/pch.h @@ -20,20 +20,15 @@ // We're building in Visual Studio ... used to control where we get a little bit of config info #define NITRO_PCH 1 +#ifndef CODA_OSS_LIBRARY_SHARED +#define CODA_OSS_LIBRARY_SHARED 1 +#endif #include #include #include #include -#pragma comment(lib, "io-c++") -#pragma comment(lib, "io-c++") -#pragma comment(lib, "except-c++") -#pragma comment(lib, "sys-c++") -#pragma comment(lib, "str-c++") -#pragma comment(lib, "sio.lite-c++.lib") -#pragma comment(lib, "math-c++") -#pragma comment(lib, "mt-c++") #include #include diff --git a/externals/nitro/modules/c++/nitf-c++.vcxproj b/externals/nitro/modules/c++/nitf-c++.vcxproj index 6d12f0550b..a39078a41e 100644 --- a/externals/nitro/modules/c++/nitf-c++.vcxproj +++ b/externals/nitro/modules/c++/nitf-c++.vcxproj @@ -171,6 +171,9 @@ + + {9997e895-5161-4ddf-8f3f-099894cb2f21} + {f06550ad-cfc7-40b8-8727-6c82c69a8982} @@ -185,11 +188,11 @@ - StaticLibrary + DynamicLibrary v143 - StaticLibrary + DynamicLibrary v143 true @@ -216,7 +219,7 @@ Level4 true - _DEBUG;%(PreprocessorDefinitions) + _DEBUG;%(PreprocessorDefinitions);;NITRO_NITFCPP_EXPORTS;CODA_OSS_LIBRARY_SHARED=1 true $(ProjectDir)nitf\include;$(ProjectDir)..\c\nrt\include;$(ProjectDir)..\c\nitf\include;$(ProjectDir)..\c\j2k\include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include Use @@ -239,7 +242,7 @@ true - $(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\lib\;$(SolutionDir)externals\coda-oss\install-$(Configuration)-$(Platform).$(PlatformToolset)\lib\ + $(SolutionDir)out\install\$(Platform)-$(Configuration)\lib\;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\lib\ $(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\lib\;$(SolutionDir)externals\coda-oss\install-$(Configuration)-$(Platform).$(PlatformToolset)\lib\ @@ -250,7 +253,7 @@ true true true - NDEBUG;%(PreprocessorDefinitions) + NDEBUG;%(PreprocessorDefinitions);;NITRO_NITFCPP_EXPORTS;CODA_OSS_LIBRARY_SHARED=1 true $(ProjectDir)nitf\include;$(ProjectDir)..\c\nrt\include;$(ProjectDir)..\c\nitf\include;$(ProjectDir)..\c\j2k\include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include Use @@ -270,7 +273,7 @@ true true true - $(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\lib\;$(SolutionDir)externals\coda-oss\install-$(Configuration)-$(Platform).$(PlatformToolset)\lib\ + $(SolutionDir)out\install\$(Platform)-$(Configuration)\lib\;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\lib\ $(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\lib\;$(SolutionDir)externals\coda-oss\install-$(Configuration)-$(Platform).$(PlatformToolset)\lib\ diff --git a/externals/nitro/modules/c++/nitf/apps/show_nitf++/pch.h b/externals/nitro/modules/c++/nitf/apps/show_nitf++/pch.h index 9bb7897610..a7ba61b5cf 100644 --- a/externals/nitro/modules/c++/nitf/apps/show_nitf++/pch.h +++ b/externals/nitro/modules/c++/nitf/apps/show_nitf++/pch.h @@ -55,11 +55,6 @@ #include #include -#pragma comment(lib, "io-c++") -#pragma comment(lib, "except-c++") -#pragma comment(lib, "sys-c++") -#pragma comment(lib, "str-c++") - #pragma comment(lib, "ws2_32") diff --git a/externals/nitro/modules/c++/nitf/apps/show_nitf++/show_nitf++.vcxproj b/externals/nitro/modules/c++/nitf/apps/show_nitf++/show_nitf++.vcxproj index 944eafbc50..503ebe7f5d 100644 --- a/externals/nitro/modules/c++/nitf/apps/show_nitf++/show_nitf++.vcxproj +++ b/externals/nitro/modules/c++/nitf/apps/show_nitf++/show_nitf++.vcxproj @@ -49,7 +49,7 @@ Level4 true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + _DEBUG;_CONSOLE;%(PreprocessorDefinitions);CODA_OSS_LIBRARY_SHARED=1 true $(SolutionDir)modules\c\nrt\include;$(SolutionDir)modules\c\nitf\include;$(SolutionDir)modules\c\jpeg\include;$(SolutionDir)modules\c\j2k\include;$(SolutionDir)modules\c\cgm\include;$(SolutionDir)modules\c;$(SolutionDir)modules\c++;$(SolutionDir)modules\c++\nitf\include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include Use @@ -78,7 +78,7 @@ true true true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + NDEBUG;_CONSOLE;%(PreprocessorDefinitions);CODA_OSS_LIBRARY_SHARED=1 true $(SolutionDir)modules\c\nrt\include;$(SolutionDir)modules\c\nitf\include;$(SolutionDir)modules\c\jpeg\include;$(SolutionDir)modules\c\j2k\include;$(SolutionDir)modules\c\cgm\include;$(SolutionDir)modules\c;$(SolutionDir)modules\c++;$(SolutionDir)modules\c++\nitf\include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include Use @@ -113,6 +113,9 @@ + + {9997e895-5161-4ddf-8f3f-099894cb2f21} + {8f357a19-799e-4971-850e-3f28485c130b} diff --git a/externals/nitro/modules/c++/nitf/include/nitf/exports.hpp b/externals/nitro/modules/c++/nitf/include/nitf/exports.hpp index f87bfc2071..7d3b61f8fd 100644 --- a/externals/nitro/modules/c++/nitf/include/nitf/exports.hpp +++ b/externals/nitro/modules/c++/nitf/include/nitf/exports.hpp @@ -1,30 +1,38 @@ -#ifndef NITRO_nitf_exports_hpp_INCLUDED_ -#define NITRO_nitf_exports_hpp_INCLUDED_ #pragma once #include "config/compiler_extensions.h" -// Need to specify how this code will be consumed, either CODA_OSS_LIB (static library) -// or CODA_OSS_DLL (aka "shared" library). For DLLs, it needs to be set for BOTH +// Need to specify how this code will be consumed, either NITRO_NITFCPP_LIB_ (static library) +// or NITRO_NITFCPP_DLL_ (aka "shared" library). For DLLs, it needs to be set for BOTH // "exporting" (building this code) and "importing" (consuming). // // Use Windows naming conventions (DLL, LIB) because this really only matters for _MSC_VER, see below. -#if !defined(NITRO_NITFCPP_LIB) && !defined(NITRO_NITFCPP_DLL) - #define NITRO_NITFCPP_LIB 1 - //#define NITRO_NITFCPP_DLL 1 +#if !defined(NITRO_NITFCPP_LIB_) && !defined(NITRO_NITFCPP_DLL_) + #if CODA_OSS_LIBRARY_SHARED + #if CODA_OSS_LIBRARY_STATIC + #error "CODA_OSS_LIBRARY_SHARED already #define'd'" + #endif + #define NITRO_NITFCPP_DLL_ 1 // Symbols must be exported and imported (see below). + #else + // CODA_OSS_LIBRARY_STATIC doesn't have to be defined + #define NITRO_NITFCPP_LIB_ 1 // Static library, all symbols visible. + #endif +#endif +#if !defined(NITRO_NITFCPP_LIB_) && !defined(NITRO_NITFCPP_DLL_) + #error "One of NITRO_NITFCPP_LIB_ pr NITRO_NITFCPP_DLL_ must be #define'd'" #endif -#if defined(NITRO_NITFCPP_LIB) && defined(NITRO_NITFCPP_DLL) - #error "Both NITRO_NITFCPP_LIB and NITRO_NITFCPP_DLL are #define'd'" +#if defined(NITRO_NITFCPP_LIB_) && defined(NITRO_NITFCPP_DLL_) + #error "Both NITRO_NITFCPP_LIB_ and NITRO_NITFCPP_DLL_ are #define'd'" #endif -#if defined(NITRO_NITFCPP_EXPORTS) && defined(NITRO_NITFCPP_LIB) +#if defined(NITRO_NITFCPP_EXPORTS) && defined(NITRO_NITFCPP_LIB_) #error "Can't export from a LIB'" #endif // The following ifdef block is the standard way of creating macros which make exporting -// from a DLL simpler. All files within this DLL are compiled with the CODA_OSS_EXPORTS +// from a DLL simpler. All files within this DLL are compiled with the NITRO_NITFCPP_EXPORTS // symbol defined on the command line. This symbol should not be defined on any project // that uses this DLL. This way any other project whose source files include this file see -// CODA_OSS_API functions as being imported from a DLL, whereas this DLL sees symbols +// NITRO_NITFCPP_API functions as being imported from a DLL, whereas this DLL sees symbols // defined with this macro as being exported. // https://www.gnu.org/software/gnulib/manual/html_node/Exported-Symbols-of-Shared-Libraries.html #ifdef NITRO_NITFCPP_EXPORTS @@ -35,12 +43,11 @@ // We need to know whether we're consuming (importing) a DLL or static LIB // The default is a static LIB as that's what existing code/builds expect. - #ifdef NITRO_NITFCPP_DLL + #ifdef NITRO_NITFCPP_DLL_ // Actually, it seems that the linker is able to figure this out from the .LIB, so // there doesn't seem to be a need for __declspec(dllimport). Clients don't - // need to #define NITRO_NITFCPP_DLL ... ? Well, almost ... it looks - // like __declspec(dllimport) is needed to get virtual "inline"s (e.g., - // destructors) correct. + // need to #define NITRO_NITFCPP_DLL_ ... ? Well, almost ... it looks + // like __declspec(dllimport) is needed to get virtual "inline"s (e.g., destructors) correct. #define NITRO_NITFCPP_API CODA_OSS_library_import #else #define NITRO_NITFCPP_API /* "importing" a static LIB */ @@ -51,4 +58,3 @@ #pragma warning(disable: 4251) // '...' : class '...' needs to have dll-interface to be used by clients of struct '...' #endif -#endif // NITRO_nitf_exports_hpp_INCLUDED_ diff --git a/externals/nitro/modules/c++/pch.h b/externals/nitro/modules/c++/pch.h index 03085c4ac3..5598704d55 100644 --- a/externals/nitro/modules/c++/pch.h +++ b/externals/nitro/modules/c++/pch.h @@ -31,6 +31,7 @@ CODA_OSS_disable_warning_pop #pragma warning(disable: 5105) // macro expansion producing '...' has undefined behavior #include #pragma warning(pop) +#pragma comment(lib, "Ws2_32") #pragma warning(disable: 4619) // #pragma warning: there is no warning number '...' #pragma warning(disable: 4820) // '...': '...' bytes padding added after data member '...' @@ -50,6 +51,9 @@ CODA_OSS_disable_warning_pop // We're building in Visual Studio ... used to control where we get a little bit of config info #define NITRO_PCH 1 +#ifndef CODA_OSS_LIBRARY_SHARED +#define CODA_OSS_LIBRARY_SHARED 1 +#endif // Yes, these are our files ... but they don't change very often, and if they do // change we want to rebuild everything anyway. @@ -58,7 +62,6 @@ CODA_OSS_disable_warning_pop #include "nitf/System.h" #include "nitf/Field.h" #include "nitf/Types.h" -#pragma comment(lib, "nitf-c") #pragma comment(lib, "openjpeg") #pragma warning(disable: 5039) // '...': pointer or reference to potentially throwing function passed to 'extern "C"' function under -EHc. Undefined behavior may occur if this function throws an exception. @@ -78,9 +81,3 @@ CODA_OSS_disable_warning_pop #include "nitf/Handle.hpp" #include "nitf/coda-oss.hpp" -#pragma comment(lib, "io-c++") -#pragma comment(lib, "except-c++") -#pragma comment(lib, "sys-c++") -#pragma comment(lib, "str-c++") -#pragma comment(lib, "mt-c++") -#pragma comment(lib, "math-c++") \ No newline at end of file diff --git a/externals/nitro/modules/c/j2k/J2KCompress.vcxproj b/externals/nitro/modules/c/j2k/J2KCompress.vcxproj index 021fcb706d..7a6a023694 100644 --- a/externals/nitro/modules/c/j2k/J2KCompress.vcxproj +++ b/externals/nitro/modules/c/j2k/J2KCompress.vcxproj @@ -64,7 +64,7 @@ Level4 true - _DEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH;HAVE_J2K_H + _DEBUG;_LIB;%(PreprocessorDefinitions);NITRO_NRT_EXPORTS;NITRO_PCH;HAVE_J2K_H;CODA_OSS_LIBRARY_SHARED=1 true $(ProjectDir)include;$(ProjectDir)..\nrt\include;$(ProjectDir)..\nitf\include;%(AdditionalIncludeDirectories) /FS %(AdditionalOptions) @@ -91,7 +91,7 @@ true true true - NDEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH;HAVE_J2K_H + NDEBUG;_LIB;%(PreprocessorDefinitions);NITRO_NRT_EXPORTS;NITRO_PCH;HAVE_J2K_H;CODA_OSS_LIBRARY_SHARED=1 true $(ProjectDir)include;$(ProjectDir)..\nrt\include;$(ProjectDir)..\nitf\include;%(AdditionalIncludeDirectories) /FS %(AdditionalOptions) diff --git a/externals/nitro/modules/c/j2k/J2KDecompress.vcxproj b/externals/nitro/modules/c/j2k/J2KDecompress.vcxproj index 366e0b421b..3fc0690bec 100644 --- a/externals/nitro/modules/c/j2k/J2KDecompress.vcxproj +++ b/externals/nitro/modules/c/j2k/J2KDecompress.vcxproj @@ -64,7 +64,7 @@ Level4 true - _DEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH;HAVE_J2K_H + _DEBUG;_LIB;%(PreprocessorDefinitions);NITRO_NRT_EXPORTS;NITRO_PCH;HAVE_J2K_H;CODA_OSS_LIBRARY_SHARED=1 true $(ProjectDir)include;$(ProjectDir)..\nrt\include;$(ProjectDir)..\nitf\include;%(AdditionalIncludeDirectories) /FS %(AdditionalOptions) @@ -91,7 +91,7 @@ true true true - NDEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH;HAVE_J2K_H + NDEBUG;_LIB;%(PreprocessorDefinitions);NITRO_NRT_EXPORTS;NITRO_PCH;HAVE_J2K_H;CODA_OSS_LIBRARY_SHARED=1 true $(ProjectDir)include;$(ProjectDir)..\nrt\include;$(ProjectDir)..\nitf\include;%(AdditionalIncludeDirectories) /FS %(AdditionalOptions) diff --git a/externals/nitro/modules/c/j2k/source/OpenJPEGImpl.c b/externals/nitro/modules/c/j2k/source/OpenJPEGImpl.c index 11687c50f2..987b6f9767 100644 --- a/externals/nitro/modules/c/j2k/source/OpenJPEGImpl.c +++ b/externals/nitro/modules/c/j2k/source/OpenJPEGImpl.c @@ -649,6 +649,10 @@ OpenJPEG_readHeader(OpenJPEGReaderImpl *impl, nrt_Error *error) return rc; } +#if _MSC_VER +#pragma warning(push) +#pragma warning(disable: 6262) // Function uses '18832' bytes of stack. Consider moving some data to heap. +#endif J2KPRIV( NRT_BOOL) OpenJPEG_initImage_(OpenJPEGWriterImpl *impl, j2k_WriterOptions *writerOps, OPJ_CODEC_FORMAT format, nrt_Error *error) @@ -848,6 +852,10 @@ J2KPRIV( NRT_BOOL) OpenJPEG_initImage_(OpenJPEGWriterImpl *impl, return rc; } +#if _MSC_VER +#pragma warning(pop) +#endif + J2KPRIV(NRT_BOOL) OpenJPEG_initImage_j2k(OpenJPEGWriterImpl* impl, j2k_WriterOptions* writerOps, nrt_Error* error) { return OpenJPEG_initImage_(impl, writerOps, OPJ_CODEC_J2K, error); diff --git a/externals/nitro/modules/c/nitf-c.vcxproj b/externals/nitro/modules/c/nitf-c.vcxproj index 4ddd12a252..78b0a8b313 100644 --- a/externals/nitro/modules/c/nitf-c.vcxproj +++ b/externals/nitro/modules/c/nitf-c.vcxproj @@ -20,11 +20,11 @@ - StaticLibrary + DynamicLibrary v143 - StaticLibrary + DynamicLibrary v143 true @@ -50,7 +50,7 @@ Level4 true - _DEBUG;%(PreprocessorDefinitions);HAVE_OPENJPEG_H + _DEBUG;%(PreprocessorDefinitions);HAVE_OPENJPEG_H;NITRO_NRT_EXPORTS;CODA_OSS_LIBRARY_SHARED=1 true $(ProjectDir)nrt\include;$(ProjectDir)nitf\include;$(ProjectDir)jpeg\include;$(ProjectDir)j2k\include;$(ProjectDir)cgm\include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include;%(AdditionalIncludeDirectories) Use @@ -74,6 +74,7 @@ true + $(SolutionDir)out\install\$(Platform)-$(Configuration)\lib\;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\lib\ @@ -81,7 +82,7 @@ true true true - NDEBUG;%(PreprocessorDefinitions);HAVE_OPENJPEG_H + NDEBUG;%(PreprocessorDefinitions);HAVE_OPENJPEG_H;NITRO_NRT_EXPORTS;CODA_OSS_LIBRARY_SHARED=1 true $(ProjectDir)nrt\include;$(ProjectDir)nitf\include;$(ProjectDir)jpeg\include;$(ProjectDir)j2k\include;$(ProjectDir)cgm\include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include;%(AdditionalIncludeDirectories) Use @@ -103,6 +104,7 @@ true true true + $(SolutionDir)out\install\$(Platform)-$(Configuration)\lib\;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\lib\ @@ -206,6 +208,7 @@ + diff --git a/externals/nitro/modules/c/nitf-c.vcxproj.filters b/externals/nitro/modules/c/nitf-c.vcxproj.filters index 6dd32c62a1..4bcb934f80 100644 --- a/externals/nitro/modules/c/nitf-c.vcxproj.filters +++ b/externals/nitro/modules/c/nitf-c.vcxproj.filters @@ -361,6 +361,9 @@ j2k + + nrt + diff --git a/externals/nitro/modules/c/nitf/ACCHZB.vcxproj b/externals/nitro/modules/c/nitf/ACCHZB.vcxproj deleted file mode 100644 index f42acd2671..0000000000 --- a/externals/nitro/modules/c/nitf/ACCHZB.vcxproj +++ /dev/null @@ -1,113 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - - - - - {f06550ad-cfc7-40b8-8727-6c82c69a8982} - - - - 16.0 - Win32Proj - {53F9F908-C678-4DEE-9309-E71C1D03A45F} - nitro - 10.0 - ACCHZB - - - - DynamicLibrary - true - v143 - - - DynamicLibrary - false - v143 - true - - - - - - - - - - - - - - - true - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - false - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - EnableAllWarnings - true - _DEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - MultiThreadedDebugDLL - true - ProgramDatabase - AdvancedVectorExtensions2 - true - - - - - true - - - - - Level3 - true - true - true - NDEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - true - AdvancedVectorExtensions2 - - - - - true - true - true - - - - - - \ No newline at end of file diff --git a/externals/nitro/modules/c/nitf/ACCPOB.vcxproj b/externals/nitro/modules/c/nitf/ACCPOB.vcxproj deleted file mode 100644 index b668d93185..0000000000 --- a/externals/nitro/modules/c/nitf/ACCPOB.vcxproj +++ /dev/null @@ -1,113 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - - - - - {f06550ad-cfc7-40b8-8727-6c82c69a8982} - - - - 16.0 - Win32Proj - {730B1E6E-2469-4F9E-B093-D0C6262453C9} - nitro - 10.0 - ACCPOB - - - - DynamicLibrary - true - v143 - - - DynamicLibrary - false - v143 - true - - - - - - - - - - - - - - - true - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - false - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - EnableAllWarnings - true - _DEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - MultiThreadedDebugDLL - true - ProgramDatabase - AdvancedVectorExtensions2 - true - - - - - true - - - - - Level3 - true - true - true - NDEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - true - AdvancedVectorExtensions2 - - - - - true - true - true - - - - - - \ No newline at end of file diff --git a/externals/nitro/modules/c/nitf/ACFTA.vcxproj b/externals/nitro/modules/c/nitf/ACFTA.vcxproj deleted file mode 100644 index e3c2731ad0..0000000000 --- a/externals/nitro/modules/c/nitf/ACFTA.vcxproj +++ /dev/null @@ -1,113 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - - - - - {f06550ad-cfc7-40b8-8727-6c82c69a8982} - - - - 16.0 - Win32Proj - {51D7B426-899E-428D-9F69-5DDAC9E403FB} - nitro - 10.0 - ACFTA - - - - DynamicLibrary - true - v143 - - - DynamicLibrary - false - v143 - true - - - - - - - - - - - - - - - true - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - false - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - EnableAllWarnings - true - _DEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - MultiThreadedDebugDLL - true - ProgramDatabase - AdvancedVectorExtensions2 - true - - - - - true - - - - - Level3 - true - true - true - NDEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - true - AdvancedVectorExtensions2 - - - - - true - true - true - - - - - - \ No newline at end of file diff --git a/externals/nitro/modules/c/nitf/AIMIDB.vcxproj b/externals/nitro/modules/c/nitf/AIMIDB.vcxproj deleted file mode 100644 index 2811c37bd8..0000000000 --- a/externals/nitro/modules/c/nitf/AIMIDB.vcxproj +++ /dev/null @@ -1,113 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - - - - - {f06550ad-cfc7-40b8-8727-6c82c69a8982} - - - - 16.0 - Win32Proj - {12AA0752-4EE3-4E0A-85AF-0E5DEADBF343} - nitro - 10.0 - AIMIDB - - - - DynamicLibrary - true - v143 - - - DynamicLibrary - false - v143 - true - - - - - - - - - - - - - - - true - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - false - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - EnableAllWarnings - true - _DEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - MultiThreadedDebugDLL - true - ProgramDatabase - AdvancedVectorExtensions2 - true - - - - - true - - - - - Level3 - true - true - true - NDEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - true - AdvancedVectorExtensions2 - - - - - true - true - true - - - - - - \ No newline at end of file diff --git a/externals/nitro/modules/c/nitf/CSCRNA.vcxproj b/externals/nitro/modules/c/nitf/CSCRNA.vcxproj deleted file mode 100644 index 06e6dc8a05..0000000000 --- a/externals/nitro/modules/c/nitf/CSCRNA.vcxproj +++ /dev/null @@ -1,113 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - - - - - {f06550ad-cfc7-40b8-8727-6c82c69a8982} - - - - 16.0 - Win32Proj - {023DE06D-3967-4406-B1B8-032118BB2552} - nitro - 10.0 - CSCRNA - - - - DynamicLibrary - true - v143 - - - DynamicLibrary - false - v143 - true - - - - - - - - - - - - - - - true - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - false - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - EnableAllWarnings - true - _DEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - MultiThreadedDebugDLL - true - ProgramDatabase - AdvancedVectorExtensions2 - true - - - - - true - - - - - Level3 - true - true - true - NDEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - true - AdvancedVectorExtensions2 - - - - - true - true - true - - - - - - \ No newline at end of file diff --git a/externals/nitro/modules/c/nitf/CSEXRB.vcxproj b/externals/nitro/modules/c/nitf/CSEXRB.vcxproj deleted file mode 100644 index 961b372ba3..0000000000 --- a/externals/nitro/modules/c/nitf/CSEXRB.vcxproj +++ /dev/null @@ -1,113 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - - - - - {f06550ad-cfc7-40b8-8727-6c82c69a8982} - - - - 16.0 - Win32Proj - {0A9BDA26-092F-4A2C-BBEF-00C64BF0C65E} - nitro - 10.0 - CSEXRB - - - - DynamicLibrary - true - v143 - - - DynamicLibrary - false - v143 - true - - - - - - - - - - - - - - - true - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - false - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - EnableAllWarnings - true - _DEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - MultiThreadedDebugDLL - true - ProgramDatabase - AdvancedVectorExtensions2 - true - - - - - true - - - - - Level3 - true - true - true - NDEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - true - AdvancedVectorExtensions2 - - - - - true - true - true - - - - - - \ No newline at end of file diff --git a/externals/nitro/modules/c/nitf/ENGRDA.vcxproj b/externals/nitro/modules/c/nitf/ENGRDA.vcxproj deleted file mode 100644 index a8e77e2268..0000000000 --- a/externals/nitro/modules/c/nitf/ENGRDA.vcxproj +++ /dev/null @@ -1,113 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - - - - - {f06550ad-cfc7-40b8-8727-6c82c69a8982} - - - - 16.0 - Win32Proj - {53F9F908-C678-4DEE-9309-E71C1E03A45F} - nitro - 10.0 - ENGRDA - - - - DynamicLibrary - true - v143 - - - DynamicLibrary - false - v143 - true - - - - - - - - - - - - - - - true - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - false - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - EnableAllWarnings - true - _DEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - MultiThreadedDebugDLL - true - ProgramDatabase - AdvancedVectorExtensions2 - true - - - - - true - - - - - Level3 - true - true - true - NDEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - true - AdvancedVectorExtensions2 - - - - - true - true - true - - - - - - \ No newline at end of file diff --git a/externals/nitro/modules/c/nitf/HISTOA.vcxproj b/externals/nitro/modules/c/nitf/HISTOA.vcxproj deleted file mode 100644 index 4341dcc23b..0000000000 --- a/externals/nitro/modules/c/nitf/HISTOA.vcxproj +++ /dev/null @@ -1,113 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - - - - - {f06550ad-cfc7-40b8-8727-6c82c69a8982} - - - - 16.0 - Win32Proj - {D749AA73-4C9A-473D-96BB-070A6D9CAA54} - nitro - 10.0 - HISTOA - - - - DynamicLibrary - true - v143 - - - DynamicLibrary - false - v143 - true - - - - - - - - - - - - - - - true - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - false - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - EnableAllWarnings - true - _DEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - MultiThreadedDebugDLL - true - ProgramDatabase - AdvancedVectorExtensions2 - true - - - - - true - - - - - Level3 - true - true - true - NDEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - true - AdvancedVectorExtensions2 - - - - - true - true - true - - - - - - \ No newline at end of file diff --git a/externals/nitro/modules/c/nitf/JITCID.vcxproj b/externals/nitro/modules/c/nitf/JITCID.vcxproj deleted file mode 100644 index c7ac658a09..0000000000 --- a/externals/nitro/modules/c/nitf/JITCID.vcxproj +++ /dev/null @@ -1,113 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - - - - - {f06550ad-cfc7-40b8-8727-6c82c69a8982} - - - - 16.0 - Win32Proj - {D1D7FCD3-6130-4504-9DA0-9D80506BE55E} - nitro - 10.0 - JITCID - - - - DynamicLibrary - true - v143 - - - DynamicLibrary - false - v143 - true - - - - - - - - - - - - - - - true - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - false - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - EnableAllWarnings - true - _DEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - MultiThreadedDebugDLL - true - ProgramDatabase - AdvancedVectorExtensions2 - true - - - - - true - - - - - Level3 - true - true - true - NDEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - true - AdvancedVectorExtensions2 - - - - - true - true - true - - - - - - \ No newline at end of file diff --git a/externals/nitro/modules/c/nitf/PTPRAA.vcxproj b/externals/nitro/modules/c/nitf/PTPRAA.vcxproj deleted file mode 100644 index 91822c7d1d..0000000000 --- a/externals/nitro/modules/c/nitf/PTPRAA.vcxproj +++ /dev/null @@ -1,113 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - - - - - {f06550ad-cfc7-40b8-8727-6c82c69a8982} - - - - 16.0 - Win32Proj - {2BAAACA9-A5A4-412C-AE52-B16C2D107F55} - nitro - 10.0 - PTPRAA - - - - DynamicLibrary - true - v143 - - - DynamicLibrary - false - v143 - true - - - - - - - - - - - - - - - true - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - false - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - EnableAllWarnings - true - _DEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - MultiThreadedDebugDLL - true - ProgramDatabase - AdvancedVectorExtensions2 - true - - - - - true - - - - - Level3 - true - true - true - NDEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - true - AdvancedVectorExtensions2 - - - - - true - true - true - - - - - - \ No newline at end of file diff --git a/externals/nitro/modules/c/nitf/RPFHDR.vcxproj b/externals/nitro/modules/c/nitf/RPFHDR.vcxproj deleted file mode 100644 index 947f2c56fc..0000000000 --- a/externals/nitro/modules/c/nitf/RPFHDR.vcxproj +++ /dev/null @@ -1,113 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - - - - - {f06550ad-cfc7-40b8-8727-6c82c69a8982} - - - - 16.0 - Win32Proj - {CF5B4F02-364D-4117-9FB9-6C9C7938E412} - nitro - 10.0 - RPFHDR - - - - DynamicLibrary - true - v143 - - - DynamicLibrary - false - v143 - true - - - - - - - - - - - - - - - true - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - false - $(SolutionDir)$(Platform)\$(Configuration)\share\nitf\plugins\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - EnableAllWarnings - true - _DEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - MultiThreadedDebugDLL - true - ProgramDatabase - AdvancedVectorExtensions2 - true - - - - - true - - - - - Level3 - true - true - true - NDEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH - true - $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - true - CompileAsCpp - Guard - true - AdvancedVectorExtensions2 - - - - - true - true - true - - - - - - \ No newline at end of file diff --git a/externals/nitro/modules/c/nitf/TEST_DES.vcxproj b/externals/nitro/modules/c/nitf/TEST_DES.vcxproj index 58478f2025..1457b9fd30 100644 --- a/externals/nitro/modules/c/nitf/TEST_DES.vcxproj +++ b/externals/nitro/modules/c/nitf/TEST_DES.vcxproj @@ -64,7 +64,7 @@ Level4 true - _DEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH + _DEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH;CODA_OSS_LIBRARY_SHARED=1 true $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) /FS %(AdditionalOptions) @@ -81,6 +81,8 @@ true + + @@ -89,7 +91,7 @@ true true true - NDEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH + NDEBUG;_LIB;%(PreprocessorDefinitions);NRT_MODULE_EXPORTS;NITRO_PCH;CODA_OSS_LIBRARY_SHARED=1 true $(ProjectDir)include;$(ProjectDir)..\nrt\include;%(AdditionalIncludeDirectories) /FS %(AdditionalOptions) @@ -105,6 +107,8 @@ true true true + + diff --git a/externals/nitro/modules/c/nitf/include/nitf/BandInfo.h b/externals/nitro/modules/c/nitf/include/nitf/BandInfo.h index e73a9eb683..9672c29dff 100644 --- a/externals/nitro/modules/c/nitf/include/nitf/BandInfo.h +++ b/externals/nitro/modules/c/nitf/include/nitf/BandInfo.h @@ -94,7 +94,7 @@ NITFAPI(void) nitf_BandInfo_destruct(nitf_BandInfo ** info); * \param error An error to populate upon failure * \return A new object that is identical to the old */ -NITFPROT(nitf_BandInfo *) nitf_BandInfo_clone(nitf_BandInfo * source, +NITFAPI(nitf_BandInfo *) nitf_BandInfo_clone(nitf_BandInfo * source, nitf_Error * error); /*! diff --git a/externals/nitro/modules/c/nitf/include/nitf/Defines.h b/externals/nitro/modules/c/nitf/include/nitf/Defines.h index 8d5038d9bc..286fa20fec 100644 --- a/externals/nitro/modules/c/nitf/include/nitf/Defines.h +++ b/externals/nitro/modules/c/nitf/include/nitf/Defines.h @@ -32,7 +32,7 @@ * _Tre the name of the input TRE */ #ifndef NITF_PLUGIN_FUNCTION_EXPORT -#define NITF_PLUGIN_FUNCTION_EXPORT(retval_) NITFAPI(retval_) +#define NITF_PLUGIN_FUNCTION_EXPORT(retval_) NRTEXPORT(retval_) #endif #define NITF_DECLARE_PLUGIN(_Tre) \ static const char* _Tre##Ident[] = { \ diff --git a/externals/nitro/modules/c/nitf/include/nitf/Field.h b/externals/nitro/modules/c/nitf/include/nitf/Field.h index 2318c9b252..7df14945a7 100644 --- a/externals/nitro/modules/c/nitf/include/nitf/Field.h +++ b/externals/nitro/modules/c/nitf/include/nitf/Field.h @@ -363,8 +363,8 @@ NITFPROT(NITF_BOOL) nitf_Field_resetLength(nitf_Field * field, * Print the contents of this Field * \param field The field object */ -NITFPROT(void) nitf_Field_print(nitf_Field * field); -NITFPROT(void) nitf_Field_snprint(char* buffer, size_t buf_size, nitf_Field* field); +NITFAPI(void) nitf_Field_print(nitf_Field * field); +NITFAPI(void) nitf_Field_snprint(char* buffer, size_t buf_size, nitf_Field* field); /*! diff --git a/externals/nitro/modules/c/nitf/include/nitf/ImageIO.h b/externals/nitro/modules/c/nitf/include/nitf/ImageIO.h index 1cbae87903..196456ccfb 100644 --- a/externals/nitro/modules/c/nitf/include/nitf/ImageIO.h +++ b/externals/nitro/modules/c/nitf/include/nitf/ImageIO.h @@ -114,7 +114,7 @@ nitf_BlockingInfo; Memory allocation error\n */ -NITFPROT(nitf_BlockingInfo *) nitf_BlockingInfo_construct(nitf_Error * +NITFAPI(nitf_BlockingInfo *) nitf_BlockingInfo_construct(nitf_Error * error); /*! @@ -125,7 +125,7 @@ NITFPROT(nitf_BlockingInfo *) nitf_BlockingInfo_construct(nitf_Error * \return None */ -NITFPROT(void) nitf_BlockingInfo_destruct(nitf_BlockingInfo ** info); +NITFAPI(void) nitf_BlockingInfo_destruct(nitf_BlockingInfo ** info); /*! @@ -158,7 +158,7 @@ NITFPROT(void) nitf_BlockingInfo_destruct(nitf_BlockingInfo ** info); */ -NITFPROT(NITF_BOOL) nitf_ImageIO_writeSequential(nitf_ImageIO * nitf, +NITFAPI(NITF_BOOL) nitf_ImageIO_writeSequential(nitf_ImageIO * nitf, nitf_IOInterface* io, nitf_Error * error ); @@ -189,7 +189,7 @@ NITFPROT(NITF_BOOL) nitf_ImageIO_writeSequential(nitf_ImageIO * nitf, */ -NITFPROT(NITF_BOOL) nitf_ImageIO_writeDone(nitf_ImageIO * object, +NITFAPI(NITF_BOOL) nitf_ImageIO_writeDone(nitf_ImageIO * object, nitf_IOInterface* io, nitf_Error * error); @@ -225,7 +225,7 @@ NITFPROT(NITF_BOOL) nitf_ImageIO_writeDone(nitf_ImageIO * object, Invalid row count */ -NITFPROT(NITF_BOOL) nitf_ImageIO_writeRows(nitf_ImageIO * object, +NITFAPI(NITF_BOOL) nitf_ImageIO_writeRows(nitf_ImageIO * object, nitf_IOInterface* io, uint32_t numRows, uint8_t ** data, @@ -250,7 +250,7 @@ NITFPROT(NITF_BOOL) nitf_ImageIO_writeRows(nitf_ImageIO * object, I/O errors */ -NITFPROT(NITF_BOOL) nitf_ImageIO_flush(nitf_ImageIO * object, +NITFAPI(NITF_BOOL) nitf_ImageIO_flush(nitf_ImageIO * object, nitf_IOInterface* io, nitf_Error * error ); @@ -686,7 +686,7 @@ typedef int (*NITF_DOWN_SAMPLE_FUNCTION) (void *input, */ -NITFPROT(nitf_ImageIO *) +NITFAPI(nitf_ImageIO *) nitf_ImageIO_construct(nitf_ImageSubheader * subheader, uint64_t offset, uint64_t length, @@ -711,7 +711,7 @@ nitf_ImageIO_construct(nitf_ImageSubheader * subheader, Memory allocation error */ -NITFPROT(nitf_ImageIO *) nitf_ImageIO_clone(nitf_ImageIO * image, +NITFAPI(nitf_ImageIO *) nitf_ImageIO_clone(nitf_ImageIO * image, nitf_Error * error ); @@ -726,7 +726,7 @@ NITFPROT(nitf_ImageIO *) nitf_ImageIO_clone(nitf_ImageIO * image, \return None */ -NITFPROT(void) nitf_ImageIO_destruct(nitf_ImageIO ** nitf); +NITFAPI(void) nitf_ImageIO_destruct(nitf_ImageIO ** nitf); /*! \brief nitf_ImageIO_read - Read a sub-window @@ -765,7 +765,7 @@ NITFPROT(void) nitf_ImageIO_destruct(nitf_ImageIO ** nitf); System I/O or memory allocation errors */ -NITFPROT(NITF_BOOL) nitf_ImageIO_read(nitf_ImageIO * nitf, +NITFAPI(NITF_BOOL) nitf_ImageIO_read(nitf_ImageIO * nitf, nitf_IOInterface* io, nitf_SubWindow * subWindow, uint8_t ** user, @@ -782,7 +782,7 @@ NITFPROT(NITF_BOOL) nitf_ImageIO_read(nitf_ImageIO * nitf, \return Returns pixel size in bytes */ -NITFPROT(uint32_t) nitf_ImageIO_pixelSize(nitf_ImageIO * nitf); +NITFAPI(uint32_t) nitf_ImageIO_pixelSize(nitf_ImageIO * nitf); /*! \brief nitf_ImageIO_setFileOffset @@ -802,7 +802,7 @@ NITFPROT(uint32_t) nitf_ImageIO_pixelSize(nitf_ImageIO * nitf); I/O operation in progress */ -NITFPROT(NITF_BOOL) nitf_ImageIO_setFileOffset(nitf_ImageIO * nitf, +NITFAPI(NITF_BOOL) nitf_ImageIO_setFileOffset(nitf_ImageIO * nitf, uint64_t offset, nitf_Error * error ); @@ -833,7 +833,7 @@ NITFPROT(NITF_BOOL) nitf_ImageIO_setFileOffset(nitf_ImageIO * nitf, I/O error */ -NITFPROT(nitf_BlockingInfo *) nitf_ImageIO_getBlockingInfo(nitf_ImageIO * image, +NITFAPI(nitf_BlockingInfo *) nitf_ImageIO_getBlockingInfo(nitf_ImageIO * image, nitf_IOInterface* io, nitf_Error * error ); @@ -846,7 +846,7 @@ NITFPROT(nitf_BlockingInfo *) nitf_ImageIO_getBlockingInfo(nitf_ImageIO * image, \return Returns the current enable/disable state */ -NITFPROT(int) nitf_ImageIO_setWriteCaching +NITFAPI(int) nitf_ImageIO_setWriteCaching ( nitf_ImageIO * nitf, /*!< Object to modify */ int enable /*!< Enable cached writes if true */ @@ -860,7 +860,7 @@ NITFPROT(int) nitf_ImageIO_setWriteCaching \return None */ -NITFPROT(void) nitf_ImageIO_setReadCaching +NITFAPI(void) nitf_ImageIO_setReadCaching ( nitf_ImageIO * nitf /*!< Object to modify */ ); @@ -876,7 +876,7 @@ NITFPROT(void) nitf_ImageIO_setReadCaching \return None */ -NITFPROT(void) nitf_BlockingInfo_print(nitf_BlockingInfo * info, /*!< The structure to print */ +NITFAPI(void) nitf_BlockingInfo_print(nitf_BlockingInfo * info, /*!< The structure to print */ FILE * file /*!< FILE to use for print */ ); @@ -886,7 +886,7 @@ NITFPROT(void) nitf_BlockingInfo_print(nitf_BlockingInfo * info, /*!< The struc \b nitf_ImageIO_setupDirectBlockRead does some simple checks to prepare for reading blocks directly from the NITF (bypassing any reorganization of data) */ -NITFPROT(NITF_BOOL) nitf_ImageIO_setupDirectBlockRead(nitf_ImageIO *nitf, +NITFAPI(NITF_BOOL) nitf_ImageIO_setupDirectBlockRead(nitf_ImageIO *nitf, nitf_IOInterface *io, uint32_t numBands, nitf_Error *error); @@ -903,7 +903,7 @@ NITFPROT(NITF_BOOL) nitf_ImageIO_setupDirectBlockRead(nitf_ImageIO *nitf, \param blockSize The block size read \param error Error object */ -NITFPROT(uint8_t*) nitf_ImageIO_readBlockDirect(nitf_ImageIO* nitf, +NITFAPI(uint8_t*) nitf_ImageIO_readBlockDirect(nitf_ImageIO* nitf, nitf_IOInterface* io, uint32_t blockNumber, uint64_t* blockSize, diff --git a/externals/nitro/modules/c/nitf/include/nitf/NitfWriter.h b/externals/nitro/modules/c/nitf/include/nitf/NitfWriter.h index cdd1c3da21..3c764ef437 100644 --- a/externals/nitro/modules/c/nitf/include/nitf/NitfWriter.h +++ b/externals/nitro/modules/c/nitf/include/nitf/NitfWriter.h @@ -203,7 +203,7 @@ NITFAPI(NITF_BOOL) nitf_Writer_write(nitf_Writer * writer, nitf_Error * error); * \return NITF_SUCCESS on success, NITF_FAILURE otherwise * */ -NITFPROT(NITF_BOOL) nitf_Writer_writeHeader(nitf_Writer* writer, +NITFAPI(NITF_BOOL) nitf_Writer_writeHeader(nitf_Writer* writer, nitf_Off* fileLenOff, uint32_t* hdrLen, nitf_Error* error); @@ -221,7 +221,7 @@ NITFPROT(NITF_BOOL) nitf_Writer_writeHeader(nitf_Writer* writer, * * \return NITF_SUCCESS on success, NITF_FAILURE otherwise */ -NITFPROT(NITF_BOOL) +NITFAPI(NITF_BOOL) nitf_Writer_writeImageSubheader(nitf_Writer* writer, const nitf_ImageSubheader* subhdr, nitf_Version fver, @@ -242,7 +242,7 @@ nitf_Writer_writeImageSubheader(nitf_Writer* writer, * * \return NITF_SUCCESS on success, NITF_FAILURE otherwise */ -NITFPROT(NITF_BOOL) nitf_Writer_writeDESubheader(nitf_Writer* writer, +NITFAPI(NITF_BOOL) nitf_Writer_writeDESubheader(nitf_Writer* writer, const nitf_DESubheader* subhdr, uint32_t* userSublen, nitf_Version fver, @@ -261,7 +261,7 @@ NITFPROT(NITF_BOOL) nitf_Writer_writeDESubheader(nitf_Writer* writer, * * \return NITF_SUCCESS on success, NITF_FAILURE otherwise */ -NITFPROT(NITF_BOOL) nitf_Writer_writeInt64Field(nitf_Writer* writer, +NITFAPI(NITF_BOOL) nitf_Writer_writeInt64Field(nitf_Writer* writer, uint64_t field, uint32_t length, char fill, diff --git a/externals/nitro/modules/c/nitf/include/nitf/PluginIdentifier.h b/externals/nitro/modules/c/nitf/include/nitf/PluginIdentifier.h index 125ccd9029..4f025bc58b 100644 --- a/externals/nitro/modules/c/nitf/include/nitf/PluginIdentifier.h +++ b/externals/nitro/modules/c/nitf/include/nitf/PluginIdentifier.h @@ -70,7 +70,7 @@ typedef struct _nitf_TREPreloaded const char* name; NITF_PLUGIN_INIT_FUNCTION init; NITF_PLUGIN_TRE_HANDLER_FUNCTION handler; - NITF_BOOL enabled; // most preloaded TREs are disabled by default + int enabled; // most preloaded TREs are "not set" (disabled) by default } nitf_TREPreloaded; /* diff --git a/externals/nitro/modules/c/nitf/include/nitf/PluginRegistry.h b/externals/nitro/modules/c/nitf/include/nitf/PluginRegistry.h index 54feddb3fd..554e04deb3 100644 --- a/externals/nitro/modules/c/nitf/include/nitf/PluginRegistry.h +++ b/externals/nitro/modules/c/nitf/include/nitf/PluginRegistry.h @@ -94,9 +94,9 @@ nitf_PluginRegistry; * along with an error * */ -NITFPROT(nitf_PluginRegistry *) +NITFAPI(nitf_PluginRegistry *) nitf_PluginRegistry_getInstance(nitf_Error * error); -NITFPROT(nitf_PluginRegistry*) +NITFAPI(nitf_PluginRegistry*) nitf_PluginRegistry_getInstanceLog(nitf_Error* error, FILE* log); @@ -242,7 +242,7 @@ nitf_PluginRegistry_unload(nitf_PluginRegistry * reg, nitf_Error * error); * is -1 * \return The plugin main, or NULL */ -NITFPROT(nitf_TREHandler*) +NITFAPI(nitf_TREHandler*) nitf_PluginRegistry_retrieveTREHandler(nitf_PluginRegistry * reg, const char *ident, int *hadError, @@ -281,7 +281,7 @@ nitf_PluginRegistry_retrieveCompConstructor(nitf_PluginRegistry * reg, /* * Retrieves a compression interface for 'comp'. Returns NULL if this fails. */ -NITFPROT(nitf_CompressionInterface* ) +NITFAPI(nitf_CompressionInterface* ) nitf_PluginRegistry_retrieveCompInterface(const char *comp, nitf_Error* error); diff --git a/externals/nitro/modules/c/nitf/include/nitf/System.h b/externals/nitro/modules/c/nitf/include/nitf/System.h index 5a1bd298e2..57431babab 100644 --- a/externals/nitro/modules/c/nitf/include/nitf/System.h +++ b/externals/nitro/modules/c/nitf/include/nitf/System.h @@ -46,7 +46,7 @@ #define NITF_GUARD NRT_GUARD #define NITF_ENDGUARD NRT_ENDGUARD #define NITF_BOOL NRT_BOOL -#define NITFAPI(RT) NRTAPI(RT) +#define NITFAPI(RT) NRTAPI(RT) #define NITFPROT(RT) NRTPROT(RT) #define NITF_ATO32 NRT_ATO32 #define NITF_ATOU32 NRT_ATOU32 diff --git a/externals/nitro/modules/c/nitf/source/Field.c b/externals/nitro/modules/c/nitf/source/Field.c index 656b2bd172..bda591d2cd 100644 --- a/externals/nitro/modules/c/nitf/source/Field.c +++ b/externals/nitro/modules/c/nitf/source/Field.c @@ -1121,11 +1121,11 @@ static void nitf_Field_snprint_(char* buffer, size_t buf_size, nitf_Field* field break; } } -NITFPROT(void) nitf_Field_print(nitf_Field * field) +NITFAPI(void) nitf_Field_print(nitf_Field * field) { nitf_Field_snprint_(NULL /*buffer*/, 0 /*buf_size*/, field); } -NITFPROT(void) nitf_Field_snprint(char* buffer, size_t buf_size, nitf_Field* field) +NITFAPI(void) nitf_Field_snprint(char* buffer, size_t buf_size, nitf_Field* field) { nitf_Field_snprint_(buffer, buf_size, field); } diff --git a/externals/nitro/modules/c/nitf/source/ImageIO.c b/externals/nitro/modules/c/nitf/source/ImageIO.c index 989aef30eb..d08e513ba0 100644 --- a/externals/nitro/modules/c/nitf/source/ImageIO.c +++ b/externals/nitro/modules/c/nitf/source/ImageIO.c @@ -3566,7 +3566,7 @@ NITFPROT(NITF_BOOL) nitf_ImageIO_flush(nitf_ImageIO * object, /*========================= nitf_ImageIO_writeSequential =====================*/ -NITFPROT(NITF_BOOL) nitf_ImageIO_writeSequential(nitf_ImageIO * nitf, +NITFAPI(NITF_BOOL) nitf_ImageIO_writeSequential(nitf_ImageIO * nitf, nitf_IOInterface* io, nitf_Error * error) { @@ -3862,7 +3862,7 @@ NITFPROT(nitf_BlockingInfo *) nitf_BlockingInfo_construct(nitf_Error * /*=================== nitf_BlockingInfo_destruct ===========================*/ -NITFPROT(void) nitf_BlockingInfo_destruct(nitf_BlockingInfo ** info) +NITFAPI(void) nitf_BlockingInfo_destruct(nitf_BlockingInfo ** info) { NITF_FREE(*info); *info = NULL; diff --git a/externals/nitro/modules/c/nitf/source/PluginRegistry.c b/externals/nitro/modules/c/nitf/source/PluginRegistry.c index e675d53609..992cccd7af 100644 --- a/externals/nitro/modules/c/nitf/source/PluginRegistry.c +++ b/externals/nitro/modules/c/nitf/source/PluginRegistry.c @@ -522,7 +522,7 @@ nitf_PluginRegistry_loadPlugin(const char* fullName, nitf_Error* error) nitf_Utils_baseName(keyName, fullName, NITF_DLL_EXTENSION); /* Now init the plugin!!! */ - ident = doInit(dll, keyName, error); + ident = doInit(dll, keyName, error); return insertPlugin_("Successfully loaded plugin: [%s] at [%p]\n", reg, ident, dll, error); } @@ -971,8 +971,59 @@ insertCreator(nitf_DLL* dso, // Somebody might want to use a different set of preloadedTREs, or we might even want multiple // sets of preloaded TREs. There's nothing to support either of those right now, but it's easy enough -// to put the infrastructure in place to make it easy to hook-up. -extern nitf_TREPreloaded defaultPreloadedTREs[]; +// to put the infrastructure in place. +static nitf_TREPreloaded* getPreloadedTREs(const char* name) +{ + // Convert a name (e.g., "default") to a set of preloaded TREs. + // Only "default" is currently supported; see TREs.c + if (strcmp(name, "default") == 0) + { + extern nitf_TREPreloaded defaultPreloadedTREs[]; + return defaultPreloadedTREs; + } + return NULL; +} + +static void enable_notset_TREs(nitf_TREPreloaded preloadedTREs[], NITF_BOOL enable) +{ + // NITF_PRELOAD_TRES is set, update all TREs which haven't been touched + for (size_t i = 0;; i++) + { + const char* pKeyName = preloadedTREs[i].name; + if (pKeyName == NULL) // end of list + { + return; + } + if (preloadedTREs[i].enabled < 0) // default is -1 "not set" + { + preloadedTREs[i].enabled = enable; + } + } +} +static nitf_TREPreloaded* getNitfPreloadedTREs(const char* name) +{ + // If NITF_PRELOADED_TRE_HANDLERS_ENABLE is set to *name*", we'll preload those TREs. + // This will NOT override a call to nitf_PluginRegistry_PreloadedTREHandlersEnable(); + // by default, the `enabled` status of TREs is set to -1 "not set." + const char* envVar = getenv("NITF_PRELOADED_TRE_HANDLERS_ENABLE"); + if ((envVar != NULL) && (strcmp(envVar, name) == 0)) + { + nitf_TREPreloaded* preloadedTREs = getPreloadedTREs(name); + if (preloadedTREs != NULL) + { + enable_notset_TREs(preloadedTREs, NRT_TRUE /*enable*/); + return preloadedTREs; + } + } + + // Enviroment variable not set (or not set to *name*), return preloaded TREs as-is. + return getPreloadedTREs(name); +} +static nitf_TREPreloaded* getDefaultPreloadedTREs() +{ + return getNitfPreloadedTREs("default"); +} + static nitf_TREPreloaded* findPreloadedTRE_(nitf_TREPreloaded preloadedTREs[], const char* keyName) { if (preloadedTREs == NULL) @@ -1000,9 +1051,14 @@ static nitf_TREPreloaded* findPreloadedTRE_(nitf_TREPreloaded preloadedTREs[], c static const nitf_TREPreloaded* findPreloadedTRE(nitf_TREPreloaded preloadedTREs[], const char* keyName) { const nitf_TREPreloaded* retval = findPreloadedTRE_(preloadedTREs, keyName); - if ((retval != NULL) && (retval->enabled)) + if (retval != NULL) { - return retval; + if (retval->enabled < 0) + { + return NULL; // "not set" == disabled + } + const NRT_BOOL enabled = retval->enabled ? NRT_TRUE : NRT_FALSE; + return enabled ? retval : NULL; } return NULL; } @@ -1010,10 +1066,15 @@ static const nitf_TREPreloaded* findPreloadedTRE(nitf_TREPreloaded preloadedTREs static NITF_BOOL PreloadedTREHandlerEnable(nitf_TREPreloaded preloadedTREs[], const char* keyName, NITF_BOOL enable) { + if (preloadedTREs == NULL) + { + return NRT_FALSE; + } + nitf_TREPreloaded* result = findPreloadedTRE_(preloadedTREs, keyName); if (result != NULL) { - result->enabled = enable; + result->enabled = enable ? NRT_TRUE : NRT_FALSE; return NRT_TRUE; } return NRT_FALSE; @@ -1021,7 +1082,7 @@ static NITF_BOOL PreloadedTREHandlerEnable(nitf_TREPreloaded preloadedTREs[], NITFAPI(NITF_BOOL) nitf_PluginRegistry_PreloadedTREHandlerEnable(const char* keyName, NITF_BOOL enable) { - return PreloadedTREHandlerEnable(defaultPreloadedTREs, keyName, enable); + return PreloadedTREHandlerEnable(getDefaultPreloadedTREs(), keyName, enable); } static void preloadedTREHandlersEnable(nitf_TREPreloaded preloadedTREs[], NITF_BOOL enable) @@ -1038,14 +1099,13 @@ static void preloadedTREHandlersEnable(nitf_TREPreloaded preloadedTREs[], NITF_B { return; } - - preloadedTREs[i].enabled = enable; + preloadedTREs[i].enabled = enable ? NRT_TRUE : NRT_FALSE; } } NITFAPI(void) nitf_PluginRegistry_PreloadedTREHandlersEnable(NITF_BOOL enable) { - preloadedTREHandlersEnable(defaultPreloadedTREs, enable); + preloadedTREHandlersEnable(getDefaultPreloadedTREs(), enable); } /* @@ -1067,7 +1127,6 @@ static const char** preload_doInit(NITF_PLUGIN_INIT_FUNCTION init, const char* p static NRT_BOOL preloadTRE(nitf_TREPreloaded preloadedTREs[], const char* keyName, nitf_Error* error) { - const char** ident; nitf_PluginRegistry* reg = nitf_PluginRegistry_getInstance(error); /* Construct the DLL object */ @@ -1087,7 +1146,7 @@ static NRT_BOOL preloadTRE(nitf_TREPreloaded preloadedTREs[], dll->dsoMain = (NRT_DLL_FUNCTION_PTR)plugin->handler; /* Now init the plugin!!! */ - ident = preload_doInit(plugin->init, keyName, error); + const char** ident = preload_doInit(plugin->init, keyName, error); return insertPlugin_("Successfully pre-loaded plugin: [%s] at [%p]\n", reg, ident, dll, error); } @@ -1173,7 +1232,7 @@ nitf_PluginRegistry_retrieveTREHandler(nitf_PluginRegistry* reg, int* hadError, nitf_Error* error) { - return retrieveTREHandler(defaultPreloadedTREs, reg, treIdent, hadError, error); + return retrieveTREHandler(getDefaultPreloadedTREs(), reg, treIdent, hadError, error); } NITFPROT(nitf_CompressionInterface*) diff --git a/externals/nitro/modules/c/nitf/source/TRE.c b/externals/nitro/modules/c/nitf/source/TRE.c index 154f9acc24..55058c85d7 100644 --- a/externals/nitro/modules/c/nitf/source/TRE.c +++ b/externals/nitro/modules/c/nitf/source/TRE.c @@ -25,7 +25,7 @@ /* IF desc is null, look for it, if I can't load then fail */ -NITFAPI(nitf_TRE *) nitf_TRE_createSkeleton(const char* tag, +NITFPROT(nitf_TRE *) nitf_TRE_createSkeleton(const char* tag, nitf_Error* error) { nitf_TRE *tre = (nitf_TRE *) NITF_MALLOC(sizeof(nitf_TRE)); diff --git a/externals/nitro/modules/c/nitf/source/TREs.c b/externals/nitro/modules/c/nitf/source/TREs.c index c8cbf18251..8ac463b985 100644 --- a/externals/nitro/modules/c/nitf/source/TREs.c +++ b/externals/nitro/modules/c/nitf/source/TREs.c @@ -105,7 +105,7 @@ static nitf_TREHandler* TEST_PRELOADED_DES_handler(nitf_Error* error) { /******************************************************************************/ #define NITF_preload_TRE_(Tre_, enabled_) { #Tre_, Tre_##_init, Tre_##_handler, enabled_ } -#define NITF_preload_TRE(Tre_) NITF_preload_TRE_(Tre_, NRT_FALSE /*enabled*/) +#define NITF_preload_TRE(Tre_) NITF_preload_TRE_(Tre_, -1 /*not set*/) nitf_TREPreloaded defaultPreloadedTREs[] = { // Not preloading any TREs right now: with the existing system, @@ -122,7 +122,9 @@ nitf_TREPreloaded defaultPreloadedTREs[] = { NITF_preload_TRE(JITCID), NITF_preload_TRE(PTPRAA), NITF_preload_TRE(RPFHDR), + NITF_preload_TRE(XML_DATA_CONTENT), + //NITF_preload_TRE(TEST_DES), // This should ALWAYS come from the DLL/SO NITF_preload_TRE_(TEST_PRELOADED_DES, NRT_TRUE /*enabled*/), { NULL, NULL, NULL, NRT_FALSE } // end of list diff --git a/externals/nitro/modules/c/nrt/include/nrt/Defines.h b/externals/nitro/modules/c/nrt/include/nrt/Defines.h index 05cb856d26..7c0fea9650 100644 --- a/externals/nitro/modules/c/nrt/include/nrt/Defines.h +++ b/externals/nitro/modules/c/nrt/include/nrt/Defines.h @@ -38,6 +38,8 @@ # define NRT_BOOL int #endif +#include "nrt/Exports.h" + #if defined(WIN32) || defined(_WIN32) /* Negotiate the meaning of NRTAPI, NRTPROT (for public and protected) */ # if defined(NRT_MODULE_EXPORTS) @@ -74,6 +76,19 @@ #define NRT_SNPRINTF snprintf #define NRT_VSNPRINTF vsnprintf +// Export no matter what ... when you KNOW you're building a DLL/SO, e.g. a plugin +#define NRTEXPORT(RT) NRT_C NITRO_NRT_library_export RT // extern "C" __declspec(dllexport) void* foo(); + +// Adjust the above ... but w/o chaning too much :-( +#if defined(NRTAPI) && defined(CODA_OSS_LIBRARY_SHARED) + #undef NRTAPI + #ifdef NITRO_NRT_EXPORTS // See Exports.h + #define NRTAPI(RT) NRTEXPORT(RT) + #else + #define NRTAPI(RT) NRT_C NITRO_NRT_library_import RT // extern "C" __declspec(dllimport) void* foo(); + #endif +#endif + /* * This section describes a set of macros to help with * C++ compilation. The 'extern C' set is required to diff --git a/externals/nitro/modules/c/nrt/include/nrt/Error.h b/externals/nitro/modules/c/nrt/include/nrt/Error.h index 146e06ece9..440e909e1e 100644 --- a/externals/nitro/modules/c/nrt/include/nrt/Error.h +++ b/externals/nitro/modules/c/nrt/include/nrt/Error.h @@ -103,7 +103,7 @@ typedef struct _NRT_Error * \param func Context info from NRT_CTXT (if C99) & \param level The level of error (This is an enum value) */ -NRTPROT(void) nrt_Error_init(nrt_Error * error, const char *message, +NRTAPI(void) nrt_Error_init(nrt_Error * error, const char *message, const char *file, int line, const char *func, int level); @@ -138,7 +138,7 @@ NRTAPI(void) nrt_Error_fprintf(nrt_Error * error, FILE * file, * \param level The type of error (an enum value) * \param format A format string */ -NRTPROT(void) nrt_Error_initf(nrt_Error * error, const char *file, int line, +NRTAPI(void) nrt_Error_initf(nrt_Error * error, const char *file, int line, const char *func, int level, const char *format, ...); diff --git a/externals/nitro/modules/c/nrt/include/nrt/Exports.h b/externals/nitro/modules/c/nrt/include/nrt/Exports.h new file mode 100644 index 0000000000..d8bce40e92 --- /dev/null +++ b/externals/nitro/modules/c/nrt/include/nrt/Exports.h @@ -0,0 +1,107 @@ +/* ========================================================================= + * This file is part of NITRO + * ========================================================================= + * + * (C) Copyright 2004 - 2014, MDA Information Systems LLC + * © Copyright 2023, Maxar Technologies, Inc. + * + * NITRO is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 3 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 Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, If not, + * see . + * + */ + +#pragma once + +// Need to specify how this code will be consumed, either NITRO_NRT_LIB_ (static library) +// or NITRO_NRT_DLL_ (aka "shared" library). For DLLs, it needs to be set for BOTH +// "exporting" (building this code) and "importing" (consuming). +// +// Use Windows naming conventions (DLL, LIB) because this really only matters for _MSC_VER, see below. +#if !defined(NITRO_NRT_LIB_) && !defined(NITRO_NRT_DLL_) + #if CODA_OSS_LIBRARY_SHARED + #if CODA_OSS_LIBRARY_STATIC + #error "CODA_OSS_LIBRARY_SHARED already #define'd'" + #endif + #define NITRO_NRT_DLL_ 1 // Symbols must be exported and imported (see below). + #else + // CODA_OSS_LIBRARY_STATIC doesn't have to be defined + #define NITRO_NRT_LIB_ 1 // Static library, all symbols visible. + #endif +#endif +#if !defined(NITRO_NRT_LIB_) && !defined(NITRO_NRT_DLL_) + #error "One of NITRO_NRT_LIB_ pr NITRO_NRT_DLL_ must be #define'd'" +#endif +#if defined(NITRO_NRT_LIB_) && defined(NITRO_NRT_DLL_) + #error "Both NITRO_NRT_LIB_ and NITRO_NRT_DLL_ are #define'd'" +#endif +#if defined(NITRO_NRT_EXPORTS) && defined(NITRO_NRT_LIB_) + #error "Can't export from a LIB'" +#endif + +// https://www.gnu.org/software/gnulib/manual/html_node/Exported-Symbols-of-Shared-Libraries.html +#if !defined(NITRO_NRT_library_export) && !defined(NITRO_NRT_library_import) + #if defined(__GNUC__) // && HAVE_VISIBILITY + // https://www.gnu.org/software/gnulib/manual/html_node/Exported-Symbols-of-Shared-Libraries.html + #define NITRO_NRT_library_export __attribute__((visibility("default"))) + + // For GCC, there's no difference in consuming ("importing") an .a or .so + #define NITRO_NRT_library_import /* no __declspec(dllimport) for GCC */ + + #elif defined(_MSC_VER) // && (defined(_WINDLL) && !defined(_LIB)) + #define NITRO_NRT_library_export __declspec(dllexport) + + // Actually, it seems that the linker is able to figure this out from the .LIB, + // so there doesn't seem to be a need for __declspec(dllimport). Clients don't + // need to #define NITRO_NITFCPP_DLL ... ? Well, almost ... it looks + // like __declspec(dllimport) is needed to get virtual "inline"s (e.g., + // destructors) correct. + #define NITRO_NRT_library_import __declspec(dllimport) + + #else + // https://stackoverflow.com/a/2164853/8877 + #define NITRO_NRT_library_export /* do nothing and hope for the best? */ + #define NITRO_NRT_library_import /* do nothing and hope for the best? */ + #pragma warning Unknown dynamic link import semantics. + #endif +#endif + +// The following ifdef block is the standard way of creating macros which make exporting +// from a DLL simpler. All files within this DLL are compiled with the NITRO_NRT_EXPORTS +// symbol defined on the command line. This symbol should not be defined on any project +// that uses this DLL. This way any other project whose source files include this file see +// NITRO_NRT_API functions as being imported from a DLL, whereas this DLL sees symbols +// defined with this macro as being exported. +#ifdef NITRO_NRT_EXPORTS + #define NITRO_NRT_API NITRO_NRT_library_export +#else + // Either building a static library (no NITRO_NRT_EXPORTS) or + // importing (not building) a shared library. + + // We need to know whether we're consuming (importing) a DLL or static LIB + // The default is a static LIB as that's what existing code/builds expect. + #ifdef NITRO_NRT_DLL_ + // Actually, it seems that the linker is able to figure this out from the .LIB, so + // there doesn't seem to be a need for __declspec(dllimport). Clients don't + // need to #define NITRO_NRT_DLL_ ... ? Well, almost ... it looks + // like __declspec(dllimport) is needed to get virtual "inline"s (e.g., + // destructors) correct. + #define NITRO_NRT_API NITRO_NRT_library_import + #else + #define NITRO_NRT_API /* "importing" a static LIB */ + #endif +#endif + +#if defined(_MSC_VER) +#pragma warning(disable: 4251) // '...' : class '...' needs to have dll-interface to be used by clients of struct '...' +#endif diff --git a/externals/nitro/modules/c/nrt/include/nrt/Types.h b/externals/nitro/modules/c/nrt/include/nrt/Types.h index 5788684fa5..58a2a2420d 100644 --- a/externals/nitro/modules/c/nrt/include/nrt/Types.h +++ b/externals/nitro/modules/c/nrt/include/nrt/Types.h @@ -159,9 +159,13 @@ typedef int nrt_CreationFlags; #define NRT_SUCCESS (1) #define NRT_FAILURE (0) -#define NRT_TRUE (1) -#define NRT_FALSE (0) - +#ifdef __cplusplus + #define NRT_TRUE (true) + #define NRT_FALSE (false) +#else + #define NRT_TRUE (1) + #define NRT_FALSE (0) +#endif #if defined(__cplusplus) && !defined(SWIGPYTHON) // "enum class" for C++ w/o SWIG diff --git a/externals/nitro/modules/c/nrt/include/nrt/Utils.h b/externals/nitro/modules/c/nrt/include/nrt/Utils.h index 773b34b8cf..caa7fa7fea 100644 --- a/externals/nitro/modules/c/nrt/include/nrt/Utils.h +++ b/externals/nitro/modules/c/nrt/include/nrt/Utils.h @@ -144,7 +144,7 @@ NRTAPI(NRT_BOOL) nrt_Utils_parseGeographicString(const char *dms, int *degrees, * with 7 elements to hand in to this function, otherwise you will * have memory corruption. */ -NRTPROT(void) nrt_Utils_geographicLatToCharArray(int degrees, int minutes, +NRTAPI(void) nrt_Utils_geographicLatToCharArray(int degrees, int minutes, double seconds, char *buffer7); NRTAPI(NRT_BOOL) nrt_Utils_isGeographicLat(int degrees, int minutes, double seconds); @@ -153,7 +153,7 @@ NRTAPI(NRT_BOOL) nrt_Utils_isGeographicLat(int degrees, int minutes, double seco * with 7 elements to hand in to this function, otherwise you will * have memory corruption. */ -NRTPROT(void) nrt_Utils_geographicLonToCharArray(int degrees, int minutes, +NRTAPI(void) nrt_Utils_geographicLonToCharArray(int degrees, int minutes, double seconds, char *buffer8); NRTAPI(NRT_BOOL) nrt_Utils_isGeographicLon(int degrees, int minutes, double seconds); @@ -162,23 +162,23 @@ NRTAPI(NRT_BOOL) nrt_Utils_isGeographicLon(int degrees, int minutes, double seco * with 7 elements to hand in to this function, otherwise you will * have memory corruption. */ -NRTPROT(void) nrt_Utils_decimalLatToCharArray(double decimal, char *buffer7); +NRTAPI(void) nrt_Utils_decimalLatToCharArray(double decimal, char *buffer7); /*! * Turn the decimal value into a string +-ddd.ddd. You must have a buffer * with 7 elements to hand in to this function, otherwise you will * have memory corruption. */ -NRTPROT(void) nrt_Utils_decimalLonToCharArray(double decimal, char *buffer8); +NRTAPI(void) nrt_Utils_decimalLonToCharArray(double decimal, char *buffer8); -NRTPROT(void) nrt_Utils_decimalLatToGeoCharArray(double decimal, char *buffer7); +NRTAPI(void) nrt_Utils_decimalLatToGeoCharArray(double decimal, char *buffer7); /*! * Turn the decimal value into a string +-ddd.ddd. You must have a buffer * with 7 elements to hand in to this function, otherwise you will * have memory corruption. */ -NRTPROT(void) nrt_Utils_decimalLonToGeoCharArray(double decimal, char *buffer8); +NRTAPI(void) nrt_Utils_decimalLonToGeoCharArray(double decimal, char *buffer8); /*! * Convert the corners type to a string. If for some reason, the type @@ -198,14 +198,14 @@ NRTAPI(char) nrt_Utils_cornersTypeAsCoordRep(nrt_CornersType type); NRTAPI(void) nrt_Utils_byteSwap(uint8_t* value, size_t size); NRTAPI(void) nrt_strcpy_s(char* dest, size_t sz, const char* src); -NRTAPI(void) nrt_strncpy_s(char* dest, size_t dest_sz, const char* src, size_t src_chars); +NRTPROT(void) nrt_strncpy_s(char* dest, size_t dest_sz, const char* src, size_t src_chars); NRTAPI(void) nrt_strcat_s(char* dest, size_t sz, const char* src); NRTAPI(char*) nrt_strdup(const char* src); -NRTAPI(size_t) nrt_strlen(const char* src); // aka strlen() -NRTAPI(uint32_t) nrt_strlen32(const char* src); -NRTAPI(uint16_t) nrt_strlen16(const char* src); -NRTAPI(uint8_t) nrt_strlen8(const char* src); +NRTPROT(size_t) nrt_strlen(const char* src); // aka strlen() +NRTPROT(uint32_t) nrt_strlen32(const char* src); +NRTPROT(uint16_t) nrt_strlen16(const char* src); +NRTPROT(uint8_t) nrt_strlen8(const char* src); NRT_CXX_ENDGUARD #endif diff --git a/externals/nitro/modules/c/nrt/source/Utils.c b/externals/nitro/modules/c/nrt/source/Utils.c index a538c4ae54..5d5340d0e8 100644 --- a/externals/nitro/modules/c/nrt/source/Utils.c +++ b/externals/nitro/modules/c/nrt/source/Utils.c @@ -744,7 +744,7 @@ NRTAPI(void) nrt_Utils_byteSwap(uint8_t *value, size_t size) } } -NRTAPI(void) nrt_strcpy_s(char* dest, size_t sz, const char* src) +NRTPROT(void) nrt_strcpy_s(char* dest, size_t sz, const char* src) { assert(sz > 0); #ifdef _MSC_VER // str*_s() is in C11 @@ -754,7 +754,7 @@ NRTAPI(void) nrt_strcpy_s(char* dest, size_t sz, const char* src) #endif } -NRTAPI(void) nrt_strncpy_s(char* dest, size_t dest_sz, const char* src, size_t src_chars) +NRTPROT(void) nrt_strncpy_s(char* dest, size_t dest_sz, const char* src, size_t src_chars) { assert(dest_sz > 0); #ifdef _MSC_VER // str*_s() is in C11 @@ -764,7 +764,7 @@ NRTAPI(void) nrt_strncpy_s(char* dest, size_t dest_sz, const char* src, size_t s #endif } -NRTAPI(void) nrt_strcat_s(char* dest, size_t sz, const char* src) +NRTPROT(void) nrt_strcat_s(char* dest, size_t sz, const char* src) { assert(sz > 0); #ifdef _MSC_VER // str*_s() is in C11 @@ -774,7 +774,7 @@ NRTAPI(void) nrt_strcat_s(char* dest, size_t sz, const char* src) #endif } -NRTAPI(char*) nrt_strdup(const char* src) +NRTPROT(char*) nrt_strdup(const char* src) { if (src != NULL) { @@ -790,19 +790,19 @@ NRTAPI(char*) nrt_strdup(const char* src) return NULL; } -NRTAPI(size_t) nrt_strlen(const char* src) +NRTPROT(size_t) nrt_strlen(const char* src) { return strlen(src); } -NRTAPI(uint32_t) nrt_strlen32(const char* src) +NRTPROT(uint32_t) nrt_strlen32(const char* src) { return (uint32_t) strlen(src); } -NRTAPI(uint16_t) nrt_strlen16(const char* src) +NRTPROT(uint16_t) nrt_strlen16(const char* src) { return (uint16_t)strlen(src); } -NRTAPI(uint8_t) nrt_strlen8(const char* src) +NRTPROT(uint8_t) nrt_strlen8(const char* src) { return (uint8_t)strlen(src); } diff --git a/externals/nitro/modules/c/pch.h b/externals/nitro/modules/c/pch.h index ca4079d2da..04f052c4f2 100644 --- a/externals/nitro/modules/c/pch.h +++ b/externals/nitro/modules/c/pch.h @@ -2,6 +2,9 @@ // We're building in Visual Studio ... used to control where we get a little bit of config info #define NITRO_PCH 1 +#ifndef CODA_OSS_LIBRARY_SHARED +#define CODA_OSS_LIBRARY_SHARED 1 +#endif // TODO: get rid of these someday? ... from Visual Studio code-analysis #pragma warning(disable: 6385) // Reading invalid data from '...': the readable size is '...' bytes, but '...' bytes may be read. @@ -27,12 +30,15 @@ #if defined(_WIN32) #undef BIGENDIAN #include +#pragma comment(lib, "Ws2_32") #else #include #endif #include #include +#pragma comment(lib, "openjpeg") +#pragma comment(lib, "jpeg") #pragma warning(pop) diff --git a/externals/nitro/nitro.sln b/externals/nitro/nitro.sln index 0f6fc7c9d7..3992b85bdc 100644 --- a/externals/nitro/nitro.sln +++ b/externals/nitro/nitro.sln @@ -16,8 +16,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nitf-c", "modules\c\nitf-c. EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nitf-c++", "modules\c++\nitf-c++.vcxproj", "{8F357A19-799E-4971-850E-3F28485C130B}" ProjectSection(ProjectDependencies) = postProject - {C787537A-0CAC-4D6D-A6D6-A66765A06753} = {C787537A-0CAC-4D6D-A6D6-A66765A06753} {A676EDF3-F231-47C8-A6E6-0FE50B50B71B} = {A676EDF3-F231-47C8-A6E6-0FE50B50B71B} + {C787537A-0CAC-4D6D-A6D6-A66765A06753} = {C787537A-0CAC-4D6D-A6D6-A66765A06753} EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "c-nitf-shared", "c-nitf-shared", "{27A2685A-E869-42A2-956D-92994F60C536}" @@ -40,8 +40,9 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "coda-oss", "externals\coda-oss\modules\c++\coda-oss.vcxproj", "{9997E895-5161-4DDF-8F3F-099894CB2F21}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTest", "UnitTest\UnitTest.vcxproj", "{8ACE478C-8F6F-4D42-9B43-7D75882D4BE1}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XML_DATA_CONTENT", "modules\c\nitf\XML_DATA_CONTENT.vcxproj", "{78849481-D356-4CC7-B182-31C21F857ED1}" + ProjectSection(ProjectDependencies) = postProject + {53F9F908-C678-4DEE-9309-E71C1D03A45F} = {53F9F908-C678-4DEE-9309-E71C1D03A45F} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TEST_DES", "modules\c\nitf\TEST_DES.vcxproj", "{53F9F908-C678-4DEE-9309-E71C1D03A45F}" EndProject @@ -79,10 +80,6 @@ Global {8ACE478C-8F6F-4D42-9B43-7D75882D4BE1}.Debug|x64.Build.0 = Debug|x64 {8ACE478C-8F6F-4D42-9B43-7D75882D4BE1}.Release|x64.ActiveCfg = Release|x64 {8ACE478C-8F6F-4D42-9B43-7D75882D4BE1}.Release|x64.Build.0 = Release|x64 - {78849481-D356-4CC7-B182-31C21F857ED1}.Debug|x64.ActiveCfg = Debug|x64 - {78849481-D356-4CC7-B182-31C21F857ED1}.Debug|x64.Build.0 = Debug|x64 - {78849481-D356-4CC7-B182-31C21F857ED1}.Release|x64.ActiveCfg = Release|x64 - {78849481-D356-4CC7-B182-31C21F857ED1}.Release|x64.Build.0 = Release|x64 {53F9F908-C678-4DEE-9309-E71C1D03A45F}.Debug|x64.ActiveCfg = Debug|x64 {53F9F908-C678-4DEE-9309-E71C1D03A45F}.Debug|x64.Build.0 = Debug|x64 {53F9F908-C678-4DEE-9309-E71C1D03A45F}.Release|x64.ActiveCfg = Release|x64 @@ -96,7 +93,6 @@ Global {C787537A-0CAC-4D6D-A6D6-A66765A06753} = {27A2685A-E869-42A2-956D-92994F60C536} {A45CB073-25A7-411D-A7E7-589BCC8AF547} = {5C5727E7-0CFF-42B4-8F5A-D31B3BC81F21} {9997E895-5161-4DDF-8F3F-099894CB2F21} = {7D26D571-0014-4C50-BF86-612E743E64B6} - {78849481-D356-4CC7-B182-31C21F857ED1} = {27A2685A-E869-42A2-956D-92994F60C536} {53F9F908-C678-4DEE-9309-E71C1D03A45F} = {27A2685A-E869-42A2-956D-92994F60C536} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution diff --git a/six/modules/c++/cphd/cphd.vcxproj b/six/modules/c++/cphd/cphd.vcxproj index 1da9449eff..9c1927abc3 100644 --- a/six/modules/c++/cphd/cphd.vcxproj +++ b/six/modules/c++/cphd/cphd.vcxproj @@ -50,7 +50,7 @@ true - _DEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + _DEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true Use pch.h @@ -79,7 +79,7 @@ true true true - NDEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + NDEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true Use pch.h @@ -102,6 +102,9 @@ + + {9997e895-5161-4ddf-8f3f-099894cb2f21} + {8f357a19-799e-4971-850e-3f28485c130b} diff --git a/six/modules/c++/cphd03/cphd03.vcxproj b/six/modules/c++/cphd03/cphd03.vcxproj index baffbf33a5..1b0bf56c6a 100644 --- a/six/modules/c++/cphd03/cphd03.vcxproj +++ b/six/modules/c++/cphd03/cphd03.vcxproj @@ -50,7 +50,7 @@ true - _DEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + _DEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true Use pch.h @@ -79,7 +79,7 @@ true true true - NDEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + NDEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true Use pch.h @@ -102,6 +102,9 @@ + + {9997e895-5161-4ddf-8f3f-099894cb2f21} + {01be4480-9620-4ded-b34f-d2e3ab4b7c8b} diff --git a/six/modules/c++/cphd03/framework.h b/six/modules/c++/cphd03/framework.h index c68e0a7d83..4b1ad5d70e 100644 --- a/six/modules/c++/cphd03/framework.h +++ b/six/modules/c++/cphd03/framework.h @@ -74,10 +74,4 @@ #include #include -#pragma comment(lib, "io-c++") -#pragma comment(lib, "except-c++") -#pragma comment(lib, "sys-c++") -#pragma comment(lib, "str-c++") -#pragma comment(lib, "mt-c++") - #pragma comment(lib, "ws2_32") diff --git a/six/modules/c++/nitro_pch.h b/six/modules/c++/nitro_pch.h index cd8bf45e16..8321935050 100644 --- a/six/modules/c++/nitro_pch.h +++ b/six/modules/c++/nitro_pch.h @@ -53,11 +53,6 @@ #include #include -#pragma comment(lib, "io-c++") -#pragma comment(lib, "except-c++") -#pragma comment(lib, "sys-c++") -#pragma comment(lib, "str-c++") -#pragma comment(lib, "logging-c++") #pragma comment(lib, "ws2_32") #pragma warning(push) diff --git a/six/modules/c++/samples/check_valid_six.dir/check_valid_six.vcxproj b/six/modules/c++/samples/check_valid_six.dir/check_valid_six.vcxproj index dedfd0d89d..a63527f636 100644 --- a/six/modules/c++/samples/check_valid_six.dir/check_valid_six.vcxproj +++ b/six/modules/c++/samples/check_valid_six.dir/check_valid_six.vcxproj @@ -50,7 +50,7 @@ true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + _DEBUG;_CONSOLE;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true $(SolutionDir)six\modules\c++\scene\include;$(SolutionDir)six\modules\c++\six\include;$(SolutionDir)six\modules\c++\six.sidd\include;$(SolutionDir)six\modules\c++\six.sicd\include;$(SolutionDir)six\modules\c++\cphd\include;$(SolutionDir)six\modules\c++\cphd03\include;$(SolutionDir)externals\nitro\modules\c\nrt\include;$(SolutionDir)externals\nitro\modules\c\nitf\include;$(SolutionDir)externals\nitro\modules\c++\nitf\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include Use @@ -78,7 +78,7 @@ true true true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true $(SolutionDir)six\modules\c++\scene\include;$(SolutionDir)six\modules\c++\six\include;$(SolutionDir)six\modules\c++\six.sidd\include;$(SolutionDir)six\modules\c++\six.sicd\include;$(SolutionDir)six\modules\c++\cphd\include;$(SolutionDir)six\modules\c++\cphd03\include;$(SolutionDir)externals\nitro\modules\c\nrt\include;$(SolutionDir)externals\nitro\modules\c\nitf\include;$(SolutionDir)externals\nitro\modules\c++\nitf\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include Use @@ -114,12 +114,27 @@ + + {9997e895-5161-4ddf-8f3f-099894cb2f21} + + + {8f357a19-799e-4971-850e-3f28485c130b} + + + {78849481-d356-4cc7-b182-31c21f857ed1} + + + {1cfcde59-6410-4037-95eb-b37d31e10820} + {34ac2314-fbd1-42ad-aaf4-0cebc6bf737e} {ddc587c2-53ba-44a9-94e7-07be52af3d0b} + + {62aad4dd-35ba-41a0-8263-1f4dfd755689} + diff --git a/six/modules/c++/samples/check_valid_six.dir/pch.h b/six/modules/c++/samples/check_valid_six.dir/pch.h index b058aa8b7b..87d429f02d 100644 --- a/six/modules/c++/samples/check_valid_six.dir/pch.h +++ b/six/modules/c++/samples/check_valid_six.dir/pch.h @@ -69,7 +69,3 @@ #include #include - -#pragma comment(lib, "cli-c++") -#pragma comment(lib, "xerces-c") -#pragma comment(lib, "xml.lite-c++.lib") \ No newline at end of file diff --git a/six/modules/c++/samples/crop_sicd.dir/crop_sicd.vcxproj b/six/modules/c++/samples/crop_sicd.dir/crop_sicd.vcxproj index baae7870bc..ed4318a5c6 100644 --- a/six/modules/c++/samples/crop_sicd.dir/crop_sicd.vcxproj +++ b/six/modules/c++/samples/crop_sicd.dir/crop_sicd.vcxproj @@ -50,7 +50,7 @@ true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + _DEBUG;_CONSOLE;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true $(SolutionDir)six\modules\c++\scene\include;$(SolutionDir)six\modules\c++\six\include;$(SolutionDir)six\modules\c++\six.sidd\include;$(SolutionDir)six\modules\c++\six.sicd\include;$(SolutionDir)six\modules\c++\cphd\include;$(SolutionDir)six\modules\c++\cphd03\include;$(SolutionDir)externals\nitro\modules\c\nrt\include;$(SolutionDir)externals\nitro\modules\c\nitf\include;$(SolutionDir)externals\nitro\modules\c++\nitf\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include Use @@ -78,7 +78,7 @@ true true true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true $(SolutionDir)six\modules\c++\scene\include;$(SolutionDir)six\modules\c++\six\include;$(SolutionDir)six\modules\c++\six.sidd\include;$(SolutionDir)six\modules\c++\six.sicd\include;$(SolutionDir)six\modules\c++\cphd\include;$(SolutionDir)six\modules\c++\cphd03\include;$(SolutionDir)externals\nitro\modules\c\nrt\include;$(SolutionDir)externals\nitro\modules\c\nitf\include;$(SolutionDir)externals\nitro\modules\c++\nitf\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include Use @@ -114,12 +114,30 @@ + + {9997e895-5161-4ddf-8f3f-099894cb2f21} + + + {8f357a19-799e-4971-850e-3f28485c130b} + + + {f06550ad-cfc7-40b8-8727-6c82c69a8982} + + + {78849481-d356-4cc7-b182-31c21f857ed1} + + + {1cfcde59-6410-4037-95eb-b37d31e10820} + {34ac2314-fbd1-42ad-aaf4-0cebc6bf737e} {ddc587c2-53ba-44a9-94e7-07be52af3d0b} + + {62aad4dd-35ba-41a0-8263-1f4dfd755689} + diff --git a/six/modules/c++/samples/crop_sicd.dir/pch.h b/six/modules/c++/samples/crop_sicd.dir/pch.h index 9377720f70..c7a25e8a3c 100644 --- a/six/modules/c++/samples/crop_sicd.dir/pch.h +++ b/six/modules/c++/samples/crop_sicd.dir/pch.h @@ -70,6 +70,3 @@ #include #include -#pragma comment(lib, "cli-c++") -#pragma comment(lib, "xerces-c") -#pragma comment(lib, "xml.lite-c++.lib") diff --git a/six/modules/c++/scene/scene.vcxproj b/six/modules/c++/scene/scene.vcxproj index cf3a27e0a5..a55f18a248 100644 --- a/six/modules/c++/scene/scene.vcxproj +++ b/six/modules/c++/scene/scene.vcxproj @@ -51,7 +51,7 @@ true - _DEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + _DEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true Use pch.h @@ -81,7 +81,7 @@ true true true - NDEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + NDEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true Use pch.h @@ -144,11 +144,6 @@ - - - {8f357a19-799e-4971-850e-3f28485c130b} - - diff --git a/six/modules/c++/six.convert/framework.h b/six/modules/c++/six.convert/framework.h index 80ae27829f..9ec132ec07 100644 --- a/six/modules/c++/six.convert/framework.h +++ b/six/modules/c++/six.convert/framework.h @@ -48,8 +48,6 @@ #pragma warning(disable: 4464) // relative include path contains '..' #include "../../nitro_pch.h" #pragma warning(pop) -#pragma comment(lib, "math-c++") -#pragma comment(lib, "polygon-c++") #include #include diff --git a/six/modules/c++/six.sicd/framework.h b/six/modules/c++/six.sicd/framework.h index 2e7b66b086..47f3d0aaae 100644 --- a/six/modules/c++/six.sicd/framework.h +++ b/six/modules/c++/six.sicd/framework.h @@ -50,8 +50,6 @@ #pragma warning(disable: 4464) // relative include path contains '..' #include "../../nitro_pch.h" #pragma warning(pop) -#pragma comment(lib, "math-c++") -#pragma comment(lib, "polygon-c++") #include #include diff --git a/six/modules/c++/six.sicd/six.sicd.vcxproj b/six/modules/c++/six.sicd/six.sicd.vcxproj index d95b9eda8a..a100bfd955 100644 --- a/six/modules/c++/six.sicd/six.sicd.vcxproj +++ b/six/modules/c++/six.sicd/six.sicd.vcxproj @@ -51,7 +51,7 @@ true - _DEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + _DEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true Use pch.h @@ -80,7 +80,7 @@ true true true - NDEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + NDEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true Use pch.h @@ -185,14 +185,6 @@ - - - {1cfcde59-6410-4037-95eb-b37d31e10820} - - - {62aad4dd-35ba-41a0-8263-1f4dfd755689} - - diff --git a/six/modules/c++/six.sidd/six.sidd.vcxproj b/six/modules/c++/six.sidd/six.sidd.vcxproj index 8ad2eb70ae..175548b127 100644 --- a/six/modules/c++/six.sidd/six.sidd.vcxproj +++ b/six/modules/c++/six.sidd/six.sidd.vcxproj @@ -51,7 +51,7 @@ true - _DEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + _DEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true Use pch.h @@ -80,7 +80,7 @@ true true true - NDEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + NDEBUG;_LIB;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true Use pch.h @@ -172,14 +172,6 @@ - - - {1cfcde59-6410-4037-95eb-b37d31e10820} - - - {62aad4dd-35ba-41a0-8263-1f4dfd755689} - - true diff --git a/six/modules/c++/six/six.vcxproj b/six/modules/c++/six/six.vcxproj index 6c40967ea8..5b2b9efb7a 100644 --- a/six/modules/c++/six/six.vcxproj +++ b/six/modules/c++/six/six.vcxproj @@ -51,7 +51,7 @@ true - _DEBUG;_LIB;SIX_DEFAULT_SCHEMA_PATH=R"($(SolutionDir)install-$(Configuration)-$(Platform).$(PlatformToolset)\conf\schema\six)";%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + _DEBUG;_LIB;SIX_DEFAULT_SCHEMA_PATH=R"($(SolutionDir)install-$(Configuration)-$(Platform).$(PlatformToolset)\conf\schema\six)";%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true Use pch.h @@ -81,7 +81,7 @@ true true true - NDEBUG;_LIB;SIX_DEFAULT_SCHEMA_PATH=R"($(SolutionDir)install-$(Configuration)-$(Platform).$(PlatformToolset)\conf\schema\six)";%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + NDEBUG;_LIB;SIX_DEFAULT_SCHEMA_PATH=R"($(SolutionDir)install-$(Configuration)-$(Platform).$(PlatformToolset)\conf\schema\six)";%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true Use pch.h @@ -195,17 +195,6 @@ - - - {8f357a19-799e-4971-850e-3f28485c130b} - - - {78849481-d356-4cc7-b182-31c21f857ed1} - - - {1cfcde59-6410-4037-95eb-b37d31e10820} - - diff --git a/six/projects/csm/csm.vcxproj b/six/projects/csm/csm.vcxproj index d7d5024847..1735c336ef 100644 --- a/six/projects/csm/csm.vcxproj +++ b/six/projects/csm/csm.vcxproj @@ -11,6 +11,21 @@ + + {9997e895-5161-4ddf-8f3f-099894cb2f21} + + + {8f357a19-799e-4971-850e-3f28485c130b} + + + {f06550ad-cfc7-40b8-8727-6c82c69a8982} + + + {78849481-d356-4cc7-b182-31c21f857ed1} + + + {1cfcde59-6410-4037-95eb-b37d31e10820} + {34ac2314-fbd1-42ad-aaf4-0cebc6bf737e} @@ -149,7 +164,7 @@ true - _DEBUG;_LIB;%(PreprocessorDefinitions);CSM_LIBRARY;_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + _DEBUG;_LIB;%(PreprocessorDefinitions);CSM_LIBRARY;_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true Use pch.h @@ -169,7 +184,7 @@ true $(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\lib;$(SolutionDir)out\install\$(Platform)-$(Configuration)\lib - xerces-c.lib;xml.lite-c++.lib;%(AdditionalDependencies) + %(AdditionalDependencies) @@ -177,7 +192,7 @@ true true true - NDEBUG;_LIB;%(PreprocessorDefinitions);CSM_LIBRARY;_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + NDEBUG;_LIB;%(PreprocessorDefinitions);CSM_LIBRARY;_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true Use pch.h @@ -198,7 +213,7 @@ true true $(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\lib;$(SolutionDir)out\install\$(Platform)-$(Configuration)\lib - xerces-c.lib;xml.lite-c++.lib;%(AdditionalDependencies) + %(AdditionalDependencies) diff --git a/six/projects/csm/framework.h b/six/projects/csm/framework.h index fed35bf8e8..ce57323bb4 100644 --- a/six/projects/csm/framework.h +++ b/six/projects/csm/framework.h @@ -70,10 +70,4 @@ #include -#pragma comment(lib, "io-c++") -#pragma comment(lib, "except-c++") -#pragma comment(lib, "sys-c++") -#pragma comment(lib, "str-c++") -#pragma comment(lib, "mt-c++") - #pragma comment(lib, "ws2_32")