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 #include -#pragma comment(lib, "io-c++") -#pragma comment(lib, "except-c++") -#pragma comment(lib, "sys-c++") -#pragma comment(lib, "str-c++") -#pragma comment(lib, "logging-c++") #pragma comment(lib, "ws2_32") #pragma warning(push) diff --git a/six/modules/c++/samples/check_valid_six.dir/check_valid_six.vcxproj b/six/modules/c++/samples/check_valid_six.dir/check_valid_six.vcxproj index dedfd0d89..a63527f63 100644 --- a/six/modules/c++/samples/check_valid_six.dir/check_valid_six.vcxproj +++ b/six/modules/c++/samples/check_valid_six.dir/check_valid_six.vcxproj @@ -50,7 +50,7 @@ true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + _DEBUG;_CONSOLE;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true $(SolutionDir)six\modules\c++\scene\include;$(SolutionDir)six\modules\c++\six\include;$(SolutionDir)six\modules\c++\six.sidd\include;$(SolutionDir)six\modules\c++\six.sicd\include;$(SolutionDir)six\modules\c++\cphd\include;$(SolutionDir)six\modules\c++\cphd03\include;$(SolutionDir)externals\nitro\modules\c\nrt\include;$(SolutionDir)externals\nitro\modules\c\nitf\include;$(SolutionDir)externals\nitro\modules\c++\nitf\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include Use @@ -78,7 +78,7 @@ true true true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING + NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING; CODA_OSS_LIBRARY_SHARED true $(SolutionDir)six\modules\c++\scene\include;$(SolutionDir)six\modules\c++\six\include;$(SolutionDir)six\modules\c++\six.sidd\include;$(SolutionDir)six\modules\c++\six.sicd\include;$(SolutionDir)six\modules\c++\cphd\include;$(SolutionDir)six\modules\c++\cphd03\include;$(SolutionDir)externals\nitro\modules\c\nrt\include;$(SolutionDir)externals\nitro\modules\c\nitf\include;$(SolutionDir)externals\nitro\modules\c++\nitf\include;$(SolutionDir)externals\coda-oss\out\install\$(Platform)-$(Configuration)\include;$(SolutionDir)out\install\$(Platform)-$(Configuration)\include Use @@ -114,12 +114,27 @@ + + {9997e895-5161-4ddf-8f3f-099894cb2f21} + + + {8f357a19-799e-4971-850e-3f28485c130b} + + + {78849481-d356-4cc7-b182-31c21f857ed1} + + + {1cfcde59-6410-4037-95eb-b37d31e10820} + {34ac2314-fbd1-42ad-aaf4-0cebc6bf737e} {ddc587c2-53ba-44a9-94e7-07be52af3d0b} + + {62aad4dd-35ba-41a0-8263-1f4dfd755689} + diff --git a/six/modules/c++/samples/check_valid_six.dir/pch.h b/six/modules/c++/samples/check_valid_six.dir/pch.h index 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")