diff --git a/UnitTest/UnitTest.vcxproj b/UnitTest/UnitTest.vcxproj
index e4b39643d..be06747ca 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 0925dea43..c1e5c99f3 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 f06331de9..020ee7b39 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 142773788..5ac3ed962 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 77af044c5..7278051f6 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 6b77d9fd7..71949e7c7 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 ed6334d6e..763767a49 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 7952e6efa..5cda65986 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 a5633e509..1a76c1676 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 b94fbc1ae..885b3b68b 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 446476dfc..54fe31c32 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 982b8900f..efa9897ff 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 0485de3c8..e60ec8553 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 59df476a5..3cbab0837 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 323b77aba..ee4e05346 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 96add941b..ea4c5718f 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 bae72b864..547527c2a 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 37e984a9e..86707841a 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 6d12f0550..a39078a41 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 9bb789761..a7ba61b5c 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 944eafbc5..503ebe7f5 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 f87bfc207..7d3b61f8f 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 03085c4ac..5598704d5 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 021fcb706..7a6a02369 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 366e0b421..3fc0690be 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 11687c50f..987b6f976 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 4ddd12a25..78b0a8b31 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 6dd32c62a..4bcb934f8 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 f42acd267..000000000
--- 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 b668d9318..000000000
--- 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 e3c2731ad..000000000
--- 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 2811c37bd..000000000
--- 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 06e6dc8a0..000000000
--- 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 961b372ba..000000000
--- 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 a8e77e226..000000000
--- 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 4341dcc23..000000000
--- 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 c7ac658a0..000000000
--- 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 91822c7d1..000000000
--- 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 947f2c56f..000000000
--- 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 58478f202..1457b9fd3 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 e73a9eb68..9672c29df 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 8d5038d9b..286fa20fe 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 2318c9b25..7df14945a 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 1cbae8790..196456ccf 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 cdd1c3da2..3c764ef43 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 125ccd902..4f025bc58 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 54feddb3f..554e04deb 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 5a1bd298e..57431baba 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 656b2bd17..bda591d2c 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 989aef30e..d08e513ba 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 e675d5360..992cccd7a 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 154f9acc2..55058c85d 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 c8cbf1825..8ac463b98 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 05cb856d2..7c0fea965 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 146e06ece..440e909e1 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 000000000..d8bce40e9
--- /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 5788684fa..58a2a2420 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 773b34b8c..caa7fa7fe 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 a538c4ae5..5d5340d0e 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 ca4079d2d..04f052c4f 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 0f6fc7c9d..3992b85bd 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 1da9449ef..9c1927abc 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 baffbf33a..1b0bf56c6 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 c68e0a7d8..4b1ad5d70 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 cd8bf45e1..832193505 100644
--- a/six/modules/c++/nitro_pch.h
+++ b/six/modules/c++/nitro_pch.h
@@ -53,11 +53,6 @@
#include
+
+ {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 b058aa8b7..87d429f02 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 baae7870b..ed4318a5c 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 9377720f7..c7a25e8a3 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 cf3a27e0a..a55f18a24 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 80ae27829..9ec132ec0 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 2e7b66b08..47f3d0aaa 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 d95b9eda8..a100bfd95 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 8ad2eb70a..175548b12 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 6c40967ea..5b2b9efb7 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 d7d502484..1735c336e 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 fed35bf8e..ce57323bb 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")