diff --git a/ProGen/src/ProGen.cpp b/ProGen/src/ProGen.cpp index 20cb2bc1d..c3c2c6aa1 100644 --- a/ProGen/src/ProGen.cpp +++ b/ProGen/src/ProGen.cpp @@ -585,6 +585,17 @@ protected: void fix2022Project(Poco::AutoPtr pProjectDoc, const std::set& configSet, const std::string& platform, const Poco::Util::AbstractConfiguration& projectProps, const Poco::Util::AbstractConfiguration& templateProps) { fix20XXProject(pProjectDoc, configSet, platform, projectProps, templateProps, "v143"); + Poco::AutoPtr pLinkList = pProjectDoc->getElementsByTagName("Link"); + for (unsigned long i = 0; i < pLinkList->length(); i++) + { + Poco::XML::Element* pLinkElem = static_cast(pLinkList->item(i)); + Poco::XML::Element* pItemDefinitionGroupElem = static_cast(pLinkElem->parentNode()); + Poco::XML::XMLString condition = pItemDefinitionGroupElem->getAttribute("Condition"); + if (Poco::endsWith(condition, Poco::XML::XMLString("ARM64'"))) + { + appendElement(pLinkElem, "TargetMachine", "MachineARM64"); + } + } } void appendElement(Poco::XML::Node* pParentNode, const std::string& elemName, const std::string& text) diff --git a/ProGen/templates/vs170/Win32/executable/debug_shared-ARM64.template b/ProGen/templates/vs170/Win32/executable/debug_shared-ARM64.template new file mode 100644 index 000000000..9fc768e66 --- /dev/null +++ b/ProGen/templates/vs170/Win32/executable/debug_shared-ARM64.template @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/executable/debug_static_md-ARM64.template b/ProGen/templates/vs170/Win32/executable/debug_static_md-ARM64.template new file mode 100644 index 000000000..bf6a0f932 --- /dev/null +++ b/ProGen/templates/vs170/Win32/executable/debug_static_md-ARM64.template @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/executable/debug_static_mt-ARM64.template b/ProGen/templates/vs170/Win32/executable/debug_static_mt-ARM64.template new file mode 100644 index 000000000..866b6805d --- /dev/null +++ b/ProGen/templates/vs170/Win32/executable/debug_static_mt-ARM64.template @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/executable/project.properties b/ProGen/templates/vs170/Win32/executable/project.properties index 38c4d63fd..9bb65f1f2 100644 --- a/ProGen/templates/vs170/Win32/executable/project.properties +++ b/ProGen/templates/vs170/Win32/executable/project.properties @@ -7,6 +7,7 @@ project.targetSuffix.debug_static_mt = d project.targetSuffix.release_static_mt = project.postprocess = upgrade2008to2022 project.finalSuffix = _vs170.vcxproj -project.architectures = Win32, x64 +project.architectures = Win32, x64, ARM64 project.targetArchitecture.Win32 = IA32 -project.targetArchitecture.x64 = AMD64 \ No newline at end of file +project.targetArchitecture.x64 = AMD64 +project.targetArchitecture.ARM64 = ARM64 \ No newline at end of file diff --git a/ProGen/templates/vs170/Win32/executable/project.template b/ProGen/templates/vs170/Win32/executable/project.template index 1445a20cb..568eb7c84 100644 --- a/ProGen/templates/vs170/Win32/executable/project.template +++ b/ProGen/templates/vs170/Win32/executable/project.template @@ -15,6 +15,9 @@ + diff --git a/ProGen/templates/vs170/Win32/executable/release_shared-ARM64.template b/ProGen/templates/vs170/Win32/executable/release_shared-ARM64.template new file mode 100644 index 000000000..64c010d97 --- /dev/null +++ b/ProGen/templates/vs170/Win32/executable/release_shared-ARM64.template @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/executable/release_static_md-ARM64.template b/ProGen/templates/vs170/Win32/executable/release_static_md-ARM64.template new file mode 100644 index 000000000..60170da33 --- /dev/null +++ b/ProGen/templates/vs170/Win32/executable/release_static_md-ARM64.template @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/executable/release_static_mt-ARM64.template b/ProGen/templates/vs170/Win32/executable/release_static_mt-ARM64.template new file mode 100644 index 000000000..f11679405 --- /dev/null +++ b/ProGen/templates/vs170/Win32/executable/release_static_mt-ARM64.template @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/library/debug_shared-ARM64.template b/ProGen/templates/vs170/Win32/library/debug_shared-ARM64.template new file mode 100644 index 000000000..a678a162e --- /dev/null +++ b/ProGen/templates/vs170/Win32/library/debug_shared-ARM64.template @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/library/debug_static_md-ARM64.template b/ProGen/templates/vs170/Win32/library/debug_static_md-ARM64.template new file mode 100644 index 000000000..0690ae9e1 --- /dev/null +++ b/ProGen/templates/vs170/Win32/library/debug_static_md-ARM64.template @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/library/debug_static_mt-ARM64.template b/ProGen/templates/vs170/Win32/library/debug_static_mt-ARM64.template new file mode 100644 index 000000000..99a8d695d --- /dev/null +++ b/ProGen/templates/vs170/Win32/library/debug_static_mt-ARM64.template @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/library/project.properties b/ProGen/templates/vs170/Win32/library/project.properties index 9bb661428..02f5d959c 100644 --- a/ProGen/templates/vs170/Win32/library/project.properties +++ b/ProGen/templates/vs170/Win32/library/project.properties @@ -3,12 +3,15 @@ project.targetSuffix.debug_shared = d project.targetSuffix.release_shared = project.targetSuffix.debug_shared.x64 = 64d project.targetSuffix.release_shared.x64 = 64 +project.targetSuffix.debug_shared.ARM64 = A64d +project.targetSuffix.release_shared.ARM64 = A64 project.targetSuffix.debug_static_md = mdd project.targetSuffix.release_static_md = md project.targetSuffix.debug_static_mt = mtd project.targetSuffix.release_static_mt = mt project.postprocess = upgrade2008to2022 project.finalSuffix = _vs170.vcxproj -project.architectures = Win32, x64 +project.architectures = Win32, x64, ARM64 project.targetArchitecture.Win32 = IA32 -project.targetArchitecture.x64 = AMD64 \ No newline at end of file +project.targetArchitecture.x64 = AMD64 +project.targetArchitecture.ARM64 = ARM64 \ No newline at end of file diff --git a/ProGen/templates/vs170/Win32/library/project.template b/ProGen/templates/vs170/Win32/library/project.template index 1445a20cb..568eb7c84 100644 --- a/ProGen/templates/vs170/Win32/library/project.template +++ b/ProGen/templates/vs170/Win32/library/project.template @@ -15,6 +15,9 @@ + diff --git a/ProGen/templates/vs170/Win32/library/release_shared-ARM64.template b/ProGen/templates/vs170/Win32/library/release_shared-ARM64.template new file mode 100644 index 000000000..8b3b814af --- /dev/null +++ b/ProGen/templates/vs170/Win32/library/release_shared-ARM64.template @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/library/release_static_md-ARM64.template b/ProGen/templates/vs170/Win32/library/release_static_md-ARM64.template new file mode 100644 index 000000000..d223cede1 --- /dev/null +++ b/ProGen/templates/vs170/Win32/library/release_static_md-ARM64.template @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/library/release_static_mt-ARM64.template b/ProGen/templates/vs170/Win32/library/release_static_mt-ARM64.template new file mode 100644 index 000000000..1b2e40ae2 --- /dev/null +++ b/ProGen/templates/vs170/Win32/library/release_static_mt-ARM64.template @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/plugin/debug_shared-ARM64.template b/ProGen/templates/vs170/Win32/plugin/debug_shared-ARM64.template new file mode 100644 index 000000000..b77e01f75 --- /dev/null +++ b/ProGen/templates/vs170/Win32/plugin/debug_shared-ARM64.template @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/plugin/project.properties b/ProGen/templates/vs170/Win32/plugin/project.properties index 8e15775e4..e934fe9d7 100644 --- a/ProGen/templates/vs170/Win32/plugin/project.properties +++ b/ProGen/templates/vs170/Win32/plugin/project.properties @@ -3,6 +3,7 @@ project.targetSuffix.debug_shared = d project.targetSuffix.release_shared = project.postprocess = upgrade2008to2022 project.finalSuffix = _vs170.vcxproj -project.architectures = Win32, x64 +project.architectures = Win32, x64, ARM64 project.targetArchitecture.Win32 = IA32 -project.targetArchitecture.x64 = AMD64 \ No newline at end of file +project.targetArchitecture.x64 = AMD64 +project.targetArchitecture.ARM64 = ARM64 \ No newline at end of file diff --git a/ProGen/templates/vs170/Win32/plugin/project.template b/ProGen/templates/vs170/Win32/plugin/project.template index 1445a20cb..568eb7c84 100644 --- a/ProGen/templates/vs170/Win32/plugin/project.template +++ b/ProGen/templates/vs170/Win32/plugin/project.template @@ -15,6 +15,9 @@ + diff --git a/ProGen/templates/vs170/Win32/plugin/release_shared-ARM64.template b/ProGen/templates/vs170/Win32/plugin/release_shared-ARM64.template new file mode 100644 index 000000000..556329d51 --- /dev/null +++ b/ProGen/templates/vs170/Win32/plugin/release_shared-ARM64.template @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/testsuite/debug_shared-ARM64.template b/ProGen/templates/vs170/Win32/testsuite/debug_shared-ARM64.template new file mode 100644 index 000000000..89d550fd3 --- /dev/null +++ b/ProGen/templates/vs170/Win32/testsuite/debug_shared-ARM64.template @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/testsuite/debug_static_md-ARM64.template b/ProGen/templates/vs170/Win32/testsuite/debug_static_md-ARM64.template new file mode 100644 index 000000000..419c6640e --- /dev/null +++ b/ProGen/templates/vs170/Win32/testsuite/debug_static_md-ARM64.template @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/testsuite/debug_static_mt-ARM64.template b/ProGen/templates/vs170/Win32/testsuite/debug_static_mt-ARM64.template new file mode 100644 index 000000000..a4ae7a264 --- /dev/null +++ b/ProGen/templates/vs170/Win32/testsuite/debug_static_mt-ARM64.template @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/testsuite/project.properties b/ProGen/templates/vs170/Win32/testsuite/project.properties index f3744c79a..34b1a3236 100644 --- a/ProGen/templates/vs170/Win32/testsuite/project.properties +++ b/ProGen/templates/vs170/Win32/testsuite/project.properties @@ -8,6 +8,7 @@ project.targetSuffix.release_static_mt = project.postprocess = upgrade2008to2022 project.finalSuffix = _vs170.vcxproj project.replaceSourceFiles = .\\src\\WinDriver.cpp > .\\src\\Driver.cpp -project.architectures = Win32, x64 +project.architectures = Win32, x64, ARM64 project.targetArchitecture.Win32 = IA32 -project.targetArchitecture.x64 = AMD64 \ No newline at end of file +project.targetArchitecture.x64 = AMD64 +project.targetArchitecture.ARM64 = ARM64 \ No newline at end of file diff --git a/ProGen/templates/vs170/Win32/testsuite/project.template b/ProGen/templates/vs170/Win32/testsuite/project.template index 1445a20cb..568eb7c84 100644 --- a/ProGen/templates/vs170/Win32/testsuite/project.template +++ b/ProGen/templates/vs170/Win32/testsuite/project.template @@ -15,6 +15,9 @@ + diff --git a/ProGen/templates/vs170/Win32/testsuite/release_shared-ARM64.template b/ProGen/templates/vs170/Win32/testsuite/release_shared-ARM64.template new file mode 100644 index 000000000..31f2abe9a --- /dev/null +++ b/ProGen/templates/vs170/Win32/testsuite/release_shared-ARM64.template @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/testsuite/release_static_md-ARM64.template b/ProGen/templates/vs170/Win32/testsuite/release_static_md-ARM64.template new file mode 100644 index 000000000..a7032fa51 --- /dev/null +++ b/ProGen/templates/vs170/Win32/testsuite/release_static_md-ARM64.template @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ProGen/templates/vs170/Win32/testsuite/release_static_mt-ARM64.template b/ProGen/templates/vs170/Win32/testsuite/release_static_mt-ARM64.template new file mode 100644 index 000000000..355d62329 --- /dev/null +++ b/ProGen/templates/vs170/Win32/testsuite/release_static_mt-ARM64.template @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + diff --git a/README b/README index 401903da7..79c93f6f5 100644 --- a/README +++ b/README @@ -186,8 +186,8 @@ BUILDING ON UNIX/LINUX/macOS ============================ For building on Unix platforms, the POCO C++ Libraries come with their own -build system. The build system is based on GNU Make 3.80 (or newer), with the help -from a few shell scripts. If you do not have GNU Make 3.80 (or later) installed on +build system. The build system is based on GNU Make 5.0 (or newer), with the help +from a few shell scripts. If you do not have GNU Make 5.0 (or later) installed on your machine, you will need to download it from http://directory.fsf.org/devel/build/make.html>, build and install it prior to building the POCO C++ Libraries.