diff --git a/lib/parse.cpp b/lib/parse.cpp index c317b10c4ba..1125c9e2098 100644 --- a/lib/parse.cpp +++ b/lib/parse.cpp @@ -920,3 +920,362 @@ int XML_PARSER::copy_element(string& out) { out += end_tag; return 0; } + + +/* +START NEW XML PARSER DEFINITIONS + +The following functions are documented with the following structure: + Old: How the old parser worked + New: How this function works with the new parser + NOTE: Important information regarding behaviour that is different to the old parser + +This documentation was written by a different person than the original author +of the XML_PARSER so the 'Old' descriptions may be innaccurate. +*/ + +// The XML wrapper requires a MIOFILE in the constructor. +// For tinyxml, we simply want the FILE* stream. +TINYXML_WRAPPER::TINYXML_WRAPPER(MIOFILE* in_file) { + doc.LoadFile(in_file->f); + current_elem = NULL; +} + + +/* +Old: This function was almost an assertion of sorts, it would check to see +whether the start tag you provided is equal to the first tag that the XML +parser sees. + +New: Same as above + +NOTE: The tag at the start is not interpreted at all. +*/ +bool TINYXML_WRAPPER::parse_start(const char* tag) { + get_tag(); + + if (!strcmp(tag, current_elem->Value())) { + return true; + } else { + return false; + } +} + + +/* +Old: Fetch a string from an element as a c-string after ensuring that the +current tag is the one requested. + +New: Same as above +*/ +bool TINYXML_WRAPPER::parse_str(const char* tag, char* dest, int len) { + if (match_tag(tag)) { + const char* data = current_elem->GetText(); + + if (strlen(data) <= len) { + strcpy(dest, data); + return true; + } + } + + return false; +} + + +/* +Same as parse_str() +*/ +bool TINYXML_WRAPPER::parse_string(const char* tag, std::string& dest) { + if (match_tag(tag)) { + const char* data = current_elem->GetText(); + + dest = string(data); + return true; + } + + return false; +} + + +/* +Old: Fetch an int from an element after ensuring that the +current tag is the one requested. + +New: Same as above +*/ +bool TINYXML_WRAPPER::parse_int(const char* tag, int& dest) { + if (match_tag(tag)) { + tinyxml2::XMLError error = current_elem->QueryIntText(&dest); + + return !error; + } + + return false; +} + + +/* +Old: Fetch a long from an element after ensuring that the +current tag is the one requested. + +New: Same as above +*/ +bool TINYXML_WRAPPER::parse_long(const char* tag, long& dest) { + if (match_tag(tag)) { + int64_t tmp_dest; + + tinyxml2::XMLError error = current_elem->QueryInt64Text(&tmp_dest); + + dest = tmp_dest; // Cast after fetching the value (avoids pointer casting) + + return !error; + } + + return false; +} + + +/* +Old: Fetch a double from an element after ensuring that the +current tag is the one requested. + +New: Same as above +*/ +bool TINYXML_WRAPPER::parse_double(const char* tag, double& dest) { + if (match_tag(tag)) { + tinyxml2::XMLError error = current_elem->QueryDoubleText(&dest); + + return !error; + } + + return false; +} + + +/* +Old: Fetch an unsigned long from an element after ensuring that the +current tag is the one requested. + +New: Same as above +*/ +bool TINYXML_WRAPPER::parse_ulong(const char* tag, unsigned long& dest) { + if (match_tag(tag)) { + uint64_t tmp_dest; + + tinyxml2::XMLError error = current_elem->QueryUnsigned64Text(&tmp_dest); + + dest = tmp_dest; + + return !error; + } + + return false; +} + + +/* +Old: Fetch an unsigned long long from an element after ensuring that the +current tag is the one requested. + +New: Same as above + +NOTE: Tinyxml2 does not support long longs, only uint64_t. Hence if interpreting +data bigger than a long, this may produce undefined behaviour. +*/ +bool TINYXML_WRAPPER::parse_ulonglong(const char* tag, unsigned long long& dest) { + if (match_tag(tag)) { + uint64_t tmp_dest; + + tinyxml2::XMLError error = current_elem->QueryUnsigned64Text(&tmp_dest); + + dest = tmp_dest; + + return !error; + } + + return false; +} + + +/* +Old: Fetch a bool from an element after ensuring that the +current tag is the one requested. + +New: Same as above + +NOTE: This does not support implicit booleans (ie, ) and +will return false if it comes accross one. +*/ +bool TINYXML_WRAPPER::parse_bool(const char* tag, bool& dest) { + if (match_tag(tag)) { + tinyxml2::XMLError error = current_elem->QueryBoolText(&dest); + + return !error; + } + + return false; +} + + +/* +Old: Copies the start tag, end tag and contents of an element into a string + +New: Same as above +*/ +int TINYXML_WRAPPER::copy_element(std::string& dest) { + tinyxml2::XMLPrinter elem_store; + current_elem->Accept(&elem_store); + + dest = string(elem_store.CStr()); + + // Trim trailing newline if exists + if (dest.back() == '\n') { + dest.pop_back(); + } + + return dest.length(); +} + + +/* +Old: Skips all elements until it reaches the end of the XML. It will +also print a message for each tag if verbose=true. Usually this function is +unused and rather the overloaded function below this one is to be used. +`message` is the locality of the XML with respect to the program. +For example if the XML is being read in the scheduler, then message could be +"SCHEDULER". + +New: No longer needs the current tag. This implementation will iterate +automatically without it. +*/ +void TINYXML_WRAPPER::skip_unexpected(const char* __unused__, bool verbose, const char* message) { + const char* current_tag; + + while (current_elem) { + current_tag = current_elem->Value(); + + if (verbose) { + fprintf(stderr, + "%s: Unrecognized XML tag '<%s>' in %s; skipping\n", + time_to_string(dtime()), current_tag, message + ); + } + + get_tag(); + } +} + + +// The overloaded version of the above function +// This should be used over the above function +void TINYXML_WRAPPER::skip_unexpected(bool verbose, const char* msg) { + // Handle any null pointers + if (msg == 0 || msg == NULL) { + msg = ""; + } + + skip_unexpected(NULL, verbose, msg); +} + + +/* +Old: This function moves to the immediately next tag in a linear fashion. +It will set `parsed_tag` to be the name of the next tag (excluding <>). +You must run this function in conjunction with match_tag() in a while loop +see if you have arrived at the correct tag. After this, you may then use any +of the parse_*() functions. +Optionally you may wish to pass in a buffer to store the attributes of the +next element. You will also have to pass in the length of the buffer. +The buffer will then have `name="value"` pairs separated by spaces if there +is one or more attributes in the element. +You can then use the parse_attr() function to pick the one you want. + +New: Because of the DOM structure of tinyxml2, we must perform a +depth-first, in-order traversal of the DOM tree. +*/ +bool TINYXML_WRAPPER::get_tag(char* attrs, int attr_len) { + // If the current element is not set, use the root element + if (!current_elem) { + current_elem = doc.RootElement(); + + // Case where XML is empty + if (!current_elem) { + return true; + } + // Else perform a depth-first traversal of the XML + } else { + // If the current element has a child element, iterate to it + if (current_elem->FirstChildElement()) { + current_elem = current_elem->FirstChildElement(); + // Else, move to the next sibling + } else { + // If there is no other siblings, then this is the end of the XML + if (!(current_elem = current_elem->NextSiblingElement())) { + return true; + } + } + } + + // Fetch the attributes if requested + if (attrs) { + if (!get_attrs(attrs, attr_len)) { + return true; + } + } + + return false; +} + + +/* +Old: Checks if the current `parsed_tag` is the same as the provided tag. + +New: Same as above +*/ +bool TINYXML_WRAPPER::match_tag(const char* tag) { + // Short circuit: Returns false if current_elem is null + return current_elem && !strcmp(current_elem->Name(), tag); +} + + +/* +This is a function not found in the old implementation, it is simply a helper +function that does the heavy lifting for get_tag() when attributes are +requested. It will store them as `name="value"` pairs separated by spaces if +there is one or more attributes in the element. +*/ +bool TINYXML_WRAPPER::get_attrs(char* attrs, int attr_len) { + const tinyxml2::XMLAttribute* current_attr = current_elem->FirstAttribute(); + const char* current_attr_name; + const char* current_attr_val; + int to_add_len; + + strcpy(attrs, ""); + + while (current_attr) { + current_attr_name = current_attr->Name(); + current_attr_val = current_attr->Value(); + + // Prevent buffer overflow/segfault + to_add_len = strlen(current_attr_name) + strlen(current_attr_val); + to_add_len += 5; // 1 '=' + 2 '"' + 1 ' ' + 1 '\0' + + if (attr_len > to_add_len) { + strcat(attrs, current_attr_name); + strcat(attrs, "=\""); + strcat(attrs, current_attr_val); + strcat(attrs, "\""); + } else { + return false; + } + + current_attr = current_attr->Next(); + + // Only add trailing space when there is another attribute + if (current_attr) { + strcat(attrs, " "); + } + } + + return true; +} diff --git a/lib/parse.h b/lib/parse.h index 94a881805f5..37a9ef94c92 100644 --- a/lib/parse.h +++ b/lib/parse.h @@ -28,6 +28,7 @@ #include "miofile.h" #include "error_numbers.h" #include "str_util.h" +#include "tinyxml2.h" // see parse_test.cpp for example usage of XML_PARSER @@ -269,6 +270,31 @@ struct XML_PARSER { } }; + +struct TINYXML_WRAPPER { + tinyxml2::XMLDocument doc; + tinyxml2::XMLElement* current_elem; + + TINYXML_WRAPPER(MIOFILE*); + bool parse_start(const char*); + bool parse_str(const char*, char*, int); + bool parse_string(const char*, std::string&); + bool parse_int(const char*, int&); + bool parse_long(const char*, long&); + bool parse_double(const char*, double&); + bool parse_ulong(const char*, unsigned long&); + bool parse_ulonglong(const char*, unsigned long long&); + bool parse_bool(const char*, bool&); + int copy_element(std::string&); + void skip_unexpected(const char*, bool verbose, const char*); + void skip_unexpected(bool verbose=false, const char* msg=""); + //bool get_tag(); // Temporary to stop compiler from complaining + bool get_tag(char* attrs=NULL, int attr_len=0); + bool match_tag(const char*); + bool get_attrs(char* attrs, int attr_len); +}; + + extern bool boinc_is_finite(double); /////////////// START DEPRECATED XML PARSER diff --git a/tests/unit-tests/lib/test_parse.cpp b/tests/unit-tests/lib/test_parse.cpp index 1a63546377c..9de0814c176 100644 --- a/tests/unit-tests/lib/test_parse.cpp +++ b/tests/unit-tests/lib/test_parse.cpp @@ -4,42 +4,238 @@ #include #include +#define PARSER_CHOICE TINYXML_WRAPPER + +const int SML_BUF_LEN = 32; +const int MED_BUF_LEN = 64; +const int LRG_BUF_LEN = 1024; +const std::string TEST_XML_FILE_NAME_GOOD = "test_good.xml"; +const std::string TEST_XML_FILE_NAME_BAD = "test_bad.xml"; +const std::string TEST_XML_DATA_GOOD = " \ + this is the start \ + foo data \ + 12345 \ + -54321 \ + 1.2345 \ + -5.4321 \ + 1 \ + \ + 8589934592 \ + FOO"; + using namespace std; namespace test_parse { - // The fixture for testing class Foo. - + // The fixture for testing parse.h/parse.cpp class test_parse : public ::testing::Test { protected: - // You can remove any or all of the following functions if its body - // is empty. + FILE* xml_test_file_good; // The file with perfect data for testing correctness + FILE* xml_test_file_bad; // The file with bad data for testing error handling + // MIOFILES are needed for XML_PARSERs + MIOFILE* good_miofile; + MIOFILE* bad_miofile; + PARSER_CHOICE* good_data_parser; + PARSER_CHOICE* bad_data_parser; test_parse() { - // You can do set-up work for each test here. + // Make testing files for the XML parser + string file_data_good = TEST_XML_DATA_GOOD; + //string file_data_bad = TEST_XML_DATA_BAD; + + xml_test_file_good = fopen(TEST_XML_FILE_NAME_GOOD.c_str(), "w+"); + //xml_test_file_bad = fopen(TEST_XML_FILE_NAME_BAD, "w+"); + + assert(xml_test_file_good); + assert(EOF != fputs(file_data_good.c_str(), xml_test_file_good)); + + // Create the MIOFILE objects + good_miofile = new MIOFILE; + //bad_miofile = new MIOFILE; + good_miofile->init_file(xml_test_file_good); + //bad_miofile.init_file(xml_test_file_bad); + + //fseek(xml_test_file_good, 0, SEEK_SET); + //fseek(xml_test_file_bad, 0, SEEK_SET); + good_data_parser = new PARSER_CHOICE(good_miofile); + //bad_data_parser = new PARSER_CHOICE(bad_miofile); } virtual ~test_parse() { - // You can do clean-up work that doesn't throw exceptions here. + fclose(xml_test_file_good); + //fclose(xml_test_file_bad); + delete good_miofile; + //delete bad_miofile; + + // Remove the files after testing + remove(TEST_XML_FILE_NAME_GOOD.c_str()); + //remove(TEST_XML_FILE_NAME_BAD); + + delete good_data_parser; + //delete bad_data_parser; } // If the constructor and destructor are not enough for setting up // and cleaning up each test, you can define the following methods: virtual void SetUp() { - // Code here will be called immediately after the constructor (right - // before each test). + } virtual void TearDown() { - // Code here will be called immediately after each test (right - // before the destructor). + } - - // Objects declared here can be used by all tests in the test case for Foo. }; - // Tests that Foo does Xyz. + + TEST_F(test_parse, parse_bool) { + // Test explicit boolean for false and true + string tag = "bool"; + string test = "0"; + bool answer = false; + + parse_bool(test.c_str(), tag.c_str(), answer); + EXPECT_FALSE(answer); + + answer = false; + test = "1"; + parse_bool(test.c_str(), tag.c_str(), answer); + EXPECT_TRUE(answer); + + // Test for implicit boolean tags + answer = false; + test = ""; + parse_bool(test.c_str(), tag.c_str(), answer); + EXPECT_TRUE(answer); + + // Test for implicit boolean with spaces + answer = false; + test = ""; + parse_bool(test.c_str(), tag.c_str(), answer); + EXPECT_TRUE(answer); + + answer = false; + test = ""; + parse_bool(test.c_str(), tag.c_str(), answer); + EXPECT_FALSE(answer); + + // Test with incorrect tag + answer = false; + test = ""; + parse_bool(test.c_str(), tag.c_str(), answer); + EXPECT_FALSE(answer); + + // Test for explicit without a trailer + answer = false; + test = ""; + parse_bool(test.c_str(), tag.c_str(), answer); + EXPECT_FALSE(answer); + } + + + TEST_F(test_parse, parse_str) { + string tag = "str"; + // Test normal strings + string test = "This is my string"; + string answer = "This is my string"; + string result; + + parse_str(test.c_str(), tag.c_str(), result); + EXPECT_EQ(result, answer); + + // Test strings with attributes + test = "This is my string with attrs"; + answer = "This is my string with attrs"; + result = ""; + parse_str(test.c_str(), tag.c_str(), result); + EXPECT_EQ(result, answer); + + // Test empty string + test = ""; + answer = ""; + result = ""; + parse_str(test.c_str(), tag.c_str(), result); + EXPECT_EQ(result, answer); + + // Test bad input + test = "/str"; + EXPECT_FALSE(parse_str(test.c_str(), tag.c_str(), result)); + } + + + TEST_F(test_parse, parse_attr) { + string attr = "myattr"; + // Test normal attrs + string test = ""; + string answer = "FOO"; + char result[SML_BUF_LEN]; + + parse_attr(test.c_str(), attr.c_str(), result, SML_BUF_LEN); + EXPECT_STREQ(result, answer.c_str()); + + // Test empty attr + test = ""; + answer = ""; + memset(result, 0, SML_BUF_LEN); + + parse_attr(test.c_str(), attr.c_str(), result, SML_BUF_LEN); + EXPECT_STREQ(result, answer.c_str()); + + // Test bad input + test = ""; + answer = ""; + memset(result, 0, SML_BUF_LEN); + + parse_attr(test.c_str(), attr.c_str(), result, SML_BUF_LEN); + EXPECT_STREQ(result, answer.c_str()); + + // Test only attrs + test = "myattr=\"FOO\""; + answer = "FOO"; + result[SML_BUF_LEN]; + + parse_attr(test.c_str(), attr.c_str(), result, SML_BUF_LEN); + EXPECT_STREQ(result, answer.c_str()); + } + + + TEST_F(test_parse, extract_venue) { + string venue = "myvenue"; + // Test normal venues with explicit names + string test = "FOO"; + string answer = "FOO"; + char result[SML_BUF_LEN]; + + extract_venue(test.c_str(), venue.c_str(), result, SML_BUF_LEN); + EXPECT_STREQ(result, answer.c_str()); + + // Test a single venue without a name + test = "FOO"; + answer = ""; + memset(result, 0, SML_BUF_LEN); + + extract_venue(test.c_str(), venue.c_str(), result, SML_BUF_LEN); + EXPECT_STREQ(result, answer.c_str()); + + // Test named after unnamed venue + test = "NOTFOOFOO"; + answer = "FOO"; + memset(result, 0, SML_BUF_LEN); + + extract_venue(test.c_str(), venue.c_str(), result, SML_BUF_LEN); + EXPECT_STREQ(result, answer.c_str()); + } + + + TEST_F(test_parse, xml_escape) { + string test = "<>\"\'&\r\nK"; + string answer = "<>\"'& K"; + char result[MED_BUF_LEN]; + + xml_escape(test.c_str(), result, MED_BUF_LEN); + EXPECT_STREQ(result, answer.c_str()); + } + TEST_F(test_parse, xml_unescape) { string test = "<>"'& K"; @@ -60,4 +256,195 @@ namespace test_parse { EXPECT_EQ(test, answer); } + + TEST_F(test_parse, XML_PARSER_parse_start) { + string tag = "mystarttag"; + + EXPECT_TRUE(good_data_parser->parse_start(tag.c_str())); + } + + + TEST_F(test_parse, XML_PARSER_parse_str) { + string tag = "mystring"; + string answer = "foo data"; + char result[SML_BUF_LEN]; + + // Find the appropriate tag + do {} while (!good_data_parser->get_tag() && !good_data_parser->match_tag(tag.c_str())); + + // Parse one of the strings in the XML file + good_data_parser->parse_str(tag.c_str(), result, SML_BUF_LEN); + EXPECT_STREQ(result, answer.c_str()); + + // Attempt to parse a string tag that doesn't exist + EXPECT_FALSE(good_data_parser->parse_str("Faketag", result, SML_BUF_LEN)); + } + + + TEST_F(test_parse, XML_PARSER_parse_string) { + string tag = "mystring"; + string answer = "foo data"; + string result; + + do {} while (!good_data_parser->get_tag() && !good_data_parser->match_tag(tag.c_str())); + + // Test normal string parsing + EXPECT_TRUE(good_data_parser->parse_string(tag.c_str(), result)); + EXPECT_EQ(result, answer); + + // Test bad tag input + EXPECT_FALSE(good_data_parser->parse_string("faketag", result)); + } + + + TEST_F(test_parse, XML_PARSER_parse_int) { + string tag = "mynumber"; + int answer = 12345; + int result; + + do {} while (!good_data_parser->get_tag() && !good_data_parser->match_tag(tag.c_str())); + + // Test a normal positive integer + EXPECT_TRUE(good_data_parser->parse_int(tag.c_str(), result)); + EXPECT_EQ(result, answer); + + // Test a normal negative integer + tag = "mynegnum"; + answer = -54321; + + do {} while (!good_data_parser->get_tag() && !good_data_parser->match_tag(tag.c_str())); + + EXPECT_TRUE(good_data_parser->parse_int(tag.c_str(), result)); + EXPECT_EQ(result, answer); + + // Attempt to parse an int tag that doesn't exist + EXPECT_FALSE(good_data_parser->parse_int("faketag", result)); + } + + + TEST_F(test_parse, XML_PARSER_parse_long) { + string tag = "mynumber"; + long answer = 12345; + long result; + + do {} while (!good_data_parser->get_tag() && !good_data_parser->match_tag(tag.c_str())); + + // Test a normal positive integer + EXPECT_TRUE(good_data_parser->parse_long(tag.c_str(), result)); + EXPECT_EQ(result, answer); + + // Test a normal negative integer + tag = "mynegnum"; + answer = -54321; + + do {} while (!good_data_parser->get_tag() && !good_data_parser->match_tag(tag.c_str())); + + EXPECT_TRUE(good_data_parser->parse_long(tag.c_str(), result)); + EXPECT_EQ(result, answer); + + // Attempt to parse a long tag that doesn't exist + EXPECT_FALSE(good_data_parser->parse_long("faketag", result)); + } + + + TEST_F(test_parse, XML_PARSER_parse_double) { + string tag = "myfloat"; + double answer = 1.2345; + double result; + + do {} while (!good_data_parser->get_tag() && !good_data_parser->match_tag(tag.c_str())); + + // Test a normal positive floating point number + EXPECT_TRUE(good_data_parser->parse_double(tag.c_str(), result)); + EXPECT_EQ(result, answer); + + // Test a normal negative floating point number + tag = "mynegfloat"; + answer = -5.4321; + + do {} while (!good_data_parser->get_tag() && !good_data_parser->match_tag(tag.c_str())); + + EXPECT_TRUE(good_data_parser->parse_double(tag.c_str(), result)); + EXPECT_EQ(result, answer); + + // Attempt to parse a floating point tag that doesn't exist + EXPECT_FALSE(good_data_parser->parse_double("faketag", result)); + } + + + TEST_F(test_parse, XML_PARSER_parse_ulong) { + string tag = "mynumber"; + unsigned long answer = 12345; + unsigned long result; + + do {} while (!good_data_parser->get_tag() && !good_data_parser->match_tag(tag.c_str())); + + // Test a normal positive integer + EXPECT_TRUE(good_data_parser->parse_ulong(tag.c_str(), result)); + EXPECT_EQ(result, answer); + + // Attempt to parse an unsigned long tag that doesn't exist + EXPECT_FALSE(good_data_parser->parse_ulong("faketag", result)); + } + + + TEST_F(test_parse, XML_PARSER_parse_ulonglong) { + string tag = "mylonglong"; + unsigned long long answer = 8589934592; + unsigned long long result; + + do {} while (!good_data_parser->get_tag() && !good_data_parser->match_tag(tag.c_str())); + + // Test a normal positive integer + EXPECT_TRUE(good_data_parser->parse_ulonglong(tag.c_str(), result)); + EXPECT_EQ(result, answer); + + // Attempt to parse an unsigned long tag that doesn't exist + EXPECT_FALSE(good_data_parser->parse_ulonglong("faketag", result)); + } + + + TEST_F(test_parse, XML_PARSER_parse_bool) { + string tag = "mybool"; + bool result; + + do {} while (!good_data_parser->get_tag() && !good_data_parser->match_tag(tag.c_str())); + + // Test a normal explicit boolean in form 1 + EXPECT_TRUE(good_data_parser->parse_bool(tag.c_str(), result)); + EXPECT_TRUE(result); + } + + + TEST_F(test_parse, XML_PARSER_copy_element) { + char tag[SML_BUF_LEN] = "mystring"; + string answer = "foo data"; + string result; + + do {} while (!good_data_parser->get_tag() && !good_data_parser->match_tag(tag)); + + good_data_parser->copy_element(result); + + EXPECT_EQ(result, answer); + } + + + // Tests for the collection of attributes in an element + TEST_F(test_parse, XML_PARSER_get_tag) { + string attr = "name"; + string tag = "venue"; + string answer = "name=\"myvenue\""; + char attrs[SML_BUF_LEN]; + + do {} while (!good_data_parser->get_tag(attrs, SML_BUF_LEN) && !good_data_parser->match_tag(tag.c_str())); + + EXPECT_STREQ(attrs, answer.c_str()); + } + + + // Tests only for whether any adverse effects occur + TEST_F(test_parse, XML_PARSER_skip_unexpected) { + good_data_parser->skip_unexpected(true, "test xml"); + } + } // namespace diff --git a/win_build/boinc_os_ss_vs2019.vcxproj b/win_build/boinc_os_ss_vs2019.vcxproj index 34e91b1fa24..1ca96d7d4f2 100644 --- a/win_build/boinc_os_ss_vs2019.vcxproj +++ b/win_build/boinc_os_ss_vs2019.vcxproj @@ -74,7 +74,7 @@ Disabled - ../win_build;../;../api/;../lib;../client/;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + ../win_build;../;../api/;../lib;../client/;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories);$(VcpkgInstalledDir)/include WIN32;_WINDOWS;_CONSOLE;%(PreprocessorDefinitions) Async EnableFastChecks @@ -100,7 +100,7 @@ ../;%(AdditionalIncludeDirectories) - libcmtd.lib;libcpmtd.lib;opengl32.lib;glu32.lib;wsock32.lib;wininet.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;advapi32.lib;comctl32.lib;msimg32.lib;shell32.lib;userenv.lib + libcmtd.lib;libcpmtd.lib;opengl32.lib;glu32.lib;wsock32.lib;wininet.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;advapi32.lib;comctl32.lib;msimg32.lib;shell32.lib;userenv.lib;tinyxml2d.lib true false %(IgnoreSpecificDefaultLibraries) @@ -112,6 +112,7 @@ MachineX64 + $(VcpkgInstalledDir)/debug/lib @@ -126,7 +127,7 @@ Full - ../win_build;../api/;../lib/;../client;..;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + ../win_build;../api/;../lib/;../client;..;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories);$(VcpkgInstalledDir)/include WIN32;NDEBUG;_WINDOWS;_CONSOLE;%(PreprocessorDefinitions) false Async @@ -152,7 +153,7 @@ ..;%(AdditionalIncludeDirectories) - libcmt.lib;libcpmt.lib;opengl32.lib;glu32.lib;wsock32.lib;wininet.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;advapi32.lib;comctl32.lib;msimg32.lib;shell32.lib;userenv.lib + libcmt.lib;libcpmt.lib;opengl32.lib;glu32.lib;wsock32.lib;wininet.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;advapi32.lib;comctl32.lib;msimg32.lib;shell32.lib;userenv.lib;tinyxml2.lib NotSet true false @@ -162,6 +163,7 @@ true true MachineX64 + $(VcpkgInstalledDir)/lib @@ -239,6 +241,11 @@ + + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + + diff --git a/win_build/boinccas_vs2019.vcxproj b/win_build/boinccas_vs2019.vcxproj index 2a202c69ba8..7ad7f1cd001 100644 --- a/win_build/boinccas_vs2019.vcxproj +++ b/win_build/boinccas_vs2019.vcxproj @@ -1,5 +1,6 @@  + Debug @@ -70,10 +71,10 @@ Level4 false ProgramDatabase - ../win_build;..\lib;%(AdditionalIncludeDirectories) + ../win_build;..\lib;%(AdditionalIncludeDirectories);$(VcpkgInstalledDir)/include - atls.lib;msi.lib;libcmtd.lib;libcpmtd.lib;delayimp.lib;netapi32.lib;advapi32.lib;kernel32.lib;user32.lib;version.lib;%(AdditionalDependencies) + atls.lib;msi.lib;libcmtd.lib;libcpmtd.lib;delayimp.lib;netapi32.lib;advapi32.lib;kernel32.lib;user32.lib;version.lib;tinyxml2d.lib;%(AdditionalDependencies) false ..\clientsetup\win\boinccas.def netapi32.dll;advapi32.dll;%(DelayLoadDLLs) @@ -82,7 +83,7 @@ Windows $(OutDir)boinccas.lib MachineX64 - $(OutDir);%(AdditionalLibraryDirectories) + $(OutDir);$(VcpkgInstalledDir)/debug/lib;%(AdditionalLibraryDirectories) @@ -100,10 +101,10 @@ Use Level3 ProgramDatabase - ..\lib;../win_build;%(AdditionalIncludeDirectories) + ..\lib;../win_build;%(AdditionalIncludeDirectories);$(VcpkgInstalledDir)/include - atls.lib;msi.lib;libcmt.lib;libcpmt.lib;delayimp.lib;netapi32.lib;advapi32.lib;kernel32.lib;user32.lib;version.lib;%(AdditionalDependencies) + atls.lib;msi.lib;libcmt.lib;libcpmt.lib;delayimp.lib;netapi32.lib;advapi32.lib;kernel32.lib;user32.lib;version.lib;tinyxml2.lib;%(AdditionalDependencies) false ..\clientsetup\win\boinccas.def netapi32.dll;advapi32.dll;%(DelayLoadDLLs) @@ -114,7 +115,7 @@ true $(OutDir)boinccas.lib MachineX64 - $(OutDir);%(AdditionalLibraryDirectories) + $(OutDir);$(VcpkgInstalledDir)/lib;%(AdditionalLibraryDirectories) @@ -245,6 +246,9 @@ {e8f6bd7e-461a-4733-b7d8-37b09a099ed8} + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + diff --git a/win_build/boinccmd_vs2019.vcxproj b/win_build/boinccmd_vs2019.vcxproj index a72d7069cca..5e9fd5f6369 100644 --- a/win_build/boinccmd_vs2019.vcxproj +++ b/win_build/boinccmd_vs2019.vcxproj @@ -70,7 +70,7 @@ Disabled - ../win_build;../lib/;../api/;../RSAEuro/source/;../client/win/;../client;..;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + ../win_build;../lib/;../api/;../RSAEuro/source/;../client/win/;../client;..;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;_CONSOLE;%(PreprocessorDefinitions) Async EnableFastChecks @@ -97,7 +97,7 @@ ..;%(AdditionalIncludeDirectories) - kernel32.lib;user32.lib;advapi32.lib;wsock32.lib;wininet.lib;winmm.lib;oldnames.lib;%(AdditionalDependencies) + kernel32.lib;user32.lib;advapi32.lib;wsock32.lib;wininet.lib;winmm.lib;oldnames.lib;tinyxml2d.lib;%(AdditionalDependencies) true false %(IgnoreSpecificDefaultLibraries) @@ -107,6 +107,7 @@ MachineX64 + $(VcpkgInstalledDir)/debug/lib @@ -122,7 +123,7 @@ MaxSpeed OnlyExplicitInline - ../win_build;../lib/;../api/;../RSAEuro/source/;../client/win/;../client;..;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + ../win_build;../lib/;../api/;../RSAEuro/source/;../client/win/;../client;..;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_CONSOLE;%(PreprocessorDefinitions) true Async @@ -148,7 +149,7 @@ ..;%(AdditionalIncludeDirectories) - kernel32.lib;user32.lib;advapi32.lib;wsock32.lib;wininet.lib;winmm.lib;oldnames.lib;%(AdditionalDependencies) + kernel32.lib;user32.lib;advapi32.lib;wsock32.lib;wininet.lib;winmm.lib;oldnames.lib;tinyxml2.lib;%(AdditionalDependencies) NotSet true false @@ -159,6 +160,7 @@ true true MachineX64 + $(VcpkgInstalledDir)/lib @@ -188,6 +190,9 @@ {e8f6bd7e-461a-4733-b7d8-37b09a099ed8} false + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + diff --git a/win_build/boinclog_vs2019.vcxproj b/win_build/boinclog_vs2019.vcxproj index c3866f5dd9e..43e1793c84c 100644 --- a/win_build/boinclog_vs2019.vcxproj +++ b/win_build/boinclog_vs2019.vcxproj @@ -70,7 +70,7 @@ Disabled - ../win_build;../lib/;../api/;../RSAEuro/source/;../client/win/;../client;..;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + ../win_build;../lib/;../api/;../RSAEuro/source/;../client/win/;../client;..;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;_CONSOLE;%(PreprocessorDefinitions) Async EnableFastChecks @@ -97,7 +97,7 @@ ..;%(AdditionalIncludeDirectories) - kernel32.lib;user32.lib;advapi32.lib;wsock32.lib;wininet.lib;winmm.lib;oldnames.lib;%(AdditionalDependencies) + kernel32.lib;user32.lib;advapi32.lib;wsock32.lib;wininet.lib;winmm.lib;oldnames.lib;tinyxml2d.lib;%(AdditionalDependencies) true false %(IgnoreSpecificDefaultLibraries) @@ -107,6 +107,7 @@ MachineX64 + $(VcpkgInstalledDir)/debug/lib @@ -122,7 +123,7 @@ MaxSpeed OnlyExplicitInline - ../win_build;../lib/;../api/;../RSAEuro/source/;../client/win/;../client;..;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + ../win_build;../lib/;../api/;../RSAEuro/source/;../client/win/;../client;..;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_CONSOLE;%(PreprocessorDefinitions) true Async @@ -148,7 +149,7 @@ ..;%(AdditionalIncludeDirectories) - kernel32.lib;user32.lib;advapi32.lib;wsock32.lib;wininet.lib;winmm.lib;oldnames.lib;%(AdditionalDependencies) + kernel32.lib;user32.lib;advapi32.lib;wsock32.lib;wininet.lib;winmm.lib;oldnames.lib;tinyxml2.lib;%(AdditionalDependencies) NotSet true false @@ -159,6 +160,7 @@ true true MachineX64 + $(VcpkgInstalledDir)/lib @@ -188,6 +190,9 @@ {e8f6bd7e-461a-4733-b7d8-37b09a099ed8} false + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + diff --git a/win_build/boincmgr_vs2019.vcxproj b/win_build/boincmgr_vs2019.vcxproj index cde56db6930..1612fe678f5 100644 --- a/win_build/boincmgr_vs2019.vcxproj +++ b/win_build/boincmgr_vs2019.vcxproj @@ -83,7 +83,7 @@ $(VcpkgInstalledDir)/include/;..;%(AdditionalIncludeDirectories) - kernel32.lib;user32.lib;gdi32.lib;ole32.lib;oleacc.lib;oleaut32.lib;shell32.lib;comdlg32.lib;advapi32.lib;oldnames.lib;uuid.lib;rpcrt4.lib;comctl32.lib;wsock32.lib;wininet.lib;userenv.lib;winspool.lib;wxbase31u.lib;wxbase31u_net.lib;wxbase31u_xml.lib;wxmsw31u_adv.lib;wxmsw31u_core.lib;wxmsw31u_html.lib;wxmsw31u_qa.lib;wxmsw31u_webview.lib;wxregexu.lib;libpng16.lib;jpeg.lib;tiff.lib;zlib.lib;lzma.lib + kernel32.lib;user32.lib;gdi32.lib;ole32.lib;oleacc.lib;oleaut32.lib;shell32.lib;comdlg32.lib;advapi32.lib;oldnames.lib;uuid.lib;rpcrt4.lib;comctl32.lib;wsock32.lib;wininet.lib;userenv.lib;winspool.lib;wxbase31u.lib;wxbase31u_net.lib;wxbase31u_xml.lib;wxmsw31u_adv.lib;wxmsw31u_core.lib;wxmsw31u_html.lib;wxmsw31u_qa.lib;wxmsw31u_webview.lib;wxregexu.lib;libpng16.lib;jpeg.lib;tiff.lib;zlib.lib;lzma.lib;tinyxml2.lib $(OutDir);$(VcpkgInstalledDir)/lib;%(AdditionalLibraryDirectories) false true @@ -130,7 +130,7 @@ $(VcpkgInstalledDir)/include/;..;%(AdditionalIncludeDirectories) - kernel32.lib;user32.lib;gdi32.lib;ole32.lib;oleaut32.lib;oleacc.lib;shell32.lib;comdlg32.lib;advapi32.lib;oldnames.lib;uuid.lib;rpcrt4.lib;comctl32.lib;wsock32.lib;wininet.lib;userenv.lib;winspool.lib;wxbase31ud.lib;wxbase31ud_net.lib;wxbase31ud_xml.lib;wxmsw31ud_adv.lib;wxmsw31ud_core.lib;wxmsw31ud_html.lib;wxmsw31ud_qa.lib;wxmsw31ud_webview.lib;wxregexud.lib;libpng16d.lib;jpegd.lib;tiffd.lib;zlibd.lib;lzmad.lib + kernel32.lib;user32.lib;gdi32.lib;ole32.lib;oleaut32.lib;oleacc.lib;shell32.lib;comdlg32.lib;advapi32.lib;oldnames.lib;uuid.lib;rpcrt4.lib;comctl32.lib;wsock32.lib;wininet.lib;userenv.lib;winspool.lib;wxbase31ud.lib;wxbase31ud_net.lib;wxbase31ud_xml.lib;wxmsw31ud_adv.lib;wxmsw31ud_core.lib;wxmsw31ud_html.lib;wxmsw31ud_qa.lib;wxmsw31ud_webview.lib;wxregexud.lib;libpng16d.lib;jpegd.lib;tiffd.lib;zlibd.lib;lzmad.lib;tinyxml2d.lib $(OutDir);$(VcpkgInstalledDir)/debug/lib;%(AdditionalLibraryDirectories) false true @@ -367,6 +367,11 @@ + + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + + diff --git a/win_build/example_app_multi_thread_vs2019.vcxproj b/win_build/example_app_multi_thread_vs2019.vcxproj index 0aec3a7cc2e..c02acee4ed6 100644 --- a/win_build/example_app_multi_thread_vs2019.vcxproj +++ b/win_build/example_app_multi_thread_vs2019.vcxproj @@ -77,7 +77,7 @@ MaxSpeed OnlyExplicitInline Speed - .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) false Sync @@ -98,7 +98,7 @@ 0x0409 - libcmt.lib;libcpmt.lib;opengl32.lib;glu32.lib;odbc32.lib;odbccp32.lib;psapi.lib;%(AdditionalDependencies) + libcmt.lib;libcpmt.lib;opengl32.lib;glu32.lib;odbc32.lib;odbccp32.lib;psapi.lib;tinyxml2.lib;%(AdditionalDependencies) true false %(DelayLoadDLLs) @@ -106,6 +106,7 @@ .\Build\$(Platform)\$(Configuration)\multi_thread_6.1_windows_x86_64.pdb Console MachineX64 + $(VcpkgInstalledDir)/lib @@ -121,7 +122,7 @@ Disabled - .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -140,7 +141,7 @@ 0x0409 - libcmtd.lib;libcpmtd.lib;kernel32.lib;user32.lib;gdi32.lib;opengl32.lib;glu32.lib;ole32.lib;psapi.lib;delayimp.lib;%(AdditionalDependencies) + libcmtd.lib;libcpmtd.lib;kernel32.lib;user32.lib;gdi32.lib;opengl32.lib;glu32.lib;ole32.lib;psapi.lib;delayimp.lib;tinyxml2d.lib;%(AdditionalDependencies) true false %(DelayLoadDLLs) @@ -148,6 +149,7 @@ .\Build\$(Platform)\$(Configuration)\multi_thread_6.1_windows_x86_64.pdb Console MachineX64 + $(VcpkgInstalledDir)/debug/lib @@ -165,6 +167,9 @@ {814ebfd3-3ce6-4933-a580-c1fe3147acb4} false + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + diff --git a/win_build/example_app_nvcuda_vs2019.vcxproj b/win_build/example_app_nvcuda_vs2019.vcxproj index e617931dbf7..b602e333b56 100644 --- a/win_build/example_app_nvcuda_vs2019.vcxproj +++ b/win_build/example_app_nvcuda_vs2019.vcxproj @@ -66,7 +66,7 @@ Disabled - .;..;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;$(CUDA_INC_PATH);%(AdditionalIncludeDirectories) + .;..;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;$(CUDA_INC_PATH);$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -75,8 +75,8 @@ Level4 - cudart.lib;%(AdditionalDependencies) - $(CUDA_LIB_PATH)/x64;%(AdditionalLibraryDirectories) + cudart.lib;tinyxml2d.lib;%(AdditionalDependencies) + $(CUDA_LIB_PATH)/x64;$(VcpkgInstalledDir)/debug/lib;%(AdditionalLibraryDirectories) true .\Build\$(Platform)\$(Configuration)\$(ProjectName).pdb Console @@ -92,7 +92,7 @@ X64 - .;..;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;$(CUDA_INC_PATH);%(AdditionalIncludeDirectories) + .;..;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;$(CUDA_INC_PATH);$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;_NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded @@ -100,8 +100,8 @@ Level4 - cudart.lib;%(AdditionalDependencies) - $(CUDA_LIB_PATH)/x64;%(AdditionalLibraryDirectories) + cudart.lib;tinyxml2.lib;%(AdditionalDependencies) + $(CUDA_LIB_PATH)/x64;$(VcpkgInstalledDir)/lib;%(AdditionalLibraryDirectories) true .\Build\$(Platform)\$(Configuration)\$(ProjectName).pdb Console @@ -133,6 +133,9 @@ {e8f6bd7e-461a-4733-b7d8-37b09a099ed8} + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + diff --git a/win_build/htmlgfx_vs2019.vcxproj b/win_build/htmlgfx_vs2019.vcxproj index abaa2acb3e2..986f62c7a2a 100644 --- a/win_build/htmlgfx_vs2019.vcxproj +++ b/win_build/htmlgfx_vs2019.vcxproj @@ -75,7 +75,7 @@ MaxSpeed OnlyExplicitInline Speed - .;../;$(IntDir);../api;../lib;%(AdditionalIncludeDirectories) + .;../;$(IntDir);../api;../lib;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;_ATL_DISABLE_NOTHROW_NEW;%(PreprocessorDefinitions) false Sync @@ -97,7 +97,7 @@ $(IntDir);..;%(AdditionalIncludeDirectories) - libcmt.lib;libcpmt.lib;atls.lib;comsuppw.lib;urlmon.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;wsock32.lib;psapi.lib;%(AdditionalDependencies) + libcmt.lib;libcpmt.lib;atls.lib;comsuppw.lib;urlmon.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;wsock32.lib;psapi.lib;tinyxml2.lib;%(AdditionalDependencies) true false %(DelayLoadDLLs) @@ -105,7 +105,7 @@ $(TargetDir)\$(TargetName).pdb Windows MachineX64 - $(TargetDir) + $(TargetDir);$(VcpkgInstalledDir)/lib @@ -121,7 +121,7 @@ Disabled - .;../;$(IntDir);../api;../lib;%(AdditionalIncludeDirectories) + .;../;$(IntDir);../api;../lib;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;_CONSOLE;_ATL_DISABLE_NOTHROW_NEW;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -141,7 +141,7 @@ $(IntDir);..;%(AdditionalIncludeDirectories) - libcmtd.lib;libcpmtd.lib;atls.lib;comsuppwd.lib;urlmon.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;wsock32.lib;psapi.lib;%(AdditionalDependencies) + libcmtd.lib;libcpmtd.lib;atls.lib;comsuppwd.lib;urlmon.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;wsock32.lib;psapi.lib;tinyxml2d.lib;%(AdditionalDependencies) true false %(DelayLoadDLLs) @@ -149,7 +149,7 @@ $(TargetDir)\$(TargetName).pdb Windows MachineX64 - $(TargetDir) + $(TargetDir);$(VcpkgInstalledDir)/debug/lib @@ -208,6 +208,9 @@ {814ebfd3-3ce6-4933-a580-c1fe3147acb4} + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + diff --git a/win_build/libboinc_vs2019.vcxproj b/win_build/libboinc_vs2019.vcxproj index 6573263f8dd..dbda8795d58 100644 --- a/win_build/libboinc_vs2019.vcxproj +++ b/win_build/libboinc_vs2019.vcxproj @@ -76,8 +76,7 @@ $(VcpkgInstalledDir)/debug/lib;%(AdditionalLibraryDirectories) - - + tinyxml2d.lib @@ -101,8 +100,7 @@ $(VcpkgInstalledDir)/lib;%(AdditionalLibraryDirectories) - - + tinyxml2.lib @@ -213,4 +211,4 @@ - \ No newline at end of file + diff --git a/win_build/libboincapi_staticcrt_vs2019.vcxproj b/win_build/libboincapi_staticcrt_vs2019.vcxproj index 56525bab791..e7be8d11fd4 100644 --- a/win_build/libboincapi_staticcrt_vs2019.vcxproj +++ b/win_build/libboincapi_staticcrt_vs2019.vcxproj @@ -58,7 +58,7 @@ Disabled - .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;_CONSOLE;CLIENT;BOINC_APP_GRAPHICS;%(PreprocessorDefinitions) Async EnableFastChecks @@ -77,7 +77,7 @@ X64 - .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_LIB;_CONSOLE;CLIENT;BOINC_APP_GRAPHICS;%(PreprocessorDefinitions) Async MultiThreaded @@ -102,6 +102,11 @@ + + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + + diff --git a/win_build/libboincopencl_staticcrt_vs2019.vcxproj b/win_build/libboincopencl_staticcrt_vs2019.vcxproj index 408864fd874..221bdb15af3 100644 --- a/win_build/libboincopencl_staticcrt_vs2019.vcxproj +++ b/win_build/libboincopencl_staticcrt_vs2019.vcxproj @@ -58,7 +58,7 @@ Disabled - .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;_CONSOLE;CLIENT;BOINC_APP_GRAPHICS;%(PreprocessorDefinitions) Async EnableFastChecks @@ -77,7 +77,7 @@ X64 - .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_LIB;_CONSOLE;CLIENT;BOINC_APP_GRAPHICS;%(PreprocessorDefinitions) Async MultiThreaded @@ -103,6 +103,11 @@ + + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + + diff --git a/win_build/libgraphics2_vs2019.vcxproj b/win_build/libgraphics2_vs2019.vcxproj index 7f44d3c831e..2bc35acb4a9 100644 --- a/win_build/libgraphics2_vs2019.vcxproj +++ b/win_build/libgraphics2_vs2019.vcxproj @@ -58,7 +58,7 @@ Disabled - .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;_CONSOLE;CLIENT;BOINC_APP_GRAPHICS;%(PreprocessorDefinitions) Async EnableFastChecks @@ -76,7 +76,7 @@ X64 - .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_LIB;_CONSOLE;CLIENT;BOINC_APP_GRAPHICS;%(PreprocessorDefinitions) Async MultiThreaded @@ -132,6 +132,11 @@ + + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + + diff --git a/win_build/sim_vs2019.vcxproj b/win_build/sim_vs2019.vcxproj index e86ea07c2d5..88e809a8a20 100644 --- a/win_build/sim_vs2019.vcxproj +++ b/win_build/sim_vs2019.vcxproj @@ -96,7 +96,7 @@ ..;%(AdditionalIncludeDirectories) - kernel32.lib;user32.lib;advapi32.lib;wsock32.lib;wininet.lib;winmm.lib;oldnames.lib;zlibd.lib;libcrypto.lib;libssl.lib;libcurl-d.lib;%(AdditionalDependencies);Ws2_32.Lib;Crypt32.Lib;Wldap32.Lib + kernel32.lib;user32.lib;advapi32.lib;wsock32.lib;wininet.lib;winmm.lib;oldnames.lib;zlibd.lib;libcrypto.lib;libssl.lib;libcurl-d.lib;%(AdditionalDependencies);Ws2_32.Lib;Crypt32.Lib;Wldap32.Lib;tinyxml2d.lib true false %(IgnoreSpecificDefaultLibraries) @@ -148,7 +148,7 @@ ..;%(AdditionalIncludeDirectories) - kernel32.lib;user32.lib;advapi32.lib;wsock32.lib;wininet.lib;winmm.lib;oldnames.lib;zlib.lib;libcrypto.lib;libssl.lib;libcurl.lib;%(AdditionalDependencies);Ws2_32.Lib;Crypt32.Lib;Wldap32.Lib + kernel32.lib;user32.lib;advapi32.lib;wsock32.lib;wininet.lib;winmm.lib;oldnames.lib;zlib.lib;libcrypto.lib;libssl.lib;libcurl.lib;%(AdditionalDependencies);Ws2_32.Lib;Crypt32.Lib;Wldap32.Lib;tinyxml2.lib NotSet true false @@ -244,6 +244,11 @@ + + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + + diff --git a/win_build/sleeper_vs2019.vcxproj b/win_build/sleeper_vs2019.vcxproj index 7deecc73792..6dc2a243f68 100644 --- a/win_build/sleeper_vs2019.vcxproj +++ b/win_build/sleeper_vs2019.vcxproj @@ -76,7 +76,7 @@ MaxSpeed OnlyExplicitInline Speed - ../win_build;.;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + ../win_build;.;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) false Sync @@ -97,7 +97,7 @@ 0x0409 - libcmt.lib;libcpmt.lib;kernel32.lib;user32.lib;gdi32.lib;opengl32.lib;psapi.lib;glu32.lib;ole32.lib;psapi.lib;%(AdditionalDependencies) + libcmt.lib;libcpmt.lib;kernel32.lib;user32.lib;gdi32.lib;opengl32.lib;psapi.lib;glu32.lib;ole32.lib;tinyxml2.lib;%(AdditionalDependencies) true false %(DelayLoadDLLs) @@ -105,6 +105,7 @@ .\Build\$(Platform)\$(Configuration)\sleeper_6.1_windows_x86_64.pdb Console MachineX64 + $(VcpkgInstalledDir)/lib @@ -120,7 +121,7 @@ Disabled - ../win_build;.;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + ../win_build;.;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -139,7 +140,7 @@ 0x0409 - libcmtd.lib;libcpmtd.lib;kernel32.lib;user32.lib;gdi32.lib;opengl32.lib;glu32.lib;ole32.lib;psapi.lib;%(AdditionalDependencies) + libcmtd.lib;libcpmtd.lib;kernel32.lib;user32.lib;gdi32.lib;opengl32.lib;glu32.lib;ole32.lib;psapi.lib;tinyxml2d.lib;%(AdditionalDependencies) true false %(DelayLoadDLLs) @@ -147,6 +148,7 @@ .\Build\$(Platform)\$(Configuration)\sleeper_6.1_windows_x86_64.pdb Console MachineX64 + $(VcpkgInstalledDir)/debug/lib @@ -160,6 +162,9 @@ {e8f6bd7e-461a-4733-b7d8-37b09a099ed8} + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + diff --git a/win_build/uc2_vs2019.vcxproj b/win_build/uc2_vs2019.vcxproj index b17c289ff09..7cf7c0d19fa 100644 --- a/win_build/uc2_vs2019.vcxproj +++ b/win_build/uc2_vs2019.vcxproj @@ -70,7 +70,7 @@ MaxSpeed OnlyExplicitInline Speed - .;..;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + .;..;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) false Sync @@ -91,7 +91,7 @@ 0x0409 - opengl32.lib;glu32.lib;odbc32.lib;odbccp32.lib;psapi.lib;libcmt.lib;libcpmt.lib;%(AdditionalDependencies) + opengl32.lib;glu32.lib;odbc32.lib;odbccp32.lib;psapi.lib;libcmt.lib;libcpmt.lib;tinyxml2.lib;%(AdditionalDependencies) true false %(DelayLoadDLLs) @@ -99,7 +99,7 @@ .\Build\$(Platform)\$(Configuration)\$(ProjectName).pdb Console MachineX64 - $(OutDir) + $(OutDir);$(VcpkgInstalledDir)/lib @@ -115,7 +115,7 @@ Disabled - .;..;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + .;..;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -134,7 +134,7 @@ 0x0409 - libcmtd.lib;libcpmtd.lib;kernel32.lib;user32.lib;gdi32.lib;opengl32.lib;glu32.lib;ole32.lib;psapi.lib;delayimp.lib;%(AdditionalDependencies) + libcmtd.lib;libcpmtd.lib;kernel32.lib;user32.lib;gdi32.lib;opengl32.lib;glu32.lib;ole32.lib;psapi.lib;delayimp.lib;tinyxml2d.lib;%(AdditionalDependencies) true false %(DelayLoadDLLs) @@ -142,7 +142,7 @@ .\Build\$(Platform)\$(Configuration)\$(ProjectName).pdb Console MachineX64 - $(OutDir) + $(OutDir);$(VcpkgInstalledDir)/debug/lib @@ -163,6 +163,9 @@ {b275c525-5ef4-40ba-a70a-4e01a76a0cdd} + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + diff --git a/win_build/unittests_vs2019.vcxproj b/win_build/unittests_vs2019.vcxproj index cd79b1cb814..9d01c31f771 100644 --- a/win_build/unittests_vs2019.vcxproj +++ b/win_build/unittests_vs2019.vcxproj @@ -66,7 +66,7 @@ Console true $(VcpkgInstalledDir)/debug/lib;$(VcpkgInstalledDir)/debug/lib/manual-link - gtest_maind.lib;gmock_maind.lib;%(AdditionalDependencies) + gtest_maind.lib;gmock_maind.lib;tinyxml2d.lib;%(AdditionalDependencies) false @@ -86,7 +86,7 @@ true true $(VcpkgInstalledDir)/lib;$(VcpkgInstalledDir)/lib/manual-link - gtest_main.lib;gmock_main.lib;%(AdditionalDependencies) + gtest_main.lib;gmock_main.lib;tinyxml2.lib;%(AdditionalDependencies) false diff --git a/win_build/vboxwrapper_vs2019.vcxproj b/win_build/vboxwrapper_vs2019.vcxproj index 06d4dae37b2..cde9e4397b0 100644 --- a/win_build/vboxwrapper_vs2019.vcxproj +++ b/win_build/vboxwrapper_vs2019.vcxproj @@ -75,7 +75,7 @@ MaxSpeed OnlyExplicitInline Speed - .;../;../api;../lib;%(AdditionalIncludeDirectories) + .;../;../api;../lib;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;_ATL_DISABLE_NOTHROW_NEW;%(PreprocessorDefinitions) false Sync @@ -97,7 +97,7 @@ ..;%(AdditionalIncludeDirectories) - libcmt.lib;libcpmt.lib;atls.lib;comsuppw.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;wsock32.lib;psapi.lib;%(AdditionalDependencies) + libcmt.lib;libcpmt.lib;atls.lib;comsuppw.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;wsock32.lib;psapi.lib;tinyxml2.lib;%(AdditionalDependencies) true false %(DelayLoadDLLs) @@ -105,7 +105,7 @@ $(TargetDir)\$(TargetName).pdb Console MachineX64 - $(TargetDir) + $(TargetDir);$(VcpkgInstalledDir)/lib @@ -121,7 +121,7 @@ Disabled - .;../;../api;../lib;%(AdditionalIncludeDirectories) + .;../;../api;../lib;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;_CONSOLE;_ATL_DISABLE_NOTHROW_NEW;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -141,7 +141,7 @@ ..;%(AdditionalIncludeDirectories) - libcmtd.lib;libcpmtd.lib;atls.lib;comsuppwd.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;wsock32.lib;psapi.lib;%(AdditionalDependencies) + libcmtd.lib;libcpmtd.lib;atls.lib;comsuppwd.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;wsock32.lib;psapi.lib;tinyxml2d.lib;%(AdditionalDependencies) true false %(DelayLoadDLLs) @@ -149,7 +149,7 @@ $(TargetDir)\$(TargetName).pdb Console MachineX64 - $(TargetDir) + $(TargetDir);$(VcpkgInstalledDir)/debug/lib @@ -195,6 +195,9 @@ {814ebfd3-3ce6-4933-a580-c1fe3147acb4} + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + diff --git a/win_build/vcpkg_3rdparty_dependencies_vs2019.vcxproj b/win_build/vcpkg_3rdparty_dependencies_vs2019.vcxproj index 7256e029734..8acde0b3110 100644 --- a/win_build/vcpkg_3rdparty_dependencies_vs2019.vcxproj +++ b/win_build/vcpkg_3rdparty_dependencies_vs2019.vcxproj @@ -104,7 +104,7 @@ - + diff --git a/win_build/wrapper_vs2019.vcxproj b/win_build/wrapper_vs2019.vcxproj index 28c52111677..6caf4b5dce1 100644 --- a/win_build/wrapper_vs2019.vcxproj +++ b/win_build/wrapper_vs2019.vcxproj @@ -72,7 +72,7 @@ MaxSpeed OnlyExplicitInline Speed - .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../zip;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../zip;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) false Sync @@ -95,7 +95,7 @@ ..;%(AdditionalIncludeDirectories) - libcmt.lib;libcpmt.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;psapi.lib;oldnames.lib;%(AdditionalDependencies) + libcmt.lib;libcpmt.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;psapi.lib;oldnames.lib;tinyxml2.lib;%(AdditionalDependencies) true false %(DelayLoadDLLs) @@ -103,7 +103,7 @@ .\Build\$(Platform)\$(Configuration)\$(TargetName).pdb Console MachineX64 - $(TargetDir) + $(TargetDir);$(VcpkgInstalledDir)/lib UseLinkTimeCodeGeneration @@ -120,7 +120,7 @@ Disabled - .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../zip;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories) + .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../zip;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -140,7 +140,7 @@ ..;%(AdditionalIncludeDirectories) - libcmtd.lib;libcpmtd.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;psapi.lib;oldnames.lib;%(AdditionalDependencies) + libcmtd.lib;libcpmtd.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;psapi.lib;oldnames.lib;tinyxml2d.lib;%(AdditionalDependencies) true false %(DelayLoadDLLs) @@ -148,7 +148,7 @@ .\Build\$(Platform)\$(Configuration)\$(TargetName).pdb Console MachineX64 - $(TargetDir) + $(TargetDir);$(VcpkgInstalledDir)/debug/lib @@ -179,6 +179,9 @@ {814ebfd3-3ce6-4933-a580-c1fe3147acb4} + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} + diff --git a/win_build/wrappture_example_vs2019.vcxproj b/win_build/wrappture_example_vs2019.vcxproj index 902df9a2300..31e86bd0c62 100644 --- a/win_build/wrappture_example_vs2019.vcxproj +++ b/win_build/wrappture_example_vs2019.vcxproj @@ -77,7 +77,7 @@ MaxSpeed OnlyExplicitInline Speed - .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include/rappture;%(AdditionalIncludeDirectories) + .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include/rappture;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) false Sync @@ -98,7 +98,7 @@ 0x0409 - rappture.lib;libexpatMD.lib;libcmt.lib;libcpmt.lib;zlib.lib;%(AdditionalDependencies) + rappture.lib;libexpatMD.lib;libcmt.lib;libcpmt.lib;zlib.lib;tinyxml2.lib;%(AdditionalDependencies) true false %(DelayLoadDLLs) @@ -122,7 +122,7 @@ Disabled - .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include/rappture;%(AdditionalIncludeDirectories) + .;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut;../coprocs/OpenCL/include;$(VcpkgInstalledDir)/include/rappture;$(VcpkgInstalledDir)/include;%(AdditionalIncludeDirectories) WIN32;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -141,7 +141,7 @@ 0x0409 - rappture.lib;libexpatdMD.lib;libcmtd.lib;libcpmtd.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;zlibd.lib;%(AdditionalDependencies) + rappture.lib;libexpatdMD.lib;libcmtd.lib;libcpmtd.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;zlibd.lib;tinyxml2d.lib;%(AdditionalDependencies) true false %(DelayLoadDLLs) @@ -167,6 +167,9 @@ {e8f6bd7e-461a-4733-b7d8-37b09a099ed8} + + {d3e5b5b5-4fb1-4877-9b2c-6708b3d568f7} +