From kwrobot at kitware.com Sat Dec 1 00:03:05 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Sat, 1 Dec 2018 00:03:05 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-559-g78c2edb Message-ID: <20181201050305.7BC831266F8@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via 78c2edb129594b198157799b3eb327f4a3915908 (commit) from 654fdd8374a4447dc65589eb55b39323384fbc60 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=78c2edb129594b198157799b3eb327f4a3915908 commit 78c2edb129594b198157799b3eb327f4a3915908 Author: Kitware Robot AuthorDate: Sat Dec 1 00:01:04 2018 -0500 Commit: Kitware Robot CommitDate: Sat Dec 1 00:01:04 2018 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 9d6704e..da44dc0 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 13) -set(CMake_VERSION_PATCH 20181130) +set(CMake_VERSION_PATCH 20181201) #set(CMake_VERSION_RC 1) ----------------------------------------------------------------------- Summary of changes: Source/CMakeVersion.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake From kwrobot at kitware.com Sun Dec 2 00:03:04 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Sun, 2 Dec 2018 00:03:04 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-560-g53fb6a1 Message-ID: <20181202050304.34FF3113008@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via 53fb6a1f50f9c7bb29fe422c5aea446fef6a8abb (commit) from 78c2edb129594b198157799b3eb327f4a3915908 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=53fb6a1f50f9c7bb29fe422c5aea446fef6a8abb commit 53fb6a1f50f9c7bb29fe422c5aea446fef6a8abb Author: Kitware Robot AuthorDate: Sun Dec 2 00:01:04 2018 -0500 Commit: Kitware Robot CommitDate: Sun Dec 2 00:01:04 2018 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index da44dc0..115fc4d 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 13) -set(CMake_VERSION_PATCH 20181201) +set(CMake_VERSION_PATCH 20181202) #set(CMake_VERSION_RC 1) ----------------------------------------------------------------------- Summary of changes: Source/CMakeVersion.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake From kwrobot at kitware.com Mon Dec 3 00:03:04 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Mon, 3 Dec 2018 00:03:04 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-561-g985a57a Message-ID: <20181203050305.177A912780A@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via 985a57a1c1ca6989524805bb3e91a222906f88ca (commit) from 53fb6a1f50f9c7bb29fe422c5aea446fef6a8abb (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=985a57a1c1ca6989524805bb3e91a222906f88ca commit 985a57a1c1ca6989524805bb3e91a222906f88ca Author: Kitware Robot AuthorDate: Mon Dec 3 00:01:03 2018 -0500 Commit: Kitware Robot CommitDate: Mon Dec 3 00:01:03 2018 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 115fc4d..8e39b95 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 13) -set(CMake_VERSION_PATCH 20181202) +set(CMake_VERSION_PATCH 20181203) #set(CMake_VERSION_RC 1) ----------------------------------------------------------------------- Summary of changes: Source/CMakeVersion.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake From kwrobot at kitware.com Tue Dec 4 00:03:04 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Tue, 4 Dec 2018 00:03:04 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-562-gb8db797 Message-ID: <20181204050304.137331278A5@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via b8db797ae3762af3d3877119ff64f0121f2650f3 (commit) from 985a57a1c1ca6989524805bb3e91a222906f88ca (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b8db797ae3762af3d3877119ff64f0121f2650f3 commit b8db797ae3762af3d3877119ff64f0121f2650f3 Author: Kitware Robot AuthorDate: Tue Dec 4 00:01:05 2018 -0500 Commit: Kitware Robot CommitDate: Tue Dec 4 00:01:05 2018 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 8e39b95..9d65885 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 13) -set(CMake_VERSION_PATCH 20181203) +set(CMake_VERSION_PATCH 20181204) #set(CMake_VERSION_RC 1) ----------------------------------------------------------------------- Summary of changes: Source/CMakeVersion.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake From kwrobot at kitware.com Wed Dec 5 00:03:04 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Wed, 5 Dec 2018 00:03:04 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-563-gf92e953 Message-ID: <20181205050304.F04541259B7@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via f92e953103b7aa0676481c396fb6e521b5cbc64f (commit) from b8db797ae3762af3d3877119ff64f0121f2650f3 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f92e953103b7aa0676481c396fb6e521b5cbc64f commit f92e953103b7aa0676481c396fb6e521b5cbc64f Author: Kitware Robot AuthorDate: Wed Dec 5 00:01:04 2018 -0500 Commit: Kitware Robot CommitDate: Wed Dec 5 00:01:04 2018 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 9d65885..8844d44 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 13) -set(CMake_VERSION_PATCH 20181204) +set(CMake_VERSION_PATCH 20181205) #set(CMake_VERSION_RC 1) ----------------------------------------------------------------------- Summary of changes: Source/CMakeVersion.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake From kwrobot at kitware.com Thu Dec 6 00:03:03 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Thu, 6 Dec 2018 00:03:03 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-564-gd8c6427 Message-ID: <20181206050303.DCD07127A34@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via d8c6427fa158a96a2e41f07d60c924cee94e413b (commit) from f92e953103b7aa0676481c396fb6e521b5cbc64f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d8c6427fa158a96a2e41f07d60c924cee94e413b commit d8c6427fa158a96a2e41f07d60c924cee94e413b Author: Kitware Robot AuthorDate: Thu Dec 6 00:01:03 2018 -0500 Commit: Kitware Robot CommitDate: Thu Dec 6 00:01:03 2018 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 8844d44..e4f11ed 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 13) -set(CMake_VERSION_PATCH 20181205) +set(CMake_VERSION_PATCH 20181206) #set(CMake_VERSION_RC 1) ----------------------------------------------------------------------- Summary of changes: Source/CMakeVersion.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake From kwrobot at kitware.com Thu Dec 6 08:43:04 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Thu, 6 Dec 2018 08:43:04 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-569-g0780a8f Message-ID: <20181206134304.62B86FE9F0@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via 0780a8f57ac6a593a53fe2fe9ce22c889a77d5fb (commit) via 3542a553bf5149734c9002952795026ffbd06308 (commit) via 7b7421346194896109a304ff088630f37ab2bd9e (commit) via 014a098479bbe091b47d20c070fb05bc362723c7 (commit) via cbc772b89d94d5c02c8739d4b428a3de52f4091b (commit) from d8c6427fa158a96a2e41f07d60c924cee94e413b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0780a8f57ac6a593a53fe2fe9ce22c889a77d5fb commit 0780a8f57ac6a593a53fe2fe9ce22c889a77d5fb Merge: 3542a55 7b74213 Author: Brad King AuthorDate: Thu Dec 6 13:38:45 2018 +0000 Commit: Kitware Robot CommitDate: Thu Dec 6 08:39:22 2018 -0500 Merge topic 'cuda-external' 7b74213461 CUDA: Fix crash on linking to a CUDA target without CUDA enabled Acked-by: Kitware Robot Merge-request: !2704 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3542a553bf5149734c9002952795026ffbd06308 commit 3542a553bf5149734c9002952795026ffbd06308 Merge: d8c6427 014a098 Author: Brad King AuthorDate: Thu Dec 6 13:38:17 2018 +0000 Commit: Kitware Robot CommitDate: Thu Dec 6 08:38:23 2018 -0500 Merge topic 'update-kwsys' 014a098479 Merge branch 'upstream-KWSys' into update-kwsys cbc772b89d KWSys 2018-11-28 (5ea12a52) Acked-by: Kitware Robot Acked-by: Isaiah Merge-request: !2678 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7b7421346194896109a304ff088630f37ab2bd9e commit 7b7421346194896109a304ff088630f37ab2bd9e Author: Brad King AuthorDate: Wed Dec 5 11:57:47 2018 -0500 Commit: Brad King CommitDate: Wed Dec 5 14:45:19 2018 -0500 CUDA: Fix crash on linking to a CUDA target without CUDA enabled Do not try to device link or add CUDA runtime libraries if the language is not enabled. Fixes: #18673 Issue: #18614 diff --git a/Source/cmMakefileExecutableTargetGenerator.cxx b/Source/cmMakefileExecutableTargetGenerator.cxx index 08bb2ce..846b12c 100644 --- a/Source/cmMakefileExecutableTargetGenerator.cxx +++ b/Source/cmMakefileExecutableTargetGenerator.cxx @@ -84,6 +84,10 @@ void cmMakefileExecutableTargetGenerator::WriteDeviceExecutableRule( bool relink) { #ifdef CMAKE_BUILD_WITH_CMAKE + if (!this->GlobalGenerator->GetLanguageEnabled("CUDA")) { + return; + } + const std::string cuda_lang("CUDA"); cmGeneratorTarget::LinkClosure const* closure = this->GeneratorTarget->GetLinkClosure(this->ConfigName); diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx index 6436969..8909e06 100644 --- a/Source/cmNinjaNormalTargetGenerator.cxx +++ b/Source/cmNinjaNormalTargetGenerator.cxx @@ -558,6 +558,10 @@ std::vector cmNinjaNormalTargetGenerator::ComputeLinkCmd() void cmNinjaNormalTargetGenerator::WriteDeviceLinkStatement() { + if (!this->GetGlobalGenerator()->GetLanguageEnabled("CUDA")) { + return; + } + cmGeneratorTarget& genTarget = *this->GetGeneratorTarget(); // determine if we need to do any device linking for this target diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index 334c15b..d5e834b 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -3331,7 +3331,8 @@ bool cmVisualStudio10TargetGenerator::ComputeLinkOptions( std::vector vsTargetVec; this->AddLibraries(cli, libVec, vsTargetVec, config); if (std::find(linkClosure->Languages.begin(), linkClosure->Languages.end(), - "CUDA") != linkClosure->Languages.end()) { + "CUDA") != linkClosure->Languages.end() && + this->CudaOptions[config] != nullptr) { switch (this->CudaOptions[config]->GetCudaRuntime()) { case cmVisualStudioGeneratorOptions::CudaRuntimeStatic: libVec.push_back("cudadevrt.lib"); diff --git a/Tests/RunCMake/Languages/ExternalCUDA.cmake b/Tests/RunCMake/Languages/ExternalCUDA.cmake new file mode 100644 index 0000000..3afa93e --- /dev/null +++ b/Tests/RunCMake/Languages/ExternalCUDA.cmake @@ -0,0 +1,8 @@ +enable_language(C) + +add_library(ext_cuda IMPORTED STATIC) +set_property(TARGET ext_cuda PROPERTY IMPORTED_LOCATION "/does_not_exist") +set_property(TARGET ext_cuda PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CUDA") + +add_executable(main empty.c) +target_link_libraries(main ext_cuda) diff --git a/Tests/RunCMake/Languages/RunCMakeTest.cmake b/Tests/RunCMake/Languages/RunCMakeTest.cmake index 732baae..2a534b3 100644 --- a/Tests/RunCMake/Languages/RunCMakeTest.cmake +++ b/Tests/RunCMake/Languages/RunCMakeTest.cmake @@ -6,3 +6,5 @@ run_cmake(link-libraries-TARGET_FILE-genex) run_cmake(link-libraries-TARGET_FILE-genex-ok) run_cmake(DetermineFail) + +run_cmake(ExternalCUDA) diff --git a/Tests/RunCMake/Languages/empty.c b/Tests/RunCMake/Languages/empty.c new file mode 100644 index 0000000..e69de29 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=014a098479bbe091b47d20c070fb05bc362723c7 commit 014a098479bbe091b47d20c070fb05bc362723c7 Merge: 18b9cf4 cbc772b Author: Brad King AuthorDate: Wed Nov 28 08:56:00 2018 -0500 Commit: Brad King CommitDate: Wed Nov 28 08:56:00 2018 -0500 Merge branch 'upstream-KWSys' into update-kwsys * upstream-KWSys: KWSys 2018-11-28 (5ea12a52) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cbc772b89d94d5c02c8739d4b428a3de52f4091b commit cbc772b89d94d5c02c8739d4b428a3de52f4091b Author: KWSys Upstream AuthorDate: Wed Nov 28 07:11:04 2018 -0500 Commit: Brad King CommitDate: Wed Nov 28 08:56:00 2018 -0500 KWSys 2018-11-28 (5ea12a52) Code extracted from: https://gitlab.kitware.com/utils/kwsys.git at commit 5ea12a52b24248041adf49421a43df649530fc23 (master). Upstream Shortlog ----------------- Isaiah Norton (1): 4f9fb9aa SystemTools: Fix Touch to avoid requiring file ownership diff --git a/SystemTools.cxx b/SystemTools.cxx index 0a4ad7a..331f16e 100644 --- a/SystemTools.cxx +++ b/SystemTools.cxx @@ -1355,39 +1355,15 @@ bool SystemTools::Touch(const std::string& filename, bool create) } CloseHandle(h); #elif KWSYS_CXX_HAS_UTIMENSAT - struct timespec times[2] = { { 0, UTIME_OMIT }, { 0, UTIME_NOW } }; - if (utimensat(AT_FDCWD, filename.c_str(), times, 0) < 0) { + // utimensat is only available on newer Unixes and macOS 10.13+ + if (utimensat(AT_FDCWD, filename.c_str(), NULL, 0) < 0) { return false; } #else - struct stat st; - if (stat(filename.c_str(), &st) < 0) { - return false; - } - struct timeval mtime; - gettimeofday(&mtime, 0); -# if KWSYS_CXX_HAS_UTIMES - struct timeval atime; -# if KWSYS_CXX_STAT_HAS_ST_MTIM - atime.tv_sec = st.st_atim.tv_sec; - atime.tv_usec = st.st_atim.tv_nsec / 1000; -# elif KWSYS_CXX_STAT_HAS_ST_MTIMESPEC - atime.tv_sec = st.st_atimespec.tv_sec; - atime.tv_usec = st.st_atimespec.tv_nsec / 1000; -# else - atime.tv_sec = st.st_atime; - atime.tv_usec = 0; -# endif - struct timeval times[2] = { atime, mtime }; - if (utimes(filename.c_str(), times) < 0) { + // fall back to utimes + if (utimes(filename.c_str(), NULL) < 0) { return false; } -# else - struct utimbuf times = { st.st_atime, mtime.tv_sec }; - if (utime(filename.c_str(), ×) < 0) { - return false; - } -# endif #endif return true; } ----------------------------------------------------------------------- Summary of changes: Source/cmMakefileExecutableTargetGenerator.cxx | 4 +++ Source/cmNinjaNormalTargetGenerator.cxx | 4 +++ Source/cmVisualStudio10TargetGenerator.cxx | 3 +- Source/kwsys/SystemTools.cxx | 32 +++------------------- Tests/RunCMake/Languages/ExternalCUDA.cmake | 8 ++++++ Tests/RunCMake/Languages/RunCMakeTest.cmake | 2 ++ .../{target_link_libraries => Languages}/empty.c | 0 7 files changed, 24 insertions(+), 29 deletions(-) create mode 100644 Tests/RunCMake/Languages/ExternalCUDA.cmake copy Tests/RunCMake/{target_link_libraries => Languages}/empty.c (100%) hooks/post-receive -- CMake From kwrobot at kitware.com Thu Dec 6 08:53:03 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Thu, 6 Dec 2018 08:53:03 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-573-gcd4ac72 Message-ID: <20181206135303.02FD610EBC2@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via cd4ac7235cb24c80f4661f42aaebb2e08ec7215e (commit) via eaac307aadb0cf7b2075cd6bea5cf2ea44d49227 (commit) via 45c95a3327cbb7f0b1ab61e6d656c1130f34a684 (commit) via 071c0e3ce42010ac62a22dfb62c7b6510506771b (commit) from 0780a8f57ac6a593a53fe2fe9ce22c889a77d5fb (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cd4ac7235cb24c80f4661f42aaebb2e08ec7215e commit cd4ac7235cb24c80f4661f42aaebb2e08ec7215e Merge: eaac307 071c0e3 Author: Brad King AuthorDate: Thu Dec 6 13:51:15 2018 +0000 Commit: Kitware Robot CommitDate: Thu Dec 6 08:51:23 2018 -0500 Merge topic 'support_ewdk_install' 071c0e3ce4 cmVSSetupHelper: Support Enterprise WDK build enviornment Acked-by: Kitware Robot Merge-request: !2658 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=eaac307aadb0cf7b2075cd6bea5cf2ea44d49227 commit eaac307aadb0cf7b2075cd6bea5cf2ea44d49227 Merge: 0780a8f 45c95a3 Author: Brad King AuthorDate: Thu Dec 6 08:48:00 2018 -0500 Commit: Brad King CommitDate: Thu Dec 6 08:48:00 2018 -0500 Merge branch 'release-3.13' https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=071c0e3ce42010ac62a22dfb62c7b6510506771b commit 071c0e3ce42010ac62a22dfb62c7b6510506771b Author: Jon Doron AuthorDate: Mon Nov 26 09:23:59 2018 +0200 Commit: Jon Doron CommitDate: Tue Nov 27 07:13:26 2018 +0200 cmVSSetupHelper: Support Enterprise WDK build enviornment Enterprise WDK is a command line build enviornment that does not require any installation prior to use. More information and download can be found here: https://docs.microsoft.com/en-us/windows-hardware/drivers/develop/using-the-enterprise-wdk Signed-off-by: Jon Doron diff --git a/Source/cmVSSetupHelper.cxx b/Source/cmVSSetupHelper.cxx index 22fe007..7a54e12 100644 --- a/Source/cmVSSetupHelper.cxx +++ b/Source/cmVSSetupHelper.cxx @@ -267,6 +267,19 @@ bool cmVSSetupAPIHelper::GetVCToolsetVersion(std::string& vsToolsetVersion) return isInstalled && !vsToolsetVersion.empty(); } +bool cmVSSetupAPIHelper::IsEWDKEnabled() +{ + std::string envEnterpriseWDK, envDisableRegistryUse; + cmSystemTools::GetEnv("EnterpriseWDK", envEnterpriseWDK); + cmSystemTools::GetEnv("DisableRegistryUse", envDisableRegistryUse); + if (!cmSystemTools::Strucmp(envEnterpriseWDK.c_str(), "True") && + !cmSystemTools::Strucmp(envDisableRegistryUse.c_str(), "True")) { + return true; + } + + return false; +} + bool cmVSSetupAPIHelper::EnumerateAndChooseVSInstance() { bool isVSInstanceExists = false; @@ -274,6 +287,26 @@ bool cmVSSetupAPIHelper::EnumerateAndChooseVSInstance() return true; } + if (this->IsEWDKEnabled()) { + std::string envWindowsSdkDir81, envVSVersion, envVsInstallDir; + + cmSystemTools::GetEnv("WindowsSdkDir_81", envWindowsSdkDir81); + cmSystemTools::GetEnv("VisualStudioVersion", envVSVersion); + cmSystemTools::GetEnv("VSINSTALLDIR", envVsInstallDir); + if (envVSVersion.empty() || envVsInstallDir.empty()) + return false; + + chosenInstanceInfo.VSInstallLocation = + std::wstring(envVsInstallDir.begin(), envVsInstallDir.end()); + chosenInstanceInfo.Version = + std::wstring(envVSVersion.begin(), envVSVersion.end()); + chosenInstanceInfo.VCToolsetVersion = envVSVersion; + chosenInstanceInfo.ullVersion = std::stoi(envVSVersion); + chosenInstanceInfo.IsWin10SDKInstalled = true; + chosenInstanceInfo.IsWin81SDKInstalled = !envWindowsSdkDir81.empty(); + return true; + } + if (initializationFailure || setupConfig == NULL || setupConfig2 == NULL || setupHelper == NULL) return false; diff --git a/Source/cmVSSetupHelper.h b/Source/cmVSSetupHelper.h index 4144c15..b9cca45 100644 --- a/Source/cmVSSetupHelper.h +++ b/Source/cmVSSetupHelper.h @@ -150,6 +150,7 @@ private: HRESULT comInitialized; // current best instance of VS selected VSInstanceInfo chosenInstanceInfo; + bool IsEWDKEnabled(); std::string SpecifiedVSInstallLocation; }; ----------------------------------------------------------------------- Summary of changes: Source/cmVSSetupHelper.cxx | 33 +++++++++++++++++++++++++++++++++ Source/cmVSSetupHelper.h | 1 + 2 files changed, 34 insertions(+) hooks/post-receive -- CMake From kwrobot at kitware.com Thu Dec 6 08:53:03 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Thu, 6 Dec 2018 08:53:03 -0500 (EST) Subject: [Cmake-commits] CMake branch, release, updated. v3.13.1-2-g45c95a3 Message-ID: <20181206135303.3908B10EBE2@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, release has been updated via 45c95a3327cbb7f0b1ab61e6d656c1130f34a684 (commit) via 7b7421346194896109a304ff088630f37ab2bd9e (commit) from 62942969062fcc9f24ca057b6983532a973cfad6 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: Source/cmMakefileExecutableTargetGenerator.cxx | 4 ++++ Source/cmNinjaNormalTargetGenerator.cxx | 4 ++++ Source/cmVisualStudio10TargetGenerator.cxx | 3 ++- Tests/RunCMake/Languages/ExternalCUDA.cmake | 8 ++++++++ Tests/RunCMake/Languages/RunCMakeTest.cmake | 2 ++ Tests/RunCMake/{target_link_libraries => Languages}/empty.c | 0 6 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 Tests/RunCMake/Languages/ExternalCUDA.cmake copy Tests/RunCMake/{target_link_libraries => Languages}/empty.c (100%) hooks/post-receive -- CMake From kwrobot at kitware.com Thu Dec 6 09:03:03 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Thu, 6 Dec 2018 09:03:03 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-584-g0464298 Message-ID: <20181206140303.5117E10EBE2@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via 0464298956a204578aa8421ca0b84c089a97e0aa (commit) via a722316bcb20dd73d3da547882836d55a83b56c8 (commit) via c0aab7a84a680d576143d5730afd19b841d85772 (commit) via fad7cfd464542831ad8d3dd9055c00d661d8e15e (commit) via eb973f935f25f5bafdb8d55360a1b122e9dabfa5 (commit) via 38e75bb3c6c4c41ff80697876aa7498c80a8623a (commit) via 0fc6faf2ddfb146704146d13b71bfd048128917f (commit) via 5f0f84c7e0630d7b8190c18badd5a68e2dd08ff7 (commit) via 0814d74548cda4e2e10183ed84ed8d0c4ff058fb (commit) via 2ef640819fcf9ca741b3ebcb543b9a01ffb40689 (commit) via 100366a2674a79cdf654dd17a8929fe9ac2e303c (commit) from cd4ac7235cb24c80f4661f42aaebb2e08ec7215e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0464298956a204578aa8421ca0b84c089a97e0aa commit 0464298956a204578aa8421ca0b84c089a97e0aa Merge: a722316 eb973f9 Author: Brad King AuthorDate: Thu Dec 6 14:00:52 2018 +0000 Commit: Kitware Robot CommitDate: Thu Dec 6 09:00:58 2018 -0500 Merge topic 'arch-independent-version-file-creation' eb973f935f CMakePackageConfigHelpers: Add ARCH_INDEPENDENT option Acked-by: Kitware Robot Acked-by: Silvio Traversaro Merge-request: !2666 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a722316bcb20dd73d3da547882836d55a83b56c8 commit a722316bcb20dd73d3da547882836d55a83b56c8 Merge: c0aab7a 5f0f84c Author: Brad King AuthorDate: Thu Dec 6 13:57:51 2018 +0000 Commit: Kitware Robot CommitDate: Thu Dec 6 08:57:59 2018 -0500 Merge topic 'autogen_uic_empty_fix' 5f0f84c7e0 Autogen: Don't add a WIN32 moc definition if we have a moc_predefs.h file 0814d74548 Autogen: Add QtAutogen.UicNoGui test 2ef640819f Autogen: Tests: Differentiate between Qt core and Qt gui tests Acked-by: Kitware Robot Merge-request: !2668 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c0aab7a84a680d576143d5730afd19b841d85772 commit c0aab7a84a680d576143d5730afd19b841d85772 Merge: fad7cfd 100366a Author: Brad King AuthorDate: Thu Dec 6 13:56:35 2018 +0000 Commit: Kitware Robot CommitDate: Thu Dec 6 08:56:52 2018 -0500 Merge topic 'cmcmd_touch_err' 100366a267 cmake: add error message when '-E touch' fails Acked-by: Kitware Robot Merge-request: !2671 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fad7cfd464542831ad8d3dd9055c00d661d8e15e commit fad7cfd464542831ad8d3dd9055c00d661d8e15e Merge: cd4ac72 38e75bb Author: Brad King AuthorDate: Thu Dec 6 13:55:48 2018 +0000 Commit: Kitware Robot CommitDate: Thu Dec 6 08:56:03 2018 -0500 Merge topic 'cpack-deb-tar-format' 38e75bb3c6 CPack/Deb: Remove paxr as a supported tar format for a .deb 0fc6faf2dd Help: Replace use of :code:`` with plain reST syntax Acked-by: Kitware Robot Merge-request: !2651 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=eb973f935f25f5bafdb8d55360a1b122e9dabfa5 commit eb973f935f25f5bafdb8d55360a1b122e9dabfa5 Author: Justin Bassett AuthorDate: Sun Nov 25 23:40:36 2018 -0800 Commit: Justin Bassett CommitDate: Fri Nov 30 22:52:40 2018 -0800 CMakePackageConfigHelpers: Add ARCH_INDEPENDENT option Allow skipping the architecture check in the package version file generated from calling write_basic_package_version_file. Document said architecture check. Fixes: #16184 diff --git a/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in b/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in index bc78016..afffc04 100644 --- a/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in +++ b/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in @@ -18,6 +18,12 @@ else() endif() endif() + +# if the installed project requested no architecture check, don't perform the check +if("@CVF_ARCH_INDEPENDENT@") + return() +endif() + # if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@CMAKE_SIZEOF_VOID_P@" STREQUAL "") return() diff --git a/Modules/BasicConfigVersion-ExactVersion.cmake.in b/Modules/BasicConfigVersion-ExactVersion.cmake.in index de4a23a..fe5c2e5 100644 --- a/Modules/BasicConfigVersion-ExactVersion.cmake.in +++ b/Modules/BasicConfigVersion-ExactVersion.cmake.in @@ -34,6 +34,11 @@ if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) endif() +# if the installed project requested no architecture check, don't perform the check +if("@CVF_ARCH_INDEPENDENT@") + return() +endif() + # if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@CMAKE_SIZEOF_VOID_P@" STREQUAL "") return() diff --git a/Modules/BasicConfigVersion-SameMajorVersion.cmake.in b/Modules/BasicConfigVersion-SameMajorVersion.cmake.in index a32245d..d885c0f 100644 --- a/Modules/BasicConfigVersion-SameMajorVersion.cmake.in +++ b/Modules/BasicConfigVersion-SameMajorVersion.cmake.in @@ -33,6 +33,11 @@ else() endif() +# if the installed project requested no architecture check, don't perform the check +if("@CVF_ARCH_INDEPENDENT@") + return() +endif() + # if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@CMAKE_SIZEOF_VOID_P@" STREQUAL "") return() diff --git a/Modules/BasicConfigVersion-SameMinorVersion.cmake.in b/Modules/BasicConfigVersion-SameMinorVersion.cmake.in index 59ca253..bf055e8 100644 --- a/Modules/BasicConfigVersion-SameMinorVersion.cmake.in +++ b/Modules/BasicConfigVersion-SameMinorVersion.cmake.in @@ -37,6 +37,11 @@ else() endif() +# if the installed project requested no architecture check, don't perform the check +if("@CVF_ARCH_INDEPENDENT@") + return() +endif() + # if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@CMAKE_SIZEOF_VOID_P@" STREQUAL "") return() diff --git a/Modules/CMakePackageConfigHelpers.cmake b/Modules/CMakePackageConfigHelpers.cmake index bcc9bf8..22fc953 100644 --- a/Modules/CMakePackageConfigHelpers.cmake +++ b/Modules/CMakePackageConfigHelpers.cmake @@ -124,7 +124,8 @@ Generating a Package Version File write_basic_package_version_file( [VERSION ] - COMPATIBILITY ) + COMPATIBILITY + [ARCH_INDEPENDENT] ) Writes a file for use as ``ConfigVersion.cmake`` file to @@ -158,6 +159,18 @@ If your project has more elaborated version matching rules, you will need to write your own custom ``ConfigVersion.cmake`` file instead of using this macro. +If ``ARCH_INDEPENDENT`` is given, the installed package version will be +considered compatible even if it was built for a different architecture than +the requested architecture. Otherwise, an architecture check will be performed, +and the package will be considered compatible only if the architecture matches +exactly. For example, if the package is built for a 32-bit architecture, the +package is only considered compatible if it is used on a 32-bit architecture, +unless ``ARCH_INDEPENDENT`` is given, in which case the package is considered +compatible on any architecture. + +.. note:: ``ARCH_INDEPENDENT`` is intended for header-only libraries or similar + packages with no binaries. + Internally, this macro executes :command:`configure_file()` to create the resulting version file. Depending on the ``COMPATIBILITY``, the corresponding ``BasicConfigVersion-.cmake.in`` file is used. diff --git a/Modules/WriteBasicConfigVersionFile.cmake b/Modules/WriteBasicConfigVersionFile.cmake index 1f13096..45f9e58 100644 --- a/Modules/WriteBasicConfigVersionFile.cmake +++ b/Modules/WriteBasicConfigVersionFile.cmake @@ -15,6 +15,7 @@ WriteBasicConfigVersionFile WRITE_BASIC_CONFIG_VERSION_FILE( filename [VERSION major.minor.patch] COMPATIBILITY (AnyNewerVersion|SameMajorVersion|SameMinorVersion|ExactVersion) + [ARCH_INDEPENDENT] ) @@ -22,7 +23,7 @@ WriteBasicConfigVersionFile function(WRITE_BASIC_CONFIG_VERSION_FILE _filename) - set(options ) + set(options ARCH_INDEPENDENT ) set(oneValueArgs VERSION COMPATIBILITY ) set(multiValueArgs ) diff --git a/Tests/RunCMake/WriteBasicConfigVersionFile/ArchIndependent.cmake b/Tests/RunCMake/WriteBasicConfigVersionFile/ArchIndependent.cmake new file mode 100644 index 0000000..13ec5d1 --- /dev/null +++ b/Tests/RunCMake/WriteBasicConfigVersionFile/ArchIndependent.cmake @@ -0,0 +1,63 @@ +# Hard-code architecture for test without a real compiler. +set(CMAKE_SIZEOF_VOID_P 4) + +include(WriteBasicConfigVersionFile) + +set(_dummy_version 1.0.0) + +set(_compatibilities AnyNewerVersion + SameMajorVersion + SameMinorVersion + ExactVersion) + +function(test_write_basic_config_version_file_arch_prepare filename_out compat arch_independent arch) + if(arch_independent) + set(arch_arg ARCH_INDEPENDENT) + else() + set(arch_arg ) + endif() + + set(filename "${CMAKE_CURRENT_BINARY_DIR}/${compat}Arch${arch_arg}ConfigVersion.cmake") + + set(CMAKE_SIZEOF_VOID_P "${arch}") + + write_basic_config_version_file("${filename}" + VERSION "${_dummy_version}" + COMPATIBILITY "${compat}" + ${arch_arg}) + + set("${filename_out}" "${filename}" PARENT_SCOPE) +endfunction() + +function(test_write_basic_config_version_file_arch_check unsuitable_out filename arch) + set(CMAKE_SIZEOF_VOID_P "${arch}") + set(PACKAGE_FIND_VERSION "${_dummy_version}") + + include("${filename}") + + set("${unsuitable_out}" "${PACKAGE_VERSION_UNSUITABLE}" PARENT_SCOPE) +endfunction() + +function(test_write_basic_config_version_file_arch_test expected_unsuitable compat arch_independent source_arch user_arch) + test_write_basic_config_version_file_arch_prepare(filename "${compat}" "${arch_independent}" "${source_arch}") + test_write_basic_config_version_file_arch_check(unsuitable "${filename}" "${user_arch}") + if(unsuitable AND NOT expected_unsuitable) + message(SEND_ERROR "Architecture was checked when it shouldn't have been. Compatibility: ${compat} ARCH_INDEPENDENT: ${arch_independent}.") + elseif(expected_unsuitable AND NOT unsuitable) + message(SEND_ERROR "Requested architecture check not performed. Compatibility: ${compat} ARCH_INDEPENDENT: ${arch_independent}.") + endif() +endfunction() + +set(_unsuitable TRUE) +set(_suitable FALSE) + +foreach(compat ${_compatibilities}) + test_write_basic_config_version_file_arch_test("${_suitable}" "${compat}" TRUE 4 4) + test_write_basic_config_version_file_arch_test("${_suitable}" "${compat}" FALSE 4 4) + test_write_basic_config_version_file_arch_test("${_suitable}" "${compat}" TRUE 4 8) + test_write_basic_config_version_file_arch_test("${_unsuitable}" "${compat}" FALSE 4 8) + test_write_basic_config_version_file_arch_test("${_suitable}" "${compat}" TRUE 8 4) + test_write_basic_config_version_file_arch_test("${_unsuitable}" "${compat}" FALSE 8 4) + test_write_basic_config_version_file_arch_test("${_suitable}" "${compat}" TRUE 8 8) + test_write_basic_config_version_file_arch_test("${_suitable}" "${compat}" FALSE 8 8) +endforeach() diff --git a/Tests/RunCMake/WriteBasicConfigVersionFile/RunCMakeTest.cmake b/Tests/RunCMake/WriteBasicConfigVersionFile/RunCMakeTest.cmake index e956f4f..5db33f7 100644 --- a/Tests/RunCMake/WriteBasicConfigVersionFile/RunCMakeTest.cmake +++ b/Tests/RunCMake/WriteBasicConfigVersionFile/RunCMakeTest.cmake @@ -1,3 +1,4 @@ include(RunCMake) run_cmake(All) +run_cmake(ArchIndependent) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=38e75bb3c6c4c41ff80697876aa7498c80a8623a commit 38e75bb3c6c4c41ff80697876aa7498c80a8623a Author: Guillem Jover AuthorDate: Thu Nov 22 03:39:28 2018 +0100 Commit: Brad King CommitDate: Wed Nov 28 09:31:28 2018 -0500 CPack/Deb: Remove paxr as a supported tar format for a .deb The only format supported from the ones available within cpack is gnutar, which supports large numbers encoded in base-256, and long filenames and linknames. PAX is not and has never been a supported format by dpkg. Fixes: #18620 diff --git a/Help/cpack_gen/deb.rst b/Help/cpack_gen/deb.rst index 66f7239..23f0515 100644 --- a/Help/cpack_gen/deb.rst +++ b/Help/cpack_gen/deb.rst @@ -205,18 +205,18 @@ List of CPack DEB generator specific variables: The archive format used for creating the Debian package. * Mandatory : YES - * Default : "paxr" + * Default : "gnutar" - Possible values are: + Possible value is: - - paxr - gnutar .. note:: - Default pax archive format is the most portable format and generates - packages that do not treat sparse files specially. - GNU tar format on the other hand supports longer filenames. + This variable previously defaulted to the ``paxr`` value, but ``dpkg`` + has never supported that tar format. For backwards compatibility the + ``paxr`` value will be mapped to ``gnutar`` and a deprecation message + will be emitted. .. variable:: CPACK_DEBIAN_COMPRESSION_TYPE diff --git a/Help/release/dev/cpack-deb-tar-format.rst b/Help/release/dev/cpack-deb-tar-format.rst new file mode 100644 index 0000000..9296ec6 --- /dev/null +++ b/Help/release/dev/cpack-deb-tar-format.rst @@ -0,0 +1,7 @@ +cpack-deb-tar-format +-------------------- + +* The :module:`CPack` module no longer defaults to the ``paxr`` value in the + :variable:`CPACK_DEBIAN_ARCHIVE_TYPE` variable, because ``dpkg`` has + never supported the PAX tar format. The ``paxr`` value will be mapped + to ``gnutar`` and a deprecation message emitted. diff --git a/Modules/Internal/CPack/CPackDeb.cmake b/Modules/Internal/CPack/CPackDeb.cmake index 3042a16..89dc6f0 100644 --- a/Modules/Internal/CPack/CPackDeb.cmake +++ b/Modules/Internal/CPack/CPackDeb.cmake @@ -482,13 +482,16 @@ function(cpack_deb_prepare_package_vars) endif() if(CPACK_DEBIAN_ARCHIVE_TYPE) - set(archive_types_ "paxr;gnutar") - if(NOT CPACK_DEBIAN_ARCHIVE_TYPE IN_LIST archive_types_) + if(CPACK_DEBIAN_ARCHIVE_TYPE STREQUAL "paxr") + message(DEPRECATION "CPACK_DEBIAN_ARCHIVE_TYPE set to old and invalid " + "type 'paxr', mapping to 'gnutar'") + set(CPACK_DEBIAN_ARCHIVE_TYPE "gnutar") + elseif(NOT CPACK_DEBIAN_ARCHIVE_TYPE STREQUAL "gnutar") message(FATAL_ERROR "CPACK_DEBIAN_ARCHIVE_TYPE set to unsupported" "type ${CPACK_DEBIAN_ARCHIVE_TYPE}") endif() else() - set(CPACK_DEBIAN_ARCHIVE_TYPE "paxr") + set(CPACK_DEBIAN_ARCHIVE_TYPE "gnutar") endif() # Compression: (recommended) diff --git a/Source/CPack/cmCPackDebGenerator.cxx b/Source/CPack/cmCPackDebGenerator.cxx index ea0ee58..29968af 100644 --- a/Source/CPack/cmCPackDebGenerator.cxx +++ b/Source/CPack/cmCPackDebGenerator.cxx @@ -80,7 +80,7 @@ DebGenerator::DebGenerator( , WorkDir(workDir) , TopLevelDir(topLevelDir) , TemporaryDir(temporaryDir) - , DebianArchiveType(debianArchiveType ? debianArchiveType : "paxr") + , DebianArchiveType(debianArchiveType ? debianArchiveType : "gnutar") , ControlValues(controlValues) , GenShLibs(genShLibs) , ShLibsFilename(shLibsFilename) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0fc6faf2ddfb146704146d13b71bfd048128917f commit 0fc6faf2ddfb146704146d13b71bfd048128917f Author: Brad King AuthorDate: Wed Nov 28 09:30:01 2018 -0500 Commit: Brad King CommitDate: Wed Nov 28 09:30:01 2018 -0500 Help: Replace use of :code:`` with plain reST syntax This appeared in a few CPack generator documents but is not used elsewhere. diff --git a/Help/cpack_gen/deb.rst b/Help/cpack_gen/deb.rst index fdde654..66f7239 100644 --- a/Help/cpack_gen/deb.rst +++ b/Help/cpack_gen/deb.rst @@ -15,9 +15,9 @@ better deb package when Debian specific tools ``dpkg-xxx`` are usable on the build system. The CPack DEB generator has specific features which are controlled by the -specifics :code:`CPACK_DEBIAN_XXX` variables. +specifics ``CPACK_DEBIAN_XXX`` variables. -:code:`CPACK_DEBIAN__XXXX` variables may be used in order to have +``CPACK_DEBIAN__XXXX`` variables may be used in order to have **component** specific values. Note however that ```` refers to the **grouping name** written in upper case. It may be either a component name or a component GROUP name. @@ -133,8 +133,8 @@ List of CPack DEB generator specific variables: The Debian package architecture * Mandatory : YES - * Default : Output of :code:`dpkg --print-architecture` (or :code:`i386` - if :code:`dpkg` is not found) + * Default : Output of ``dpkg --print-architecture`` (or ``i386`` + if ``dpkg`` is not found) .. variable:: CPACK_DEBIAN_PACKAGE_DEPENDS CPACK_DEBIAN__PACKAGE_DEPENDS @@ -176,7 +176,7 @@ List of CPack DEB generator specific variables: The Debian package maintainer * Mandatory : YES - * Default : :code:`CPACK_PACKAGE_CONTACT` + * Default : ``CPACK_PACKAGE_CONTACT`` .. variable:: CPACK_DEBIAN_PACKAGE_DESCRIPTION CPACK_COMPONENT__DESCRIPTION @@ -260,7 +260,7 @@ List of CPack DEB generator specific variables: .. variable:: CPACK_DEBIAN_PACKAGE_SHLIBDEPS CPACK_DEBIAN__PACKAGE_SHLIBDEPS - May be set to ON in order to use :code:`dpkg-shlibdeps` to generate + May be set to ON in order to use ``dpkg-shlibdeps`` to generate better package dependency list. * Mandatory : NO @@ -272,7 +272,7 @@ List of CPack DEB generator specific variables: .. note:: You may need set :variable:`CMAKE_INSTALL_RPATH` to an appropriate value - if you use this feature, because if you don't :code:`dpkg-shlibdeps` + if you use this feature, because if you don't ``dpkg-shlibdeps`` may fail to find your own shared libs. See https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/RPATH-handling @@ -289,7 +289,7 @@ List of CPack DEB generator specific variables: Sets the `Pre-Depends` field of the Debian package. Like :variable:`Depends `, except that it - also forces :code:`dpkg` to complete installation of the packages named + also forces ``dpkg`` to complete installation of the packages named before even starting the installation of the package which declares the pre-dependency. @@ -324,7 +324,7 @@ List of CPack DEB generator specific variables: Sets the `Breaks` field of the Debian package. When a binary package (P) declares that it breaks other packages (B), - :code:`dpkg` will not allow the package (P) which declares `Breaks` be + ``dpkg`` will not allow the package (P) which declares `Breaks` be **unpacked** unless the packages that will be broken (B) are deconfigured first. As long as the package (P) is configured, the previously deconfigured @@ -344,7 +344,7 @@ List of CPack DEB generator specific variables: Sets the `Conflicts` field of the Debian package. When one binary package declares a conflict with another using a `Conflicts` - field, :code:`dpkg` will not allow them to be unpacked on the system at + field, ``dpkg`` will not allow them to be unpacked on the system at the same time. * Mandatory : NO diff --git a/Help/cpack_gen/freebsd.rst b/Help/cpack_gen/freebsd.rst index b22ea9a..a8dd320 100644 --- a/Help/cpack_gen/freebsd.rst +++ b/Help/cpack_gen/freebsd.rst @@ -20,7 +20,7 @@ The CPack FreeBSD generator should work on any host with libpkg installed. The packages it produces are specific to the host architecture and ABI. The CPack FreeBSD generator sets package-metadata through -:code:`CPACK_FREEBSD_XXX` variables. The CPack FreeBSD generator, unlike the +``CPACK_FREEBSD_XXX`` variables. The CPack FreeBSD generator, unlike the CPack Deb generator, does not specially support componentized packages; a single package is created from all the software artifacts created through CMake. diff --git a/Help/cpack_gen/nuget.rst b/Help/cpack_gen/nuget.rst index c8c481f..f8aa626 100644 --- a/Help/cpack_gen/nuget.rst +++ b/Help/cpack_gen/nuget.rst @@ -18,7 +18,7 @@ The CPack NuGet generator may be used to create NuGet packages using it uses the ``CPACK_XXX`` variables used by :module:`CPack`. The CPack NuGet generator has specific features which are controlled by the -specifics :code:`CPACK_NUGET_XXX` variables. In the "one per group" mode +specifics ``CPACK_NUGET_XXX`` variables. In the "one per group" mode (see :variable:`CPACK_COMPONENTS_GROUPING`), ```` placeholder in the variables below would contain a group name (uppercased and turned into a "C" identifier). diff --git a/Help/cpack_gen/rpm.rst b/Help/cpack_gen/rpm.rst index 5c543ff..65009db 100644 --- a/Help/cpack_gen/rpm.rst +++ b/Help/cpack_gen/rpm.rst @@ -11,9 +11,9 @@ The CPack RPM generator is a :module:`CPack` generator thus it uses the ``CPACK_XXX`` variables used by :module:`CPack`. The CPack RPM generator has specific features which are controlled by the specifics -:code:`CPACK_RPM_XXX` variables. +``CPACK_RPM_XXX`` variables. -:code:`CPACK_RPM__XXXX` variables may be used in order to have +``CPACK_RPM__XXXX`` variables may be used in order to have **component** specific values. Note however that ```` refers to the **grouping name** written in upper case. It may be either a component name or a component GROUP name. Usually those variables correspond to RPM spec file https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5f0f84c7e0630d7b8190c18badd5a68e2dd08ff7 commit 5f0f84c7e0630d7b8190c18badd5a68e2dd08ff7 Author: Sebastian Holtermann AuthorDate: Tue Nov 27 13:15:05 2018 +0100 Commit: Sebastian Holtermann CommitDate: Wed Nov 28 13:07:27 2018 +0100 Autogen: Don't add a WIN32 moc definition if we have a moc_predefs.h file On Windows systems we used to add a "-DWIN32" definition to the ``moc`` defines. This is not necessary anymore when we have a ``moc_predefs.h`` file that provides all compiler predefines. Closes #18623 diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx index 582faf6..86d7947 100644 --- a/Source/cmQtAutoGenInitializer.cxx +++ b/Source/cmQtAutoGenInitializer.cxx @@ -521,6 +521,12 @@ bool cmQtAutoGenInitializer::InitMoc() [this, localGen](std::string const& cfg) -> std::set { std::set defines; localGen->GetTargetDefines(this->Target, cfg, "CXX", defines); +#ifdef _WIN32 + if (this->Moc.PredefsCmd.empty()) { + // Add WIN32 definition if we don't have a moc_predefs.h + defines.insert("WIN32"); + } +#endif return defines; }; diff --git a/Source/cmQtAutoGeneratorMocUic.cxx b/Source/cmQtAutoGeneratorMocUic.cxx index 2e6f90f..446ef9a 100644 --- a/Source/cmQtAutoGeneratorMocUic.cxx +++ b/Source/cmQtAutoGeneratorMocUic.cxx @@ -1279,16 +1279,6 @@ bool cmQtAutoGeneratorMocUic::Init(cmMakefile* makefile) Moc_.SkipList.insert(lst.begin(), lst.end()); } Moc_.Definitions = InfoGetConfigList("AM_MOC_DEFINITIONS"); -#ifdef _WIN32 - { - std::string win32("WIN32"); - auto itB = Moc().Definitions.cbegin(); - auto itE = Moc().Definitions.cend(); - if (std::find(itB, itE, win32) == itE) { - Moc_.Definitions.emplace_back(std::move(win32)); - } - } -#endif Moc_.IncludePaths = InfoGetConfigList("AM_MOC_INCLUDES"); Moc_.Options = InfoGetList("AM_MOC_OPTIONS"); Moc_.RelaxedMode = InfoGetBool("AM_MOC_RELAXED_MODE"); https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0814d74548cda4e2e10183ed84ed8d0c4ff058fb commit 0814d74548cda4e2e10183ed84ed8d0c4ff058fb Author: Sebastian Holtermann AuthorDate: Tue Nov 27 13:06:21 2018 +0100 Commit: Sebastian Holtermann CommitDate: Wed Nov 28 13:06:05 2018 +0100 Autogen: Add QtAutogen.UicNoGui test Adds a Qt core only test that has ``AUTOUIC`` enabled targets that don't link against QtXWidgets or Qt at all. diff --git a/Tests/QtAutogen/Tests.cmake b/Tests/QtAutogen/Tests.cmake index 5025d43..096d5e3 100644 --- a/Tests/QtAutogen/Tests.cmake +++ b/Tests/QtAutogen/Tests.cmake @@ -25,6 +25,7 @@ ADD_AUTOGEN_TEST(SameName sameName) ADD_AUTOGEN_TEST(StaticLibraryCycle slc) ADD_AUTOGEN_TEST(UicInclude uicInclude) ADD_AUTOGEN_TEST(UicInterface QtAutoUicInterface) +ADD_AUTOGEN_TEST(UicNoGui uicNoGui) ADD_AUTOGEN_TEST(UicOnly uicOnly) ADD_AUTOGEN_TEST(UicSkipSource) diff --git a/Tests/QtAutogen/UicNoGui/CMakeLists.txt b/Tests/QtAutogen/UicNoGui/CMakeLists.txt new file mode 100644 index 0000000..076299d --- /dev/null +++ b/Tests/QtAutogen/UicNoGui/CMakeLists.txt @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 3.13) +project(UicNoGui) +include("../AutogenCoreTest.cmake") + +# This tests creates a target that has AUTOUIC enabled but does not +# link against QtXWidgets. + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTORCC ON) + +add_subdirectory(MocOnly) +add_subdirectory(NoQt) + +add_executable(uicNoGui main.cpp) +target_link_libraries(uicNoGui mocOnly noQt) diff --git a/Tests/QtAutogen/UicNoGui/MocOnly/CMakeLists.txt b/Tests/QtAutogen/UicNoGui/MocOnly/CMakeLists.txt new file mode 100644 index 0000000..4fcd75f --- /dev/null +++ b/Tests/QtAutogen/UicNoGui/MocOnly/CMakeLists.txt @@ -0,0 +1,3 @@ +# Library uses QtCore only (no Widgets) +add_library(mocOnly main.cpp) +target_link_libraries(mocOnly ${QT_QTCORE_TARGET}) diff --git a/Tests/QtAutogen/UicNoGui/MocOnly/main.cpp b/Tests/QtAutogen/UicNoGui/MocOnly/main.cpp new file mode 100644 index 0000000..3091845 --- /dev/null +++ b/Tests/QtAutogen/UicNoGui/MocOnly/main.cpp @@ -0,0 +1,15 @@ +#include + +class LocalObject : public QObject +{ + Q_OBJECT +public: + LocalObject(){}; +}; + +void mocOnly() +{ + LocalObject obj; +} + +#include "main.moc" diff --git a/Tests/QtAutogen/UicNoGui/NoQt/CMakeLists.txt b/Tests/QtAutogen/UicNoGui/NoQt/CMakeLists.txt new file mode 100644 index 0000000..f2bf3ee --- /dev/null +++ b/Tests/QtAutogen/UicNoGui/NoQt/CMakeLists.txt @@ -0,0 +1,2 @@ +# Library doesn't use or link against Qt at all +add_library(noQt main.cpp) diff --git a/Tests/QtAutogen/UicNoGui/NoQt/main.cpp b/Tests/QtAutogen/UicNoGui/NoQt/main.cpp new file mode 100644 index 0000000..0052cc8 --- /dev/null +++ b/Tests/QtAutogen/UicNoGui/NoQt/main.cpp @@ -0,0 +1,4 @@ + +void noQt() +{ +} diff --git a/Tests/QtAutogen/UicNoGui/main.cpp b/Tests/QtAutogen/UicNoGui/main.cpp new file mode 100644 index 0000000..e90c60a --- /dev/null +++ b/Tests/QtAutogen/UicNoGui/main.cpp @@ -0,0 +1,9 @@ +extern void mocOnly(); +extern void noQt(); + +int main(int argc, char* argv[]) +{ + mocOnly(); + noQt(); + return 0; +} https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2ef640819fcf9ca741b3ebcb543b9a01ffb40689 commit 2ef640819fcf9ca741b3ebcb543b9a01ffb40689 Author: Sebastian Holtermann AuthorDate: Tue Nov 27 12:41:20 2018 +0100 Commit: Sebastian Holtermann CommitDate: Wed Nov 28 12:51:19 2018 +0100 Autogen: Tests: Differentiate between Qt core and Qt gui tests Some AUTOGEN tests require the Qt core libraries only and some require the Qt gui libraries to function. This replaces the AutogenTest.cmake script with two specific AutogenCoreTest.cmake and AutogenGuiTest.cmake scripts that are included on demand. diff --git a/Tests/QtAutogen/AutogenTest.cmake b/Tests/QtAutogen/AutogenCoreTest.cmake similarity index 82% copy from Tests/QtAutogen/AutogenTest.cmake copy to Tests/QtAutogen/AutogenCoreTest.cmake index 3969a89..5803859 100644 --- a/Tests/QtAutogen/AutogenTest.cmake +++ b/Tests/QtAutogen/AutogenCoreTest.cmake @@ -7,11 +7,11 @@ if(QT_QMAKE_EXECUTABLE) endif() if (QT_TEST_VERSION EQUAL 4) - find_package(Qt4 REQUIRED) + + find_package(Qt4 REQUIRED QtCore) include(UseQt4) set(QT_QTCORE_TARGET Qt4::QtCore) - set(QT_QTGUI_TARGET Qt4::QtGui) # Qt macros macro(qtx_wrap_cpp) @@ -22,14 +22,16 @@ if (QT_TEST_VERSION EQUAL 4) endmacro() elseif(QT_TEST_VERSION EQUAL 5) - find_package(Qt5Widgets REQUIRED) + + find_package(Qt5Core REQUIRED) set(QT_QTCORE_TARGET Qt5::Core) - set(QT_QTGUI_TARGET Qt5::Widgets) + set(QT_LIBRARIES Qt5::Core) - include_directories(${Qt5Widgets_INCLUDE_DIRS}) - set(QT_LIBRARIES Qt5::Widgets) + # Include directories + include_directories(${Qt5Core_INCLUDE_DIRS}) + # Definitions if(Qt5_POSITION_INDEPENDENT_CODE AND CMAKE_CXX_COMPILE_OPTIONS_PIC) add_definitions(${CMAKE_CXX_COMPILE_OPTIONS_PIC}) endif() diff --git a/Tests/QtAutogen/AutogenTest.cmake b/Tests/QtAutogen/AutogenGuiTest.cmake similarity index 94% rename from Tests/QtAutogen/AutogenTest.cmake rename to Tests/QtAutogen/AutogenGuiTest.cmake index 3969a89..b76d341 100644 --- a/Tests/QtAutogen/AutogenTest.cmake +++ b/Tests/QtAutogen/AutogenGuiTest.cmake @@ -7,11 +7,11 @@ if(QT_QMAKE_EXECUTABLE) endif() if (QT_TEST_VERSION EQUAL 4) + find_package(Qt4 REQUIRED) include(UseQt4) set(QT_QTCORE_TARGET Qt4::QtCore) - set(QT_QTGUI_TARGET Qt4::QtGui) # Qt macros macro(qtx_wrap_cpp) @@ -22,14 +22,16 @@ if (QT_TEST_VERSION EQUAL 4) endmacro() elseif(QT_TEST_VERSION EQUAL 5) + find_package(Qt5Widgets REQUIRED) set(QT_QTCORE_TARGET Qt5::Core) - set(QT_QTGUI_TARGET Qt5::Widgets) + set(QT_LIBRARIES Qt5::Widgets) + # Include directories include_directories(${Qt5Widgets_INCLUDE_DIRS}) - set(QT_LIBRARIES Qt5::Widgets) + # Definitions if(Qt5_POSITION_INDEPENDENT_CODE AND CMAKE_CXX_COMPILE_OPTIONS_PIC) add_definitions(${CMAKE_CXX_COMPILE_OPTIONS_PIC}) endif() diff --git a/Tests/QtAutogen/AutogenOriginDependsOff/CMakeLists.txt b/Tests/QtAutogen/AutogenOriginDependsOff/CMakeLists.txt index 1c2271a..9e6fe8b 100644 --- a/Tests/QtAutogen/AutogenOriginDependsOff/CMakeLists.txt +++ b/Tests/QtAutogen/AutogenOriginDependsOff/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.11) project(AutogenOriginDependsOff) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") set(CSD ${CMAKE_CURRENT_SOURCE_DIR}) set(CBD ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/Tests/QtAutogen/AutogenOriginDependsOn/CMakeLists.txt b/Tests/QtAutogen/AutogenOriginDependsOn/CMakeLists.txt index 60869eb..5aabe0e 100644 --- a/Tests/QtAutogen/AutogenOriginDependsOn/CMakeLists.txt +++ b/Tests/QtAutogen/AutogenOriginDependsOn/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(AutogenOriginDependsOn) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") include_directories(${CMAKE_CURRENT_BINARY_DIR}) set(CSD ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/Tests/QtAutogen/AutogenTargetDepends/CMakeLists.txt b/Tests/QtAutogen/AutogenTargetDepends/CMakeLists.txt index 63b7c98..492b5db 100644 --- a/Tests/QtAutogen/AutogenTargetDepends/CMakeLists.txt +++ b/Tests/QtAutogen/AutogenTargetDepends/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(AutogenTargetDepends) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") include_directories(${CMAKE_CURRENT_BINARY_DIR}) set(CSD ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/Tests/QtAutogen/Complex/CMakeLists.txt b/Tests/QtAutogen/Complex/CMakeLists.txt index a18cc04..d9fdf5c 100644 --- a/Tests/QtAutogen/Complex/CMakeLists.txt +++ b/Tests/QtAutogen/Complex/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(Complex) -include("../AutogenTest.cmake") +include("../AutogenGuiTest.cmake") # -- Test: AUTOMOC AUTORCC AUTOUIC add_definitions(-DFOO -DSomeDefine="Barx") diff --git a/Tests/QtAutogen/GlobalAutogenTarget/CMakeLists.txt b/Tests/QtAutogen/GlobalAutogenTarget/CMakeLists.txt index e020673..cff7022 100644 --- a/Tests/QtAutogen/GlobalAutogenTarget/CMakeLists.txt +++ b/Tests/QtAutogen/GlobalAutogenTarget/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.12) project(GlobalAutogenTarget) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # This tests # CMAKE_GLOBAL_AUTOGEN_TARGET, diff --git a/Tests/QtAutogen/GlobalAutogenTarget/GAT/CMakeLists.txt b/Tests/QtAutogen/GlobalAutogenTarget/GAT/CMakeLists.txt index b1008e8..3925197 100644 --- a/Tests/QtAutogen/GlobalAutogenTarget/GAT/CMakeLists.txt +++ b/Tests/QtAutogen/GlobalAutogenTarget/GAT/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.12) project(GAT) -include("../../AutogenTest.cmake") +include("../../AutogenCoreTest.cmake") # Include directories include_directories(${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/Tests/QtAutogen/LowMinimumVersion/CMakeLists.txt b/Tests/QtAutogen/LowMinimumVersion/CMakeLists.txt index a6ac338..e1af3d8 100644 --- a/Tests/QtAutogen/LowMinimumVersion/CMakeLists.txt +++ b/Tests/QtAutogen/LowMinimumVersion/CMakeLists.txt @@ -1,7 +1,7 @@ # Use a low minimum version cmake_minimum_required(VERSION 3.0) project(LowMinimumVersion) -include("../AutogenTest.cmake") +include("../AutogenGuiTest.cmake") set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) diff --git a/Tests/QtAutogen/MacOsFW/CMakeLists.txt b/Tests/QtAutogen/MacOsFW/CMakeLists.txt index 26d2019..c08efc4 100644 --- a/Tests/QtAutogen/MacOsFW/CMakeLists.txt +++ b/Tests/QtAutogen/MacOsFW/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(MacOsFW) -include("../AutogenTest.cmake") +include("../AutogenGuiTest.cmake") find_package(Qt5Test REQUIRED) diff --git a/Tests/QtAutogen/MocCMP0071/CMakeLists.txt b/Tests/QtAutogen/MocCMP0071/CMakeLists.txt index a79f36e..5c58a82 100644 --- a/Tests/QtAutogen/MocCMP0071/CMakeLists.txt +++ b/Tests/QtAutogen/MocCMP0071/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(MocCMP0071) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") add_subdirectory(OLD) add_subdirectory(NEW) diff --git a/Tests/QtAutogen/MocIncludeRelaxed/CMakeLists.txt b/Tests/QtAutogen/MocIncludeRelaxed/CMakeLists.txt index 1ad6238..8b4da34 100644 --- a/Tests/QtAutogen/MocIncludeRelaxed/CMakeLists.txt +++ b/Tests/QtAutogen/MocIncludeRelaxed/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(MocIncludeRelaxed) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # Test moc include patterns set(CMAKE_AUTOMOC_RELAXED_MODE TRUE) diff --git a/Tests/QtAutogen/MocIncludeStrict/CMakeLists.txt b/Tests/QtAutogen/MocIncludeStrict/CMakeLists.txt index 2cf0fed..d0aaebf 100644 --- a/Tests/QtAutogen/MocIncludeStrict/CMakeLists.txt +++ b/Tests/QtAutogen/MocIncludeStrict/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(MocIncludeStrict) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # Test moc include patterns set(CMAKE_AUTOMOC_RELAXED_MODE FALSE) diff --git a/Tests/QtAutogen/MocMacroName/CMakeLists.txt b/Tests/QtAutogen/MocMacroName/CMakeLists.txt index f0251a2..bf13d18 100644 --- a/Tests/QtAutogen/MocMacroName/CMakeLists.txt +++ b/Tests/QtAutogen/MocMacroName/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(MocMacroName) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # Test CMAKE_AUTOMOC_MACRO_NAMES and AUTOMOC_MACRO_NAMES list(APPEND CMAKE_AUTOMOC_MACRO_NAMES "QO1_ALIAS") diff --git a/Tests/QtAutogen/MocOnly/CMakeLists.txt b/Tests/QtAutogen/MocOnly/CMakeLists.txt index 5377728..e109154 100644 --- a/Tests/QtAutogen/MocOnly/CMakeLists.txt +++ b/Tests/QtAutogen/MocOnly/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(MocOnly) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") add_executable(mocOnly main.cpp diff --git a/Tests/QtAutogen/MocOptions/CMakeLists.txt b/Tests/QtAutogen/MocOptions/CMakeLists.txt index f64b37b..19ee658 100644 --- a/Tests/QtAutogen/MocOptions/CMakeLists.txt +++ b/Tests/QtAutogen/MocOptions/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(MocOptions) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # Test extra options passed to moc via AUTOMOC_MOC_OPTIONS add_executable(mocOptions Object.cpp main.cpp) diff --git a/Tests/QtAutogen/MocOsMacros/CMakeLists.txt b/Tests/QtAutogen/MocOsMacros/CMakeLists.txt index e7b670e..b0125f6 100644 --- a/Tests/QtAutogen/MocOsMacros/CMakeLists.txt +++ b/Tests/QtAutogen/MocOsMacros/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.11) project(MocOsMacros) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # Tests if moc processes Q_OS_XXX macros diff --git a/Tests/QtAutogen/MocSkipSource/CMakeLists.txt b/Tests/QtAutogen/MocSkipSource/CMakeLists.txt index 8d1fa6a..454e896 100644 --- a/Tests/QtAutogen/MocSkipSource/CMakeLists.txt +++ b/Tests/QtAutogen/MocSkipSource/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(MocSkipSource) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # Test for SKIP_AUTOMOC and SKIP_AUTOGEN on an AUTOMOC enabled target diff --git a/Tests/QtAutogen/ObjectLibrary/CMakeLists.txt b/Tests/QtAutogen/ObjectLibrary/CMakeLists.txt index 088a24c..ec204e7 100644 --- a/Tests/QtAutogen/ObjectLibrary/CMakeLists.txt +++ b/Tests/QtAutogen/ObjectLibrary/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(ObjectLibrary) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) diff --git a/Tests/QtAutogen/Parallel/CMakeLists.txt b/Tests/QtAutogen/Parallel/CMakeLists.txt index 9c64804..299bcbf 100644 --- a/Tests/QtAutogen/Parallel/CMakeLists.txt +++ b/Tests/QtAutogen/Parallel/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(Parallel) -include("../AutogenTest.cmake") +include("../AutogenGuiTest.cmake") # Test different values for AUTOGEN_PARALLEL include("../Parallel/parallel.cmake") diff --git a/Tests/QtAutogen/Parallel1/CMakeLists.txt b/Tests/QtAutogen/Parallel1/CMakeLists.txt index 9c0b4e5..5c7d547 100644 --- a/Tests/QtAutogen/Parallel1/CMakeLists.txt +++ b/Tests/QtAutogen/Parallel1/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(Parallel1) -include("../AutogenTest.cmake") +include("../AutogenGuiTest.cmake") # Test different values for AUTOGEN_PARALLEL include("../Parallel/parallel.cmake") diff --git a/Tests/QtAutogen/Parallel2/CMakeLists.txt b/Tests/QtAutogen/Parallel2/CMakeLists.txt index 74c38f1..668aea4 100644 --- a/Tests/QtAutogen/Parallel2/CMakeLists.txt +++ b/Tests/QtAutogen/Parallel2/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(Parallel2) -include("../AutogenTest.cmake") +include("../AutogenGuiTest.cmake") # Test different values for AUTOGEN_PARALLEL include("../Parallel/parallel.cmake") diff --git a/Tests/QtAutogen/Parallel3/CMakeLists.txt b/Tests/QtAutogen/Parallel3/CMakeLists.txt index c735531..5c50f5e 100644 --- a/Tests/QtAutogen/Parallel3/CMakeLists.txt +++ b/Tests/QtAutogen/Parallel3/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(Parallel3) -include("../AutogenTest.cmake") +include("../AutogenGuiTest.cmake") # Test different values for AUTOGEN_PARALLEL include("../Parallel/parallel.cmake") diff --git a/Tests/QtAutogen/Parallel4/CMakeLists.txt b/Tests/QtAutogen/Parallel4/CMakeLists.txt index c012ccd..2c40c6a 100644 --- a/Tests/QtAutogen/Parallel4/CMakeLists.txt +++ b/Tests/QtAutogen/Parallel4/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(Parallel4) -include("../AutogenTest.cmake") +include("../AutogenGuiTest.cmake") # Test different values for AUTOGEN_PARALLEL include("../Parallel/parallel.cmake") diff --git a/Tests/QtAutogen/ParallelAUTO/CMakeLists.txt b/Tests/QtAutogen/ParallelAUTO/CMakeLists.txt index 3fd3ebc..cddece3 100644 --- a/Tests/QtAutogen/ParallelAUTO/CMakeLists.txt +++ b/Tests/QtAutogen/ParallelAUTO/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(ParallelAUTO) -include("../AutogenTest.cmake") +include("../AutogenGuiTest.cmake") # Test different values for AUTOGEN_PARALLEL include("../Parallel/parallel.cmake") diff --git a/Tests/QtAutogen/RccEmpty/CMakeLists.txt b/Tests/QtAutogen/RccEmpty/CMakeLists.txt index 3b16edc..a8e2af1 100644 --- a/Tests/QtAutogen/RccEmpty/CMakeLists.txt +++ b/Tests/QtAutogen/RccEmpty/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(RccEmpty) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # Test AUTORCC on a .qrc file with no resource files add_executable(rccEmpty rccEmpty.cpp rccEmptyRes.qrc) diff --git a/Tests/QtAutogen/RccOffMocLibrary/CMakeLists.txt b/Tests/QtAutogen/RccOffMocLibrary/CMakeLists.txt index 7f7432e..61b9601 100644 --- a/Tests/QtAutogen/RccOffMocLibrary/CMakeLists.txt +++ b/Tests/QtAutogen/RccOffMocLibrary/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(RccOffMocLibrary) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # Add not_generated_file.qrc to the source list to get the file-level # dependency, but don't generate a c++ file from it. Disable the AUTORCC diff --git a/Tests/QtAutogen/RccOnly/CMakeLists.txt b/Tests/QtAutogen/RccOnly/CMakeLists.txt index a65dee4..f3776f5 100644 --- a/Tests/QtAutogen/RccOnly/CMakeLists.txt +++ b/Tests/QtAutogen/RccOnly/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(RccOnly) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # Test AUTORCC being enabled only add_executable(rccOnly rccOnly.cpp rccOnlyRes.qrc) diff --git a/Tests/QtAutogen/RccSkipSource/CMakeLists.txt b/Tests/QtAutogen/RccSkipSource/CMakeLists.txt index f8a8032..4223274 100644 --- a/Tests/QtAutogen/RccSkipSource/CMakeLists.txt +++ b/Tests/QtAutogen/RccSkipSource/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(RccSkipSource) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # Test for SKIP_AUTORCC and SKIP_AUTOGEN on an AUTORCC enabled target set(skipRccSources diff --git a/Tests/QtAutogen/RerunMocBasic/CMakeLists.txt b/Tests/QtAutogen/RerunMocBasic/CMakeLists.txt index 6fad80c..f4b726f 100644 --- a/Tests/QtAutogen/RerunMocBasic/CMakeLists.txt +++ b/Tests/QtAutogen/RerunMocBasic/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(RerunMocBasic) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # Dummy executable to generate a clean target add_executable(dummy dummy.cpp) diff --git a/Tests/QtAutogen/RerunMocBasic/MocBasic/CMakeLists.txt b/Tests/QtAutogen/RerunMocBasic/MocBasic/CMakeLists.txt index cec60a4..6a9f550 100644 --- a/Tests/QtAutogen/RerunMocBasic/MocBasic/CMakeLists.txt +++ b/Tests/QtAutogen/RerunMocBasic/MocBasic/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(MocBasic) -include("../../AutogenTest.cmake") +include("../../AutogenCoreTest.cmake") set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) diff --git a/Tests/QtAutogen/RerunMocPlugin/CMakeLists.txt b/Tests/QtAutogen/RerunMocPlugin/CMakeLists.txt index b5287c1..b83e994 100644 --- a/Tests/QtAutogen/RerunMocPlugin/CMakeLists.txt +++ b/Tests/QtAutogen/RerunMocPlugin/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(RerunMocPlugin) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # Tests Q_PLUGIN_METADATA and CMAKE_AUTOMOC_DEPEND_FILTERS # json file change detection diff --git a/Tests/QtAutogen/RerunMocPlugin/MocPlugin/CMakeLists.txt b/Tests/QtAutogen/RerunMocPlugin/MocPlugin/CMakeLists.txt index ca22aeb..5068289 100644 --- a/Tests/QtAutogen/RerunMocPlugin/MocPlugin/CMakeLists.txt +++ b/Tests/QtAutogen/RerunMocPlugin/MocPlugin/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(MocPlugin) -include("../../AutogenTest.cmake") +include("../../AutogenGuiTest.cmake") if (QT_TEST_VERSION LESS 5) message(SEND_ERROR "Qt 5 or higher required.") diff --git a/Tests/QtAutogen/RerunRccConfigChange/CMakeLists.txt b/Tests/QtAutogen/RerunRccConfigChange/CMakeLists.txt index 4dc24fe..dcb7a79 100644 --- a/Tests/QtAutogen/RerunRccConfigChange/CMakeLists.txt +++ b/Tests/QtAutogen/RerunRccConfigChange/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.11.2) project(RerunRccConfigChange) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # Tests rcc rebuilding after a configuration change diff --git a/Tests/QtAutogen/RerunRccConfigChange/RccConfigChange/CMakeLists.txt b/Tests/QtAutogen/RerunRccConfigChange/RccConfigChange/CMakeLists.txt index 3cddf5c..e2dd0ac 100644 --- a/Tests/QtAutogen/RerunRccConfigChange/RccConfigChange/CMakeLists.txt +++ b/Tests/QtAutogen/RerunRccConfigChange/RccConfigChange/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.11.2) project(RccConfigChange) -include("../../AutogenTest.cmake") +include("../../AutogenCoreTest.cmake") # Enable AUTORCC for all targets set(CMAKE_AUTORCC ON) diff --git a/Tests/QtAutogen/RerunRccDepends/CMakeLists.txt b/Tests/QtAutogen/RerunRccDepends/CMakeLists.txt index 4268de2..80c5cf0 100644 --- a/Tests/QtAutogen/RerunRccDepends/CMakeLists.txt +++ b/Tests/QtAutogen/RerunRccDepends/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(RerunRccDepends) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # Tests rcc rebuilding when a resource file changes diff --git a/Tests/QtAutogen/RerunRccDepends/RccDepends/CMakeLists.txt b/Tests/QtAutogen/RerunRccDepends/RccDepends/CMakeLists.txt index 0507e61..150f849 100644 --- a/Tests/QtAutogen/RerunRccDepends/RccDepends/CMakeLists.txt +++ b/Tests/QtAutogen/RerunRccDepends/RccDepends/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(RccDepends) -include("../../AutogenTest.cmake") +include("../../AutogenCoreTest.cmake") # Enable AUTORCC for all targets set(CMAKE_AUTORCC ON) diff --git a/Tests/QtAutogen/SameName/CMakeLists.txt b/Tests/QtAutogen/SameName/CMakeLists.txt index 931e40f..6d42499 100644 --- a/Tests/QtAutogen/SameName/CMakeLists.txt +++ b/Tests/QtAutogen/SameName/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(SameName) -include("../AutogenTest.cmake") +include("../AutogenGuiTest.cmake") # Test AUTOMOC and AUTORCC on source files with the same name # but in different subdirectories diff --git a/Tests/QtAutogen/StaticLibraryCycle/CMakeLists.txt b/Tests/QtAutogen/StaticLibraryCycle/CMakeLists.txt index 0c2f987..f3536ba 100644 --- a/Tests/QtAutogen/StaticLibraryCycle/CMakeLists.txt +++ b/Tests/QtAutogen/StaticLibraryCycle/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(StaticLibraryCycle) -include("../AutogenTest.cmake") +include("../AutogenCoreTest.cmake") # Test AUTOMOC on cyclic static libraries diff --git a/Tests/QtAutogen/UicInclude/CMakeLists.txt b/Tests/QtAutogen/UicInclude/CMakeLists.txt index 56f76fb..929868b 100644 --- a/Tests/QtAutogen/UicInclude/CMakeLists.txt +++ b/Tests/QtAutogen/UicInclude/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(UicInclude) -include("../AutogenTest.cmake") +include("../AutogenGuiTest.cmake") # Test uic include patterns set(CMAKE_AUTOUIC_SEARCH_PATHS "dirA") diff --git a/Tests/QtAutogen/UicInterface/CMakeLists.txt b/Tests/QtAutogen/UicInterface/CMakeLists.txt index e0421a2..e022764 100644 --- a/Tests/QtAutogen/UicInterface/CMakeLists.txt +++ b/Tests/QtAutogen/UicInterface/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(UicInterface) -include("../AutogenTest.cmake") +include("../AutogenGuiTest.cmake") set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON) set(CMAKE_AUTOMOC ON) @@ -43,12 +43,12 @@ set(INC_DIR "include" ) endif() add_library(LibWidget libwidget.cpp) -target_link_libraries(LibWidget KI18n ${QT_QTGUI_TARGET}) +target_link_libraries(LibWidget KI18n ${QT_LIBRARIES}) set_property(TARGET LibWidget PROPERTY NO_KUIT_SEMANTIC ON) set_property(TARGET LibWidget PROPERTY TRANSLATION_DOMAIN customdomain) add_library(MyWidget mywidget.cpp) -target_link_libraries(MyWidget KI18n ${QT_QTGUI_TARGET}) +target_link_libraries(MyWidget KI18n ${QT_LIBRARIES}) add_executable(QtAutoUicInterface main.cpp) target_compile_definitions(QtAutoUicInterface diff --git a/Tests/QtAutogen/UicOnly/CMakeLists.txt b/Tests/QtAutogen/UicOnly/CMakeLists.txt index f927f72..b163254 100644 --- a/Tests/QtAutogen/UicOnly/CMakeLists.txt +++ b/Tests/QtAutogen/UicOnly/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(UicOnly) -include("../AutogenTest.cmake") +include("../AutogenGuiTest.cmake") # Test AUTOUIC being enabled only add_executable(uicOnly main.cpp UicOnly.cpp) diff --git a/Tests/QtAutogen/UicSkipSource/CMakeLists.txt b/Tests/QtAutogen/UicSkipSource/CMakeLists.txt index e94864d..dc3b7d4e 100644 --- a/Tests/QtAutogen/UicSkipSource/CMakeLists.txt +++ b/Tests/QtAutogen/UicSkipSource/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(UicSkipSource) -include("../AutogenTest.cmake") +include("../AutogenGuiTest.cmake") # Test for SKIP_AUTOUIC and SKIP_AUTOGEN on an AUTOUIC enabled target set(skipUicSources https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=100366a2674a79cdf654dd17a8929fe9ac2e303c commit 100366a2674a79cdf654dd17a8929fe9ac2e303c Author: Isaiah Norton AuthorDate: Tue Nov 27 13:23:29 2018 -0500 Commit: Isaiah Norton CommitDate: Tue Nov 27 16:20:43 2018 -0500 cmake: add error message when '-E touch' fails Issue: #16526 diff --git a/Source/cmcmd.cxx b/Source/cmcmd.cxx index 45881aa..930ced9 100644 --- a/Source/cmcmd.cxx +++ b/Source/cmcmd.cxx @@ -691,6 +691,8 @@ int cmcmd::ExecuteCMakeCommand(std::vector& args) if (args[1] == "touch" && args.size() > 2) { for (std::string::size_type cc = 2; cc < args.size(); cc++) { if (!cmSystemTools::Touch(args[cc], true)) { + std::cerr << "cmake -E touch: failed to update \""; + std::cerr << args[cc] << "\".\n"; return 1; } } @@ -701,6 +703,8 @@ int cmcmd::ExecuteCMakeCommand(std::vector& args) if (args[1] == "touch_nocreate" && args.size() > 2) { for (std::string::size_type cc = 2; cc < args.size(); cc++) { if (!cmSystemTools::Touch(args[cc], false)) { + std::cerr << "cmake -E touch_nocreate: failed to update \""; + std::cerr << args[cc] << "\".\n"; return 1; } } diff --git a/Tests/RunCMake/CommandLine/E_touch-nonexistent-dir-result.txt b/Tests/RunCMake/CommandLine/E_touch-nonexistent-dir-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/CommandLine/E_touch-nonexistent-dir-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/CommandLine/E_touch-nonexistent-dir-stderr.txt b/Tests/RunCMake/CommandLine/E_touch-nonexistent-dir-stderr.txt new file mode 100644 index 0000000..470d811 --- /dev/null +++ b/Tests/RunCMake/CommandLine/E_touch-nonexistent-dir-stderr.txt @@ -0,0 +1 @@ +^cmake -E touch: failed to update ".+/touch-nonexistent-dir/foo"\.$ diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake index ef48852..a37b7f1 100644 --- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake +++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake @@ -22,7 +22,9 @@ run_cmake_command(E_echo_append ${CMAKE_COMMAND} -E echo_append) run_cmake_command(E_rename-no-arg ${CMAKE_COMMAND} -E rename) run_cmake_command(E_server-arg ${CMAKE_COMMAND} -E server --extra-arg) run_cmake_command(E_server-pipe ${CMAKE_COMMAND} -E server --pipe=) + run_cmake_command(E_touch_nocreate-no-arg ${CMAKE_COMMAND} -E touch_nocreate) +run_cmake_command(E_touch-nonexistent-dir ${CMAKE_COMMAND} -E touch "${RunCMake_BINARY_DIR}/touch-nonexistent-dir/foo") run_cmake_command(E_time ${CMAKE_COMMAND} -E time ${CMAKE_COMMAND} -E echo "hello world") run_cmake_command(E_time-no-arg ${CMAKE_COMMAND} -E time) ----------------------------------------------------------------------- Summary of changes: Help/cpack_gen/deb.rst | 32 +++++------ Help/cpack_gen/freebsd.rst | 2 +- Help/cpack_gen/nuget.rst | 2 +- Help/cpack_gen/rpm.rst | 4 +- Help/release/dev/cpack-deb-tar-format.rst | 7 +++ .../BasicConfigVersion-AnyNewerVersion.cmake.in | 6 +++ Modules/BasicConfigVersion-ExactVersion.cmake.in | 5 ++ .../BasicConfigVersion-SameMajorVersion.cmake.in | 5 ++ .../BasicConfigVersion-SameMinorVersion.cmake.in | 5 ++ Modules/CMakePackageConfigHelpers.cmake | 15 +++++- Modules/Internal/CPack/CPackDeb.cmake | 9 ++-- Modules/WriteBasicConfigVersionFile.cmake | 3 +- Source/CPack/cmCPackDebGenerator.cxx | 2 +- Source/cmQtAutoGenInitializer.cxx | 6 +++ Source/cmQtAutoGeneratorMocUic.cxx | 10 ---- Source/cmcmd.cxx | 4 ++ .../{AutogenTest.cmake => AutogenCoreTest.cmake} | 14 ++--- .../{AutogenTest.cmake => AutogenGuiTest.cmake} | 8 +-- .../AutogenOriginDependsOff/CMakeLists.txt | 2 +- .../AutogenOriginDependsOn/CMakeLists.txt | 2 +- .../QtAutogen/AutogenTargetDepends/CMakeLists.txt | 2 +- Tests/QtAutogen/Complex/CMakeLists.txt | 2 +- Tests/QtAutogen/GlobalAutogenTarget/CMakeLists.txt | 2 +- .../GlobalAutogenTarget/GAT/CMakeLists.txt | 2 +- Tests/QtAutogen/LowMinimumVersion/CMakeLists.txt | 2 +- Tests/QtAutogen/MacOsFW/CMakeLists.txt | 2 +- Tests/QtAutogen/MocCMP0071/CMakeLists.txt | 2 +- Tests/QtAutogen/MocIncludeRelaxed/CMakeLists.txt | 2 +- Tests/QtAutogen/MocIncludeStrict/CMakeLists.txt | 2 +- Tests/QtAutogen/MocMacroName/CMakeLists.txt | 2 +- Tests/QtAutogen/MocOnly/CMakeLists.txt | 2 +- Tests/QtAutogen/MocOptions/CMakeLists.txt | 2 +- Tests/QtAutogen/MocOsMacros/CMakeLists.txt | 2 +- Tests/QtAutogen/MocSkipSource/CMakeLists.txt | 2 +- Tests/QtAutogen/ObjectLibrary/CMakeLists.txt | 2 +- Tests/QtAutogen/Parallel/CMakeLists.txt | 2 +- Tests/QtAutogen/Parallel1/CMakeLists.txt | 2 +- Tests/QtAutogen/Parallel2/CMakeLists.txt | 2 +- Tests/QtAutogen/Parallel3/CMakeLists.txt | 2 +- Tests/QtAutogen/Parallel4/CMakeLists.txt | 2 +- Tests/QtAutogen/ParallelAUTO/CMakeLists.txt | 2 +- Tests/QtAutogen/RccEmpty/CMakeLists.txt | 2 +- Tests/QtAutogen/RccOffMocLibrary/CMakeLists.txt | 2 +- Tests/QtAutogen/RccOnly/CMakeLists.txt | 2 +- Tests/QtAutogen/RccSkipSource/CMakeLists.txt | 2 +- Tests/QtAutogen/RerunMocBasic/CMakeLists.txt | 2 +- .../RerunMocBasic/MocBasic/CMakeLists.txt | 2 +- Tests/QtAutogen/RerunMocPlugin/CMakeLists.txt | 2 +- .../RerunMocPlugin/MocPlugin/CMakeLists.txt | 2 +- .../QtAutogen/RerunRccConfigChange/CMakeLists.txt | 2 +- .../RccConfigChange/CMakeLists.txt | 2 +- Tests/QtAutogen/RerunRccDepends/CMakeLists.txt | 2 +- .../RerunRccDepends/RccDepends/CMakeLists.txt | 2 +- Tests/QtAutogen/SameName/CMakeLists.txt | 2 +- Tests/QtAutogen/StaticLibraryCycle/CMakeLists.txt | 2 +- Tests/QtAutogen/Tests.cmake | 1 + Tests/QtAutogen/UicInclude/CMakeLists.txt | 2 +- Tests/QtAutogen/UicInterface/CMakeLists.txt | 6 +-- Tests/QtAutogen/UicNoGui/CMakeLists.txt | 16 ++++++ Tests/QtAutogen/UicNoGui/MocOnly/CMakeLists.txt | 3 ++ Tests/QtAutogen/UicNoGui/MocOnly/main.cpp | 15 ++++++ Tests/QtAutogen/UicNoGui/NoQt/CMakeLists.txt | 2 + Tests/QtAutogen/UicNoGui/NoQt/main.cpp | 4 ++ Tests/QtAutogen/UicNoGui/main.cpp | 9 ++++ Tests/QtAutogen/UicOnly/CMakeLists.txt | 2 +- Tests/QtAutogen/UicSkipSource/CMakeLists.txt | 2 +- .../E_touch-nonexistent-dir-result.txt} | 0 .../CommandLine/E_touch-nonexistent-dir-stderr.txt | 1 + Tests/RunCMake/CommandLine/RunCMakeTest.cmake | 2 + .../ArchIndependent.cmake | 63 ++++++++++++++++++++++ .../WriteBasicConfigVersionFile/RunCMakeTest.cmake | 1 + 71 files changed, 254 insertions(+), 88 deletions(-) create mode 100644 Help/release/dev/cpack-deb-tar-format.rst copy Tests/QtAutogen/{AutogenTest.cmake => AutogenCoreTest.cmake} (82%) rename Tests/QtAutogen/{AutogenTest.cmake => AutogenGuiTest.cmake} (94%) create mode 100644 Tests/QtAutogen/UicNoGui/CMakeLists.txt create mode 100644 Tests/QtAutogen/UicNoGui/MocOnly/CMakeLists.txt create mode 100644 Tests/QtAutogen/UicNoGui/MocOnly/main.cpp create mode 100644 Tests/QtAutogen/UicNoGui/NoQt/CMakeLists.txt create mode 100644 Tests/QtAutogen/UicNoGui/NoQt/main.cpp create mode 100644 Tests/QtAutogen/UicNoGui/main.cpp copy Tests/RunCMake/{while/MissingArgument-result.txt => CommandLine/E_touch-nonexistent-dir-result.txt} (100%) create mode 100644 Tests/RunCMake/CommandLine/E_touch-nonexistent-dir-stderr.txt create mode 100644 Tests/RunCMake/WriteBasicConfigVersionFile/ArchIndependent.cmake hooks/post-receive -- CMake From kwrobot at kitware.com Thu Dec 6 09:13:04 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Thu, 6 Dec 2018 09:13:04 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-592-g81bea69 Message-ID: <20181206141304.C8A3DFDE5D@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via 81bea69bd1d52977c3782d26560f34563394f487 (commit) via d69877fe8617031a4077bb2b97d76af6b2e7b088 (commit) via d0e371f516085a8d744eaf3b24902c35a910528a (commit) via 5191b74524e6e2ccc3484989910da8ca46ebb100 (commit) via f266182aecb687f0c20c7fa7019ad0dde3222f46 (commit) via 29f9db5c63dbfa53acdb449fad78d716a4113a88 (commit) via 7954ba9bc196b34ced6c3359c464afbd0678c2e0 (commit) via 652210e901f5e1e9bf8e25d35423348de8e50c1a (commit) from 0464298956a204578aa8421ca0b84c089a97e0aa (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=81bea69bd1d52977c3782d26560f34563394f487 commit 81bea69bd1d52977c3782d26560f34563394f487 Merge: d69877f 7954ba9 Author: Brad King AuthorDate: Thu Dec 6 14:06:08 2018 +0000 Commit: Kitware Robot CommitDate: Thu Dec 6 09:06:13 2018 -0500 Merge topic 'productbuild-encode-pkg-url-ref' 7954ba9bc1 productbuild: escape pkg-ref urls 652210e901 cmSystemTools: Add EncodeURL helper Acked-by: Kitware Robot Merge-request: !2681 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d69877fe8617031a4077bb2b97d76af6b2e7b088 commit d69877fe8617031a4077bb2b97d76af6b2e7b088 Merge: d0e371f 5191b74 Author: Brad King AuthorDate: Thu Dec 6 14:05:15 2018 +0000 Commit: Kitware Robot CommitDate: Thu Dec 6 09:05:22 2018 -0500 Merge topic 'autogen-qtversion-detection' 5191b74524 Autogen: Qt version detection cleanup Acked-by: Kitware Robot Reviewed-by: Sebastian Holtermann Merge-request: !2694 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d0e371f516085a8d744eaf3b24902c35a910528a commit d0e371f516085a8d744eaf3b24902c35a910528a Merge: 0464298 f266182 Author: Brad King AuthorDate: Thu Dec 6 14:03:52 2018 +0000 Commit: Kitware Robot CommitDate: Thu Dec 6 09:03:58 2018 -0500 Merge topic 'try-compile' f266182aec Check* functions family: add support for LINK_OPTIONS 29f9db5c63 try_compile/try_run: Add support for LINK_OPTIONS option. Acked-by: Kitware Robot Merge-request: !2661 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5191b74524e6e2ccc3484989910da8ca46ebb100 commit 5191b74524e6e2ccc3484989910da8ca46ebb100 Author: Tobias Hunger AuthorDate: Wed Nov 28 14:45:33 2018 +0100 Commit: Tobias Hunger CommitDate: Mon Dec 3 10:10:44 2018 +0100 Autogen: Qt version detection cleanup Split the Qt version detection code up a bit so that it is a bit easier to follow. diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx index 49236ed..730bdb7 100644 --- a/Source/cmQtAutoGenInitializer.cxx +++ b/Source/cmQtAutoGenInitializer.cxx @@ -1342,56 +1342,65 @@ void cmQtAutoGenInitializer::AddGeneratedSource(std::string const& filename, this->Target->AddSource(filename); } -cmQtAutoGenInitializer::IntegerVersion cmQtAutoGenInitializer::GetQtVersion( +static unsigned int CharPtrToInt(const char* const input) +{ + unsigned long tmp = 0; + if (input != nullptr && cmSystemTools::StringToULong(input, &tmp)) { + return static_cast(tmp); + } + return 0; +} + +static unsigned int StringToInt(const std::string& input) +{ + return input.empty() ? 0 : CharPtrToInt(input.c_str()); +} + +static std::vector GetKnownQtVersions( cmGeneratorTarget const* target) { - cmQtAutoGenInitializer::IntegerVersion res; cmMakefile* makefile = target->Target->GetMakefile(); - // -- Major version - std::string qtMajor = makefile->GetSafeDefinition("QT_VERSION_MAJOR"); - if (qtMajor.empty()) { - qtMajor = makefile->GetSafeDefinition("Qt5Core_VERSION_MAJOR"); - } - { - const char* targetQtVersion = - target->GetLinkInterfaceDependentStringProperty("QT_MAJOR_VERSION", ""); - if (targetQtVersion != nullptr) { - qtMajor = targetQtVersion; + std::vector result; + for (const std::string& prefix : + std::vector({ "Qt5Core", "QT" })) { + auto tmp = cmQtAutoGenInitializer::IntegerVersion( + StringToInt(makefile->GetSafeDefinition(prefix + "_VERSION_MAJOR")), + StringToInt(makefile->GetSafeDefinition(prefix + "_VERSION_MINOR"))); + if (tmp.Major != 0) { + result.push_back(tmp); } } - // -- Minor version - std::string qtMinor; - if (!qtMajor.empty()) { - if (qtMajor == "5") { - qtMinor = makefile->GetSafeDefinition("Qt5Core_VERSION_MINOR"); - } - if (qtMinor.empty()) { - qtMinor = makefile->GetSafeDefinition("QT_VERSION_MINOR"); - } - { - const char* targetQtVersion = - target->GetLinkInterfaceDependentStringProperty("QT_MINOR_VERSION", - ""); - if (targetQtVersion != nullptr) { - qtMinor = targetQtVersion; - } - } + return result; +} + +cmQtAutoGenInitializer::IntegerVersion cmQtAutoGenInitializer::GetQtVersion( + cmGeneratorTarget const* target) +{ + auto knownQtVersions = GetKnownQtVersions(target); + if (knownQtVersions.empty()) { + return cmQtAutoGenInitializer::IntegerVersion(); // No Qt + } + + // Pick a version from the known versions: + auto targetVersion = CharPtrToInt( + target->GetLinkInterfaceDependentStringProperty("QT_MAJOR_VERSION", "")); + + if (targetVersion == 0) { + // No specific version was requested by the target: + // Use highest known Qt version. + return knownQtVersions.at(0); } - // -- Convert to integer - if (!qtMajor.empty() && !qtMinor.empty()) { - unsigned long majorUL(0); - unsigned long minorUL(0); - if (cmSystemTools::StringToULong(qtMajor.c_str(), &majorUL) && - cmSystemTools::StringToULong(qtMinor.c_str(), &minorUL)) { - res.Major = static_cast(majorUL); - res.Minor = static_cast(minorUL); + for (auto it : knownQtVersions) { + if (it.Major == targetVersion) { + return it; } } - return res; + // Requested version was not found + return cmQtAutoGenInitializer::IntegerVersion(); } bool cmQtAutoGenInitializer::GetMocExecutable() https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f266182aecb687f0c20c7fa7019ad0dde3222f46 commit f266182aecb687f0c20c7fa7019ad0dde3222f46 Author: Marc Chevrier AuthorDate: Mon Nov 26 17:32:06 2018 +0100 Commit: Marc Chevrier CommitDate: Sat Dec 1 17:56:23 2018 +0100 Check* functions family: add support for LINK_OPTIONS Fixes: #18521 diff --git a/Help/release/dev/check-functions-LINK_OPTIONS.rst b/Help/release/dev/check-functions-LINK_OPTIONS.rst new file mode 100644 index 0000000..a6bfed2 --- /dev/null +++ b/Help/release/dev/check-functions-LINK_OPTIONS.rst @@ -0,0 +1,5 @@ +check-functions-LINK_OPTIONS +---------------------------- + +* The family of modules to check capabilities (like + :module:`CheckCSourceCompiles`) gain capability to manage ``LINK_OPTIONS``. diff --git a/Modules/CMakePushCheckState.cmake b/Modules/CMakePushCheckState.cmake index 7628d1a..f6bfc12 100644 --- a/Modules/CMakePushCheckState.cmake +++ b/Modules/CMakePushCheckState.cmake @@ -7,26 +7,27 @@ CMakePushCheckState -This module defines three macros: CMAKE_PUSH_CHECK_STATE() -CMAKE_POP_CHECK_STATE() and CMAKE_RESET_CHECK_STATE() These macros can +This module defines three macros: ``CMAKE_PUSH_CHECK_STATE()`` +``CMAKE_POP_CHECK_STATE()`` and ``CMAKE_RESET_CHECK_STATE()`` These macros can be used to save, restore and reset (i.e., clear contents) the state of -the variables CMAKE_REQUIRED_FLAGS, CMAKE_REQUIRED_DEFINITIONS, -CMAKE_REQUIRED_LIBRARIES, CMAKE_REQUIRED_INCLUDES and CMAKE_EXTRA_INCLUDE_FILES -used by the various Check-files coming with CMake, like e.g. -check_function_exists() etc. The variable contents are pushed on a -stack, pushing multiple times is supported. This is useful e.g. when -executing such tests in a Find-module, where they have to be set, but -after the Find-module has been executed they should have the same -value as they had before. - -CMAKE_PUSH_CHECK_STATE() macro receives optional argument RESET. -Whether it's specified, CMAKE_PUSH_CHECK_STATE() will set all -CMAKE_REQUIRED_* variables to empty values, same as -CMAKE_RESET_CHECK_STATE() call will do. +the variables ``CMAKE_REQUIRED_FLAGS``, ``CMAKE_REQUIRED_DEFINITIONS``, +``CMAKE_REQUIRED_LINK_OPTIONS``, ``CMAKE_REQUIRED_LIBRARIES``, +``CMAKE_REQUIRED_INCLUDES`` and ``CMAKE_EXTRA_INCLUDE_FILES`` used by the +various Check-files coming with CMake, like e.g. ``check_function_exists()`` +etc. +The variable contents are pushed on a stack, pushing multiple times is +supported. This is useful e.g. when executing such tests in a Find-module, +where they have to be set, but after the Find-module has been executed they +should have the same value as they had before. + +``CMAKE_PUSH_CHECK_STATE()`` macro receives optional argument ``RESET``. +Whether it's specified, ``CMAKE_PUSH_CHECK_STATE()`` will set all +``CMAKE_REQUIRED_*`` variables to empty values, same as +``CMAKE_RESET_CHECK_STATE()`` call will do. Usage: -:: +.. code-block:: cmake cmake_push_check_state(RESET) set(CMAKE_REQUIRED_DEFINITIONS -DSOME_MORE_DEF) @@ -42,6 +43,7 @@ macro(CMAKE_RESET_CHECK_STATE) set(CMAKE_EXTRA_INCLUDE_FILES) set(CMAKE_REQUIRED_INCLUDES) set(CMAKE_REQUIRED_DEFINITIONS) + set(CMAKE_REQUIRED_LINK_OPTIONS) set(CMAKE_REQUIRED_LIBRARIES) set(CMAKE_REQUIRED_FLAGS) set(CMAKE_REQUIRED_QUIET) @@ -56,12 +58,13 @@ macro(CMAKE_PUSH_CHECK_STATE) math(EXPR _CMAKE_PUSH_CHECK_STATE_COUNTER "${_CMAKE_PUSH_CHECK_STATE_COUNTER}+1") - set(_CMAKE_EXTRA_INCLUDE_FILES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_EXTRA_INCLUDE_FILES}) - set(_CMAKE_REQUIRED_INCLUDES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_INCLUDES}) - set(_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_DEFINITIONS}) - set(_CMAKE_REQUIRED_LIBRARIES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_LIBRARIES}) - set(_CMAKE_REQUIRED_FLAGS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_FLAGS}) - set(_CMAKE_REQUIRED_QUIET_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_QUIET}) + set(_CMAKE_EXTRA_INCLUDE_FILES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_EXTRA_INCLUDE_FILES}) + set(_CMAKE_REQUIRED_INCLUDES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_INCLUDES}) + set(_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_DEFINITIONS}) + set(_CMAKE_REQUIRED_LINK_OPTIONS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_LINK_OPTIONS}) + set(_CMAKE_REQUIRED_LIBRARIES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_LIBRARIES}) + set(_CMAKE_REQUIRED_FLAGS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_FLAGS}) + set(_CMAKE_REQUIRED_QUIET_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_QUIET}) if (${ARGC} GREATER 0 AND "${ARGV0}" STREQUAL "RESET") cmake_reset_check_state() @@ -74,12 +77,13 @@ macro(CMAKE_POP_CHECK_STATE) # don't pop more than we pushed if("${_CMAKE_PUSH_CHECK_STATE_COUNTER}" GREATER "0") - set(CMAKE_EXTRA_INCLUDE_FILES ${_CMAKE_EXTRA_INCLUDE_FILES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}}) - set(CMAKE_REQUIRED_INCLUDES ${_CMAKE_REQUIRED_INCLUDES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}}) - set(CMAKE_REQUIRED_DEFINITIONS ${_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}}) - set(CMAKE_REQUIRED_LIBRARIES ${_CMAKE_REQUIRED_LIBRARIES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}}) - set(CMAKE_REQUIRED_FLAGS ${_CMAKE_REQUIRED_FLAGS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}}) - set(CMAKE_REQUIRED_QUIET ${_CMAKE_REQUIRED_QUIET_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}}) + set(CMAKE_EXTRA_INCLUDE_FILES ${_CMAKE_EXTRA_INCLUDE_FILES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}}) + set(CMAKE_REQUIRED_INCLUDES ${_CMAKE_REQUIRED_INCLUDES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}}) + set(CMAKE_REQUIRED_DEFINITIONS ${_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}}) + set(CMAKE_REQUIRED_LINK_OPTIONS ${_CMAKE_REQUIRED_LINK_OPTIONS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}}) + set(CMAKE_REQUIRED_LIBRARIES ${_CMAKE_REQUIRED_LIBRARIES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}}) + set(CMAKE_REQUIRED_FLAGS ${_CMAKE_REQUIRED_FLAGS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}}) + set(CMAKE_REQUIRED_QUIET ${_CMAKE_REQUIRED_QUIET_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}}) math(EXPR _CMAKE_PUSH_CHECK_STATE_COUNTER "${_CMAKE_PUSH_CHECK_STATE_COUNTER}-1") endif() diff --git a/Modules/CheckCSourceCompiles.cmake b/Modules/CheckCSourceCompiles.cmake index 5b0b70e..77ba0cc 100644 --- a/Modules/CheckCSourceCompiles.cmake +++ b/Modules/CheckCSourceCompiles.cmake @@ -43,6 +43,10 @@ Check if given C source compiles and links into an executable. ``try_compile()``, i.e. the contents of the :prop_dir:`INCLUDE_DIRECTORIES` directory property will be ignored. + ``CMAKE_REQUIRED_LINK_OPTIONS`` + A :ref:`;-list ` of options to add to the link + command (see :command:`try_compile` for further details). + ``CMAKE_REQUIRED_LIBRARIES`` A :ref:`;-list ` of libraries to add to the link command. These can be the name of system libraries or they can be @@ -78,6 +82,12 @@ macro(CHECK_C_SOURCE_COMPILES SOURCE VAR) endforeach() set(MACRO_CHECK_FUNCTION_DEFINITIONS "-D${VAR} ${CMAKE_REQUIRED_FLAGS}") + if(CMAKE_REQUIRED_LINK_OPTIONS) + set(CHECK_C_SOURCE_COMPILES_ADD_LINK_OPTIONS + LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}) + else() + set(CHECK_C_SOURCE_COMPILES_ADD_LINK_OPTIONS) + endif() if(CMAKE_REQUIRED_LIBRARIES) set(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) @@ -100,6 +110,7 @@ macro(CHECK_C_SOURCE_COMPILES SOURCE VAR) ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} + ${CHECK_C_SOURCE_COMPILES_ADD_LINK_OPTIONS} ${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}" diff --git a/Modules/CheckCSourceRuns.cmake b/Modules/CheckCSourceRuns.cmake index e682b29..eba70f2 100644 --- a/Modules/CheckCSourceRuns.cmake +++ b/Modules/CheckCSourceRuns.cmake @@ -42,6 +42,10 @@ subsequently be run. ``try_run()``, i.e. the contents of the :prop_dir:`INCLUDE_DIRECTORIES` directory property will be ignored. + ``CMAKE_REQUIRED_LINK_OPTIONS`` + A :ref:`;-list ` of options to add to the link + command (see :command:`try_run` for further details). + ``CMAKE_REQUIRED_LIBRARIES`` A :ref:`;-list ` of libraries to add to the link command. These can be the name of system libraries or they can be @@ -66,6 +70,12 @@ macro(CHECK_C_SOURCE_RUNS SOURCE VAR) if(NOT DEFINED "${VAR}") set(MACRO_CHECK_FUNCTION_DEFINITIONS "-D${VAR} ${CMAKE_REQUIRED_FLAGS}") + if(CMAKE_REQUIRED_LINK_OPTIONS) + set(CHECK_C_SOURCE_COMPILES_ADD_LINK_OPTIONS + LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}) + else() + set(CHECK_C_SOURCE_COMPILES_ADD_LINK_OPTIONS) + endif() if(CMAKE_REQUIRED_LIBRARIES) set(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) @@ -88,6 +98,7 @@ macro(CHECK_C_SOURCE_RUNS SOURCE VAR) ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} + ${CHECK_C_SOURCE_COMPILES_ADD_LINK_OPTIONS} ${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH} diff --git a/Modules/CheckCXXSourceCompiles.cmake b/Modules/CheckCXXSourceCompiles.cmake index f7ec8eb..cc457a5 100644 --- a/Modules/CheckCXXSourceCompiles.cmake +++ b/Modules/CheckCXXSourceCompiles.cmake @@ -43,6 +43,10 @@ Check if given C++ source compiles and links into an executable. ``try_compile()``, i.e. the contents of the :prop_dir:`INCLUDE_DIRECTORIES` directory property will be ignored. + ``CMAKE_REQUIRED_LINK_OPTIONS`` + A :ref:`;-list ` of options to add to the link + command (see :command:`try_compile` for further details). + ``CMAKE_REQUIRED_LIBRARIES`` A :ref:`;-list ` of libraries to add to the link command. These can be the name of system libraries or they can be @@ -79,6 +83,12 @@ macro(CHECK_CXX_SOURCE_COMPILES SOURCE VAR) set(MACRO_CHECK_FUNCTION_DEFINITIONS "-D${VAR} ${CMAKE_REQUIRED_FLAGS}") + if(CMAKE_REQUIRED_LINK_OPTIONS) + set(CHECK_CXX_SOURCE_COMPILES_ADD_LINK_OPTIONS + LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}) + else() + set(CHECK_CXX_SOURCE_COMPILES_ADD_LINK_OPTIONS) + endif() if(CMAKE_REQUIRED_LIBRARIES) set(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) @@ -101,6 +111,7 @@ macro(CHECK_CXX_SOURCE_COMPILES SOURCE VAR) ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} + ${CHECK_CXX_SOURCE_COMPILES_ADD_LINK_OPTIONS} ${CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} "${CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES}" diff --git a/Modules/CheckCXXSourceRuns.cmake b/Modules/CheckCXXSourceRuns.cmake index bdc2291..7db976b 100644 --- a/Modules/CheckCXXSourceRuns.cmake +++ b/Modules/CheckCXXSourceRuns.cmake @@ -42,6 +42,10 @@ subsequently be run. ``try_run()``, i.e. the contents of the :prop_dir:`INCLUDE_DIRECTORIES` directory property will be ignored. + ``CMAKE_REQUIRED_LINK_OPTIONS`` + A :ref:`;-list ` of options to add to the link + command (see :command:`try_run` for further details). + ``CMAKE_REQUIRED_LIBRARIES`` A :ref:`;-list ` of libraries to add to the link command. These can be the name of system libraries or they can be @@ -66,6 +70,12 @@ macro(CHECK_CXX_SOURCE_RUNS SOURCE VAR) if(NOT DEFINED "${VAR}") set(MACRO_CHECK_FUNCTION_DEFINITIONS "-D${VAR} ${CMAKE_REQUIRED_FLAGS}") + if(CMAKE_REQUIRED_LINK_OPTIONS) + set(CHECK_CXX_SOURCE_COMPILES_ADD_LINK_OPTIONS + LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}) + else() + set(CHECK_CXX_SOURCE_COMPILES_ADD_LINK_OPTIONS) + endif() if(CMAKE_REQUIRED_LIBRARIES) set(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) @@ -88,6 +98,7 @@ macro(CHECK_CXX_SOURCE_RUNS SOURCE VAR) ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} + ${CHECK_CXX_SOURCE_COMPILES_ADD_LINK_OPTIONS} ${CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH} diff --git a/Modules/CheckCXXSymbolExists.cmake b/Modules/CheckCXXSymbolExists.cmake index d067001..970e301 100644 --- a/Modules/CheckCXXSymbolExists.cmake +++ b/Modules/CheckCXXSymbolExists.cmake @@ -7,35 +7,42 @@ CheckCXXSymbolExists Check if a symbol exists as a function, variable, or macro in C++ -.. code-block:: cmake +.. command:: CHECK_CXX_SYMBOL_EXISTS - CHECK_CXX_SYMBOL_EXISTS( ) + .. code-block:: cmake -Check that the ```` is available after including given header -```` and store the result in a ````. Specify the list of -files in one argument as a semicolon-separated list. -CHECK_CXX_SYMBOL_EXISTS() can be used to check in C++ files, as -opposed to CHECK_SYMBOL_EXISTS(), which works only for C. + CHECK_CXX_SYMBOL_EXISTS( ) -If the header files define the symbol as a macro it is considered -available and assumed to work. If the header files declare the symbol -as a function or variable then the symbol must also be available for -linking. If the symbol is a type or enum value it will not be -recognized (consider using CheckTypeSize or CheckCSourceCompiles). + Check that the ```` is available after including given header + ```` and store the result in a ````. Specify the list of + files in one argument as a semicolon-separated list. + ``CHECK_CXX_SYMBOL_EXISTS()`` can be used to check in C++ files, as + opposed to ``CHECK_SYMBOL_EXISTS()``, which works only for ``C``. + + If the header files define the symbol as a macro it is considered + available and assumed to work. If the header files declare the symbol + as a function or variable then the symbol must also be available for + linking. If the symbol is a type or enum value it will not be + recognized (consider using :module:`CheckTypeSize` + or :module:`CheckCSourceCompiles`). The following variables may be set before calling this macro to modify the way the check is run: ``CMAKE_REQUIRED_FLAGS`` - string of compile command line flags + string of compile command line flags. ``CMAKE_REQUIRED_DEFINITIONS`` - list of macros to define (-DFOO=bar) + a :ref:`;-list ` of macros to define (-DFOO=bar). ``CMAKE_REQUIRED_INCLUDES`` - list of include directories + a :ref:`;-list ` of header search paths to pass to + the compiler. +``CMAKE_REQUIRED_LINK_OPTIONS`` + a :ref:`;-list ` of options to add to the link command. ``CMAKE_REQUIRED_LIBRARIES`` - list of libraries to link + a :ref:`;-list ` of libraries to add to the link + command. See policy :policy:`CMP0075`. ``CMAKE_REQUIRED_QUIET`` - execute quietly without messages + execute quietly without messages. #]=======================================================================] include_guard(GLOBAL) diff --git a/Modules/CheckFortranFunctionExists.cmake b/Modules/CheckFortranFunctionExists.cmake index dc371aa..7ca205a 100644 --- a/Modules/CheckFortranFunctionExists.cmake +++ b/Modules/CheckFortranFunctionExists.cmake @@ -5,24 +5,33 @@ CheckFortranFunctionExists -------------------------- -:command:`Macro ` which checks if a Fortran function exists. +Check if a Fortran function exists. -.. code-block:: cmake +.. command:: CHECK_FORTRAN_FUNCTION_EXISTS - CHECK_FORTRAN_FUNCTION_EXISTS( ) + .. code-block:: cmake -where + CHECK_FORTRAN_FUNCTION_EXISTS( ) -```` - the name of the Fortran function -```` - variable to store the result; will be created as an internal cache variable. + where + + ```` + the name of the Fortran function + ```` + variable to store the result; will be created as an internal cache variable. The following variables may be set before calling this macro to modify the way the check is run: +``CMAKE_REQUIRED_LINK_OPTIONS`` + A :ref:`;-list ` of options to add to the link + command (see :command:`try_compile` for further details). + ``CMAKE_REQUIRED_LIBRARIES`` - list of libraries to link + A :ref:`;-list ` of libraries to add to the link + command. These can be the name of system libraries or they can be + :ref:`Imported Targets ` (see :command:`try_compile` for + further details). #]=======================================================================] include_guard(GLOBAL) @@ -30,6 +39,12 @@ include_guard(GLOBAL) macro(CHECK_FORTRAN_FUNCTION_EXISTS FUNCTION VARIABLE) if(NOT DEFINED ${VARIABLE}) message(STATUS "Looking for Fortran ${FUNCTION}") + if(CMAKE_REQUIRED_LINK_OPTIONS) + set(CHECK_FUNCTION_EXISTS_ADD_LINK_OPTIONS + LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}) + else() + set(CHECK_FUNCTION_EXISTS_ADD_LINK_OPTIONS) + endif() if(CMAKE_REQUIRED_LIBRARIES) set(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) @@ -48,6 +63,7 @@ macro(CHECK_FORTRAN_FUNCTION_EXISTS FUNCTION VARIABLE) try_compile(${VARIABLE} ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f + ${CHECK_FUNCTION_EXISTS_ADD_LINK_OPTIONS} ${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES} OUTPUT_VARIABLE OUTPUT ) diff --git a/Modules/CheckFortranSourceCompiles.cmake b/Modules/CheckFortranSourceCompiles.cmake index 977b7b4..b3e83dd 100644 --- a/Modules/CheckFortranSourceCompiles.cmake +++ b/Modules/CheckFortranSourceCompiles.cmake @@ -49,6 +49,10 @@ Check if given Fortran source compiles and links into an executable. ``try_compile()``, i.e. the contents of the :prop_dir:`INCLUDE_DIRECTORIES` directory property will be ignored. + ``CMAKE_REQUIRED_LINK_OPTIONS`` + A :ref:`;-list ` of options to add to the link + command (see :command:`try_compile` for further details). + ``CMAKE_REQUIRED_LIBRARIES`` A :ref:`;-list ` of libraries to add to the link command. These can be the name of system libraries or they can be @@ -88,6 +92,12 @@ macro(CHECK_Fortran_SOURCE_COMPILES SOURCE VAR) endif() set(MACRO_CHECK_FUNCTION_DEFINITIONS "-D${VAR} ${CMAKE_REQUIRED_FLAGS}") + if(CMAKE_REQUIRED_LINK_OPTIONS) + set(CHECK_Fortran_SOURCE_COMPILES_ADD_LINK_OPTIONS + LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}) + else() + set(CHECK_Fortran_SOURCE_COMPILES_ADD_LINK_OPTIONS) + endif() if(CMAKE_REQUIRED_LIBRARIES) set(CHECK_Fortran_SOURCE_COMPILES_ADD_LIBRARIES LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) @@ -110,6 +120,7 @@ macro(CHECK_Fortran_SOURCE_COMPILES SOURCE VAR) ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.${_SRC_EXT} COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} + ${CHECK_Fortran_SOURCE_COMPILES_ADD_LINK_OPTIONS} ${CHECK_Fortran_SOURCE_COMPILES_ADD_LIBRARIES} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} "${CHECK_Fortran_SOURCE_COMPILES_ADD_INCLUDES}" diff --git a/Modules/CheckFunctionExists.cmake b/Modules/CheckFunctionExists.cmake index cbec739..c39144f 100644 --- a/Modules/CheckFunctionExists.cmake +++ b/Modules/CheckFunctionExists.cmake @@ -7,27 +7,33 @@ CheckFunctionExists Check if a C function can be linked -.. code-block:: cmake +.. command:: check_function_exists - check_function_exists( ) + .. code-block:: cmake -Checks that the ```` is provided by libraries on the system and store -the result in a ````, which will be created as an internal -cache variable. + check_function_exists( ) + + Checks that the ```` is provided by libraries on the system and store + the result in a ````, which will be created as an internal + cache variable. The following variables may be set before calling this macro to modify the way the check is run: ``CMAKE_REQUIRED_FLAGS`` - string of compile command line flags + string of compile command line flags. ``CMAKE_REQUIRED_DEFINITIONS`` - list of macros to define (-DFOO=bar) + a :ref:`;-list ` of macros to define (-DFOO=bar). ``CMAKE_REQUIRED_INCLUDES`` - list of include directories + a :ref:`;-list ` of header search paths to pass to + the compiler. +``CMAKE_REQUIRED_LINK_OPTIONS`` + a :ref:`;-list ` of options to add to the link command. ``CMAKE_REQUIRED_LIBRARIES`` - list of libraries to link + a :ref:`;-list ` of libraries to add to the link + command. See policy :policy:`CMP0075`. ``CMAKE_REQUIRED_QUIET`` - execute quietly without messages + execute quietly without messages. .. note:: @@ -53,6 +59,12 @@ macro(CHECK_FUNCTION_EXISTS FUNCTION VARIABLE) if(NOT CMAKE_REQUIRED_QUIET) message(STATUS "Looking for ${FUNCTION}") endif() + if(CMAKE_REQUIRED_LINK_OPTIONS) + set(CHECK_FUNCTION_EXISTS_ADD_LINK_OPTIONS + LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}) + else() + set(CHECK_FUNCTION_EXISTS_ADD_LINK_OPTIONS) + endif() if(CMAKE_REQUIRED_LIBRARIES) set(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) @@ -79,6 +91,7 @@ macro(CHECK_FUNCTION_EXISTS FUNCTION VARIABLE) ${CMAKE_BINARY_DIR} ${_cfe_source} COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} + ${CHECK_FUNCTION_EXISTS_ADD_LINK_OPTIONS} ${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} "${CHECK_FUNCTION_EXISTS_ADD_INCLUDES}" diff --git a/Modules/CheckIncludeFile.cmake b/Modules/CheckIncludeFile.cmake index 87dac4f..d7b9481 100644 --- a/Modules/CheckIncludeFile.cmake +++ b/Modules/CheckIncludeFile.cmake @@ -9,7 +9,7 @@ Provides a macro to check if a header file can be included in ``C``. .. command:: CHECK_INCLUDE_FILE - :: + .. code-block:: cmake CHECK_INCLUDE_FILE( []) @@ -22,15 +22,19 @@ The following variables may be set before calling this macro to modify the way the check is run: ``CMAKE_REQUIRED_FLAGS`` - string of compile command line flags + string of compile command line flags. ``CMAKE_REQUIRED_DEFINITIONS`` - list of macros to define (-DFOO=bar) + a :ref:`;-list ` of macros to define (-DFOO=bar). ``CMAKE_REQUIRED_INCLUDES`` - list of include directories + a :ref:`;-list ` of header search paths to pass to + the compiler. +``CMAKE_REQUIRED_LINK_OPTIONS`` + a :ref:`;-list ` of options to add to the link command. ``CMAKE_REQUIRED_LIBRARIES`` - A list of libraries to link. See policy :policy:`CMP0075`. + a :ref:`;-list ` of libraries to add to the link + command. See policy :policy:`CMP0075`. ``CMAKE_REQUIRED_QUIET`` - execute quietly without messages + execute quietly without messages. See the :module:`CheckIncludeFiles` module to check for multiple headers at once. See the :module:`CheckIncludeFileCXX` module to check for headers @@ -58,6 +62,11 @@ macro(CHECK_INCLUDE_FILE INCLUDE VARIABLE) string(APPEND CMAKE_C_FLAGS " ${ARGV2}") endif() + set(_CIF_LINK_OPTIONS) + if(CMAKE_REQUIRED_LINK_OPTIONS) + set(_CIF_LINK_OPTIONS LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}) + endif() + set(_CIF_LINK_LIBRARIES "") if(CMAKE_REQUIRED_LIBRARIES) cmake_policy(GET CMP0075 _CIF_CMP0075 @@ -85,11 +94,13 @@ macro(CHECK_INCLUDE_FILE INCLUDE VARIABLE) ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.c COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} + ${_CIF_LINK_OPTIONS} ${_CIF_LINK_LIBRARIES} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILE_FLAGS} "${CHECK_INCLUDE_FILE_C_INCLUDE_DIRS}" OUTPUT_VARIABLE OUTPUT) + unset(_CIF_LINK_OPTIONS) unset(_CIF_LINK_LIBRARIES) if(${ARGC} EQUAL 3) diff --git a/Modules/CheckIncludeFileCXX.cmake b/Modules/CheckIncludeFileCXX.cmake index 42b5eaf..de5a83b 100644 --- a/Modules/CheckIncludeFileCXX.cmake +++ b/Modules/CheckIncludeFileCXX.cmake @@ -9,7 +9,7 @@ Provides a macro to check if a header file can be included in ``CXX``. .. command:: CHECK_INCLUDE_FILE_CXX - :: + .. code-block:: cmake CHECK_INCLUDE_FILE_CXX( []) @@ -22,15 +22,19 @@ The following variables may be set before calling this macro to modify the way the check is run: ``CMAKE_REQUIRED_FLAGS`` - string of compile command line flags + string of compile command line flags. ``CMAKE_REQUIRED_DEFINITIONS`` - list of macros to define (-DFOO=bar) + a :ref:`;-list ` of macros to define (-DFOO=bar). ``CMAKE_REQUIRED_INCLUDES`` - list of include directories + a :ref:`;-list ` of header search paths to pass to + the compiler. +``CMAKE_REQUIRED_LINK_OPTIONS`` + a :ref:`;-list ` of options to add to the link command. ``CMAKE_REQUIRED_LIBRARIES`` - A list of libraries to link. See policy :policy:`CMP0075`. + a :ref:`;-list ` of libraries to add to the link + command. See policy :policy:`CMP0075`. ``CMAKE_REQUIRED_QUIET`` - execute quietly without messages + execute quietly without messages. See modules :module:`CheckIncludeFile` and :module:`CheckIncludeFiles` to check for one or more ``C`` headers. @@ -57,6 +61,11 @@ macro(CHECK_INCLUDE_FILE_CXX INCLUDE VARIABLE) string(APPEND CMAKE_CXX_FLAGS " ${ARGV2}") endif() + set(_CIF_LINK_OPTIONS) + if(CMAKE_REQUIRED_LINK_OPTIONS) + set(_CIF_LINK_OPTIONS LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}) + endif() + set(_CIF_LINK_LIBRARIES "") if(CMAKE_REQUIRED_LIBRARIES) cmake_policy(GET CMP0075 _CIF_CMP0075 @@ -84,11 +93,13 @@ macro(CHECK_INCLUDE_FILE_CXX INCLUDE VARIABLE) ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} + ${_CIF_LINK_OPTIONS} ${_CIF_LINK_LIBRARIES} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILE_FLAGS} "${CHECK_INCLUDE_FILE_CXX_INCLUDE_DIRS}" OUTPUT_VARIABLE OUTPUT) + unset(_CIF_LINK_OPTIONS) unset(_CIF_LINK_LIBRARIES) if(${ARGC} EQUAL 3) diff --git a/Modules/CheckIncludeFiles.cmake b/Modules/CheckIncludeFiles.cmake index b303260..f52ab55 100644 --- a/Modules/CheckIncludeFiles.cmake +++ b/Modules/CheckIncludeFiles.cmake @@ -10,7 +10,7 @@ be included together. .. command:: CHECK_INCLUDE_FILES - :: + .. code-block:: cmake CHECK_INCLUDE_FILES("" [LANGUAGE ]) @@ -19,24 +19,28 @@ be included together. entry named ````. Specify the ```` argument as a :ref:`;-list ` of header file names. -If LANGUAGE is set, the specified compiler will be used to perform the -check. Acceptable values are ``C`` and ``CXX``. If not set, the C compiler -will be used if enabled. If the C compiler is not enabled, the C++ -compiler will be used if enabled. + If ``LANGUAGE`` is set, the specified compiler will be used to perform the + check. Acceptable values are ``C`` and ``CXX``. If not set, the C compiler + will be used if enabled. If the C compiler is not enabled, the C++ + compiler will be used if enabled. The following variables may be set before calling this macro to modify the way the check is run: ``CMAKE_REQUIRED_FLAGS`` - string of compile command line flags + string of compile command line flags. ``CMAKE_REQUIRED_DEFINITIONS`` - list of macros to define (-DFOO=bar) + a :ref:`;-list ` of macros to define (-DFOO=bar). ``CMAKE_REQUIRED_INCLUDES`` - list of include directories + a :ref:`;-list ` of header search paths to pass to + the compiler. +``CMAKE_REQUIRED_LINK_OPTIONS`` + a :ref:`;-list ` of options to add to the link command. ``CMAKE_REQUIRED_LIBRARIES`` - A list of libraries to link. See policy :policy:`CMP0075`. + a :ref:`;-list ` of libraries to add to the link + command. See policy :policy:`CMP0075`. ``CMAKE_REQUIRED_QUIET`` - execute quietly without messages + execute quietly without messages. See modules :module:`CheckIncludeFile` and :module:`CheckIncludeFileCXX` to check for a single header file in ``C`` or ``CXX`` languages. @@ -98,6 +102,11 @@ macro(CHECK_INCLUDE_FILES INCLUDE VARIABLE) set(_description "include file ${_INCLUDE}") endif() + set(_CIF_LINK_OPTIONS) + if(CMAKE_REQUIRED_LINK_OPTIONS) + set(_CIF_LINK_OPTIONS LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}) + endif() + set(_CIF_LINK_LIBRARIES "") if(CMAKE_REQUIRED_LIBRARIES) cmake_policy(GET CMP0075 _CIF_CMP0075 @@ -128,11 +137,13 @@ macro(CHECK_INCLUDE_FILES INCLUDE VARIABLE) ${CMAKE_BINARY_DIR} ${src} COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} + ${_CIF_LINK_OPTIONS} ${_CIF_LINK_LIBRARIES} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILES_FLAGS} "${CHECK_INCLUDE_FILES_INCLUDE_DIRS}" OUTPUT_VARIABLE OUTPUT) + unset(_CIF_LINK_OPTIONS) unset(_CIF_LINK_LIBRARIES) if(${VARIABLE}) if(NOT CMAKE_REQUIRED_QUIET) diff --git a/Modules/CheckLibraryExists.cmake b/Modules/CheckLibraryExists.cmake index 428a6b0..6504df5 100644 --- a/Modules/CheckLibraryExists.cmake +++ b/Modules/CheckLibraryExists.cmake @@ -7,15 +7,19 @@ CheckLibraryExists Check if the function exists. -CHECK_LIBRARY_EXISTS (LIBRARY FUNCTION LOCATION VARIABLE) +.. command:: CHECK_LIBRARY_EXISTS -:: + .. code-block:: cmake + + CHECK_LIBRARY_EXISTS(LIBRARY FUNCTION LOCATION VARIABLE) - LIBRARY - the name of the library you are looking for - FUNCTION - the name of the function - LOCATION - location where the library should be found - VARIABLE - variable to store the result - Will be created as an internal cache variable. + :: + + LIBRARY - the name of the library you are looking for + FUNCTION - the name of the function + LOCATION - location where the library should be found + VARIABLE - variable to store the result + Will be created as an internal cache variable. @@ -26,6 +30,7 @@ the way the check is run: CMAKE_REQUIRED_FLAGS = string of compile command line flags CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar) + CMAKE_REQUIRED_LINK_OPTIONS = list of options to pass to link command CMAKE_REQUIRED_LIBRARIES = list of libraries to link CMAKE_REQUIRED_QUIET = execute quietly without messages #]=======================================================================] @@ -39,6 +44,11 @@ macro(CHECK_LIBRARY_EXISTS LIBRARY FUNCTION LOCATION VARIABLE) if(NOT CMAKE_REQUIRED_QUIET) message(STATUS "Looking for ${FUNCTION} in ${LIBRARY}") endif() + set(CHECK_LIBRARY_EXISTS_LINK_OPTIONS) + if(CMAKE_REQUIRED_LINK_OPTIONS) + set(CHECK_LIBRARY_EXISTS_LINK_OPTIONS + LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}) + endif() set(CHECK_LIBRARY_EXISTS_LIBRARIES ${LIBRARY}) if(CMAKE_REQUIRED_LIBRARIES) set(CHECK_LIBRARY_EXISTS_LIBRARIES @@ -58,6 +68,7 @@ macro(CHECK_LIBRARY_EXISTS LIBRARY FUNCTION LOCATION VARIABLE) ${CMAKE_BINARY_DIR} ${_cle_source} COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} + ${CHECK_LIBRARY_EXISTS_LINK_OPTIONS} LINK_LIBRARIES ${CHECK_LIBRARY_EXISTS_LIBRARIES} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_LIBRARY_EXISTS_DEFINITION} diff --git a/Modules/CheckPrototypeDefinition.cmake b/Modules/CheckPrototypeDefinition.cmake index c90b766..a7b020c 100644 --- a/Modules/CheckPrototypeDefinition.cmake +++ b/Modules/CheckPrototypeDefinition.cmake @@ -7,26 +7,30 @@ CheckPrototypeDefinition Check if the prototype we expect is correct. -check_prototype_definition(FUNCTION PROTOTYPE RETURN HEADER VARIABLE) +.. command:: check_prototype_definition -:: + .. code-block:: cmake - FUNCTION - The name of the function (used to check if prototype exists) - PROTOTYPE- The prototype to check. - RETURN - The return value of the function. - HEADER - The header files required. - VARIABLE - The variable to store the result. - Will be created as an internal cache variable. + check_prototype_definition(FUNCTION PROTOTYPE RETURN HEADER VARIABLE) -Example: + :: -:: + FUNCTION - The name of the function (used to check if prototype exists) + PROTOTYPE- The prototype to check. + RETURN - The return value of the function. + HEADER - The header files required. + VARIABLE - The variable to store the result. + Will be created as an internal cache variable. + + Example: - check_prototype_definition(getpwent_r - "struct passwd *getpwent_r(struct passwd *src, char *buf, int buflen)" - "NULL" - "unistd.h;pwd.h" - SOLARIS_GETPWENT_R) + .. code-block:: cmake + + check_prototype_definition(getpwent_r + "struct passwd *getpwent_r(struct passwd *src, char *buf, int buflen)" + "NULL" + "unistd.h;pwd.h" + SOLARIS_GETPWENT_R) The following variables may be set before calling this function to modify the way the check is run: @@ -36,6 +40,7 @@ the way the check is run: CMAKE_REQUIRED_FLAGS = string of compile command line flags CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar) CMAKE_REQUIRED_INCLUDES = list of include directories + CMAKE_REQUIRED_LINK_OPTIONS = list of options to pass to link command CMAKE_REQUIRED_LIBRARIES = list of libraries to link CMAKE_REQUIRED_QUIET = execute quietly without messages #]=======================================================================] @@ -52,6 +57,12 @@ function(check_prototype_definition _FUNCTION _PROTOTYPE _RETURN _HEADER _VARIAB set(CHECK_PROTOTYPE_DEFINITION_CONTENT "/* */\n") set(CHECK_PROTOTYPE_DEFINITION_FLAGS ${CMAKE_REQUIRED_FLAGS}) + if (CMAKE_REQUIRED_LINK_OPTIONS) + set(CHECK_PROTOTYPE_DEFINITION_LINK_OPTIONS + LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}) + else() + set(CHECK_PROTOTYPE_DEFINITION_LINK_OPTIONS) + endif() if (CMAKE_REQUIRED_LIBRARIES) set(CHECK_PROTOTYPE_DEFINITION_LIBS LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) @@ -83,6 +94,7 @@ function(check_prototype_definition _FUNCTION _PROTOTYPE _RETURN _HEADER _VARIAB ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckPrototypeDefinition.c COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} + ${CHECK_PROTOTYPE_DEFINITION_LINK_OPTIONS} ${CHECK_PROTOTYPE_DEFINITION_LIBS} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${CHECK_PROTOTYPE_DEFINITION_FLAGS} "${CMAKE_SYMBOL_EXISTS_INCLUDES}" diff --git a/Modules/CheckStructHasMember.cmake b/Modules/CheckStructHasMember.cmake index e7c337c..7fef857 100644 --- a/Modules/CheckStructHasMember.cmake +++ b/Modules/CheckStructHasMember.cmake @@ -7,18 +7,20 @@ CheckStructHasMember Check if the given struct or class has the specified member variable -:: +.. command:: CHECK_STRUCT_HAS_MEMBER - CHECK_STRUCT_HAS_MEMBER(
- [LANGUAGE ]) + .. code-block:: cmake -:: + CHECK_STRUCT_HAS_MEMBER(
+ [LANGUAGE ]) - - the name of the struct or class you are interested in - - the member which existence you want to check -
- the header(s) where the prototype should be declared - - variable to store the result - - the compiler to use (C or CXX) + :: + + - the name of the struct or class you are interested in + - the member which existence you want to check +
- the header(s) where the prototype should be declared + - variable to store the result + - the compiler to use (C or CXX) @@ -30,13 +32,17 @@ the way the check is run: CMAKE_REQUIRED_FLAGS = string of compile command line flags CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar) CMAKE_REQUIRED_INCLUDES = list of include directories + CMAKE_REQUIRED_LINK_OPTIONS = list of options to pass to link command CMAKE_REQUIRED_LIBRARIES = list of libraries to link CMAKE_REQUIRED_QUIET = execute quietly without messages +Example: + +.. code-block:: cmake -Example: CHECK_STRUCT_HAS_MEMBER("struct timeval" tv_sec sys/select.h -HAVE_TIMEVAL_TV_SEC LANGUAGE C) + CHECK_STRUCT_HAS_MEMBER("struct timeval" tv_sec sys/select.h + HAVE_TIMEVAL_TV_SEC LANGUAGE C) #]=======================================================================] include_guard(GLOBAL) diff --git a/Modules/CheckSymbolExists.cmake b/Modules/CheckSymbolExists.cmake index 3483121..b9ef808 100644 --- a/Modules/CheckSymbolExists.cmake +++ b/Modules/CheckSymbolExists.cmake @@ -10,7 +10,7 @@ or macro in ``C``. .. command:: check_symbol_exists - :: + .. code-block:: cmake check_symbol_exists( ) @@ -32,15 +32,19 @@ The following variables may be set before calling this macro to modify the way the check is run: ``CMAKE_REQUIRED_FLAGS`` - string of compile command line flags + string of compile command line flags. ``CMAKE_REQUIRED_DEFINITIONS`` - list of macros to define (-DFOO=bar) + a :ref:`;-list ` of macros to define (-DFOO=bar). ``CMAKE_REQUIRED_INCLUDES`` - list of include directories + a :ref:`;-list ` of header search paths to pass to + the compiler. +``CMAKE_REQUIRED_LINK_OPTIONS`` + a :ref:`;-list ` of options to add to the link command. ``CMAKE_REQUIRED_LIBRARIES`` - list of libraries to link + a :ref:`;-list ` of libraries to add to the link + command. See policy :policy:`CMP0075`. ``CMAKE_REQUIRED_QUIET`` - execute quietly without messages + execute quietly without messages. #]=======================================================================] include_guard(GLOBAL) @@ -62,6 +66,12 @@ macro(__CHECK_SYMBOL_EXISTS_IMPL SOURCEFILE SYMBOL FILES VARIABLE) if(NOT DEFINED "${VARIABLE}" OR "x${${VARIABLE}}" STREQUAL "x${VARIABLE}") set(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n") set(MACRO_CHECK_SYMBOL_EXISTS_FLAGS ${CMAKE_REQUIRED_FLAGS}) + if(CMAKE_REQUIRED_LINK_OPTIONS) + set(CHECK_SYMBOL_EXISTS_LINK_OPTIONS + LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}) + else() + set(CHECK_SYMBOL_EXISTS_LINK_OPTIONS) + endif() if(CMAKE_REQUIRED_LIBRARIES) set(CHECK_SYMBOL_EXISTS_LIBS LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) @@ -91,6 +101,7 @@ macro(__CHECK_SYMBOL_EXISTS_IMPL SOURCEFILE SYMBOL FILES VARIABLE) ${CMAKE_BINARY_DIR} "${SOURCEFILE}" COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} + ${CHECK_SYMBOL_EXISTS_LINK_OPTIONS} ${CHECK_SYMBOL_EXISTS_LIBS} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_SYMBOL_EXISTS_FLAGS} diff --git a/Modules/CheckTypeSize.cmake b/Modules/CheckTypeSize.cmake index 2c53df9..3727373 100644 --- a/Modules/CheckTypeSize.cmake +++ b/Modules/CheckTypeSize.cmake @@ -7,50 +7,52 @@ CheckTypeSize Check sizeof a type -:: +.. command:: CHECK_TYPE_SIZE - CHECK_TYPE_SIZE(TYPE VARIABLE [BUILTIN_TYPES_ONLY] - [LANGUAGE ]) + .. code-block:: cmake -Check if the type exists and determine its size. On return, -"HAVE_${VARIABLE}" holds the existence of the type, and "${VARIABLE}" -holds one of the following: + CHECK_TYPE_SIZE(TYPE VARIABLE [BUILTIN_TYPES_ONLY] + [LANGUAGE ]) -:: + Check if the type exists and determine its size. On return, + ``HAVE_${VARIABLE}`` holds the existence of the type, and ``${VARIABLE}`` + holds one of the following: - = type has non-zero size - "0" = type has arch-dependent size (see below) - "" = type does not exist + :: -Both ``HAVE_${VARIABLE}`` and ``${VARIABLE}`` will be created as internal -cache variables. + = type has non-zero size + "0" = type has arch-dependent size (see below) + "" = type does not exist -Furthermore, the variable "${VARIABLE}_CODE" holds C preprocessor code -to define the macro "${VARIABLE}" to the size of the type, or leave -the macro undefined if the type does not exist. + Both ``HAVE_${VARIABLE}`` and ``${VARIABLE}`` will be created as internal + cache variables. -The variable "${VARIABLE}" may be "0" when CMAKE_OSX_ARCHITECTURES has -multiple architectures for building OS X universal binaries. This -indicates that the type size varies across architectures. In this -case "${VARIABLE}_CODE" contains C preprocessor tests mapping from -each architecture macro to the corresponding type size. The list of -architecture macros is stored in "${VARIABLE}_KEYS", and the value for -each key is stored in "${VARIABLE}-${KEY}". + Furthermore, the variable ``${VARIABLE}_CODE`` holds C preprocessor code + to define the macro ``${VARIABLE}`` to the size of the type, or leave + the macro undefined if the type does not exist. -If the BUILTIN_TYPES_ONLY option is not given, the macro checks for -headers , , and , and saves results -in HAVE_SYS_TYPES_H, HAVE_STDINT_H, and HAVE_STDDEF_H. The type size -check automatically includes the available headers, thus supporting -checks of types defined in the headers. + The variable ``${VARIABLE}`` may be ``0`` when + :variable:`CMAKE_OSX_ARCHITECTURES` has multiple architectures for building + OS X universal binaries. This indicates that the type size varies across + architectures. In this case ``${VARIABLE}_CODE`` contains C preprocessor + tests mapping from each architecture macro to the corresponding type size. + The list of architecture macros is stored in ``${VARIABLE}_KEYS``, and the + value for each key is stored in ``${VARIABLE}-${KEY}``. -If LANGUAGE is set, the specified compiler will be used to perform the -check. Acceptable values are C and CXX + If the ``BUILTIN_TYPES_ONLY`` option is not given, the macro checks for + headers ````, ````, and ````, and saves + results in ``HAVE_SYS_TYPES_H``, ``HAVE_STDINT_H``, and ``HAVE_STDDEF_H``. + The type size check automatically includes the available headers, thus + supporting checks of types defined in the headers. + + If ``LANGUAGE`` is set, the specified compiler will be used to perform the + check. Acceptable values are ``C`` and ``CXX``. Despite the name of the macro you may use it to check the size of more complex expressions, too. To check e.g. for the size of a struct member you can do something like this: -:: +.. code-block:: cmake check_type_size("((struct something*)0)->member" SIZEOF_MEMBER) @@ -64,6 +66,7 @@ the way the check is run: CMAKE_REQUIRED_FLAGS = string of compile command line flags CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar) CMAKE_REQUIRED_INCLUDES = list of include directories + CMAKE_REQUIRED_LINK_OPTIONS = list of options to pass to link command CMAKE_REQUIRED_LIBRARIES = list of libraries to link CMAKE_REQUIRED_QUIET = execute quietly without messages CMAKE_EXTRA_INCLUDE_FILES = list of extra headers to include @@ -116,6 +119,7 @@ function(__check_type_size_impl type var map builtin language) configure_file(${__check_type_size_dir}/CheckTypeSize.c.in ${src} @ONLY) try_compile(HAVE_${var} ${CMAKE_BINARY_DIR} ${src} COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} + LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS} LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} CMAKE_FLAGS "-DCOMPILE_DEFINITIONS:STRING=${CMAKE_REQUIRED_FLAGS}" diff --git a/Modules/CheckVariableExists.cmake b/Modules/CheckVariableExists.cmake index f30165e..f4953a3 100644 --- a/Modules/CheckVariableExists.cmake +++ b/Modules/CheckVariableExists.cmake @@ -7,20 +7,21 @@ CheckVariableExists Check if the variable exists. -:: +.. command:: CHECK_VARIABLE_EXISTS - CHECK_VARIABLE_EXISTS(VAR VARIABLE) + .. code-block:: cmake + CHECK_VARIABLE_EXISTS(VAR VARIABLE) -:: + :: - VAR - the name of the variable - VARIABLE - variable to store the result - Will be created as an internal cache variable. + VAR - the name of the variable + VARIABLE - variable to store the result + Will be created as an internal cache variable. -This macro is only for C variables. + This macro is only for ``C`` variables. The following variables may be set before calling this macro to modify the way the check is run: @@ -29,6 +30,7 @@ the way the check is run: CMAKE_REQUIRED_FLAGS = string of compile command line flags CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar) + CMAKE_REQUIRED_LINK_OPTIONS = list of options to pass to link command CMAKE_REQUIRED_LIBRARIES = list of libraries to link CMAKE_REQUIRED_QUIET = execute quietly without messages #]=======================================================================] @@ -42,6 +44,12 @@ macro(CHECK_VARIABLE_EXISTS VAR VARIABLE) if(NOT CMAKE_REQUIRED_QUIET) message(STATUS "Looking for ${VAR}") endif() + if(CMAKE_REQUIRED_LINK_OPTIONS) + set(CHECK_VARIABLE_EXISTS_ADD_LINK_OPTIONS + LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}) + else() + set(CHECK_VARIABLE_EXISTS_ADD_LINK_OPTIONS) + endif() if(CMAKE_REQUIRED_LIBRARIES) set(CHECK_VARIABLE_EXISTS_ADD_LIBRARIES LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) @@ -52,6 +60,7 @@ macro(CHECK_VARIABLE_EXISTS VAR VARIABLE) ${CMAKE_BINARY_DIR} ${CMAKE_ROOT}/Modules/CheckVariableExists.c COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} + ${CHECK_VARIABLE_EXISTS_ADD_LINK_OPTIONS} ${CHECK_VARIABLE_EXISTS_ADD_LIBRARIES} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_VARIABLE_DEFINITIONS} OUTPUT_VARIABLE OUTPUT) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=29f9db5c63dbfa53acdb449fad78d716a4113a88 commit 29f9db5c63dbfa53acdb449fad78d716a4113a88 Author: Marc Chevrier AuthorDate: Mon Nov 19 17:23:45 2018 +0100 Commit: Marc Chevrier CommitDate: Sat Dec 1 17:56:23 2018 +0100 try_compile/try_run: Add support for LINK_OPTIONS option. diff --git a/Help/command/try_compile.rst b/Help/command/try_compile.rst index 310ad11..f50fcb6 100644 --- a/Help/command/try_compile.rst +++ b/Help/command/try_compile.rst @@ -33,6 +33,7 @@ Try Compiling Source Files try_compile(RESULT_VAR [CMAKE_FLAGS ...] [COMPILE_DEFINITIONS ...] + [LINK_OPTIONS ...] [LINK_LIBRARIES ...] [OUTPUT_VARIABLE ] [COPY_FILE [COPY_FILE_ERROR ]] @@ -55,6 +56,7 @@ the source(s) as an executable that looks something like this: include_directories(${INCLUDE_DIRECTORIES}) link_directories(${LINK_DIRECTORIES}) add_executable(cmTryCompileExec ...) + target_link_options(cmTryCompileExec PRIVATE ) target_link_libraries(cmTryCompileExec ${LINK_LIBRARIES}) The options are: @@ -67,7 +69,7 @@ The options are: are used. ``COMPILE_DEFINITIONS ...`` - Specify ``-Ddefinition`` arguments to pass to ``add_definitions`` + Specify ``-Ddefinition`` arguments to pass to :command:`add_definitions` in the generated test project. ``COPY_FILE `` @@ -85,6 +87,11 @@ The options are: If this option is specified, any ``-DLINK_LIBRARIES=...`` value given to the ``CMAKE_FLAGS`` option will be ignored. +``LINK_OPTIONS ...`` + Specify link step options to pass to :command:`target_link_options` or + to :prop_tgt:`STATIC_LIBRARY_OPTIONS` target property in the generated + project, depending of the :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable. + ``OUTPUT_VARIABLE `` Store the output from the build process the given variable. diff --git a/Help/command/try_run.rst b/Help/command/try_run.rst index dfa0bf9..137402f 100644 --- a/Help/command/try_run.rst +++ b/Help/command/try_run.rst @@ -15,6 +15,7 @@ Try Compiling and Running Source Files try_run(RUN_RESULT_VAR COMPILE_RESULT_VAR bindir srcfile [CMAKE_FLAGS ...] [COMPILE_DEFINITIONS ...] + [LINK_OPTIONS ...] [LINK_LIBRARIES ...] [COMPILE_OUTPUT_VARIABLE ] [RUN_OUTPUT_VARIABLE ] @@ -38,7 +39,7 @@ The options are: are used. ``COMPILE_DEFINITIONS ...`` - Specify ``-Ddefinition`` arguments to pass to ``add_definitions`` + Specify ``-Ddefinition`` arguments to pass to :command:`add_definitions` in the generated test project. ``COMPILE_OUTPUT_VARIABLE `` @@ -52,6 +53,10 @@ The options are: If this option is specified, any ``-DLINK_LIBRARIES=...`` value given to the ``CMAKE_FLAGS`` option will be ignored. +``LINK_OPTIONS ...`` + Specify link step options to pass to :command:`target_link_options` in the + generated project. + ``OUTPUT_VARIABLE `` Report the compile build output and the output from running the executable in the given variable. This option exists for legacy reasons. Prefer diff --git a/Help/release/dev/try_compile-LINK_OPTIONS.rst b/Help/release/dev/try_compile-LINK_OPTIONS.rst new file mode 100644 index 0000000..1db485b --- /dev/null +++ b/Help/release/dev/try_compile-LINK_OPTIONS.rst @@ -0,0 +1,5 @@ +try_compile-LINK_OPTIONS +------------------------ + +* The commands :command:`try_compile` and :command:`try_run` gain new + option ``LINK_OPTIONS``. diff --git a/Source/cmCoreTryCompile.cxx b/Source/cmCoreTryCompile.cxx index f6ec606..541ae76 100644 --- a/Source/cmCoreTryCompile.cxx +++ b/Source/cmCoreTryCompile.cxx @@ -121,6 +121,7 @@ int cmCoreTryCompile::TryCompileCode(std::vector const& argv, std::string cxxExtensions; std::string cudaExtensions; std::vector targets; + std::vector linkOptions; std::string libsToLink = " "; bool useOldLinkLibs = true; char targetNameBuf[64]; @@ -144,6 +145,7 @@ int cmCoreTryCompile::TryCompileCode(std::vector const& argv, DoingNone, DoingCMakeFlags, DoingCompileDefinitions, + DoingLinkOptions, DoingLinkLibraries, DoingOutputVariable, DoingCopyFile, @@ -165,6 +167,8 @@ int cmCoreTryCompile::TryCompileCode(std::vector const& argv, doing = DoingCMakeFlags; } else if (argv[i] == "COMPILE_DEFINITIONS") { doing = DoingCompileDefinitions; + } else if (argv[i] == "LINK_OPTIONS") { + doing = DoingLinkOptions; } else if (argv[i] == "LINK_LIBRARIES") { doing = DoingLinkLibraries; useOldLinkLibs = false; @@ -208,6 +212,8 @@ int cmCoreTryCompile::TryCompileCode(std::vector const& argv, cmakeFlags.push_back(argv[i]); } else if (doing == DoingCompileDefinitions) { compileDefs.push_back(argv[i]); + } else if (doing == DoingLinkOptions) { + linkOptions.push_back(argv[i]); } else if (doing == DoingLinkLibraries) { libsToLink += "\"" + cmSystemTools::TrimWhitespace(argv[i]) + "\" "; if (cmTarget* tgt = this->Makefile->FindTargetToUse(argv[i])) { @@ -814,6 +820,23 @@ int cmCoreTryCompile::TryCompileCode(std::vector const& argv, } } + if (!linkOptions.empty()) { + std::vector options; + options.reserve(linkOptions.size()); + for (const auto& option : linkOptions) { + options.emplace_back(cmOutputConverter::EscapeForCMake(option)); + } + + if (targetType == cmStateEnums::STATIC_LIBRARY) { + fprintf(fout, + "set_property(TARGET %s PROPERTY STATIC_LIBRARY_OPTIONS %s)\n", + targetName.c_str(), cmJoin(options, " ").c_str()); + } else { + fprintf(fout, "target_link_options(%s PRIVATE %s)\n", + targetName.c_str(), cmJoin(options, " ").c_str()); + } + } + if (useOldLinkLibs) { fprintf(fout, "target_link_libraries(%s ${LINK_LIBRARIES})\n", targetName.c_str()); diff --git a/Source/cmTryRunCommand.cxx b/Source/cmTryRunCommand.cxx index 9396138..fafbd24 100644 --- a/Source/cmTryRunCommand.cxx +++ b/Source/cmTryRunCommand.cxx @@ -45,7 +45,8 @@ bool cmTryRunCommand::InitialPass(std::vector const& argv, if (argv[i] == "ARGS") { ++i; while (i < argv.size() && argv[i] != "COMPILE_DEFINITIONS" && - argv[i] != "CMAKE_FLAGS" && argv[i] != "LINK_LIBRARIES") { + argv[i] != "CMAKE_FLAGS" && argv[i] != "LINK_OPTIONS" && + argv[i] != "LINK_LIBRARIES") { runArgs += " "; runArgs += argv[i]; ++i; diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index a4d829b..b044757 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -275,6 +275,7 @@ function(add_RunCMake_test_try_compile) endif() endif() foreach(var + CMAKE_SYSTEM_NAME CMAKE_C_COMPILER_ID CMAKE_C_COMPILER_VERSION CMAKE_C_STANDARD_DEFAULT @@ -291,7 +292,8 @@ function(add_RunCMake_test_try_compile) endfunction() add_RunCMake_test_try_compile() -add_RunCMake_test(try_run) +add_RunCMake_test(try_run -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME} + -DCMAKE_C_COMPILER_ID=${CMAKE_C_COMPILER_ID}) add_RunCMake_test(set) add_RunCMake_test(variable_watch) add_RunCMake_test(while) diff --git a/Tests/RunCMake/try_compile/LinkOptions.cmake b/Tests/RunCMake/try_compile/LinkOptions.cmake new file mode 100644 index 0000000..9b246c4 --- /dev/null +++ b/Tests/RunCMake/try_compile/LinkOptions.cmake @@ -0,0 +1,38 @@ + +enable_language(C) + +cmake_policy(SET CMP0054 NEW) + +set (lib_name "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}lib${CMAKE_STATIC_LIBRARY_SUFFIX}") +if (CMAKE_SYSTEM_NAME STREQUAL "Windows") + if (RunCMake_C_COMPILER_ID STREQUAL "MSVC") + if (CMAKE_SIZEOF_VOID_P EQUAL 4) + set (undef_flag /INCLUDE:_func) + else() + set (undef_flag /INCLUDE:func) + endif() + else() + if (CMAKE_SIZEOF_VOID_P EQUAL 4) + set (undef_flag -u _func) + else() + set (undef_flag -u func) + endif() + endif() +elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin") + set (undef_flag -u _func) +else() + set (undef_flag -u func) +endif() + +set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) +try_compile(result ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/lib.c + COPY_FILE "${lib_name}") + +set(CMAKE_TRY_COMPILE_TARGET_TYPE EXECUTABLE) +try_compile(result ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/main.c + OUTPUT_VARIABLE out + LINK_OPTIONS ${undef_flag} "${lib_name}") + +if(NOT result) + message(FATAL_ERROR "try_compile(... LINK_OPTIONS ...) failed:\n${out}") +endif() diff --git a/Tests/RunCMake/try_compile/RunCMakeTest.cmake b/Tests/RunCMake/try_compile/RunCMakeTest.cmake index 6a1bc64..77fb7a0 100644 --- a/Tests/RunCMake/try_compile/RunCMakeTest.cmake +++ b/Tests/RunCMake/try_compile/RunCMakeTest.cmake @@ -25,6 +25,13 @@ run_cmake(TargetTypeExe) run_cmake(TargetTypeInvalid) run_cmake(TargetTypeStatic) +if (CMAKE_SYSTEM_NAME MATCHES "^(Linux|Darwin|Windows)$" AND + CMAKE_C_COMPILER_ID MATCHES "^(MSVC|GNU|Clang|AppleClang)$") + set (RunCMake_TEST_OPTIONS -DRunCMake_C_COMPILER_ID=${CMAKE_C_COMPILER_ID}) + run_cmake(LinkOptions) + unset (RunCMake_TEST_OPTIONS) +endif() + if(CMAKE_C_STANDARD_DEFAULT) run_cmake(CStandard) elseif(DEFINED CMAKE_C_STANDARD_DEFAULT) diff --git a/Tests/RunCMake/try_compile/lib.c b/Tests/RunCMake/try_compile/lib.c new file mode 100644 index 0000000..b00c576 --- /dev/null +++ b/Tests/RunCMake/try_compile/lib.c @@ -0,0 +1,4 @@ + +void func() +{ +} diff --git a/Tests/RunCMake/try_compile/main.c b/Tests/RunCMake/try_compile/main.c new file mode 100644 index 0000000..2128ead --- /dev/null +++ b/Tests/RunCMake/try_compile/main.c @@ -0,0 +1,8 @@ +extern void func(); + +int main(void) +{ + func(); + + return 0; +} diff --git a/Tests/RunCMake/try_run/LinkOptions.cmake b/Tests/RunCMake/try_run/LinkOptions.cmake new file mode 100644 index 0000000..17af2f7 --- /dev/null +++ b/Tests/RunCMake/try_run/LinkOptions.cmake @@ -0,0 +1,42 @@ + +enable_language(C) + +cmake_policy(SET CMP0054 NEW) + +set (lib_name "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}lib${CMAKE_STATIC_LIBRARY_SUFFIX}") +if (CMAKE_SYSTEM_NAME STREQUAL "Windows") + if (RunCMake_C_COMPILER_ID STREQUAL "MSVC") + if (CMAKE_SIZEOF_VOID_P EQUAL 4) + set (undef_flag /INCLUDE:_func) + else() + set (undef_flag /INCLUDE:func) + endif() + else() + if (CMAKE_SIZEOF_VOID_P EQUAL 4) + set (undef_flag -u _func) + else() + set (undef_flag -u func) + endif() + endif() +elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin") + set (undef_flag -u _func) +else() + set (undef_flag -u func) +endif() + +set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) +try_compile(result ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/lib.c + COPY_FILE "${lib_name}") + +set(CMAKE_TRY_COMPILE_TARGET_TYPE EXECUTABLE) +try_run(run_result compile_result ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/main.c + COMPILE_OUTPUT_VARIABLE compile_out + RUN_OUTPUT_VARIABLE run_out + LINK_OPTIONS ${undef_flag} "${lib_name}") + +if(NOT compile_result) + message(FATAL_ERROR "try_run(... LINK_OPTIONS ...) compilation failed:\n${compile_out}") +endif() +if(run_result STREQUAL "FAILED_TO_RUN") + message(FATAL_ERROR "try_run(... LINK_OPTIONS ...) execution failed:\n${run_out}") +endif() diff --git a/Tests/RunCMake/try_run/RunCMakeTest.cmake b/Tests/RunCMake/try_run/RunCMakeTest.cmake index 1ec9a55..3689562 100644 --- a/Tests/RunCMake/try_run/RunCMakeTest.cmake +++ b/Tests/RunCMake/try_run/RunCMakeTest.cmake @@ -1,3 +1,10 @@ include(RunCMake) run_cmake(BadLinkLibraries) + +if (CMAKE_SYSTEM_NAME MATCHES "^(Linux|Darwin|Windows)$" AND + CMAKE_C_COMPILER_ID MATCHES "^(MSVC|GNU|Clang|AppleClang)$") + set (RunCMake_TEST_OPTIONS -DRunCMake_C_COMPILER_ID=${CMAKE_C_COMPILER_ID}) + run_cmake(LinkOptions) + unset (RunCMake_TEST_OPTIONS) +endif() diff --git a/Tests/RunCMake/try_run/lib.c b/Tests/RunCMake/try_run/lib.c new file mode 100644 index 0000000..b00c576 --- /dev/null +++ b/Tests/RunCMake/try_run/lib.c @@ -0,0 +1,4 @@ + +void func() +{ +} diff --git a/Tests/RunCMake/try_run/main.c b/Tests/RunCMake/try_run/main.c new file mode 100644 index 0000000..2128ead --- /dev/null +++ b/Tests/RunCMake/try_run/main.c @@ -0,0 +1,8 @@ +extern void func(); + +int main(void) +{ + func(); + + return 0; +} https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7954ba9bc196b34ced6c3359c464afbd0678c2e0 commit 7954ba9bc196b34ced6c3359c464afbd0678c2e0 Author: Brad King AuthorDate: Wed Nov 28 13:34:45 2018 -0500 Commit: Brad King CommitDate: Wed Nov 28 14:27:32 2018 -0500 productbuild: escape pkg-ref urls Inspired-by: James Goruk Fixes: #18645 diff --git a/Source/CPack/cmCPackPKGGenerator.cxx b/Source/CPack/cmCPackPKGGenerator.cxx index bdda386..9401bca 100644 --- a/Source/CPack/cmCPackPKGGenerator.cxx +++ b/Source/CPack/cmCPackPKGGenerator.cxx @@ -225,7 +225,8 @@ void cmCPackPKGGenerator::CreateChoice(const cmCPackComponent& component, xout.Content(this->GetPackageName(component)); } else { xout.Content("file:./"); - xout.Content(relativePackageLocation); + xout.Content(cmSystemTools::EncodeURL(relativePackageLocation, + /*escapeSlashes=*/false)); } xout.EndElement(); // pkg-ref } https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=652210e901f5e1e9bf8e25d35423348de8e50c1a commit 652210e901f5e1e9bf8e25d35423348de8e50c1a Author: Brad King AuthorDate: Wed Nov 28 13:30:13 2018 -0500 Commit: Brad King CommitDate: Wed Nov 28 14:27:22 2018 -0500 cmSystemTools: Add EncodeURL helper Factor a URL encoding implementation out of CTest. Add an option to not escape slashes. Suggested-by: Daniel Pfeifer diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx index 061c8ef..cc3a105 100644 --- a/Source/CTest/cmCTestSubmitHandler.cxx +++ b/Source/CTest/cmCTestSubmitHandler.cxx @@ -407,26 +407,7 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP( *this->LogFile << "\tUpload file: " << local_file << " to " << remote_file << std::endl; - std::string ofile; - for (char c : remote_file) { - char hexCh[4] = { 0, 0, 0, 0 }; - hexCh[0] = c; - switch (c) { - case '+': - case '?': - case '/': - case '\\': - case '&': - case ' ': - case '=': - case '%': - sprintf(hexCh, "%%%02X", static_cast(c)); - ofile.append(hexCh); - break; - default: - ofile.append(hexCh); - } - } + std::string ofile = cmSystemTools::EncodeURL(remote_file); std::string upload_as = url + ((url.find('?') == std::string::npos) ? '?' : '&') + "FileName=" + ofile; diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 28aa57c..6fbe482 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -3009,6 +3009,35 @@ bool cmSystemTools::StringToULong(const char* str, unsigned long* value) return (*endp == '\0') && (endp != str) && (errno == 0); } +std::string cmSystemTools::EncodeURL(std::string const& in, bool escapeSlashes) +{ + std::string out; + for (char c : in) { + char hexCh[4] = { 0, 0, 0, 0 }; + hexCh[0] = c; + switch (c) { + case '+': + case '?': + case '\\': + case '&': + case ' ': + case '=': + case '%': + sprintf(hexCh, "%%%02X", static_cast(c)); + break; + case '/': + if (escapeSlashes) { + strcpy(hexCh, "%2F"); + } + break; + default: + break; + } + out.append(hexCh); + } + return out; +} + bool cmSystemTools::CreateSymlink(const std::string& origName, const std::string& newName) { diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h index 98300eb..832c1ca 100644 --- a/Source/cmSystemTools.h +++ b/Source/cmSystemTools.h @@ -495,6 +495,10 @@ public: static bool StringToLong(const char* str, long* value); static bool StringToULong(const char* str, unsigned long* value); + /** Encode a string as a URL. */ + static std::string EncodeURL(std::string const& in, + bool escapeSlashes = true); + #ifdef _WIN32 struct WindowsFileRetry { ----------------------------------------------------------------------- Summary of changes: Help/command/try_compile.rst | 9 ++- Help/command/try_run.rst | 7 +- Help/release/dev/check-functions-LINK_OPTIONS.rst | 5 ++ Help/release/dev/try_compile-LINK_OPTIONS.rst | 5 ++ Modules/CMakePushCheckState.cmake | 60 ++++++++------- Modules/CheckCSourceCompiles.cmake | 11 +++ Modules/CheckCSourceRuns.cmake | 11 +++ Modules/CheckCXXSourceCompiles.cmake | 11 +++ Modules/CheckCXXSourceRuns.cmake | 11 +++ Modules/CheckCXXSymbolExists.cmake | 41 ++++++----- Modules/CheckFortranFunctionExists.cmake | 34 ++++++--- Modules/CheckFortranSourceCompiles.cmake | 11 +++ Modules/CheckFunctionExists.cmake | 33 ++++++--- Modules/CheckIncludeFile.cmake | 23 ++++-- Modules/CheckIncludeFileCXX.cmake | 23 ++++-- Modules/CheckIncludeFiles.cmake | 31 +++++--- Modules/CheckLibraryExists.cmake | 25 +++++-- Modules/CheckPrototypeDefinition.cmake | 42 +++++++---- Modules/CheckStructHasMember.cmake | 28 ++++--- Modules/CheckSymbolExists.cmake | 23 ++++-- Modules/CheckTypeSize.cmake | 64 ++++++++-------- Modules/CheckVariableExists.cmake | 23 ++++-- Source/CPack/cmCPackPKGGenerator.cxx | 3 +- Source/CTest/cmCTestSubmitHandler.cxx | 21 +----- Source/cmCoreTryCompile.cxx | 23 ++++++ Source/cmQtAutoGenInitializer.cxx | 85 ++++++++++++---------- Source/cmSystemTools.cxx | 29 ++++++++ Source/cmSystemTools.h | 4 + Source/cmTryRunCommand.cxx | 3 +- Tests/RunCMake/CMakeLists.txt | 4 +- Tests/RunCMake/try_compile/LinkOptions.cmake | 38 ++++++++++ Tests/RunCMake/try_compile/RunCMakeTest.cmake | 7 ++ Tests/RunCMake/try_compile/lib.c | 4 + .../try_compile}/main.c | 5 +- Tests/RunCMake/try_run/LinkOptions.cmake | 42 +++++++++++ Tests/RunCMake/try_run/RunCMakeTest.cmake | 7 ++ Tests/RunCMake/try_run/lib.c | 4 + .../try_run}/main.c | 5 +- 38 files changed, 586 insertions(+), 229 deletions(-) create mode 100644 Help/release/dev/check-functions-LINK_OPTIONS.rst create mode 100644 Help/release/dev/try_compile-LINK_OPTIONS.rst create mode 100644 Tests/RunCMake/try_compile/LinkOptions.cmake create mode 100644 Tests/RunCMake/try_compile/lib.c copy Tests/{IncludeDirectories/TargetIncludeDirectories => RunCMake/try_compile}/main.c (52%) create mode 100644 Tests/RunCMake/try_run/LinkOptions.cmake create mode 100644 Tests/RunCMake/try_run/lib.c copy Tests/{IncludeDirectories/TargetIncludeDirectories => RunCMake/try_run}/main.c (52%) hooks/post-receive -- CMake From kwrobot at kitware.com Fri Dec 7 00:03:04 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Fri, 7 Dec 2018 00:03:04 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-593-ga956ab7 Message-ID: <20181207050304.80E58125698@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via a956ab7f3ba4092ac6685eb0ec1e3185dbb54a43 (commit) from 81bea69bd1d52977c3782d26560f34563394f487 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a956ab7f3ba4092ac6685eb0ec1e3185dbb54a43 commit a956ab7f3ba4092ac6685eb0ec1e3185dbb54a43 Author: Kitware Robot AuthorDate: Fri Dec 7 00:01:05 2018 -0500 Commit: Kitware Robot CommitDate: Fri Dec 7 00:01:05 2018 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index e4f11ed..85cbbca 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 13) -set(CMake_VERSION_PATCH 20181206) +set(CMake_VERSION_PATCH 20181207) #set(CMake_VERSION_RC 1) ----------------------------------------------------------------------- Summary of changes: Source/CMakeVersion.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake From kwrobot at kitware.com Fri Dec 7 08:33:09 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Fri, 7 Dec 2018 08:33:09 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-609-g049d324 Message-ID: <20181207133309.6AEDF1255A0@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via 049d324e42451fb92d9504551f3885e221f05b8a (commit) via 05f1d7a4627e2bbebaa5a80ee3aaa98467f184b3 (commit) via 1cb7ea61134536d803a64d5fb64fe37bccdcdb2f (commit) via 3454edcd19b627a5a00efd9b70a6960dd675ca5a (commit) via fdd09a02697af76ec316ec1b5c002d70a44543bb (commit) via e6af2f3d2e754f3cda3581082658443b7f37d9ec (commit) via 5651bb08786a2a51f389c44f5904f5de777e987b (commit) via 5085a984e1ac4d49d68f02058383be21633a3fbf (commit) via 8e5db11fd926ddb615f672a16f2e6fe5643f3a8d (commit) via fc5afbe97094d741b853b045d51351f3a370e87e (commit) via ecf6fc8dc106e181dcd89c099933a8faa96fe897 (commit) via 4e174e0960e51fa1b83588d130e435bc6c7af8cc (commit) via 620e4e5e21ca9070e50038c999dfae20cf5416ef (commit) via 8adf237e52bea9aabc0f5d4ac8884ef9d2349d0f (commit) via 243b7c40d44df2c8b1cb0dc55e2a11b15d9e6f5d (commit) via e9a1ddc594de6e6251bf06d732775dae2cabe4c8 (commit) from a956ab7f3ba4092ac6685eb0ec1e3185dbb54a43 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=049d324e42451fb92d9504551f3885e221f05b8a commit 049d324e42451fb92d9504551f3885e221f05b8a Merge: 05f1d7a 8adf237 Author: Brad King AuthorDate: Fri Dec 7 13:30:14 2018 +0000 Commit: Kitware Robot CommitDate: Fri Dec 7 08:32:41 2018 -0500 Merge topic 'misc-typos' 8adf237e52 Misc. comment typos Acked-by: Kitware Robot Merge-request: !2703 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=05f1d7a4627e2bbebaa5a80ee3aaa98467f184b3 commit 05f1d7a4627e2bbebaa5a80ee3aaa98467f184b3 Merge: 1cb7ea6 5085a98 Author: Brad King AuthorDate: Fri Dec 7 13:29:43 2018 +0000 Commit: Kitware Robot CommitDate: Fri Dec 7 08:31:37 2018 -0500 Merge topic 'FindCURL-components' 5085a984e1 Help: Add notes for topic 'FindCURL-components' 8e5db11fd9 FindCURL: add test for component fc5afbe970 FindCURL: support COMPONENTS to check features Acked-by: Kitware Robot Merge-request: !2677 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1cb7ea61134536d803a64d5fb64fe37bccdcdb2f commit 1cb7ea61134536d803a64d5fb64fe37bccdcdb2f Merge: 3454edc ecf6fc8 Author: Brad King AuthorDate: Fri Dec 7 13:29:06 2018 +0000 Commit: Kitware Robot CommitDate: Fri Dec 7 08:30:25 2018 -0500 Merge topic 'cmtarget-remove-unused-classes' ecf6fc8dc1 cmTarget: Remove unused classes cmTargetSet and cmTargetManifest Acked-by: Kitware Robot Merge-request: !2697 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3454edcd19b627a5a00efd9b70a6960dd675ca5a commit 3454edcd19b627a5a00efd9b70a6960dd675ca5a Merge: fdd09a0 4e174e0 Author: Brad King AuthorDate: Fri Dec 7 13:27:56 2018 +0000 Commit: Kitware Robot CommitDate: Fri Dec 7 08:29:27 2018 -0500 Merge topic 'FindHDF5-static-hl' 4e174e0960 FindHDF5: Fix search for static hdf5_hl on Windows Acked-by: Kitware Robot Merge-request: !2700 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fdd09a02697af76ec316ec1b5c002d70a44543bb commit fdd09a02697af76ec316ec1b5c002d70a44543bb Merge: e6af2f3 243b7c4 Author: Brad King AuthorDate: Fri Dec 7 13:27:17 2018 +0000 Commit: Kitware Robot CommitDate: Fri Dec 7 08:28:13 2018 -0500 Merge topic 'qnx_compiler_detection' 243b7c40d4 QNX: Compiler and feature detection fixes Acked-by: Kitware Robot Acked-by: MvdHurk Merge-request: !2699 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e6af2f3d2e754f3cda3581082658443b7f37d9ec commit e6af2f3d2e754f3cda3581082658443b7f37d9ec Merge: 5651bb0 620e4e5 Author: Brad King AuthorDate: Fri Dec 7 13:26:11 2018 +0000 Commit: Kitware Robot CommitDate: Fri Dec 7 08:26:42 2018 -0500 Merge topic 'UseEcos-append-flags' 620e4e5e21 UseEcos: Append C and CXX flags instead of overwriting them Acked-by: Kitware Robot Merge-request: !2684 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5651bb08786a2a51f389c44f5904f5de777e987b commit 5651bb08786a2a51f389c44f5904f5de777e987b Merge: a956ab7 e9a1ddc Author: Brad King AuthorDate: Fri Dec 7 13:25:31 2018 +0000 Commit: Kitware Robot CommitDate: Fri Dec 7 08:25:39 2018 -0500 Merge topic 'FindThreads-asan' e9a1ddc594 FindThreads: Replace the pthread symbol checking in libc. Acked-by: Kitware Robot Merge-request: !2629 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5085a984e1ac4d49d68f02058383be21633a3fbf commit 5085a984e1ac4d49d68f02058383be21633a3fbf Author: Brad King AuthorDate: Thu Dec 6 11:48:47 2018 -0500 Commit: Brad King CommitDate: Thu Dec 6 11:49:04 2018 -0500 Help: Add notes for topic 'FindCURL-components' diff --git a/Help/release/dev/FindCURL-components.rst b/Help/release/dev/FindCURL-components.rst new file mode 100644 index 0000000..9c50ede --- /dev/null +++ b/Help/release/dev/FindCURL-components.rst @@ -0,0 +1,5 @@ +FindCURL-components +------------------- + +* The :module:`FindCURL` module gained support for requesting + protocols as package components. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8e5db11fd926ddb615f672a16f2e6fe5643f3a8d commit 8e5db11fd926ddb615f672a16f2e6fe5643f3a8d Author: Hiroshi Miura AuthorDate: Wed Dec 5 11:59:29 2018 +0900 Commit: Brad King CommitDate: Thu Dec 6 11:49:04 2018 -0500 FindCURL: add test for component Signed-off-by: Hiroshi Miura diff --git a/Tests/FindCURL/Test/CMakeLists.txt b/Tests/FindCURL/Test/CMakeLists.txt index c3c719b..cbf2866 100644 --- a/Tests/FindCURL/Test/CMakeLists.txt +++ b/Tests/FindCURL/Test/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.10) project(TestFindCURL C) include(CTest) -find_package(CURL REQUIRED) +find_package(CURL REQUIRED COMPONENTS HTTP) add_definitions(-DCMAKE_EXPECTED_CURL_VERSION="${CURL_VERSION_STRING}") https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fc5afbe97094d741b853b045d51351f3a370e87e commit fc5afbe97094d741b853b045d51351f3a370e87e Author: Hiroshi Miura AuthorDate: Wed Nov 28 09:48:35 2018 +0900 Commit: Brad King CommitDate: Thu Dec 6 11:49:04 2018 -0500 FindCURL: support COMPONENTS to check features - Use pkg-config or curl-config to retrieve version, supported features and protocols. - Support optional COMPONENTS to check supported features Signed-off-by: Hiroshi Miura diff --git a/Modules/FindCURL.cmake b/Modules/FindCURL.cmake index a4b238d..d28dfea 100644 --- a/Modules/FindCURL.cmake +++ b/Modules/FindCURL.cmake @@ -7,6 +7,14 @@ FindCURL Find the native CURL headers and libraries. +This module accept optional COMPONENTS to check supported features and +protocols:: + + PROTOCOLS: ICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS LDAP LDAPS POP3 + POP3S RTMP RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP + FEATURES: SSL IPv6 UnixSockets libz AsynchDNS IDN GSS-API PSL SPNEGO + Kerberos NTLM NTLM_WB TLS-SRP HTTP2 HTTPS-proxy + IMPORTED Targets ^^^^^^^^^^^^^^^^ @@ -31,8 +39,20 @@ This module defines the following variables: The version of curl found. #]=======================================================================] +find_package(PkgConfig QUIET) +if(PKG_CONFIG_FOUND) + pkg_check_modules(PC_CURL QUIET libcurl) + if(PC_CURL_FOUND) + set(CURL_VERSION_STRING ${PC_CURL_VERSION}) + pkg_get_variable(CURL_SUPPORTED_PROTOCOLS libcurl supported_protocols) + pkg_get_variable(CURL_SUPPORTED_FEATURES libcurl supported_features) + endif() +endif() + # Look for the header file. -find_path(CURL_INCLUDE_DIR NAMES curl/curl.h) +find_path(CURL_INCLUDE_DIR + NAMES curl/curl.h + HINTS ${PC_CURL_INCLUDE_DIRS}) mark_as_advanced(CURL_INCLUDE_DIR) if(NOT CURL_LIBRARY) @@ -45,6 +65,7 @@ if(NOT CURL_LIBRARY) curllib_static # Windows older "Win32 - MSVC" prebuilts (libcurl.lib, e.g. libcurl-7.15.5-win32-msvc.zip): libcurl + HINTS ${PC_CURL_LIBRARY_DIRS} ) mark_as_advanced(CURL_LIBRARY_RELEASE) @@ -52,6 +73,7 @@ if(NOT CURL_LIBRARY) # Windows MSVC CMake builds in debug configuration on vcpkg: libcurl-d_imp libcurl-d + HINTS ${PC_CURL_LIBRARY_DIRS} ) mark_as_advanced(CURL_LIBRARY_DEBUG) @@ -59,7 +81,7 @@ if(NOT CURL_LIBRARY) select_library_configurations(CURL) endif() -if(CURL_INCLUDE_DIR) +if(CURL_INCLUDE_DIR AND NOT CURL_VERSION_STRING) foreach(_curl_version_header curlver.h curl.h) if(EXISTS "${CURL_INCLUDE_DIR}/curl/${_curl_version_header}") file(STRINGS "${CURL_INCLUDE_DIR}/curl/${_curl_version_header}" curl_version_str REGEX "^#define[\t ]+LIBCURL_VERSION[\t ]+\".*\"") @@ -71,10 +93,57 @@ if(CURL_INCLUDE_DIR) endforeach() endif() +if(CURL_FIND_COMPONENTS) + set(CURL_KNOWN_PROTOCOLS ICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS LDAP LDAPS POP3 POP3S RTMP RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP) + set(CURL_KNOWN_FEATURES SSL IPv6 UnixSockets libz AsynchDNS IDN GSS-API PSL SPNEGO Kerberos NTLM NTLM_WB TLS-SRP HTTP2 HTTPS-proxy) + foreach(component IN LISTS CURL_KNOWN_PROTOCOLS CURL_KNOWN_FEATURES) + set(CURL_${component}_FOUND FALSE) + endforeach() + if(NOT PC_CURL_FOUND) + find_program(CURL_CONFIG_EXECUTABLE NAMES curl-config) + if(CURL_CONFIG_EXECUTABLE) + execute_process(COMMAND ${CURL_CONFIG_EXECUTABLE} --version + OUTPUT_VARIABLE CURL_CONFIG_VERSION_STRING + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${CURL_CONFIG_EXECUTABLE} --feature + OUTPUT_VARIABLE CURL_CONFIG_FEATURES_STRING + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REPLACE "\n" ";" CURL_CONFIG_FEATURES "${CURL_CONFIG_FEATURES_STRING}") + execute_process(COMMAND ${CURL_CONFIG_EXECUTABLE} --protocols + OUTPUT_VARIABLE CURL_CONFIG_PROTOCOLS_STRING + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REPLACE "\n" ";" CURL_CONFIG_PROTOCOLS "${CURL_CONFIG_PROTOCOLS_STRING}") + endif() + + endif() + foreach(component IN LISTS CURL_FIND_COMPONENTS) + list(FIND CURL_KNOWN_PROTOCOLS ${component} _found) + if(_found) + list(FIND CURL_SUPPORTED_PROTOCOLS ${component} _found) + if(_found) + set(CURL_${component}_FOUND TRUE) + elseif(CURL_FIND_REQUIRED) + message(FATAL_ERROR "CURL: Required protocol ${component} is not found") + endif() + else() + list(FIND CURL_SUPPORTED_FEATURES ${component} _found) + if(_found) + set(CURL_${component}_FOUND TRUE) + elseif(CURL_FIND_REQUIRED) + message(FATAL_ERROR "CURL: Required feature ${component} is not found") + endif() + endif() + endforeach() +endif() + include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(CURL +find_package_handle_standard_args(CURL REQUIRED_VARS CURL_LIBRARY CURL_INCLUDE_DIR - VERSION_VAR CURL_VERSION_STRING) + VERSION_VAR CURL_VERSION_STRING + HANDLE_COMPONENTS) if(CURL_FOUND) set(CURL_LIBRARIES ${CURL_LIBRARY}) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ecf6fc8dc106e181dcd89c099933a8faa96fe897 commit ecf6fc8dc106e181dcd89c099933a8faa96fe897 Author: Artur Ryt AuthorDate: Sat Dec 1 22:32:40 2018 +0100 Commit: Brad King CommitDate: Thu Dec 6 11:40:13 2018 -0500 cmTarget: Remove unused classes cmTargetSet and cmTargetManifest diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 92d5505..688f73b 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -6,7 +6,6 @@ #include #include #include -#include #include #include #include diff --git a/Source/cmTarget.h b/Source/cmTarget.h index aa2859d..655cefd 100644 --- a/Source/cmTarget.h +++ b/Source/cmTarget.h @@ -6,7 +6,6 @@ #include "cmConfigure.h" // IWYU pragma: keep #include -#include #include #include #include @@ -344,11 +343,4 @@ private: typedef std::unordered_map cmTargets; -class cmTargetSet : public std::set -{ -}; -class cmTargetManifest : public std::map -{ -}; - #endif https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4e174e0960e51fa1b83588d130e435bc6c7af8cc commit 4e174e0960e51fa1b83588d130e435bc6c7af8cc Author: Mouginot B AuthorDate: Mon Dec 3 19:03:02 2018 -0600 Commit: Brad King CommitDate: Thu Dec 6 10:43:29 2018 -0500 FindHDF5: Fix search for static hdf5_hl on Windows The change in commit v3.10.0-rc1~411^2~1 (FindHDF5: Add support for HDF5_USE_STATIC_LIBRARIES on Windows, 2017-07-03) accidentally left out a `lib` prefix on the static library name of `hdf5_hl`. It was done correctly already for the main `hdf5` library. diff --git a/Modules/FindHDF5.cmake b/Modules/FindHDF5.cmake index e36767a..2772b7d 100644 --- a/Modules/FindHDF5.cmake +++ b/Modules/FindHDF5.cmake @@ -818,7 +818,7 @@ if( NOT HDF5_FOUND ) set( THIS_LIBRARY_SEARCH_DEBUG lib${LIB}d.a lib${LIB}_debug.a lib${LIB}d lib${LIB}_D lib${LIB}_debug lib${LIB}d-static.a lib${LIB}_debug-static.a lib${LIB}d-static lib${LIB}_D-static lib${LIB}_debug-static ) - set( THIS_LIBRARY_SEARCH_RELEASE lib${LIB}.a ${LIB} lib${LIB}-static.a lib${LIB}-static) + set( THIS_LIBRARY_SEARCH_RELEASE lib${LIB}.a lib${LIB} lib${LIB}-static.a lib${LIB}-static) else() set( THIS_LIBRARY_SEARCH_DEBUG ${LIB}d ${LIB}_D ${LIB}_debug ${LIB}d-shared ${LIB}_D-shared ${LIB}_debug-shared) set( THIS_LIBRARY_SEARCH_RELEASE ${LIB} ${LIB}-shared) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=620e4e5e21ca9070e50038c999dfae20cf5416ef commit 620e4e5e21ca9070e50038c999dfae20cf5416ef Author: antmak AuthorDate: Wed Nov 28 22:58:24 2018 -0500 Commit: Brad King CommitDate: Thu Dec 6 09:49:28 2018 -0500 UseEcos: Append C and CXX flags instead of overwriting them diff --git a/Modules/UseEcos.cmake b/Modules/UseEcos.cmake index 6d13d42..9f84847 100644 --- a/Modules/UseEcos.cmake +++ b/Modules/UseEcos.cmake @@ -191,8 +191,8 @@ macro(ECOS_ADD_EXECUTABLE _exe_NAME ) set(CMAKE_CXX_LINK_EXECUTABLE " -o ${_ecos_EXTRA_LIBS} -nostdlib -nostartfiles -L${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib -Ttarget.ld ${ECOS_LD_MCPU}") set(CMAKE_C_LINK_EXECUTABLE " -o ${_ecos_EXTRA_LIBS} -nostdlib -nostartfiles -L${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib -Ttarget.ld ${ECOS_LD_MCPU}") # some strict compiler flags - set (CMAKE_C_FLAGS "-Wstrict-prototypes") - set (CMAKE_CXX_FLAGS "-Woverloaded-virtual -fno-rtti -Wctor-dtor-privacy -fno-strict-aliasing -fno-exceptions") + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wstrict-prototypes") + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Woverloaded-virtual -fno-rtti -Wctor-dtor-privacy -fno-strict-aliasing -fno-exceptions") add_executable(${_exe_NAME} ${ARGN}) set_target_properties(${_exe_NAME} PROPERTIES SUFFIX ".elf") https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8adf237e52bea9aabc0f5d4ac8884ef9d2349d0f commit 8adf237e52bea9aabc0f5d4ac8884ef9d2349d0f Author: luz.paz AuthorDate: Wed Dec 5 11:57:58 2018 -0500 Commit: luz.paz CommitDate: Wed Dec 5 11:57:58 2018 -0500 Misc. comment typos Found via `codespell` diff --git a/Help/command/macro.rst b/Help/command/macro.rst index 464940f..05e5d79 100644 --- a/Help/command/macro.rst +++ b/Help/command/macro.rst @@ -83,7 +83,7 @@ with a macro. This has a number of consequences, as explained in the :ref:`Argument Caveats` section below. Another difference between macros and functions is the control flow. -A function is executed by transfering control from the calling +A function is executed by transferring control from the calling statement to the function body. A macro is executed as if the macro body were pasted in place of the calling statement. This has the consequence that a :command:`return()` in a macro body does not diff --git a/Source/cmExtraEclipseCDT4Generator.cxx b/Source/cmExtraEclipseCDT4Generator.cxx index 8e25e9c..adb14ec 100644 --- a/Source/cmExtraEclipseCDT4Generator.cxx +++ b/Source/cmExtraEclipseCDT4Generator.cxx @@ -714,7 +714,7 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const xml.Attribute("path", p); xml.EndElement(); - // exlude source directory from output search path + // exclude source directory from output search path // - only if not named the same as an output directory if (!cmSystemTools::FileIsDirectory( std::string(this->HomeOutputDirectory + "/" + p))) { https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=243b7c40d44df2c8b1cb0dc55e2a11b15d9e6f5d commit 243b7c40d44df2c8b1cb0dc55e2a11b15d9e6f5d Author: Cristian Adam AuthorDate: Mon Dec 3 23:18:43 2018 +0100 Commit: Cristian Adam CommitDate: Mon Dec 3 23:18:43 2018 +0100 QNX: Compiler and feature detection fixes Tested compiler detection with the QNX 7.0 list of compiler targets: * gcc_ntoaarch64le * gcc_ntoaarch64le_cxx * gcc_ntoarmv7le * gcc_ntoarmv7le_cxx * gcc_ntox86_cxx * gcc_ntoaarch64le_gpp * gcc_ntox86_64_gpp * gcc_ntoarmv7le_gpp * gcc_ntox86_64_cxx * gcc_ntox86 * gcc_ntox86_gpp * gcc_ntox86_64 This commit fixes some of the problems described in: https://cristianadam.eu/20181202/a-better-qnx-cmake-toolchain-file/ diff --git a/Modules/CMakeDetermineCCompiler.cmake b/Modules/CMakeDetermineCCompiler.cmake index 17706ea..1a0d8a6 100644 --- a/Modules/CMakeDetermineCCompiler.cmake +++ b/Modules/CMakeDetermineCCompiler.cmake @@ -136,7 +136,7 @@ endif () # "arm-unknown-nto-qnx6" instead of the correct "arm-unknown-nto-qnx6.3.0-" if (CMAKE_CROSSCOMPILING AND NOT _CMAKE_TOOLCHAIN_PREFIX) - if(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang") + if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang|QCC") get_filename_component(COMPILER_BASENAME "${CMAKE_C_COMPILER}" NAME) if (COMPILER_BASENAME MATCHES "^(.+-)(clang|g?cc)(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$") set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1}) @@ -145,7 +145,7 @@ if (CMAKE_CROSSCOMPILING AND NOT _CMAKE_TOOLCHAIN_PREFIX) set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_C_COMPILER_TARGET}-) endif() elseif(COMPILER_BASENAME MATCHES "qcc(\\.exe)?$") - if(CMAKE_C_COMPILER_TARGET MATCHES "gcc_nto([^_le]+)(le)?") + if(CMAKE_C_COMPILER_TARGET MATCHES "gcc_nto([a-z0-9]+_[0-9]+|[^_le]+)(le)?") set(_CMAKE_TOOLCHAIN_PREFIX nto${CMAKE_MATCH_1}-) endif() endif () diff --git a/Modules/CMakeDetermineCXXCompiler.cmake b/Modules/CMakeDetermineCXXCompiler.cmake index 70d17a1..0a0c37b 100644 --- a/Modules/CMakeDetermineCXXCompiler.cmake +++ b/Modules/CMakeDetermineCXXCompiler.cmake @@ -133,7 +133,7 @@ endif () if (CMAKE_CROSSCOMPILING AND NOT _CMAKE_TOOLCHAIN_PREFIX) - if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU|Clang|QCC") get_filename_component(COMPILER_BASENAME "${CMAKE_CXX_COMPILER}" NAME) if (COMPILER_BASENAME MATCHES "^(.+-)(clan)?[gc]\\+\\+(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$") set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1}) @@ -142,7 +142,7 @@ if (CMAKE_CROSSCOMPILING AND NOT _CMAKE_TOOLCHAIN_PREFIX) set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_CXX_COMPILER_TARGET}-) endif() elseif(COMPILER_BASENAME MATCHES "QCC(\\.exe)?$") - if(CMAKE_CXX_COMPILER_TARGET MATCHES "gcc_nto([^_le]+)(le)?") + if(CMAKE_CXX_COMPILER_TARGET MATCHES "gcc_nto([a-z0-9]+_[0-9]+|[^_le]+)(le)") set(_CMAKE_TOOLCHAIN_PREFIX nto${CMAKE_MATCH_1}-) endif() endif () diff --git a/Modules/Compiler/QCC-C-FeatureTests.cmake b/Modules/Compiler/QCC-C-FeatureTests.cmake new file mode 100644 index 0000000..68f4197 --- /dev/null +++ b/Modules/Compiler/QCC-C-FeatureTests.cmake @@ -0,0 +1 @@ +include(Compiler/GNU-C-FeatureTests) diff --git a/Modules/Compiler/QCC-C.cmake b/Modules/Compiler/QCC-C.cmake index ae4a2f4..6db619e 100644 --- a/Modules/Compiler/QCC-C.cmake +++ b/Modules/Compiler/QCC-C.cmake @@ -1,2 +1,5 @@ +# To include compiler feature detection +include(Compiler/GNU-C) + include(Compiler/QCC) __compiler_qcc(C) diff --git a/Modules/Compiler/QCC-CXX-FeatureTests.cmake b/Modules/Compiler/QCC-CXX-FeatureTests.cmake new file mode 100644 index 0000000..c836b94 --- /dev/null +++ b/Modules/Compiler/QCC-CXX-FeatureTests.cmake @@ -0,0 +1 @@ +include(Compiler/GNU-CXX-FeatureTests) diff --git a/Modules/Compiler/QCC-CXX.cmake b/Modules/Compiler/QCC-CXX.cmake index e86d1fa..0e7314a 100644 --- a/Modules/Compiler/QCC-CXX.cmake +++ b/Modules/Compiler/QCC-CXX.cmake @@ -1,3 +1,6 @@ +# To include compiler feature detection +include(Compiler/GNU-CXX) + include(Compiler/QCC) __compiler_qcc(CXX) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e9a1ddc594de6e6251bf06d732775dae2cabe4c8 commit e9a1ddc594de6e6251bf06d732775dae2cabe4c8 Author: JerryShih AuthorDate: Sun Nov 18 03:15:17 2018 +0800 Commit: JerryShih CommitDate: Mon Dec 3 16:05:59 2018 +0800 FindThreads: Replace the pthread symbol checking in libc. With asan build, we will have the pthread_create() symbol in libc. However, libasan doesn't have full pthread implementation. We can't assume that we have the pthread implementation in libc using pthread_create() symbol. Replace the pthread_create() with pthread_kill() as a quick fix. diff --git a/Modules/FindThreads.cmake b/Modules/FindThreads.cmake index dfb683f..691b1b7 100644 --- a/Modules/FindThreads.cmake +++ b/Modules/FindThreads.cmake @@ -131,9 +131,17 @@ else() # set(CMAKE_HAVE_THREADS_LIBRARY) if(NOT THREADS_HAVE_PTHREAD_ARG) - # Check if pthread functions are in normal C library - CHECK_SYMBOL_EXISTS(pthread_create pthread.h CMAKE_HAVE_LIBC_CREATE) - if(CMAKE_HAVE_LIBC_CREATE) + # Check if pthread functions are in normal C library. + # If the pthread functions already exist in C library, we could just use + # them instead of linking to the additional pthread library. We could + # try to check any pthread symbol name, but here is an exception. If we + # use clang asan build, we will find the pthread_create() symbol in the + # libc(libasan). However, it doesn't have the full pthread implementation. + # So, we can't assume that we have the pthread implementation in libc + # using the pthread_create() checking here. Then, we turn to check the + # pthread_kill() symbol instead. + CHECK_SYMBOL_EXISTS(pthread_kill pthread.h CMAKE_HAVE_LIBC_PTHREAD_KILL) + if(CMAKE_HAVE_LIBC_PTHREAD_KILL) set(CMAKE_THREAD_LIBS_INIT "") set(CMAKE_HAVE_THREADS_LIBRARY 1) set(Threads_FOUND TRUE) @@ -159,7 +167,7 @@ else() endif() endif() -if(CMAKE_THREAD_LIBS_INIT OR CMAKE_HAVE_LIBC_CREATE) +if(CMAKE_THREAD_LIBS_INIT OR CMAKE_HAVE_LIBC_PTHREAD_KILL) set(CMAKE_USE_PTHREADS_INIT 1) set(Threads_FOUND TRUE) endif() ----------------------------------------------------------------------- Summary of changes: Help/command/macro.rst | 2 +- Help/release/dev/FindCURL-components.rst | 5 ++ Modules/CMakeDetermineCCompiler.cmake | 4 +- Modules/CMakeDetermineCXXCompiler.cmake | 4 +- Modules/Compiler/QCC-C-FeatureTests.cmake | 1 + Modules/Compiler/QCC-C.cmake | 3 ++ Modules/Compiler/QCC-CXX-FeatureTests.cmake | 1 + Modules/Compiler/QCC-CXX.cmake | 3 ++ Modules/FindCURL.cmake | 77 +++++++++++++++++++++++++++-- Modules/FindHDF5.cmake | 2 +- Modules/FindThreads.cmake | 16 ++++-- Modules/UseEcos.cmake | 4 +- Source/cmExtraEclipseCDT4Generator.cxx | 2 +- Source/cmTarget.cxx | 1 - Source/cmTarget.h | 8 --- Tests/FindCURL/Test/CMakeLists.txt | 2 +- 16 files changed, 108 insertions(+), 27 deletions(-) create mode 100644 Help/release/dev/FindCURL-components.rst create mode 100644 Modules/Compiler/QCC-C-FeatureTests.cmake create mode 100644 Modules/Compiler/QCC-CXX-FeatureTests.cmake hooks/post-receive -- CMake From kwrobot at kitware.com Fri Dec 7 08:43:04 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Fri, 7 Dec 2018 08:43:04 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-654-g99a224e Message-ID: <20181207134304.F236E125834@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via 99a224e3ee0b6a770c388313a7b32746a95514e8 (commit) via ce1ac9b92d23577f96abd4d750fc8499cc40d70f (commit) via cb85bb3573a89f16fcc9b2852e3ce1bae30838fc (commit) via 2d402239c7bdfc538bd4834112abd92ba571c0a4 (commit) via 170bcb6fdca5942d0484042ad38c09b420554792 (commit) via a816fe298d14d8cb27e1a64858bd94c3581f7d05 (commit) via 9501a6145dfc5d3905d6b241d6599806ec40fd38 (commit) via e184603378e85046fb6e4d627f47e9853577486e (commit) via 8c25aa2feb589f733b5b80ec231217fc31518752 (commit) via a688c6b92861c77ee8d065ae8c679c317fe8d0c0 (commit) via c339b64cf241788edd9f886daff619eec41dc242 (commit) via aebdad399efb1394f904428b52011513f7dd0b7c (commit) via c2f6872c4e98a24a24675fa3f9fe016230eeb878 (commit) via 8107508b3e610cd2fbbcbf6111f125d39e16f74d (commit) via 6d855fbf442d1ab3b209ac9b46f97ad8e567df41 (commit) via 9c60ae5f1105d6d793f2693630bf09abb7d66935 (commit) via 584ad067ba28924861eeab06cc73d49fdf6f9f89 (commit) via 8df25f9400bef5dd374f74725a72e818c2424f4e (commit) via f1223e34c653e4ed6a5f86fe17ae72e7d7a89e9a (commit) via efc90eed7768e1263c60b299e24c6293df274708 (commit) via 36b7fc7db6a64b4537bea38640e324c9f283a168 (commit) via 21d26a9ecde5a23d6deb6432153c2aede533aead (commit) via 44dc9fc48af8171423b4d5e996a8415dfd5f96c0 (commit) via aba364d190fca77d86412f25968a597edf3d725f (commit) via b9fe2785f2df089c731a64c4939a364d49009333 (commit) via 6c6c13297c67a7838ff8e05fde1bfedb41401b1d (commit) via 454b47ba0bd16a98b15896c732f9a4b91863b581 (commit) via 57a78b55260616053ae0f733d2cecfffc9e7455f (commit) via f77320c12aaf74b7d22463965242a3e01d36d882 (commit) via a5d9aa506350291cfe7ca3e144a97edba74959b1 (commit) via 1d00fd7702d9cf9c1f2d7a1c17bc9a80f345c39b (commit) via 3133fa50948d3f2369a9e5b598ff6537ff7506df (commit) via 66704e4271f3bd3b869c86bcd9aef9be87f831ea (commit) via fc58a40e763cd65053acf774c3cf4e4c743004f1 (commit) via 7fd339b1e5a23d8e04fe3b4607be260bf26a3ec4 (commit) via f61e0975540504c00c7dc6f763a83e8c74fe7d83 (commit) via c17809bcd7014bf64cd9f95d9e38d5198abc4588 (commit) via 73ce99cbfe5712b0f35644baf619ddc0ca754de9 (commit) via f044bbbf08575cb06f468f30680108162d7288d0 (commit) via 7faa4d59a858ef0d7eef77c2ae8e8194c2d87385 (commit) via 6e947179a84cb790616aa038e9bf127e306ad746 (commit) via 2f37ce5e8656dabab304453b15684d60e7a2338c (commit) via a84461160c927279de0435223c35c539e6e22f0e (commit) via 8279302110ee6eb09a16e33b3bf8f8ad4ee13b73 (commit) via 139b39985f26d4517072d49715c3dfd50a0d7001 (commit) from 049d324e42451fb92d9504551f3885e221f05b8a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=99a224e3ee0b6a770c388313a7b32746a95514e8 commit 99a224e3ee0b6a770c388313a7b32746a95514e8 Merge: ce1ac9b 8107508 Author: Brad King AuthorDate: Fri Dec 7 13:37:03 2018 +0000 Commit: Kitware Robot CommitDate: Fri Dec 7 08:37:14 2018 -0500 Merge topic 'vs-json-flag-table' 8107508b3e Remove old flag table headers 6d855fbf44 Replace header flag tables with json reading 9c60ae5f11 VS: Add flag table entry for -JMC 584ad067ba VS: Fix flag table entry for -Qspectre 8df25f9400 VS: connect /Y- compiler option with "Not Using Precompiled Headers" f1223e34c6 VS: Add v140 flag table entries for `-Zc:inline[-]` efc90eed77 VS: Fix regressed mapping for the cl `/Os` compiler flag 36b7fc7db6 VS 14: Add flag map for -std= to CppLanguageStandard tag in project files ... Acked-by: Kitware Robot Merge-request: !2611 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ce1ac9b92d23577f96abd4d750fc8499cc40d70f commit ce1ac9b92d23577f96abd4d750fc8499cc40d70f Merge: cb85bb3 170bcb6 Author: Brad King AuthorDate: Fri Dec 7 13:33:45 2018 +0000 Commit: Kitware Robot CommitDate: Fri Dec 7 08:35:37 2018 -0500 Merge topic 'gnu-octave' 170bcb6fdc FindOctave: Add module to find GNU octave Acked-by: Kitware Robot Merge-request: !2630 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cb85bb3573a89f16fcc9b2852e3ce1bae30838fc commit cb85bb3573a89f16fcc9b2852e3ce1bae30838fc Merge: 2d40223 a816fe2 Author: Brad King AuthorDate: Fri Dec 7 13:32:06 2018 +0000 Commit: Kitware Robot CommitDate: Fri Dec 7 08:34:46 2018 -0500 Merge topic 'pkg-clang-tidy' a816fe298d cmCPackFreeBSDGenerator: fix clang-tidy issues Acked-by: Kitware Robot Merge-request: !2712 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2d402239c7bdfc538bd4834112abd92ba571c0a4 commit 2d402239c7bdfc538bd4834112abd92ba571c0a4 Merge: 049d324 9501a61 Author: Brad King AuthorDate: Fri Dec 7 13:31:10 2018 +0000 Commit: Kitware Robot CommitDate: Fri Dec 7 08:33:46 2018 -0500 Merge topic 'submit-method' 9501a6145d CTest: Remove special case for Dart version <= 1 e184603378 CTest: Add release note about removed submission methods 8c25aa2feb CTest: Remove submission trigger a688c6b928 CTest: Remove submit method 'ftp' c339b64cf2 CTest: Remove submit method 'scp' aebdad399e CTest: Remove submit method 'cp' c2f6872c4e CTest: Remove submit method 'xmlrpc' Acked-by: Kitware Robot Merge-request: !2672 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=170bcb6fdca5942d0484042ad38c09b420554792 commit 170bcb6fdca5942d0484042ad38c09b420554792 Author: Michael Hirsch, Ph.D AuthorDate: Sat Nov 17 21:48:26 2018 -0500 Commit: Brad King CommitDate: Thu Dec 6 14:16:44 2018 -0500 FindOctave: Add module to find GNU octave diff --git a/Copyright.txt b/Copyright.txt index c7a81b1..dc6deb9 100644 --- a/Copyright.txt +++ b/Copyright.txt @@ -63,6 +63,7 @@ The following individuals and institutions are among the Contributors: * Ilya Lavrenov * Insight Software Consortium * Jan Woetzel +* Julien Schueller * Kelly Thompson * Laurent Montel * Konstantin Podsvirov @@ -72,6 +73,7 @@ The following individuals and institutions are among the Contributors: * Matthaeus G. Chajdas * Matthias Kretz * Matthias Maennich +* Michael Hirsch, Ph.D. * Michael St?rmer * Miguel A. Figueroa-Villanueva * Mike Jackson diff --git a/Help/manual/cmake-modules.7.rst b/Help/manual/cmake-modules.7.rst index cd5d1a5..2f08a04 100644 --- a/Help/manual/cmake-modules.7.rst +++ b/Help/manual/cmake-modules.7.rst @@ -176,6 +176,7 @@ They are normally called through the :command:`find_package` command. /module/FindMPEG2 /module/FindMPEG /module/FindMPI + /module/FindOctave /module/FindODBC /module/FindOpenACC /module/FindOpenAL diff --git a/Help/module/FindOctave.rst b/Help/module/FindOctave.rst new file mode 100644 index 0000000..2dbcec4 --- /dev/null +++ b/Help/module/FindOctave.rst @@ -0,0 +1 @@ +.. cmake-module:: ../../Modules/FindOctave.cmake diff --git a/Help/release/dev/FindOctave.rst b/Help/release/dev/FindOctave.rst new file mode 100644 index 0000000..fe3b242 --- /dev/null +++ b/Help/release/dev/FindOctave.rst @@ -0,0 +1,4 @@ +FindOctave +---------- + +* A :module:`FindOctave` module was added to find GNU octave. diff --git a/Modules/FindOctave.cmake b/Modules/FindOctave.cmake new file mode 100644 index 0000000..8ae6a47 --- /dev/null +++ b/Modules/FindOctave.cmake @@ -0,0 +1,167 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +#[=======================================================================[.rst: +FindOctave +---------- + +Finds GNU Octave interpreter, libraries and compilers. + +Imported targets +^^^^^^^^^^^^^^^^ + +This module defines the following :prop_tgt:`IMPORTED` targets: + +``Octave::Interpreter`` + Octave interpreter (the main program) +``Octave::Octave`` + include directories and libraries + +If no ``COMPONENTS`` are specified, ``Interpreter`` is assumed. + +Result Variables +^^^^^^^^^^^^^^^^ + +``Octave_FOUND`` + Octave interpreter and/or libraries were found +``Octave__FOUND`` + Octave specified was found + +``Octave_EXECUTABLE`` + Octave interpreter +``Octave_INCLUDE_DIRS`` + include path for mex.h +``Octave_LIBRARIES`` + octinterp, octave libraries + + +Cache variables +^^^^^^^^^^^^^^^ + +The following cache variables may also be set: + +``Octave_INTERP_LIBRARY`` + path to the library octinterp +``Octave_OCTAVE_LIBRARY`` + path to the liboctave library + +#]=======================================================================] + +cmake_policy(VERSION 3.3) + +unset(Octave_REQUIRED_VARS) +unset(Octave_Development_FOUND) +unset(Octave_Interpreter_FOUND) +set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME Interpreter) + +if(Development IN_LIST Octave_FIND_COMPONENTS) + find_program(Octave_CONFIG_EXECUTABLE + NAMES octave-config) + + if(Octave_CONFIG_EXECUTABLE) + + execute_process(COMMAND ${Octave_CONFIG_EXECUTABLE} -p BINDIR + OUTPUT_VARIABLE Octave_BINARY_DIR + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + + execute_process(COMMAND ${Octave_CONFIG_EXECUTABLE} -p OCTINCLUDEDIR + OUTPUT_VARIABLE Octave_INCLUDE_DIR + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + list(APPEND Octave_REQUIRED_VARS ${Octave_INCLUDE_DIR}) + + execute_process(COMMAND ${Octave_CONFIG_EXECUTABLE} -p OCTLIBDIR + OUTPUT_VARIABLE Octave_LIB1 + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + + execute_process(COMMAND ${Octave_CONFIG_EXECUTABLE} -p LIBDIR + OUTPUT_VARIABLE Octave_LIB2 + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + + find_library(Octave_INTERP_LIBRARY + NAMES octinterp + PATHS ${Octave_LIB1} ${Octave_LIB2} + NO_DEFAULT_PATH + ) + find_library(Octave_OCTAVE_LIBRARY + NAMES octave + PATHS ${Octave_LIB1} ${Octave_LIB2} + NO_DEFAULT_PATH + ) + list(APPEND Octave_REQUIRED_VARS ${Octave_OCTAVE_LIBRARY} ${Octave_INTERP_LIBRARY}) + + if(Octave_REQUIRED_VARS) + set(Octave_Development_FOUND true) + endif() + endif(Octave_CONFIG_EXECUTABLE) +endif() + +if(Interpreter IN_LIST Octave_FIND_COMPONENTS) + + find_program(Octave_EXECUTABLE + NAMES octave) + + list(APPEND Octave_REQUIRED_VARS ${Octave_EXECUTABLE}) + +endif() + +if(Octave_EXECUTABLE) + execute_process(COMMAND ${Octave_EXECUTABLE} -v + OUTPUT_VARIABLE Octave_VERSION + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + + + string(REGEX REPLACE "GNU Octave, version ([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" Octave_VERSION_MAJOR ${Octave_VERSION}) + string(REGEX REPLACE "GNU Octave, version [0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1" Octave_VERSION_MINOR ${Octave_VERSION}) + string(REGEX REPLACE "GNU Octave, version [0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" Octave_VERSION_PATCH ${Octave_VERSION}) + + set(Octave_VERSION ${Octave_VERSION_MAJOR}.${Octave_VERSION_MINOR}.${Octave_VERSION_PATCH}) + + set(Octave_Interpreter_FOUND true) + +endif(Octave_EXECUTABLE) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Octave + REQUIRED_VARS Octave_REQUIRED_VARS + VERSION_VAR Octave_VERSION + HANDLE_COMPONENTS) + + +if(Octave_Development_FOUND) + set(Octave_LIBRARIES ${Octave_INTERP_LIBRARY} ${Octave_OCTAVE_LIBRARY}) + set(Octave_INCLUDE_DIRS ${Octave_INCLUDE_DIR}) + + if(NOT TARGET Octave::Octave) + add_library(Octave::Octave UNKNOWN IMPORTED) + set_target_properties(Octave::Octave PROPERTIES + IMPORTED_LOCATION ${Octave_OCTAVE_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES ${Octave_INCLUDE_DIR} + ) + endif() + +endif() + + +if(Octave_Interpreter_FOUND) + if(NOT TARGET Octave::Interpreter) + add_executable(Octave::Interpreter IMPORTED) + set_target_properties(Octave::Interpreter PROPERTIES + IMPORTED_LOCATION ${Octave_EXECUTABLE} + VERSION ${Octave_VERSION}) + endif() +endif() + +mark_as_advanced( + Octave_CONFIG_EXECUTABLE + Octave_INTERP_LIBRARY + Octave_OCTAVE_LIBRARY + Octave_INCLUDE_DIR + Octave_VERSION_MAJOR + Octave_VERSION_MINOR + Octave_VERSION_PATCH +) diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 8b5f2e9..408c941 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1441,6 +1441,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release add_subdirectory(FindODBC) endif() + if(CMake_TEST_FindOctave) + add_subdirectory(FindOctave) + endif() + if(CMake_TEST_FindOpenCL) add_subdirectory(FindOpenCL) endif() diff --git a/Tests/FindOctave/CMakeLists.txt b/Tests/FindOctave/CMakeLists.txt new file mode 100644 index 0000000..1acc966 --- /dev/null +++ b/Tests/FindOctave/CMakeLists.txt @@ -0,0 +1,10 @@ +add_test(NAME FindOctave.Test COMMAND + ${CMAKE_CTEST_COMMAND} -C $ + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindOctave/Test" + "${CMake_BINARY_DIR}/Tests/FindOctave/Test" + ${build_generator_args} + --build-project TestFindOctave + --build-options ${build_options} + --test-command ${CMAKE_CTEST_COMMAND} -V -C $ + ) diff --git a/Tests/FindOctave/Test/CMakeLists.txt b/Tests/FindOctave/Test/CMakeLists.txt new file mode 100644 index 0000000..ce33fcd --- /dev/null +++ b/Tests/FindOctave/Test/CMakeLists.txt @@ -0,0 +1,20 @@ +cmake_minimum_required(VERSION 3.3) +project(TestFindOctave CXX) +enable_testing() + +find_package(Octave REQUIRED COMPONENTS Development Interpreter) + +add_definitions(-DCMAKE_EXPECTED_Octave_VERSION=${Octave_VERSION}) + +add_executable(test_tgt main.cpp) +target_link_libraries(test_tgt Octave::Octave) +add_test(NAME test_tgt COMMAND test_tgt) + +add_test(NAME test_tgt_exe + COMMAND Octave::Interpreter -q --eval "runtests('.')" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + +add_executable(test_var main.cpp) +target_include_directories(test_var PRIVATE ${Octave_INCLUDE_DIRS}) +target_link_libraries(test_var PRIVATE ${Octave_LIBRARIES}) +add_test(NAME test_var COMMAND test_var) diff --git a/Tests/FindOctave/Test/main.cpp b/Tests/FindOctave/Test/main.cpp new file mode 100644 index 0000000..68270b1 --- /dev/null +++ b/Tests/FindOctave/Test/main.cpp @@ -0,0 +1,18 @@ +#include +#include + +// http://www.dm.unibo.it/~achilles/calc/octave.html/Standalone-Programs.html +int main(void) +{ + int n = 2; + Matrix a_matrix = Matrix(n, n); + for (octave_idx_type i = 0; i < n; i++) { + for (octave_idx_type j = 0; j < n; j++) { + a_matrix(i, j) = (i + 1) * 10 + (j + 1); + } + } + + std::cout << a_matrix << std::endl; + + return EXIT_SUCCESS; +} diff --git a/Tests/FindOctave/Test/testtrue.m b/Tests/FindOctave/Test/testtrue.m new file mode 100644 index 0000000..0c28a9e --- /dev/null +++ b/Tests/FindOctave/Test/testtrue.m @@ -0,0 +1 @@ +%!assert(true) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a816fe298d14d8cb27e1a64858bd94c3581f7d05 commit a816fe298d14d8cb27e1a64858bd94c3581f7d05 Author: Regina Pfeifer AuthorDate: Thu Dec 6 19:45:17 2018 +0100 Commit: Regina Pfeifer CommitDate: Thu Dec 6 19:45:24 2018 +0100 cmCPackFreeBSDGenerator: fix clang-tidy issues Install FreeBSD's libpkg on Linux and configure CMake with CPACK_ENABLE_FREEBSD_PKG and CMake_RUN_IWYU set to ON. Then, fix all warnings. diff --git a/Source/CPack/cmCPackFreeBSDGenerator.cxx b/Source/CPack/cmCPackFreeBSDGenerator.cxx index 1433414..2fcd1a8 100644 --- a/Source/CPack/cmCPackFreeBSDGenerator.cxx +++ b/Source/CPack/cmCPackFreeBSDGenerator.cxx @@ -55,8 +55,7 @@ cmGeneratedFileStream& operator<<(cmGeneratedFileStream& s, const EscapeQuotes& v) { s << '"'; - for (std::string::size_type i = 0; i < v.value.length(); ++i) { - char c = v.value[i]; + for (char c : v.value) { switch (c) { case '\n': s << "\\n"; @@ -148,8 +147,8 @@ public: ManifestKeyListValue& operator<<(const std::vector& v) { - for (VList::const_iterator it = v.begin(); it != v.end(); ++it) { - (*this) << (*it); + for (std::string const& e : v) { + (*this) << e; } return *this; } @@ -159,9 +158,9 @@ public: bool with_comma = false; s << '['; - for (VList::const_iterator it = value.begin(); it != value.end(); ++it) { + for (std::string const& elem : value) { s << (with_comma ? ',' : ' '); - s << EscapeQuotes(*it); + s << EscapeQuotes(elem); with_comma = true; } s << " ]"; @@ -182,8 +181,8 @@ public: void write_value(cmGeneratedFileStream& s) const override { s << "{\n"; - for (VList::const_iterator it = value.begin(); it != value.end(); ++it) { - s << " \"" << *it << "\": {\"origin\": \"" << *it << "\"},\n"; + for (std::string const& elem : value) { + s << " \"" << elem << "\": {\"origin\": \"" << elem << "\"},\n"; } s << '}'; } @@ -206,9 +205,8 @@ std::string cmCPackFreeBSDGenerator::var_lookup(const char* var_name) const char* pv = this->GetOption(var_name); if (!pv) { return std::string(); - } else { - return pv; } + return pv; } // Produce UCL in the given @p manifest file for the common @@ -234,7 +232,7 @@ void cmCPackFreeBSDGenerator::write_manifest_fields( cmSystemTools::ExpandListArgument( var_lookup("CPACK_FREEBSD_PACKAGE_LICENSE"), licenses); std::string licenselogic("single"); - if (licenses.size() < 1) { + if (licenses.empty()) { cmSystemTools::SetFatalErrorOccured(); } else if (licenses.size() > 1) { licenselogic = var_lookup("CPACK_FREEBSD_PACKAGE_LICENSE_LOGIC"); @@ -249,7 +247,7 @@ void cmCPackFreeBSDGenerator::write_manifest_fields( std::vector deps; cmSystemTools::ExpandListArgument(var_lookup("CPACK_FREEBSD_PACKAGE_DEPS"), deps); - if (deps.size() > 0) { + if (!deps.empty()) { manifest << (ManifestKeyDepsValue("deps") << deps); } } @@ -277,13 +275,9 @@ void write_manifest_files(cmGeneratedFileStream& s, const std::string& toplevel, const std::vector& files) { - const char* c_toplevel = toplevel.c_str(); - std::vector::const_iterator it; - s << "\"files\": {\n"; - for (it = files.begin(); it != files.end(); ++it) { - s << " \"/" << cmSystemTools::RelativePath(c_toplevel, it->c_str()) - << "\": \"" + for (std::string const& file : files) { + s << " \"/" << cmSystemTools::RelativePath(toplevel, file) << "\": \"" << "" << "\",\n"; } @@ -313,7 +307,7 @@ int cmCPackFreeBSDGenerator::PackageFiles() std::string manifestname = toplevel + "/+MANIFEST"; { - cmGeneratedFileStream manifest(manifestname.c_str()); + cmGeneratedFileStream manifest(manifestname); manifest << "{\n"; write_manifest_fields(manifest); write_manifest_files(manifest, toplevel, files); @@ -340,16 +334,15 @@ int cmCPackFreeBSDGenerator::PackageFiles() std::string output_dir = cmSystemTools::CollapseCombinedPath(toplevel, "../"); pkg_create_from_manifest(output_dir.c_str(), ::TXZ, toplevel.c_str(), - manifestname.c_str(), NULL); + manifestname.c_str(), nullptr); std::string broken_suffix = std::string("-") + var_lookup("CPACK_TOPLEVEL_TAG") + std::string(GetOutputExtension()); - for (std::vector::iterator it = packageFileNames.begin(); - it != packageFileNames.end(); ++it) { - cmCPackLogger(cmCPackLog::LOG_DEBUG, "Packagefile " << *it << std::endl); - if (has_suffix(*it, broken_suffix)) { - it->replace(it->size() - broken_suffix.size(), std::string::npos, - GetOutputExtension()); + for (std::string& name : packageFileNames) { + cmCPackLogger(cmCPackLog::LOG_DEBUG, "Packagefile " << name << std::endl); + if (has_suffix(name, broken_suffix)) { + name.replace(name.size() - broken_suffix.size(), std::string::npos, + GetOutputExtension()); break; } } https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9501a6145dfc5d3905d6b241d6599806ec40fd38 commit 9501a6145dfc5d3905d6b241d6599806ec40fd38 Author: Regina Pfeifer AuthorDate: Wed Nov 28 00:10:14 2018 +0100 Commit: Regina Pfeifer CommitDate: Thu Nov 29 00:29:13 2018 +0100 CTest: Remove special case for Dart version <= 1 diff --git a/Help/manual/ctest.1.rst b/Help/manual/ctest.1.rst index 064a6da..110b08f 100644 --- a/Help/manual/ctest.1.rst +++ b/Help/manual/ctest.1.rst @@ -1069,7 +1069,7 @@ Configuration settings include: * :module:`CTest` module variable: ``BUILDNAME`` ``CDashVersion`` - Specify the version of `CDash`_ on the server. + Legacy option. Not used. * `CTest Script`_ variable: none, detected from server * :module:`CTest` module variable: ``CTEST_CDASH_VERSION`` @@ -1136,8 +1136,7 @@ Configuration settings include: else ``CTEST_DROP_SITE_USER`` ``IsCDash`` - Specify whether the dashboard server is `CDash`_ or an older - dashboard server implementation. + Legacy option. Not used. * `CTest Script`_ variable: :variable:`CTEST_DROP_SITE_CDASH` * :module:`CTest` module variable: ``CTEST_DROP_SITE_CDASH`` diff --git a/Modules/DartConfiguration.tcl.in b/Modules/DartConfiguration.tcl.in index 8cf2f4d..24e7b55 100644 --- a/Modules/DartConfiguration.tcl.in +++ b/Modules/DartConfiguration.tcl.in @@ -20,9 +20,6 @@ BuildName: @BUILDNAME@ LabelsForSubprojects: @CTEST_LABELS_FOR_SUBPROJECTS@ # Submission information -IsCDash: @CTEST_DROP_SITE_CDASH@ -CDashVersion: @CTEST_CDASH_VERSION@ -QueryCDashVersion: @CTEST_CDASH_QUERY_VERSION@ DropSite: @DROP_SITE@ DropLocation: @DROP_LOCATION@ DropSiteUser: @DROP_SITE_USER@ diff --git a/Source/CTest/cmCTestHandlerCommand.cxx b/Source/CTest/cmCTestHandlerCommand.cxx index 667a8ba..c63694d 100644 --- a/Source/CTest/cmCTestHandlerCommand.cxx +++ b/Source/CTest/cmCTestHandlerCommand.cxx @@ -206,18 +206,7 @@ bool cmCTestHandlerCommand::InitialPass(std::vector const& args, handler->PopulateCustomVectors(this->Makefile); if (this->Values[ct_SUBMIT_INDEX]) { - if (!this->CTest->GetDropSiteCDash() && - this->CTest->GetDartVersion() <= 1) { - cmCTestLog( - this->CTest, ERROR_MESSAGE, - "Dart before version 2.0 does not support collecting submissions." - << std::endl - << "Please upgrade the server to Dart 2 or higher, or do not use " - "SUBMIT_INDEX." - << std::endl); - } else { - handler->SetSubmitIndex(atoi(this->Values[ct_SUBMIT_INDEX])); - } + handler->SetSubmitIndex(atoi(this->Values[ct_SUBMIT_INDEX])); } cmWorkingDirectory workdir( this->CTest->GetCTestConfiguration("BuildDirectory")); diff --git a/Source/CTest/cmCTestSubmitCommand.cxx b/Source/CTest/cmCTestSubmitCommand.cxx index 2165f40..43bd636 100644 --- a/Source/CTest/cmCTestSubmitCommand.cxx +++ b/Source/CTest/cmCTestSubmitCommand.cxx @@ -20,7 +20,6 @@ cmCTestGenericHandler* cmCTestSubmitCommand::InitializeHandler() const char* ctestDropSite = this->Makefile->GetDefinition("CTEST_DROP_SITE"); const char* ctestDropLocation = this->Makefile->GetDefinition("CTEST_DROP_LOCATION"); - bool ctestDropSiteCDash = this->Makefile->IsOn("CTEST_DROP_SITE_CDASH"); if (!ctestDropMethod) { ctestDropMethod = "http"; } @@ -39,9 +38,6 @@ cmCTestGenericHandler* cmCTestSubmitCommand::InitializeHandler() this->CTest->SetCTestConfiguration("DropLocation", ctestDropLocation, this->Quiet); - this->CTest->SetCTestConfiguration( - "IsCDash", ctestDropSiteCDash ? "TRUE" : "FALSE", this->Quiet); - this->CTest->SetCTestConfigurationFromCMakeVariable( this->Makefile, "CurlOptions", "CTEST_CURL_OPTIONS", this->Quiet); this->CTest->SetCTestConfigurationFromCMakeVariable( diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx index d35d41e..7c19864 100644 --- a/Source/cmCTest.cxx +++ b/Source/cmCTest.cxx @@ -292,8 +292,6 @@ cmCTest::cmCTest() this->OutputLogFile = nullptr; this->OutputLogFileLastTag = -1; this->SuppressUpdatingCTestConfiguration = false; - this->DartVersion = 1; - this->DropSiteCDash = false; this->BuildID = ""; this->OutputTestOutputOnTestFailure = false; this->OutputColorCode = cmCTest::ColoredOutputSupportedByConsole(); @@ -613,8 +611,6 @@ bool cmCTest::InitializeFromCommand(cmCTestStartCommand* command) { std::string src_dir = this->GetCTestConfiguration("SourceDirectory"); std::string bld_dir = this->GetCTestConfiguration("BuildDirectory"); - this->DartVersion = 1; - this->DropSiteCDash = false; this->BuildID = ""; for (Part p = PartStart; p != PartCount; p = Part(p + 1)) { this->Parts[p].SubmitFiles.clear(); @@ -658,18 +654,6 @@ bool cmCTest::InitializeFromCommand(cmCTestStartCommand* command) command->ShouldBeQuiet()); this->SetCTestConfigurationFromCMakeVariable( mf, "BuildName", "CTEST_BUILD_NAME", command->ShouldBeQuiet()); - const char* dartVersion = mf->GetDefinition("CTEST_DART_SERVER_VERSION"); - if (dartVersion) { - this->DartVersion = atoi(dartVersion); - if (this->DartVersion < 0) { - cmCTestLog(this, ERROR_MESSAGE, - "Invalid Dart server version: " - << dartVersion << ". Please specify the version number." - << std::endl); - return false; - } - } - this->DropSiteCDash = mf->IsOn("CTEST_DROP_SITE_CDASH"); if (!this->Initialize(bld_dir.c_str(), command)) { return false; diff --git a/Source/cmCTest.h b/Source/cmCTest.h index 9139e42..7da0e1d 100644 --- a/Source/cmCTest.h +++ b/Source/cmCTest.h @@ -418,10 +418,6 @@ public: /** Get color code characters for a specific color */ std::string GetColorCode(Color color) const; - /** Get the version of dart server */ - int GetDartVersion() { return this->DartVersion; } - int GetDropSiteCDash() { return this->DropSiteCDash; } - /** The Build ID is assigned by CDash */ void SetBuildID(const std::string& id) { this->BuildID = id; } std::string GetBuildID() { return this->BuildID; } @@ -633,9 +629,6 @@ private: bool ShowLineNumbers; bool Quiet; - int DartVersion; - bool DropSiteCDash; - std::string BuildID; std::vector InitialCommandLineArguments; diff --git a/Tests/CTestTestBadExe/CTestConfig.cmake b/Tests/CTestTestBadExe/CTestConfig.cmake index fc5bffc..5bc1e9e 100644 --- a/Tests/CTestTestBadExe/CTestConfig.cmake +++ b/Tests/CTestTestBadExe/CTestConfig.cmake @@ -1,6 +1,4 @@ set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set (CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestBadGenerator/CTestConfig.cmake b/Tests/CTestTestBadGenerator/CTestConfig.cmake index fc5bffc..5bc1e9e 100644 --- a/Tests/CTestTestBadGenerator/CTestConfig.cmake +++ b/Tests/CTestTestBadGenerator/CTestConfig.cmake @@ -1,6 +1,4 @@ set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set (CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestCostSerial/CTestConfig.cmake b/Tests/CTestTestCostSerial/CTestConfig.cmake index faa91f0..bd265f9 100644 --- a/Tests/CTestTestCostSerial/CTestConfig.cmake +++ b/Tests/CTestTestCostSerial/CTestConfig.cmake @@ -1,6 +1,4 @@ set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set(CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestCrash/CTestConfig.cmake b/Tests/CTestTestCrash/CTestConfig.cmake index fc5bffc..5bc1e9e 100644 --- a/Tests/CTestTestCrash/CTestConfig.cmake +++ b/Tests/CTestTestCrash/CTestConfig.cmake @@ -1,6 +1,4 @@ set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set (CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestCycle/CTestConfig.cmake b/Tests/CTestTestCycle/CTestConfig.cmake index fc5bffc..5bc1e9e 100644 --- a/Tests/CTestTestCycle/CTestConfig.cmake +++ b/Tests/CTestTestCycle/CTestConfig.cmake @@ -1,6 +1,4 @@ set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set (CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestDepends/CTestConfig.cmake b/Tests/CTestTestDepends/CTestConfig.cmake index fc5bffc..5bc1e9e 100644 --- a/Tests/CTestTestDepends/CTestConfig.cmake +++ b/Tests/CTestTestDepends/CTestConfig.cmake @@ -1,6 +1,4 @@ set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set (CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestFailure/CTestConfig.cmake b/Tests/CTestTestFailure/CTestConfig.cmake index fc5bffc..5bc1e9e 100644 --- a/Tests/CTestTestFailure/CTestConfig.cmake +++ b/Tests/CTestTestFailure/CTestConfig.cmake @@ -1,6 +1,4 @@ set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set (CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestLaunchers/launcher_compiler_test_project/CTestConfig.cmake b/Tests/CTestTestLaunchers/launcher_compiler_test_project/CTestConfig.cmake index 409d83a..c08eded 100644 --- a/Tests/CTestTestLaunchers/launcher_compiler_test_project/CTestConfig.cmake +++ b/Tests/CTestTestLaunchers/launcher_compiler_test_project/CTestConfig.cmake @@ -1,7 +1,5 @@ set(CTEST_USE_LAUNCHERS 1) set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set(CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestLaunchers/launcher_custom_command_test_project/CTestConfig.cmake b/Tests/CTestTestLaunchers/launcher_custom_command_test_project/CTestConfig.cmake index 409d83a..c08eded 100644 --- a/Tests/CTestTestLaunchers/launcher_custom_command_test_project/CTestConfig.cmake +++ b/Tests/CTestTestLaunchers/launcher_custom_command_test_project/CTestConfig.cmake @@ -1,7 +1,5 @@ set(CTEST_USE_LAUNCHERS 1) set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set(CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestLaunchers/launcher_linker_test_project/CTestConfig.cmake b/Tests/CTestTestLaunchers/launcher_linker_test_project/CTestConfig.cmake index 409d83a..c08eded 100644 --- a/Tests/CTestTestLaunchers/launcher_linker_test_project/CTestConfig.cmake +++ b/Tests/CTestTestLaunchers/launcher_linker_test_project/CTestConfig.cmake @@ -1,7 +1,5 @@ set(CTEST_USE_LAUNCHERS 1) set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set(CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestParallel/CTestConfig.cmake b/Tests/CTestTestParallel/CTestConfig.cmake index faa91f0..bd265f9 100644 --- a/Tests/CTestTestParallel/CTestConfig.cmake +++ b/Tests/CTestTestParallel/CTestConfig.cmake @@ -1,6 +1,4 @@ set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set(CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestResourceLock/CTestConfig.cmake b/Tests/CTestTestResourceLock/CTestConfig.cmake index faa91f0..bd265f9 100644 --- a/Tests/CTestTestResourceLock/CTestConfig.cmake +++ b/Tests/CTestTestResourceLock/CTestConfig.cmake @@ -1,6 +1,4 @@ set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set(CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestScheduler/CTestConfig.cmake b/Tests/CTestTestScheduler/CTestConfig.cmake index faa91f0..bd265f9 100644 --- a/Tests/CTestTestScheduler/CTestConfig.cmake +++ b/Tests/CTestTestScheduler/CTestConfig.cmake @@ -1,6 +1,4 @@ set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set(CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestSkipReturnCode/CTestConfig.cmake b/Tests/CTestTestSkipReturnCode/CTestConfig.cmake index fc5bffc..5bc1e9e 100644 --- a/Tests/CTestTestSkipReturnCode/CTestConfig.cmake +++ b/Tests/CTestTestSkipReturnCode/CTestConfig.cmake @@ -1,6 +1,4 @@ set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set (CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestStopTime/CTestConfig.cmake b/Tests/CTestTestStopTime/CTestConfig.cmake index fc5bffc..5bc1e9e 100644 --- a/Tests/CTestTestStopTime/CTestConfig.cmake +++ b/Tests/CTestTestStopTime/CTestConfig.cmake @@ -1,6 +1,4 @@ set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set (CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestSubdir/CTestConfig.cmake b/Tests/CTestTestSubdir/CTestConfig.cmake index faa91f0..bd265f9 100644 --- a/Tests/CTestTestSubdir/CTestConfig.cmake +++ b/Tests/CTestTestSubdir/CTestConfig.cmake @@ -1,6 +1,4 @@ set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set(CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestTimeout/CTestConfig.cmake b/Tests/CTestTestTimeout/CTestConfig.cmake index faa91f0..bd265f9 100644 --- a/Tests/CTestTestTimeout/CTestConfig.cmake +++ b/Tests/CTestTestTimeout/CTestConfig.cmake @@ -1,6 +1,4 @@ set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set(CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestUpload/CTestConfig.cmake b/Tests/CTestTestUpload/CTestConfig.cmake index 95c79ff..21318b4 100644 --- a/Tests/CTestTestUpload/CTestConfig.cmake +++ b/Tests/CTestTestUpload/CTestConfig.cmake @@ -1,6 +1,4 @@ set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set (CTEST_DART_SERVER_VERSION "2") set (CTEST_DROP_METHOD "http") set (CTEST_DROP_SITE "open.cdash.org") set (CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set (CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestVerboseOutput/CTestConfig.cmake b/Tests/CTestTestVerboseOutput/CTestConfig.cmake index faa91f0..bd265f9 100644 --- a/Tests/CTestTestVerboseOutput/CTestConfig.cmake +++ b/Tests/CTestTestVerboseOutput/CTestConfig.cmake @@ -1,6 +1,4 @@ set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set(CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestZeroTimeout/CTestConfig.cmake b/Tests/CTestTestZeroTimeout/CTestConfig.cmake index faa91f0..bd265f9 100644 --- a/Tests/CTestTestZeroTimeout/CTestConfig.cmake +++ b/Tests/CTestTestZeroTimeout/CTestConfig.cmake @@ -1,6 +1,4 @@ set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set(CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/RunCMake/ctest_memcheck/CTestConfig.cmake.in b/Tests/RunCMake/ctest_memcheck/CTestConfig.cmake.in index fe6f6ce..53bdd20 100644 --- a/Tests/RunCMake/ctest_memcheck/CTestConfig.cmake.in +++ b/Tests/RunCMake/ctest_memcheck/CTestConfig.cmake.in @@ -1,8 +1,6 @@ set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT") -set (CTEST_DART_SERVER_VERSION "2") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard") -set(CTEST_DROP_SITE_CDASH TRUE) @CTEST_EXTRA_CONFIG@ https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e184603378e85046fb6e4d627f47e9853577486e commit e184603378e85046fb6e4d627f47e9853577486e Author: Regina Pfeifer AuthorDate: Tue Nov 27 23:39:36 2018 +0100 Commit: Regina Pfeifer CommitDate: Thu Nov 29 00:29:13 2018 +0100 CTest: Add release note about removed submission methods diff --git a/Help/release/dev/submit-method.rst b/Help/release/dev/submit-method.rst new file mode 100644 index 0000000..38f0b92 --- /dev/null +++ b/Help/release/dev/submit-method.rst @@ -0,0 +1,6 @@ +submit-method +------------- + +* CTest no longer supports submissions via ``ftp``, ``scp``, ``cp``, and + ``xmlrpc``. CDash is the only maintained testing dashboard for CTest, + and it only supports submissions over ``http`` and ``https``. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8c25aa2feb589f733b5b80ec231217fc31518752 commit 8c25aa2feb589f733b5b80ec231217fc31518752 Author: Regina Pfeifer AuthorDate: Tue Nov 27 23:19:32 2018 +0100 Commit: Regina Pfeifer CommitDate: Thu Nov 29 00:29:13 2018 +0100 CTest: Remove submission trigger diff --git a/Help/manual/ctest.1.rst b/Help/manual/ctest.1.rst index 3999feb..064a6da 100644 --- a/Help/manual/ctest.1.rst +++ b/Help/manual/ctest.1.rst @@ -1137,7 +1137,7 @@ Configuration settings include: ``IsCDash`` Specify whether the dashboard server is `CDash`_ or an older - dashboard server implementation requiring ``TriggerSite``. + dashboard server implementation. * `CTest Script`_ variable: :variable:`CTEST_DROP_SITE_CDASH` * :module:`CTest` module variable: ``CTEST_DROP_SITE_CDASH`` @@ -1157,8 +1157,7 @@ Configuration settings include: initialized by the :command:`site_name` command ``TriggerSite`` - Legacy option to support older dashboard server implementations. - Not used when ``IsCDash`` is true. + Legacy option. Not used. * `CTest Script`_ variable: :variable:`CTEST_TRIGGER_SITE` * :module:`CTest` module variable: ``TRIGGER_SITE`` if set, diff --git a/Help/variable/CTEST_TRIGGER_SITE.rst b/Help/variable/CTEST_TRIGGER_SITE.rst index de92428..a50e405 100644 --- a/Help/variable/CTEST_TRIGGER_SITE.rst +++ b/Help/variable/CTEST_TRIGGER_SITE.rst @@ -1,5 +1,4 @@ CTEST_TRIGGER_SITE ------------------ -Specify the CTest ``TriggerSite`` setting -in a :manual:`ctest(1)` dashboard client script. +Legacy option. Not used. diff --git a/Modules/DartConfiguration.tcl.in b/Modules/DartConfiguration.tcl.in index 735cadd..8cf2f4d 100644 --- a/Modules/DartConfiguration.tcl.in +++ b/Modules/DartConfiguration.tcl.in @@ -29,7 +29,6 @@ DropSiteUser: @DROP_SITE_USER@ DropSitePassword: @DROP_SITE_PASSWORD@ DropSiteMode: @DROP_SITE_MODE@ DropMethod: @DROP_METHOD@ -TriggerSite: @TRIGGER_SITE@ # Dashboard start time NightlyStartTime: @NIGHTLY_START_TIME@ diff --git a/Source/CTest/cmCTestSubmitCommand.cxx b/Source/CTest/cmCTestSubmitCommand.cxx index c1705d7..2165f40 100644 --- a/Source/CTest/cmCTestSubmitCommand.cxx +++ b/Source/CTest/cmCTestSubmitCommand.cxx @@ -20,8 +20,6 @@ cmCTestGenericHandler* cmCTestSubmitCommand::InitializeHandler() const char* ctestDropSite = this->Makefile->GetDefinition("CTEST_DROP_SITE"); const char* ctestDropLocation = this->Makefile->GetDefinition("CTEST_DROP_LOCATION"); - const char* ctestTriggerSite = - this->Makefile->GetDefinition("CTEST_TRIGGER_SITE"); bool ctestDropSiteCDash = this->Makefile->IsOn("CTEST_DROP_SITE_CDASH"); if (!ctestDropMethod) { ctestDropMethod = "http"; @@ -44,13 +42,6 @@ cmCTestGenericHandler* cmCTestSubmitCommand::InitializeHandler() this->CTest->SetCTestConfiguration( "IsCDash", ctestDropSiteCDash ? "TRUE" : "FALSE", this->Quiet); - // Only propagate TriggerSite for non-CDash projects: - // - if (!ctestDropSiteCDash) { - this->CTest->SetCTestConfiguration("TriggerSite", ctestTriggerSite, - this->Quiet); - } - this->CTest->SetCTestConfigurationFromCMakeVariable( this->Makefile, "CurlOptions", "CTEST_CURL_OPTIONS", this->Quiet); this->CTest->SetCTestConfigurationFromCMakeVariable( diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx index 509d767..75e2cd5 100644 --- a/Source/CTest/cmCTestSubmitHandler.cxx +++ b/Source/CTest/cmCTestSubmitHandler.cxx @@ -131,7 +131,6 @@ void cmCTestSubmitHandler::Initialize() p = cmCTest::Part(p + 1)) { this->SubmitPart[p] = true; } - this->CDash = false; this->HasWarnings = false; this->HasErrors = false; this->Superclass::Initialize(); @@ -516,136 +515,6 @@ void cmCTestSubmitHandler::ParseResponse( } } -bool cmCTestSubmitHandler::TriggerUsingHTTP( - const std::vector& files, const std::string& remoteprefix, - const std::string& url) -{ - CURL* curl; - char error_buffer[1024]; - - /* In windows, this will init the winsock stuff */ - ::curl_global_init(CURL_GLOBAL_ALL); - - for (std::string const& file : files) { - /* get a curl handle */ - curl = curl_easy_init(); - if (curl) { - // Using proxy - if (this->HTTPProxyType > 0) { - curl_easy_setopt(curl, CURLOPT_PROXY, this->HTTPProxy.c_str()); - switch (this->HTTPProxyType) { - case 2: - curl_easy_setopt(curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4); - break; - case 3: - curl_easy_setopt(curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); - break; - default: - curl_easy_setopt(curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); - if (!this->HTTPProxyAuth.empty()) { - curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, - this->HTTPProxyAuth.c_str()); - } - } - } - - ::curl_easy_setopt(curl, CURLOPT_VERBOSE, 1); - - // and give curl the buffer for errors - ::curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, &error_buffer); - - // specify handler for output - ::curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, - cmCTestSubmitHandlerWriteMemoryCallback); - ::curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, - cmCTestSubmitHandlerCurlDebugCallback); - - /* we pass our 'chunk' struct to the callback function */ - cmCTestSubmitHandlerVectorOfChar chunk; - cmCTestSubmitHandlerVectorOfChar chunkDebug; - ::curl_easy_setopt(curl, CURLOPT_FILE, &chunk); - ::curl_easy_setopt(curl, CURLOPT_DEBUGDATA, &chunkDebug); - - std::string rfile = remoteprefix + cmSystemTools::GetFilenameName(file); - std::string ofile; - for (char c : rfile) { - char hexCh[4] = { 0, 0, 0, 0 }; - hexCh[0] = c; - switch (c) { - case '+': - case '?': - case '/': - case '\\': - case '&': - case ' ': - case '=': - case '%': - sprintf(hexCh, "%%%02X", static_cast(c)); - ofile.append(hexCh); - break; - default: - ofile.append(hexCh); - } - } - std::string turl = url + - ((url.find('?') == std::string::npos) ? '?' : '&') + - "xmlfile=" + ofile; - *this->LogFile << "Trigger url: " << turl << std::endl; - cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, - " Trigger url: " << turl << std::endl, this->Quiet); - curl_easy_setopt(curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY); - curl_easy_setopt(curl, CURLOPT_URL, turl.c_str()); - if (curl_easy_perform(curl)) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Error when triggering: " << turl << std::endl); - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Error message was: " << error_buffer << std::endl); - *this->LogFile << "\tTriggering failed with error: " << error_buffer - << std::endl - << " Error message was: " << error_buffer - << std::endl; - if (!chunk.empty()) { - *this->LogFile << " Curl output was: " - << cmCTestLogWrite(&*chunk.begin(), chunk.size()) - << std::endl; - cmCTestLog(this->CTest, ERROR_MESSAGE, - "CURL output: [" - << cmCTestLogWrite(&*chunk.begin(), chunk.size()) << "]" - << std::endl); - } - ::curl_easy_cleanup(curl); - ::curl_global_cleanup(); - return false; - } - - if (!chunk.empty()) { - cmCTestOptionalLog(this->CTest, DEBUG, - "CURL output: [" - << cmCTestLogWrite(&*chunk.begin(), chunk.size()) - << "]" << std::endl, - this->Quiet); - } - if (!chunkDebug.empty()) { - cmCTestOptionalLog( - this->CTest, DEBUG, - "CURL debug output: [" - << cmCTestLogWrite(&*chunkDebug.begin(), chunkDebug.size()) << "]" - << std::endl, - this->Quiet); - } - - // always cleanup - ::curl_easy_cleanup(curl); - cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, std::endl, - this->Quiet); - } - } - ::curl_global_cleanup(); - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, - " Dart server triggered..." << std::endl, this->Quiet); - return true; -} - void cmCTestSubmitHandler::ConstructCDashURL(std::string& dropMethod, std::string& url) { @@ -900,11 +769,6 @@ int cmCTestSubmitHandler::ProcessHandler() if (cdashUploadFile && cdashUploadType) { return this->HandleCDashUploadFile(cdashUploadFile, cdashUploadType); } - std::string iscdash = this->CTest->GetCTestConfiguration("IsCDash"); - // cdash does not need to trigger so just return true - if (!iscdash.empty()) { - this->CDash = true; - } const std::string& buildDirectory = this->CTest->GetCTestConfiguration("BuildDirectory"); @@ -1084,23 +948,6 @@ int cmCTestSubmitHandler::ProcessHandler() ofs << " Problems when submitting via HTTP" << std::endl; return -1; } - if (!this->CDash) { - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, - " Using HTTP trigger method" - << std::endl - << " Trigger site: " - << this->CTest->GetCTestConfiguration("TriggerSite") - << std::endl, - this->Quiet); - if (!this->TriggerUsingHTTP( - files, prefix, - this->CTest->GetCTestConfiguration("TriggerSite"))) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Problems when triggering via HTTP" << std::endl); - ofs << " Problems when triggering via HTTP" << std::endl; - return -1; - } - } if (this->HasErrors) { cmCTestLog(this->CTest, HANDLER_OUTPUT, " Errors occurred during " diff --git a/Source/CTest/cmCTestSubmitHandler.h b/Source/CTest/cmCTestSubmitHandler.h index 15f230b..393e826 100644 --- a/Source/CTest/cmCTestSubmitHandler.h +++ b/Source/CTest/cmCTestSubmitHandler.h @@ -61,10 +61,6 @@ private: const std::string& remoteprefix, const std::string& url); - bool TriggerUsingHTTP(const std::vector& files, - const std::string& remoteprefix, - const std::string& url); - typedef std::vector cmCTestSubmitHandlerVectorOfChar; void ParseResponse(cmCTestSubmitHandlerVectorOfChar chunk); @@ -78,7 +74,6 @@ private: std::string HTTPProxyAuth; std::ostream* LogFile; bool SubmitPart[cmCTest::PartCount]; - bool CDash; bool HasWarnings; bool HasErrors; cmCTest::SetOfStrings Files; https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a688c6b92861c77ee8d065ae8c679c317fe8d0c0 commit a688c6b92861c77ee8d065ae8c679c317fe8d0c0 Author: Regina Pfeifer AuthorDate: Tue Nov 27 21:15:57 2018 +0100 Commit: Regina Pfeifer CommitDate: Thu Nov 29 00:29:13 2018 +0100 CTest: Remove submit method 'ftp' diff --git a/Help/manual/ctest.1.rst b/Help/manual/ctest.1.rst index 1ac5efd..3999feb 100644 --- a/Help/manual/ctest.1.rst +++ b/Help/manual/ctest.1.rst @@ -1106,8 +1106,7 @@ Configuration settings include: ``DropMethod`` Specify the method by which results should be submitted to the - dashboard server. The value may be ``ftp``, ``http``, or - ``https``. + dashboard server. The value may be ``http`` or ``https``. * `CTest Script`_ variable: :variable:`CTEST_DROP_METHOD` * :module:`CTest` module variable: ``DROP_METHOD`` if set, diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx index 2232e38..509d767 100644 --- a/Source/CTest/cmCTestSubmitHandler.cxx +++ b/Source/CTest/cmCTestSubmitHandler.cxx @@ -120,7 +120,6 @@ static size_t cmCTestSubmitHandlerCurlDebugCallback(CURL* /*unused*/, cmCTestSubmitHandler::cmCTestSubmitHandler() : HTTPProxy() - , FTPProxy() { this->Initialize(); } @@ -139,158 +138,10 @@ void cmCTestSubmitHandler::Initialize() this->HTTPProxy.clear(); this->HTTPProxyType = 0; this->HTTPProxyAuth.clear(); - this->FTPProxy.clear(); - this->FTPProxyType = 0; this->LogFile = nullptr; this->Files.clear(); } -bool cmCTestSubmitHandler::SubmitUsingFTP( - const std::string& localprefix, const std::vector& files, - const std::string& remoteprefix, const std::string& url) -{ - CURL* curl; - CURLcode res; - FILE* ftpfile; - char error_buffer[1024]; - - /* In windows, this will init the winsock stuff */ - ::curl_global_init(CURL_GLOBAL_ALL); - - for (std::string const& file : files) { - /* get a curl handle */ - curl = curl_easy_init(); - if (curl) { - // Using proxy - if (this->FTPProxyType > 0) { - curl_easy_setopt(curl, CURLOPT_PROXY, this->FTPProxy.c_str()); - switch (this->FTPProxyType) { - case 2: - curl_easy_setopt(curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4); - break; - case 3: - curl_easy_setopt(curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); - break; - default: - curl_easy_setopt(curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); - } - } - - // enable uploading - ::curl_easy_setopt(curl, CURLOPT_UPLOAD, 1); - - // if there is little to no activity for too long stop submitting - ::curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 1); - ::curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, - SUBMIT_TIMEOUT_IN_SECONDS_DEFAULT); - - ::curl_easy_setopt(curl, CURLOPT_UPLOAD, 1); - - std::string local_file = file; - if (!cmSystemTools::FileExists(local_file)) { - local_file = localprefix + "/" + file; - } - std::string upload_as = - url + "/" + remoteprefix + cmSystemTools::GetFilenameName(file); - - if (!cmSystemTools::FileExists(local_file)) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Cannot find file: " << local_file << std::endl); - ::curl_easy_cleanup(curl); - ::curl_global_cleanup(); - return false; - } - unsigned long filelen = cmSystemTools::FileLength(local_file); - - ftpfile = cmsys::SystemTools::Fopen(local_file, "rb"); - *this->LogFile << "\tUpload file: " << local_file << " to " << upload_as - << std::endl; - cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, - " Upload file: " << local_file << " to " - << upload_as << std::endl, - this->Quiet); - - ::curl_easy_setopt(curl, CURLOPT_VERBOSE, 1); - - // specify target - ::curl_easy_setopt(curl, CURLOPT_URL, upload_as.c_str()); - - // now specify which file to upload - ::curl_easy_setopt(curl, CURLOPT_INFILE, ftpfile); - - // and give the size of the upload (optional) - ::curl_easy_setopt(curl, CURLOPT_INFILESIZE, static_cast(filelen)); - - // and give curl the buffer for errors - ::curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, &error_buffer); - - // specify handler for output - ::curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, - cmCTestSubmitHandlerWriteMemoryCallback); - ::curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, - cmCTestSubmitHandlerCurlDebugCallback); - - /* we pass our 'chunk' struct to the callback function */ - cmCTestSubmitHandlerVectorOfChar chunk; - cmCTestSubmitHandlerVectorOfChar chunkDebug; - ::curl_easy_setopt(curl, CURLOPT_FILE, &chunk); - ::curl_easy_setopt(curl, CURLOPT_DEBUGDATA, &chunkDebug); - - // Now run off and do what you've been told! - res = ::curl_easy_perform(curl); - - if (!chunk.empty()) { - cmCTestOptionalLog(this->CTest, DEBUG, - "CURL output: [" - << cmCTestLogWrite(&*chunk.begin(), chunk.size()) - << "]" << std::endl, - this->Quiet); - } - if (!chunkDebug.empty()) { - cmCTestOptionalLog( - this->CTest, DEBUG, - "CURL debug output: [" - << cmCTestLogWrite(&*chunkDebug.begin(), chunkDebug.size()) << "]" - << std::endl, - this->Quiet); - } - - fclose(ftpfile); - if (res) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Error when uploading file: " << local_file - << std::endl); - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Error message was: " << error_buffer << std::endl); - *this->LogFile << " Error when uploading file: " << local_file - << std::endl - << " Error message was: " << error_buffer << std::endl - << " Curl output was: "; - // avoid dereference of empty vector - if (!chunk.empty()) { - *this->LogFile << cmCTestLogWrite(&*chunk.begin(), chunk.size()); - cmCTestLog(this->CTest, ERROR_MESSAGE, - "CURL output: [" - << cmCTestLogWrite(&*chunk.begin(), chunk.size()) << "]" - << std::endl); - } - *this->LogFile << std::endl; - ::curl_easy_cleanup(curl); - ::curl_global_cleanup(); - return false; - } - // always cleanup - ::curl_easy_cleanup(curl); - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, - " Uploaded: " + local_file << std::endl, - this->Quiet); - } - } - ::curl_global_cleanup(); - return true; -} - -// Uploading files is simpler bool cmCTestSubmitHandler::SubmitUsingHTTP( const std::string& localprefix, const std::vector& files, const std::string& remoteprefix, const std::string& url) @@ -1091,36 +942,11 @@ int cmCTestSubmitHandler::ProcessHandler() } } - if (getenv("FTP_PROXY")) { - this->FTPProxyType = 1; - this->FTPProxy = getenv("FTP_PROXY"); - if (getenv("FTP_PROXY_PORT")) { - this->FTPProxy += ":"; - this->FTPProxy += getenv("FTP_PROXY_PORT"); - } - if (getenv("FTP_PROXY_TYPE")) { - std::string type = getenv("FTP_PROXY_TYPE"); - // HTTP/SOCKS4/SOCKS5 - if (type == "HTTP") { - this->FTPProxyType = 1; - } else if (type == "SOCKS4") { - this->FTPProxyType = 2; - } else if (type == "SOCKS5") { - this->FTPProxyType = 3; - } - } - } - if (!this->HTTPProxy.empty()) { cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, " Use HTTP Proxy: " << this->HTTPProxy << std::endl, this->Quiet); } - if (!this->FTPProxy.empty()) { - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, - " Use FTP Proxy: " << this->FTPProxy << std::endl, - this->Quiet); - } cmGeneratedFileStream ofs; this->StartLogFile("Submit", ofs); @@ -1217,66 +1043,11 @@ int cmCTestSubmitHandler::ProcessHandler() std::string dropMethod(this->CTest->GetCTestConfiguration("DropMethod")); - if (dropMethod.empty() || dropMethod == "ftp") { - ofs << "Using drop method: FTP" << std::endl; - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, - " Using FTP submit method" << std::endl - << " Drop site: ftp://", - this->Quiet); - std::string url = "ftp://"; - url += cmCTest::MakeURLSafe( - this->CTest->GetCTestConfiguration("DropSiteUser")) + - ":" + - cmCTest::MakeURLSafe( - this->CTest->GetCTestConfiguration("DropSitePassword")) + - "@" + this->CTest->GetCTestConfiguration("DropSite") + - cmCTest::MakeURLSafe(this->CTest->GetCTestConfiguration("DropLocation")); - if (!this->CTest->GetCTestConfiguration("DropSiteUser").empty()) { - cmCTestOptionalLog( - this->CTest, HANDLER_OUTPUT, - this->CTest->GetCTestConfiguration("DropSiteUser").c_str(), - this->Quiet); - if (!this->CTest->GetCTestConfiguration("DropSitePassword").empty()) { - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, ":******", - this->Quiet); - } - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, "@", this->Quiet); - } - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, - this->CTest->GetCTestConfiguration("DropSite") - << this->CTest->GetCTestConfiguration("DropLocation") - << std::endl, - this->Quiet); - if (!this->SubmitUsingFTP(buildDirectory + "/Testing/" + - this->CTest->GetCurrentTag(), - files, prefix, url)) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Problems when submitting via FTP" << std::endl); - ofs << " Problems when submitting via FTP" << std::endl; - return -1; - } - if (!this->CDash) { - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, - " Using HTTP trigger method" - << std::endl - << " Trigger site: " - << this->CTest->GetCTestConfiguration("TriggerSite") - << std::endl, - this->Quiet); - if (!this->TriggerUsingHTTP( - files, prefix, - this->CTest->GetCTestConfiguration("TriggerSite"))) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Problems when triggering via HTTP" << std::endl); - ofs << " Problems when triggering via HTTP" << std::endl; - return -1; - } - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, - " Submission successful" << std::endl, this->Quiet); - ofs << " Submission successful" << std::endl; - return 0; - } - } else if (dropMethod == "http" || dropMethod == "https") { + if (dropMethod.empty()) { + dropMethod = "http"; + } + + if (dropMethod == "http" || dropMethod == "https") { std::string url = dropMethod; url += "://"; ofs << "Using drop method: " << dropMethod << std::endl; diff --git a/Source/CTest/cmCTestSubmitHandler.h b/Source/CTest/cmCTestSubmitHandler.h index 5cbc9f6..15f230b 100644 --- a/Source/CTest/cmCTestSubmitHandler.h +++ b/Source/CTest/cmCTestSubmitHandler.h @@ -56,9 +56,6 @@ private: /** * Submit file using various ways */ - bool SubmitUsingFTP(const std::string& localprefix, - const std::vector& files, - const std::string& remoteprefix, const std::string& url); bool SubmitUsingHTTP(const std::string& localprefix, const std::vector& files, const std::string& remoteprefix, @@ -79,8 +76,6 @@ private: std::string HTTPProxy; int HTTPProxyType; std::string HTTPProxyAuth; - std::string FTPProxy; - int FTPProxyType; std::ostream* LogFile; bool SubmitPart[cmCTest::PartCount]; bool CDash; diff --git a/Tests/RunCMake/ctest_submit/FailDrop-ftp-result.txt b/Tests/RunCMake/ctest_submit/FailDrop-ftp-result.txt deleted file mode 100644 index b57e2de..0000000 --- a/Tests/RunCMake/ctest_submit/FailDrop-ftp-result.txt +++ /dev/null @@ -1 +0,0 @@ -(-1|255) diff --git a/Tests/RunCMake/ctest_submit/FailDrop-ftp-stderr.txt b/Tests/RunCMake/ctest_submit/FailDrop-ftp-stderr.txt deleted file mode 100644 index b9d9394..0000000 --- a/Tests/RunCMake/ctest_submit/FailDrop-ftp-stderr.txt +++ /dev/null @@ -1,2 +0,0 @@ -Error message was: ([Cc]ould *n.t resolve host:? '?-no-site-'?.*|The requested URL returned error:.*) - Problems when submitting via FTP diff --git a/Tests/RunCMake/ctest_submit/FailDrop-ftp-stdout.txt b/Tests/RunCMake/ctest_submit/FailDrop-ftp-stdout.txt deleted file mode 100644 index 345bb62..0000000 --- a/Tests/RunCMake/ctest_submit/FailDrop-ftp-stdout.txt +++ /dev/null @@ -1,3 +0,0 @@ -Submit files \(using ftp\) - Using FTP submit method - Drop site: ftp:// diff --git a/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake b/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake index 097818c..4d7d29b 100644 --- a/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake +++ b/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake @@ -49,6 +49,5 @@ function(run_ctest_submit_FailDrop CASE_DROP_METHOD) run_ctest(FailDrop-${CASE_DROP_METHOD}) endfunction() -run_ctest_submit_FailDrop(ftp) run_ctest_submit_FailDrop(http) run_ctest_submit_FailDrop(https) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c339b64cf241788edd9f886daff619eec41dc242 commit c339b64cf241788edd9f886daff619eec41dc242 Author: Regina Pfeifer AuthorDate: Tue Nov 27 22:35:00 2018 +0100 Commit: Regina Pfeifer CommitDate: Thu Nov 29 00:29:13 2018 +0100 CTest: Remove submit method 'scp' diff --git a/Help/manual/ctest.1.rst b/Help/manual/ctest.1.rst index 511764c..1ac5efd 100644 --- a/Help/manual/ctest.1.rst +++ b/Help/manual/ctest.1.rst @@ -1106,8 +1106,8 @@ Configuration settings include: ``DropMethod`` Specify the method by which results should be submitted to the - dashboard server. The value may be ``ftp``, ``http``, - ``https``, or ``scp``. + dashboard server. The value may be ``ftp``, ``http``, or + ``https``. * `CTest Script`_ variable: :variable:`CTEST_DROP_METHOD` * :module:`CTest` module variable: ``DROP_METHOD`` if set, @@ -1144,7 +1144,7 @@ Configuration settings include: * :module:`CTest` module variable: ``CTEST_DROP_SITE_CDASH`` ``ScpCommand`` - ``scp`` command-line tool to use when ``DropMethod`` is ``scp``. + Legacy option. Not used. * `CTest Script`_ variable: :variable:`CTEST_SCP_COMMAND` * :module:`CTest` module variable: ``SCPCOMMAND`` diff --git a/Help/variable/CTEST_SCP_COMMAND.rst b/Help/variable/CTEST_SCP_COMMAND.rst index 0f128b1..19ea8b3 100644 --- a/Help/variable/CTEST_SCP_COMMAND.rst +++ b/Help/variable/CTEST_SCP_COMMAND.rst @@ -1,5 +1,4 @@ CTEST_SCP_COMMAND ----------------- -Specify the CTest ``SCPCommand`` setting -in a :manual:`ctest(1)` dashboard client script. +Legacy option. Not used. diff --git a/Modules/CTest.cmake b/Modules/CTest.cmake index 18bb452..8848bdd 100644 --- a/Modules/CTest.cmake +++ b/Modules/CTest.cmake @@ -177,9 +177,6 @@ if(BUILD_TESTING) ) set(MEMORYCHECK_SUPPRESSIONS_FILE "" CACHE FILEPATH "File that contains suppressions for the memory checker") - find_program(SCPCOMMAND scp DOC - "Path to scp command, used by CTest for submitting results to a Dart server" - ) find_program(COVERAGE_COMMAND gcov DOC "Path to the coverage program that CTest uses for performing coverage inspection" ) diff --git a/Modules/DartConfiguration.tcl.in b/Modules/DartConfiguration.tcl.in index b86a5a9..735cadd 100644 --- a/Modules/DartConfiguration.tcl.in +++ b/Modules/DartConfiguration.tcl.in @@ -30,7 +30,6 @@ DropSitePassword: @DROP_SITE_PASSWORD@ DropSiteMode: @DROP_SITE_MODE@ DropMethod: @DROP_METHOD@ TriggerSite: @TRIGGER_SITE@ -ScpCommand: @SCPCOMMAND@ # Dashboard start time NightlyStartTime: @NIGHTLY_START_TIME@ diff --git a/Source/CTest/cmCTestSubmitCommand.cxx b/Source/CTest/cmCTestSubmitCommand.cxx index 60029ab..c1705d7 100644 --- a/Source/CTest/cmCTestSubmitCommand.cxx +++ b/Source/CTest/cmCTestSubmitCommand.cxx @@ -58,8 +58,6 @@ cmCTestGenericHandler* cmCTestSubmitCommand::InitializeHandler() this->CTest->SetCTestConfigurationFromCMakeVariable( this->Makefile, "DropSitePassword", "CTEST_DROP_SITE_PASSWORD", this->Quiet); - this->CTest->SetCTestConfigurationFromCMakeVariable( - this->Makefile, "ScpCommand", "CTEST_SCP_COMMAND", this->Quiet); const char* notesFilesVariable = this->Makefile->GetDefinition("CTEST_NOTES_FILES"); diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx index f457828..2232e38 100644 --- a/Source/CTest/cmCTestSubmitHandler.cxx +++ b/Source/CTest/cmCTestSubmitHandler.cxx @@ -5,9 +5,7 @@ #include "cm_curl.h" #include "cm_jsoncpp_reader.h" #include "cm_jsoncpp_value.h" -#include "cmsys/Process.h" #include -#include #include #include #include @@ -20,10 +18,8 @@ #include "cmCurl.h" #include "cmDuration.h" #include "cmGeneratedFileStream.h" -#include "cmProcessOutput.h" #include "cmState.h" #include "cmSystemTools.h" -#include "cmWorkingDirectory.h" #include "cmXMLParser.h" #include "cmake.h" @@ -799,102 +795,6 @@ bool cmCTestSubmitHandler::TriggerUsingHTTP( return true; } -bool cmCTestSubmitHandler::SubmitUsingSCP( - const std::string& scp_command, const std::string& localprefix, - const std::vector& files, const std::string& remoteprefix, - const std::string& url) -{ - if (scp_command.empty() || localprefix.empty() || files.empty() || - remoteprefix.empty() || url.empty()) { - return false; - } - - std::vector argv; - argv.push_back(scp_command.c_str()); // Scp command - argv.push_back(scp_command.c_str()); // Dummy string for file - argv.push_back(scp_command.c_str()); // Dummy string for remote url - argv.push_back(nullptr); - - cmsysProcess* cp = cmsysProcess_New(); - cmsysProcess_SetOption(cp, cmsysProcess_Option_HideWindow, 1); - // cmsysProcess_SetTimeout(cp, timeout); - - int problems = 0; - - for (std::string const& file : files) { - int retVal; - - std::string lfname = localprefix; - cmSystemTools::ConvertToUnixSlashes(lfname); - lfname += "/" + file; - lfname = cmSystemTools::ConvertToOutputPath(lfname); - argv[1] = lfname.c_str(); - std::string rfname = url + "/" + remoteprefix + file; - argv[2] = rfname.c_str(); - cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, - "Execute \"" << argv[0] << "\" \"" << argv[1] << "\" \"" - << argv[2] << "\"" << std::endl, - this->Quiet); - *this->LogFile << "Execute \"" << argv[0] << "\" \"" << argv[1] << "\" \"" - << argv[2] << "\"" << std::endl; - - cmsysProcess_SetCommand(cp, &*argv.begin()); - cmsysProcess_Execute(cp); - char* data; - int length; - cmProcessOutput processOutput; - std::string strdata; - - while (cmsysProcess_WaitForData(cp, &data, &length, nullptr)) { - processOutput.DecodeText(data, length, strdata); - cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, - cmCTestLogWrite(strdata.c_str(), strdata.size()), - this->Quiet); - } - processOutput.DecodeText(std::string(), strdata); - if (!strdata.empty()) { - cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, - cmCTestLogWrite(strdata.c_str(), strdata.size()), - this->Quiet); - } - - cmsysProcess_WaitForExit(cp, nullptr); - - int result = cmsysProcess_GetState(cp); - - if (result == cmsysProcess_State_Exited) { - retVal = cmsysProcess_GetExitValue(cp); - if (retVal != 0) { - cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, - "\tSCP returned: " << retVal << std::endl, - this->Quiet); - *this->LogFile << "\tSCP returned: " << retVal << std::endl; - problems++; - } - } else if (result == cmsysProcess_State_Exception) { - retVal = cmsysProcess_GetExitException(cp); - cmCTestLog(this->CTest, ERROR_MESSAGE, - "\tThere was an exception: " << retVal << std::endl); - *this->LogFile << "\tThere was an exception: " << retVal << std::endl; - problems++; - } else if (result == cmsysProcess_State_Expired) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - "\tThere was a timeout" << std::endl); - *this->LogFile << "\tThere was a timeout" << std::endl; - problems++; - } else if (result == cmsysProcess_State_Error) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - "\tError executing SCP: " << cmsysProcess_GetErrorString(cp) - << std::endl); - *this->LogFile << "\tError executing SCP: " - << cmsysProcess_GetErrorString(cp) << std::endl; - problems++; - } - } - cmsysProcess_Delete(cp); - return problems == 0; -} - void cmCTestSubmitHandler::ConstructCDashURL(std::string& dropMethod, std::string& url) { @@ -1447,39 +1347,6 @@ int cmCTestSubmitHandler::ProcessHandler() } return 0; - } else if (dropMethod == "scp") { - std::string url; - if (!this->CTest->GetCTestConfiguration("DropSiteUser").empty()) { - url += this->CTest->GetCTestConfiguration("DropSiteUser") + "@"; - } - url += this->CTest->GetCTestConfiguration("DropSite") + ":" + - this->CTest->GetCTestConfiguration("DropLocation"); - - // change to the build directory so that we can uses a relative path - // on windows since scp doesn't support "c:" a drive in the path - cmWorkingDirectory workdir(buildDirectory); - if (workdir.Failed()) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Failed to change directory to " - << buildDirectory << " : " - << std::strerror(workdir.GetLastResult()) << std::endl); - ofs << " Failed to change directory to " << buildDirectory << " : " - << std::strerror(workdir.GetLastResult()) << std::endl; - return -1; - } - - if (!this->SubmitUsingSCP(this->CTest->GetCTestConfiguration("ScpCommand"), - "Testing/" + this->CTest->GetCurrentTag(), files, - prefix, url)) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Problems when submitting via SCP" << std::endl); - ofs << " Problems when submitting via SCP" << std::endl; - return -1; - } - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, - " Submission successful" << std::endl, this->Quiet); - ofs << " Submission successful" << std::endl; - return 0; } cmCTestLog(this->CTest, ERROR_MESSAGE, diff --git a/Source/CTest/cmCTestSubmitHandler.h b/Source/CTest/cmCTestSubmitHandler.h index 5590561..5cbc9f6 100644 --- a/Source/CTest/cmCTestSubmitHandler.h +++ b/Source/CTest/cmCTestSubmitHandler.h @@ -63,10 +63,6 @@ private: const std::vector& files, const std::string& remoteprefix, const std::string& url); - bool SubmitUsingSCP(const std::string& scp_command, - const std::string& localprefix, - const std::vector& files, - const std::string& remoteprefix, const std::string& url); bool TriggerUsingHTTP(const std::vector& files, const std::string& remoteprefix, diff --git a/Tests/RunCMake/ctest_submit/FailDrop-scp-result.txt b/Tests/RunCMake/ctest_submit/FailDrop-scp-result.txt deleted file mode 100644 index b57e2de..0000000 --- a/Tests/RunCMake/ctest_submit/FailDrop-scp-result.txt +++ /dev/null @@ -1 +0,0 @@ -(-1|255) diff --git a/Tests/RunCMake/ctest_submit/FailDrop-scp-stderr.txt b/Tests/RunCMake/ctest_submit/FailDrop-scp-stderr.txt deleted file mode 100644 index ef67149..0000000 --- a/Tests/RunCMake/ctest_submit/FailDrop-scp-stderr.txt +++ /dev/null @@ -1 +0,0 @@ - Problems when submitting via SCP diff --git a/Tests/RunCMake/ctest_submit/FailDrop-scp-stdout.txt b/Tests/RunCMake/ctest_submit/FailDrop-scp-stdout.txt deleted file mode 100644 index ec2ce92..0000000 --- a/Tests/RunCMake/ctest_submit/FailDrop-scp-stdout.txt +++ /dev/null @@ -1 +0,0 @@ -Submit files \(using scp\) diff --git a/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake b/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake index b945ff6..097818c 100644 --- a/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake +++ b/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake @@ -52,4 +52,3 @@ endfunction() run_ctest_submit_FailDrop(ftp) run_ctest_submit_FailDrop(http) run_ctest_submit_FailDrop(https) -run_ctest_submit_FailDrop(scp) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=aebdad399efb1394f904428b52011513f7dd0b7c commit aebdad399efb1394f904428b52011513f7dd0b7c Author: Regina Pfeifer AuthorDate: Tue Nov 27 20:58:41 2018 +0100 Commit: Regina Pfeifer CommitDate: Thu Nov 29 00:29:13 2018 +0100 CTest: Remove submit method 'cp' diff --git a/Help/manual/ctest.1.rst b/Help/manual/ctest.1.rst index 82be6e3..511764c 100644 --- a/Help/manual/ctest.1.rst +++ b/Help/manual/ctest.1.rst @@ -1106,7 +1106,7 @@ Configuration settings include: ``DropMethod`` Specify the method by which results should be submitted to the - dashboard server. The value may be ``cp``, ``ftp``, ``http``, + dashboard server. The value may be ``ftp``, ``http``, ``https``, or ``scp``. * `CTest Script`_ variable: :variable:`CTEST_DROP_METHOD` @@ -1114,8 +1114,7 @@ Configuration settings include: else ``CTEST_DROP_METHOD`` ``DropSite`` - The dashboard server name - (for ``ftp``, ``http``, and ``https``, ``scp``). + The dashboard server name. * `CTest Script`_ variable: :variable:`CTEST_DROP_SITE` * :module:`CTest` module variable: ``DROP_SITE`` if set, diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx index 8323381..f457828 100644 --- a/Source/CTest/cmCTestSubmitHandler.cxx +++ b/Source/CTest/cmCTestSubmitHandler.cxx @@ -895,40 +895,6 @@ bool cmCTestSubmitHandler::SubmitUsingSCP( return problems == 0; } -bool cmCTestSubmitHandler::SubmitUsingCP(const std::string& localprefix, - const std::vector& files, - const std::string& remoteprefix, - const std::string& destination) -{ - if (localprefix.empty() || files.empty() || remoteprefix.empty() || - destination.empty()) { - /* clang-format off */ - cmCTestLog(this->CTest, ERROR_MESSAGE, - "Missing arguments for submit via cp:\n" - << "\tlocalprefix: " << localprefix << "\n" - << "\tNumber of files: " << files.size() << "\n" - << "\tremoteprefix: " << remoteprefix << "\n" - << "\tdestination: " << destination << std::endl); - /* clang-format on */ - return false; - } - - for (std::string const& file : files) { - std::string lfname = localprefix; - cmSystemTools::ConvertToUnixSlashes(lfname); - lfname += "/" + file; - std::string rfname = destination + "/" + remoteprefix + file; - cmSystemTools::CopyFileAlways(lfname, rfname); - cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, - " Copy file: " << lfname << " to " << rfname - << std::endl, - this->Quiet); - } - std::string tagDoneFile = destination + "/" + remoteprefix + "DONE"; - cmSystemTools::Touch(tagDoneFile, true); - return true; -} - void cmCTestSubmitHandler::ConstructCDashURL(std::string& dropMethod, std::string& url) { @@ -1514,36 +1480,6 @@ int cmCTestSubmitHandler::ProcessHandler() " Submission successful" << std::endl, this->Quiet); ofs << " Submission successful" << std::endl; return 0; - } else if (dropMethod == "cp") { - std::string location = this->CTest->GetCTestConfiguration("DropLocation"); - - // change to the build directory so that we can uses a relative path - // on windows since scp doesn't support "c:" a drive in the path - cmWorkingDirectory workdir(buildDirectory); - if (workdir.Failed()) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Failed to change directory to " - << buildDirectory << " : " - << std::strerror(workdir.GetLastResult()) << std::endl); - ofs << " Failed to change directory to " << buildDirectory << " : " - << std::strerror(workdir.GetLastResult()) << std::endl; - return -1; - } - cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, - " Change directory: " << buildDirectory << std::endl, - this->Quiet); - - if (!this->SubmitUsingCP("Testing/" + this->CTest->GetCurrentTag(), files, - prefix, location)) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Problems when submitting via CP" << std::endl); - ofs << " Problems when submitting via cp" << std::endl; - return -1; - } - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, - " Submission successful" << std::endl, this->Quiet); - ofs << " Submission successful" << std::endl; - return 0; } cmCTestLog(this->CTest, ERROR_MESSAGE, diff --git a/Source/CTest/cmCTestSubmitHandler.h b/Source/CTest/cmCTestSubmitHandler.h index 0f33735..5590561 100644 --- a/Source/CTest/cmCTestSubmitHandler.h +++ b/Source/CTest/cmCTestSubmitHandler.h @@ -68,10 +68,6 @@ private: const std::vector& files, const std::string& remoteprefix, const std::string& url); - bool SubmitUsingCP(const std::string& localprefix, - const std::vector& files, - const std::string& remoteprefix, const std::string& url); - bool TriggerUsingHTTP(const std::vector& files, const std::string& remoteprefix, const std::string& url); diff --git a/Tests/RunCMake/ctest_submit/FailDrop-cp-result.txt b/Tests/RunCMake/ctest_submit/FailDrop-cp-result.txt deleted file mode 100644 index b57e2de..0000000 --- a/Tests/RunCMake/ctest_submit/FailDrop-cp-result.txt +++ /dev/null @@ -1 +0,0 @@ -(-1|255) diff --git a/Tests/RunCMake/ctest_submit/FailDrop-cp-stderr.txt b/Tests/RunCMake/ctest_submit/FailDrop-cp-stderr.txt deleted file mode 100644 index 00a60ac..0000000 --- a/Tests/RunCMake/ctest_submit/FailDrop-cp-stderr.txt +++ /dev/null @@ -1,3 +0,0 @@ -Missing arguments for submit via cp: -.* - Problems when submitting via CP diff --git a/Tests/RunCMake/ctest_submit/FailDrop-cp-stdout.txt b/Tests/RunCMake/ctest_submit/FailDrop-cp-stdout.txt deleted file mode 100644 index fa6e004..0000000 --- a/Tests/RunCMake/ctest_submit/FailDrop-cp-stdout.txt +++ /dev/null @@ -1 +0,0 @@ -Submit files \(using cp\) diff --git a/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake b/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake index fc24f64..b945ff6 100644 --- a/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake +++ b/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake @@ -49,7 +49,6 @@ function(run_ctest_submit_FailDrop CASE_DROP_METHOD) run_ctest(FailDrop-${CASE_DROP_METHOD}) endfunction() -run_ctest_submit_FailDrop(cp) run_ctest_submit_FailDrop(ftp) run_ctest_submit_FailDrop(http) run_ctest_submit_FailDrop(https) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c2f6872c4e98a24a24675fa3f9fe016230eeb878 commit c2f6872c4e98a24a24675fa3f9fe016230eeb878 Author: Regina Pfeifer AuthorDate: Tue Nov 27 20:39:48 2018 +0100 Commit: Regina Pfeifer CommitDate: Thu Nov 29 00:29:12 2018 +0100 CTest: Remove submit method 'xmlrpc' diff --git a/CMakeLists.txt b/CMakeLists.txt index 756e379..699fd4d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -137,10 +137,6 @@ macro(CMAKE_HANDLE_SYSTEM_LIBRARIES) # Options have dependencies. include(CMakeDependentOption) - # Optionally use system xmlrpc. We no longer build or use it by default. - option(CTEST_USE_XMLRPC "Enable xmlrpc submission method in CTest." OFF) - mark_as_advanced(CTEST_USE_XMLRPC) - # Allow the user to enable/disable all system utility library options by # defining CMAKE_USE_SYSTEM_LIBRARIES or CMAKE_USE_SYSTEM_LIBRARY_${util}. set(UTILITIES BZIP2 CURL EXPAT FORM JSONCPP LIBARCHIVE LIBLZMA LIBRHASH LIBUV ZLIB) @@ -171,10 +167,8 @@ macro(CMAKE_HANDLE_SYSTEM_LIBRARIES) # Optionally use system utility libraries. option(CMAKE_USE_SYSTEM_LIBARCHIVE "Use system-installed libarchive" "${CMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE}") - CMAKE_DEPENDENT_OPTION(CMAKE_USE_SYSTEM_CURL "Use system-installed curl" - "${CMAKE_USE_SYSTEM_LIBRARY_CURL}" "NOT CTEST_USE_XMLRPC" ON) - CMAKE_DEPENDENT_OPTION(CMAKE_USE_SYSTEM_EXPAT "Use system-installed expat" - "${CMAKE_USE_SYSTEM_LIBRARY_EXPAT}" "NOT CTEST_USE_XMLRPC" ON) + option(CMAKE_USE_SYSTEM_CURL "Use system-installed curl" "${CMAKE_USE_SYSTEM_LIBRARY_CURL}") + option(CMAKE_USE_SYSTEM_EXPAT "Use system-installed expat" "${CMAKE_USE_SYSTEM_LIBRARY_EXPAT}") CMAKE_DEPENDENT_OPTION(CMAKE_USE_SYSTEM_ZLIB "Use system-installed zlib" "${CMAKE_USE_SYSTEM_LIBRARY_ZLIB}" "NOT CMAKE_USE_SYSTEM_LIBARCHIVE;NOT CMAKE_USE_SYSTEM_CURL" ON) CMAKE_DEPENDENT_OPTION(CMAKE_USE_SYSTEM_BZIP2 "Use system-installed bzip2" @@ -212,7 +206,7 @@ endmacro() macro(CMAKE_SETUP_TESTING) if(BUILD_TESTING) set(CMAKE_TEST_SYSTEM_LIBRARIES 0) - foreach(util CURL EXPAT XMLRPC ZLIB) + foreach(util CURL EXPAT ZLIB) if(CMAKE_USE_SYSTEM_${util}) set(CMAKE_TEST_SYSTEM_LIBRARIES 1) endif() @@ -572,18 +566,6 @@ macro (CMAKE_BUILD_UTILITIES) endif() #--------------------------------------------------------------------- - # Build XMLRPC library for CMake and CTest. - if(CTEST_USE_XMLRPC) - find_package(XMLRPC QUIET REQUIRED libwww-client) - if(NOT XMLRPC_FOUND) - message(FATAL_ERROR - "CTEST_USE_XMLRPC is ON but xmlrpc is not found!") - endif() - set(CMAKE_XMLRPC_INCLUDES ${XMLRPC_INCLUDE_DIRS}) - set(CMAKE_XMLRPC_LIBRARIES ${XMLRPC_LIBRARIES}) - endif() - - #--------------------------------------------------------------------- # Use curses? if (UNIX) if(NOT DEFINED BUILD_CursesDialog) @@ -736,7 +718,7 @@ if(NOT CMake_TEST_EXTERNAL_CMAKE) # the build tree, which is both the build and the install RPATH. if (UNIX) if( CMAKE_USE_SYSTEM_CURL OR CMAKE_USE_SYSTEM_ZLIB - OR CMAKE_USE_SYSTEM_EXPAT OR CTEST_USE_XMLRPC OR CURSES_NEED_RPATH OR QT_NEED_RPATH) + OR CMAKE_USE_SYSTEM_EXPAT OR CURSES_NEED_RPATH OR QT_NEED_RPATH) set(CMAKE_SKIP_RPATH OFF CACHE INTERNAL "CMake built with RPATH.") set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) diff --git a/Help/manual/ctest.1.rst b/Help/manual/ctest.1.rst index 9e0ce27..82be6e3 100644 --- a/Help/manual/ctest.1.rst +++ b/Help/manual/ctest.1.rst @@ -1107,8 +1107,7 @@ Configuration settings include: ``DropMethod`` Specify the method by which results should be submitted to the dashboard server. The value may be ``cp``, ``ftp``, ``http``, - ``https``, ``scp``, or ``xmlrpc`` (if CMake was built with - support for it). + ``https``, or ``scp``. * `CTest Script`_ variable: :variable:`CTEST_DROP_METHOD` * :module:`CTest` module variable: ``DROP_METHOD`` if set, @@ -1116,7 +1115,7 @@ Configuration settings include: ``DropSite`` The dashboard server name - (for ``ftp``, ``http``, and ``https``, ``scp``, and ``xmlrpc``). + (for ``ftp``, ``http``, and ``https``, ``scp``). * `CTest Script`_ variable: :variable:`CTEST_DROP_SITE` * :module:`CTest` module variable: ``DROP_SITE`` if set, diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index 9aebfa7..464d6f3 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -813,7 +813,6 @@ target_compile_definitions(CMakeLib PUBLIC ${CLANG_TIDY_DEFINITIONS}) # include_directories( "${CMake_SOURCE_DIR}/Source/CTest" - ${CMAKE_XMLRPC_INCLUDES} ${CMAKE_CURL_INCLUDES} ) # @@ -879,7 +878,7 @@ set(CTEST_SRCS cmCTest.cxx # Build CTestLib add_library(CTestLib ${CTEST_SRCS}) -target_link_libraries(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES}) +target_link_libraries(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES}) # # CPack diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx index 061c8ef..8323381 100644 --- a/Source/CTest/cmCTestSubmitHandler.cxx +++ b/Source/CTest/cmCTestSubmitHandler.cxx @@ -23,17 +23,10 @@ #include "cmProcessOutput.h" #include "cmState.h" #include "cmSystemTools.h" -#include "cmThirdParty.h" #include "cmWorkingDirectory.h" #include "cmXMLParser.h" #include "cmake.h" -#if defined(CTEST_USE_XMLRPC) -# include "cmVersion.h" -# include "cm_sys_stat.h" -# include "cm_xmlrpc.h" -#endif - #define SUBMIT_TIMEOUT_IN_SECONDS_DEFAULT 120 typedef std::vector cmCTestSubmitHandlerVectorOfChar; @@ -936,110 +929,6 @@ bool cmCTestSubmitHandler::SubmitUsingCP(const std::string& localprefix, return true; } -#if defined(CTEST_USE_XMLRPC) -bool cmCTestSubmitHandler::SubmitUsingXMLRPC( - const std::string& localprefix, const std::vector& files, - const std::string& remoteprefix, const std::string& url) -{ - xmlrpc_env env; - char ctestString[] = "CTest"; - std::string ctestVersionString = cmVersion::GetCMakeVersion(); - char* ctestVersion = const_cast(ctestVersionString.c_str()); - - std::string realURL = url + "/" + remoteprefix + "/Command/"; - - /* Start up our XML-RPC client library. */ - xmlrpc_client_init(XMLRPC_CLIENT_NO_FLAGS, ctestString, ctestVersion); - - /* Initialize our error-handling environment. */ - xmlrpc_env_init(&env); - - /* Call the famous server at UserLand. */ - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, - " Submitting to: " << realURL << " (" << remoteprefix - << ")" << std::endl, - this->Quiet); - for (std::string const& file : files) { - xmlrpc_value* result; - - std::string local_file = file; - if (!cmSystemTools::FileExists(local_file)) { - local_file = localprefix + "/" + file; - } - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, - " Submit file: " << local_file << std::endl, - this->Quiet); - struct stat st; - if (::stat(local_file.c_str(), &st)) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Cannot find file: " << local_file << std::endl); - return false; - } - - // off_t can be bigger than size_t. fread takes size_t. - // make sure the file is not too big. - if (static_cast(static_cast(st.st_size)) != - static_cast(st.st_size)) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - " File too big: " << local_file << std::endl); - return false; - } - size_t fileSize = static_cast(st.st_size); - FILE* fp = cmsys::SystemTools::Fopen(local_file, "rb"); - if (!fp) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Cannot open file: " << local_file << std::endl); - return false; - } - - unsigned char* fileBuffer = new unsigned char[fileSize]; - if (fread(fileBuffer, 1, fileSize, fp) != fileSize) { - delete[] fileBuffer; - fclose(fp); - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Cannot read file: " << local_file << std::endl); - return false; - } - fclose(fp); - - char remoteCommand[] = "Submit.put"; - char* pRealURL = const_cast(realURL.c_str()); - result = - xmlrpc_client_call(&env, pRealURL, remoteCommand, "(6)", fileBuffer, - static_cast(fileSize)); - - delete[] fileBuffer; - - if (env.fault_occurred) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Submission problem: " << env.fault_string << " (" - << env.fault_code << ")" - << std::endl); - xmlrpc_env_clean(&env); - xmlrpc_client_cleanup(); - return false; - } - - /* Dispose of our result value. */ - xmlrpc_DECREF(result); - } - - /* Clean up our error-handling environment. */ - xmlrpc_env_clean(&env); - - /* Shutdown our XML-RPC client library. */ - xmlrpc_client_cleanup(); - return true; -} -#else -bool cmCTestSubmitHandler::SubmitUsingXMLRPC( - std::string const& /*unused*/, std::vector const& /*unused*/, - std::string const& /*unused*/, std::string const& /*unused*/) -{ - return false; -} -#endif - void cmCTestSubmitHandler::ConstructCDashURL(std::string& dropMethod, std::string& url) { @@ -1592,32 +1481,6 @@ int cmCTestSubmitHandler::ProcessHandler() } return 0; - } else if (dropMethod == "xmlrpc") { -#if defined(CTEST_USE_XMLRPC) - ofs << "Using drop method: XML-RPC" << std::endl; - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, - " Using XML-RPC submit method" << std::endl, - this->Quiet); - std::string url = this->CTest->GetCTestConfiguration("DropSite"); - prefix = this->CTest->GetCTestConfiguration("DropLocation"); - if (!this->SubmitUsingXMLRPC(buildDirectory + "/Testing/" + - this->CTest->GetCurrentTag(), - files, prefix, url)) { - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Problems when submitting via XML-RPC" << std::endl); - ofs << " Problems when submitting via XML-RPC" << std::endl; - return -1; - } - cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, - " Submission successful" << std::endl, this->Quiet); - ofs << " Submission successful" << std::endl; - return 0; -#else - cmCTestLog(this->CTest, ERROR_MESSAGE, - " Submission method \"xmlrpc\" not compiled into CTest!" - << std::endl); - return -1; -#endif } else if (dropMethod == "scp") { std::string url; if (!this->CTest->GetCTestConfiguration("DropSiteUser").empty()) { diff --git a/Source/CTest/cmCTestSubmitHandler.h b/Source/CTest/cmCTestSubmitHandler.h index 66f2173..0f33735 100644 --- a/Source/CTest/cmCTestSubmitHandler.h +++ b/Source/CTest/cmCTestSubmitHandler.h @@ -76,11 +76,6 @@ private: const std::string& remoteprefix, const std::string& url); - bool SubmitUsingXMLRPC(const std::string& localprefix, - const std::vector& files, - const std::string& remoteprefix, - const std::string& url); - typedef std::vector cmCTestSubmitHandlerVectorOfChar; void ParseResponse(cmCTestSubmitHandlerVectorOfChar chunk); diff --git a/Source/cmCurl.cxx b/Source/cmCurl.cxx index 3360323..0482898 100644 --- a/Source/cmCurl.cxx +++ b/Source/cmCurl.cxx @@ -2,8 +2,6 @@ file Copyright.txt or https://cmake.org/licensing for details. */ #include "cmCurl.h" -#include "cmThirdParty.h" - #if !defined(CMAKE_USE_SYSTEM_CURL) && !defined(_WIN32) && \ !defined(__APPLE__) && !defined(CURL_CA_BUNDLE) && !defined(CURL_CA_PATH) # define CMAKE_FIND_CAFILE diff --git a/Tests/RunCMake/ctest_submit/FailDrop-xmlrpc-result.txt b/Tests/RunCMake/ctest_submit/FailDrop-xmlrpc-result.txt deleted file mode 100644 index b57e2de..0000000 --- a/Tests/RunCMake/ctest_submit/FailDrop-xmlrpc-result.txt +++ /dev/null @@ -1 +0,0 @@ -(-1|255) diff --git a/Tests/RunCMake/ctest_submit/FailDrop-xmlrpc-stderr.txt b/Tests/RunCMake/ctest_submit/FailDrop-xmlrpc-stderr.txt deleted file mode 100644 index c0f718e..0000000 --- a/Tests/RunCMake/ctest_submit/FailDrop-xmlrpc-stderr.txt +++ /dev/null @@ -1 +0,0 @@ - (Problems when submitting via XML-RPC|Submission method "xmlrpc" not compiled into CTest!) diff --git a/Tests/RunCMake/ctest_submit/FailDrop-xmlrpc-stdout.txt b/Tests/RunCMake/ctest_submit/FailDrop-xmlrpc-stdout.txt deleted file mode 100644 index ed2acb5..0000000 --- a/Tests/RunCMake/ctest_submit/FailDrop-xmlrpc-stdout.txt +++ /dev/null @@ -1 +0,0 @@ -Submit files \(using xmlrpc\) diff --git a/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake b/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake index 178f0cb..fc24f64 100644 --- a/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake +++ b/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake @@ -54,4 +54,3 @@ run_ctest_submit_FailDrop(ftp) run_ctest_submit_FailDrop(http) run_ctest_submit_FailDrop(https) run_ctest_submit_FailDrop(scp) -run_ctest_submit_FailDrop(xmlrpc) diff --git a/Utilities/IWYU/mapping.imp b/Utilities/IWYU/mapping.imp index 5af8b85..a68d767 100644 --- a/Utilities/IWYU/mapping.imp +++ b/Utilities/IWYU/mapping.imp @@ -97,9 +97,6 @@ { include: [ "@", private, "\"cm_uv.h\"", public ] }, { include: [ "", private, "\"cm_kwiml.h\"", public ] }, { include: [ "", private, "\"cm_kwiml.h\"", public ] }, - { include: [ "", private, "\"cm_xmlrpc.h\"", public ] }, - { include: [ "", private, "\"cm_xmlrpc.h\"", public ] }, - { include: [ "@", private, "\"cm_xmlrpc.h\"", public ] }, { include: [ "", private, "\"cm_zlib.h\"", public ] }, { include: [ "", private, "\"cm_zlib.h\"", public ] }, diff --git a/Utilities/cmThirdParty.h.in b/Utilities/cmThirdParty.h.in index a547f0d..46e0490 100644 --- a/Utilities/cmThirdParty.h.in +++ b/Utilities/cmThirdParty.h.in @@ -15,6 +15,5 @@ #cmakedefine CMAKE_USE_SYSTEM_JSONCPP #cmakedefine CMAKE_USE_SYSTEM_LIBRHASH #cmakedefine CMAKE_USE_SYSTEM_LIBUV -#cmakedefine CTEST_USE_XMLRPC #endif diff --git a/Utilities/cm_xmlrpc.h b/Utilities/cm_xmlrpc.h deleted file mode 100644 index 932066a..0000000 --- a/Utilities/cm_xmlrpc.h +++ /dev/null @@ -1,13 +0,0 @@ -/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying - file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cm_xmlrpc_h -#define cm_xmlrpc_h - -/* Use the xmlrpc library configured for CMake. */ -#include "cmThirdParty.h" -#ifdef CTEST_USE_XMLRPC -# include -# include -#endif - -#endif https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8107508b3e610cd2fbbcbf6111f125d39e16f74d commit 8107508b3e610cd2fbbcbf6111f125d39e16f74d Author: Stephan Szabo AuthorDate: Tue Nov 20 17:01:59 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:31 2018 -0800 Remove old flag table headers diff --git a/Source/cmVS10CLFlagTable.h b/Source/cmVS10CLFlagTable.h deleted file mode 100644 index f707afc..0000000 --- a/Source/cmVS10CLFlagTable.h +++ /dev/null @@ -1,205 +0,0 @@ -static cmVS7FlagTable cmVS10CLFlagTable[] = { - - // Enum Properties - { "DebugInformationFormat", "Z7", "C7 compatible", "OldStyle", 0 }, - { "DebugInformationFormat", "Zi", "Program Database", "ProgramDatabase", 0 }, - { "DebugInformationFormat", "ZI", "Program Database for Edit And Continue", - "EditAndContinue", 0 }, - - { "WarningLevel", "W0", "Turn Off All Warnings", "TurnOffAllWarnings", 0 }, - { "WarningLevel", "W1", "Level1", "Level1", 0 }, - { "WarningLevel", "W2", "Level2", "Level2", 0 }, - { "WarningLevel", "W3", "Level3", "Level3", 0 }, - { "WarningLevel", "W4", "Level4", "Level4", 0 }, - { "WarningLevel", "Wall", "EnableAllWarnings", "EnableAllWarnings", 0 }, - - { "Optimization", "Od", "Disabled", "Disabled", 0 }, - { "Optimization", "O1", "Minimize Size", "MinSpace", 0 }, - { "Optimization", "O2", "Maximize Speed", "MaxSpeed", 0 }, - { "Optimization", "Ox", "Full Optimization", "Full", 0 }, - - { "InlineFunctionExpansion", "", "Default", "Default", 0 }, - { "InlineFunctionExpansion", "Ob0", "Disabled", "Disabled", 0 }, - { "InlineFunctionExpansion", "Ob1", "Only __inline", "OnlyExplicitInline", - 0 }, - { "InlineFunctionExpansion", "Ob2", "Any Suitable", "AnySuitable", 0 }, - - { "FavorSizeOrSpeed", "Os", "Favor small code", "Size", 0 }, - { "FavorSizeOrSpeed", "Ot", "Favor fast code", "Speed", 0 }, - { "FavorSizeOrSpeed", "", "Neither", "Neither", 0 }, - - { "ExceptionHandling", "EHa", "Yes with SEH Exceptions", "Async", 0 }, - { "ExceptionHandling", "EHsc", "Yes", "Sync", 0 }, - { "ExceptionHandling", "EHs", "Yes with Extern C functions", "SyncCThrow", - 0 }, - { "ExceptionHandling", "", "No", "false", 0 }, - - { "BasicRuntimeChecks", "RTCs", "Stack Frames", "StackFrameRuntimeCheck", - 0 }, - { "BasicRuntimeChecks", "RTCu", "Uninitialized variables", - "UninitializedLocalUsageCheck", 0 }, - { "BasicRuntimeChecks", "RTC1", "Both (/RTC1, equiv. to /RTCsu)", - "EnableFastChecks", 0 }, - { "BasicRuntimeChecks", "", "Default", "Default", 0 }, - - { "RuntimeLibrary", "MT", "Multi-threaded", "MultiThreaded", 0 }, - { "RuntimeLibrary", "MTd", "Multi-threaded Debug", "MultiThreadedDebug", 0 }, - { "RuntimeLibrary", "MD", "Multi-threaded DLL", "MultiThreadedDLL", 0 }, - { "RuntimeLibrary", "MDd", "Multi-threaded Debug DLL", - "MultiThreadedDebugDLL", 0 }, - - { "StructMemberAlignment", "Zp1", "1 Byte", "1Byte", 0 }, - { "StructMemberAlignment", "Zp2", "2 Bytes", "2Bytes", 0 }, - { "StructMemberAlignment", "Zp4", "4 Byte", "4Bytes", 0 }, - { "StructMemberAlignment", "Zp8", "8 Bytes", "8Bytes", 0 }, - { "StructMemberAlignment", "Zp16", "16 Bytes", "16Bytes", 0 }, - { "StructMemberAlignment", "", "Default", "Default", 0 }, - - { "EnableEnhancedInstructionSet", "arch:SSE", - "Streaming SIMD Extensions (/arch:SSE)", "StreamingSIMDExtensions", 0 }, - { "EnableEnhancedInstructionSet", "arch:SSE2", - "Streaming SIMD Extensions 2 (/arch:SSE2)", "StreamingSIMDExtensions2", - 0 }, - { "EnableEnhancedInstructionSet", "", "Not Set", "NotSet", 0 }, - - { "FloatingPointModel", "fp:precise", "Precise", "Precise", 0 }, - { "FloatingPointModel", "fp:strict", "Strict", "Strict", 0 }, - { "FloatingPointModel", "fp:fast", "Fast", "Fast", 0 }, - - { "PrecompiledHeader", "Yc", "Create", "Create", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "PrecompiledHeader", "Yu", "Use", "Use", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "PrecompiledHeader", "Y-", "Not Using Precompiled Headers", "NotUsing", - 0 }, - - { "AssemblerOutput", "", "No Listing", "NoListing", 0 }, - { "AssemblerOutput", "FA", "Assembly-Only Listing", "AssemblyCode", 0 }, - { "AssemblerOutput", "FAc", "Assembly With Machine Code", - "AssemblyAndMachineCode", 0 }, - { "AssemblerOutput", "FAs", "Assembly With Source Code", - "AssemblyAndSourceCode", 0 }, - { "AssemblerOutput", "FAcs", "Assembly, Machine Code and Source", "All", 0 }, - - { "CallingConvention", "Gd", "__cdecl", "Cdecl", 0 }, - { "CallingConvention", "Gr", "__fastcall", "FastCall", 0 }, - { "CallingConvention", "Gz", "__stdcall", "StdCall", 0 }, - - { "CompileAs", "", "Default", "Default", 0 }, - { "CompileAs", "TC", "Compile as C Code", "CompileAsC", 0 }, - { "CompileAs", "TP", "Compile as C++ Code", "CompileAsCpp", 0 }, - - { "ErrorReporting", "errorReport:none", "Do Not Send Report", "None", 0 }, - { "ErrorReporting", "errorReport:prompt", "Prompt Immediately", "Prompt", - 0 }, - { "ErrorReporting", "errorReport:queue", "Queue For Next Login", "Queue", - 0 }, - { "ErrorReporting", "errorReport:send", "Send Automatically", "Send", 0 }, - - { "CompileAsManaged", "", "No Common Language RunTime Support", "false", 0 }, - { "CompileAsManaged", "clr", "Common Language RunTime Support", "true", 0 }, - { "CompileAsManaged", "clr:pure", - "Pure MSIL Common Language RunTime Support", "Pure", 0 }, - { "CompileAsManaged", "clr:safe", - "Safe MSIL Common Language RunTime Support", "Safe", 0 }, - { "CompileAsManaged", "clr:oldSyntax", - "Common Language RunTime Support, Old Syntax", "OldSyntax", 0 }, - - // Bool Properties - { "SuppressStartupBanner", "nologo-", "", "false", 0 }, - { "SuppressStartupBanner", "nologo", "", "true", 0 }, - { "TreatWarningAsError", "WX-", "", "false", 0 }, - { "TreatWarningAsError", "WX", "", "true", 0 }, - { "IntrinsicFunctions", "Oi", "", "true", 0 }, - { "OmitFramePointers", "Oy-", "", "false", 0 }, - { "OmitFramePointers", "Oy", "", "true", 0 }, - { "EnableFiberSafeOptimizations", "GT", "", "true", 0 }, - { "WholeProgramOptimization", "GL", "", "true", 0 }, - { "UndefineAllPreprocessorDefinitions", "u", "", "true", 0 }, - { "IgnoreStandardIncludePath", "X", "", "true", 0 }, - { "PreprocessToFile", "P", "", "true", 0 }, - { "PreprocessSuppressLineNumbers", "EP", "", "true", 0 }, - { "PreprocessKeepComments", "C", "", "true", 0 }, - { "StringPooling", "GF-", "", "false", 0 }, - { "StringPooling", "GF", "", "true", 0 }, - { "MinimalRebuild", "Gm-", "", "false", 0 }, - { "MinimalRebuild", "Gm", "", "true", 0 }, - { "SmallerTypeCheck", "RTCc", "", "true", 0 }, - { "BufferSecurityCheck", "GS-", "", "false", 0 }, - { "BufferSecurityCheck", "GS", "", "true", 0 }, - { "FunctionLevelLinking", "Gy-", "", "false", 0 }, - { "FunctionLevelLinking", "Gy", "", "true", 0 }, - { "FloatingPointExceptions", "fp:except-", "", "false", 0 }, - { "FloatingPointExceptions", "fp:except", "", "true", 0 }, - { "CreateHotpatchableImage", "hotpatch", "", "true", 0 }, - { "DisableLanguageExtensions", "Za", "", "true", 0 }, - { "TreatWChar_tAsBuiltInType", "Zc:wchar_t-", "", "false", 0 }, - { "TreatWChar_tAsBuiltInType", "Zc:wchar_t", "", "true", 0 }, - { "ForceConformanceInForLoopScope", "Zc:forScope-", "", "false", 0 }, - { "ForceConformanceInForLoopScope", "Zc:forScope", "", "true", 0 }, - { "RuntimeTypeInfo", "GR-", "", "false", 0 }, - { "RuntimeTypeInfo", "GR", "", "true", 0 }, - { "OpenMPSupport", "openmp-", "", "false", 0 }, - { "OpenMPSupport", "openmp", "", "true", 0 }, - { "ExpandAttributedSource", "Fx", "", "true", 0 }, - { "ShowIncludes", "showIncludes", "", "true", 0 }, - { "EnablePREfast", "analyze-", "", "false", 0 }, - { "EnablePREfast", "analyze", "", "true", 0 }, - { "UseFullPaths", "FC", "", "true", 0 }, - { "OmitDefaultLibName", "Zl", "", "true", 0 }, - { "UseUnicodeForAssemblerListing", "FAu", "", "true", 0 }, - - // Bool Properties With Argument - { "MultiProcessorCompilation", "MP", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "ProcessorNumber", "MP", "Multi-processor Compilation", "", - cmVS7FlagTable::UserValueRequired }, - { "GenerateXMLDocumentationFiles", "doc", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "XMLDocumentationFileName", "doc", "Generate XML Documentation Files", "", - cmVS7FlagTable::UserValueRequired }, - { "BrowseInformation", "FR", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "BrowseInformationFile", "FR", "Enable Browse Information", "", - cmVS7FlagTable::UserValueRequired }, - - // String List Properties - { "AdditionalIncludeDirectories", "I", "Additional Include Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AdditionalUsingDirectories", "AI", "Resolve #using References", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "PreprocessorDefinitions", "D ", "Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "UndefinePreprocessorDefinitions", "U", - "Undefine Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "DisableSpecificWarnings", "wd", "Disable Specific Warnings", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ForcedIncludeFiles", "FI", "Forced Include File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ForcedUsingFiles", "FU", "Forced #using File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "TreatSpecificWarningsAsErrors", "we", "Treat Specific Warnings As Errors", - "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - - // String Properties - // Skip [TrackerLogDirectory] - no command line Switch. - { "PreprocessOutputPath", "Fi", "Preprocess Output Path", "", - cmVS7FlagTable::UserValue }, - { "PrecompiledHeaderFile", "Yc", "Precompiled Header Name", "", - cmVS7FlagTable::UserValueRequired }, - { "PrecompiledHeaderFile", "Yu", "Precompiled Header Name", "", - cmVS7FlagTable::UserValueRequired }, - { "PrecompiledHeaderOutputFile", "Fp", "Precompiled Header Output File", "", - cmVS7FlagTable::UserValue }, - { "AssemblerListingLocation", "Fa", "ASM List Location", "", - cmVS7FlagTable::UserValue }, - { "ObjectFileName", "Fo", "Object File Name", "", - cmVS7FlagTable::UserValue }, - { "ProgramDataBaseFileName", "Fd", "Program Database File Name", "", - cmVS7FlagTable::UserValue }, - // Skip [XMLDocumentationFileName] - no command line Switch. - // Skip [BrowseInformationFile] - no command line Switch. - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS10CSharpFlagTable.h b/Source/cmVS10CSharpFlagTable.h deleted file mode 100644 index 40c21e8..0000000 --- a/Source/cmVS10CSharpFlagTable.h +++ /dev/null @@ -1,121 +0,0 @@ -static cmVS7FlagTable cmVS10CSharpFlagTable[] = { - { "ProjectName", "out:", "", "", cmIDEFlagTable::UserValueRequired }, - - { "OutputType", "target:exe", "", "Exe", 0 }, - { "OutputType", "target:winexe", "", "Winexe", 0 }, - { "OutputType", "target:library", "", "Library", 0 }, - { "OutputType", "target:module", "", "Module", 0 }, - - { "DocumentationFile", "doc", "", "", cmIDEFlagTable::UserValueRequired }, - - { "Platform", "platform:x86", "", "x86", 0 }, - { "Platform", "platform:Itanium", "", "Itanium", 0 }, - { "Platform", "platform:x64", "", "x64", 0 }, - { "Platform", "platform:arm", "", "arm", 0 }, - { "Platform", "platform:anycpu32bitpreferred", "", "anycpu32bitpreferred", - 0 }, - { "Platform", "platform:anycpu", "", "anycpu", 0 }, - - { "References", "reference:", "mit alias", "", 0 }, - { "References", "reference:", "dateiliste", "", 0 }, - { "AddModules", "addmodule:", "", "", cmIDEFlagTable::SemicolonAppendable }, - { "", "link", "", "", 0 }, - - { "Win32Resource", "win32res:", "", "", cmIDEFlagTable::UserValueRequired }, - { "ApplicationIcon", "win32icon:", "", "", - cmIDEFlagTable::UserValueRequired }, - - { "ApplicationManifest", "win32manifest:", "", "", - cmIDEFlagTable::UserValueRequired }, - - { "NoWin32Manifest", "nowin32manifest", "", "true", 0 }, - - { "DefineDebug", "debug", "", "true", cmIDEFlagTable::Continue }, - - { "DebugSymbols", "debug", "", "true", 0 }, - { "DebugSymbols", "debug-", "", "false", 0 }, - { "DebugSymbols", "debug+", "", "true", 0 }, - - { "DebugType", "debug:none", "", "none", 0 }, - { "DebugType", "debug:full", "", "full", 0 }, - { "DebugType", "debug:pdbonly", "", "pdbonly", 0 }, - - { "Optimize", "optimize", "", "true", 0 }, - { "Optimize", "optimize-", "", "false", 0 }, - { "Optimize", "optimize+", "", "true", 0 }, - - { "TreatWarningsAsErrors", "warnaserror", "", "true", 0 }, - { "TreatWarningsAsErrors", "warnaserror-", "", "false", 0 }, - { "TreatWarningsAsErrors", "warnaserror+", "", "true", 0 }, - - { "WarningsAsErrors", "warnaserror", "", "", 0 }, - { "WarningsAsErrors", "warnaserror-", "", "", 0 }, - { "WarningsAsErrors", "warnaserror+", "", "", 0 }, - - { "WarningLevel", "warn:0", "", "0", 0 }, - { "WarningLevel", "warn:1", "", "1", 0 }, - { "WarningLevel", "warn:2", "", "2", 0 }, - { "WarningLevel", "warn:3", "", "3", 0 }, - { "WarningLevel", "warn:4", "", "4", 0 }, - { "DisabledWarnings", "nowarn", "", "", 0 }, - - { "CheckForOverflowUnderflow", "checked", "", "true", 0 }, - { "CheckForOverflowUnderflow", "checked-", "", "false", 0 }, - { "CheckForOverflowUnderflow", "checked+", "", "true", 0 }, - - { "AllowUnsafeBlocks", "unsafe", "", "true", 0 }, - { "AllowUnsafeBlocks", "unsafe-", "", "false", 0 }, - { "AllowUnsafeBlocks", "unsafe+", "", "true", 0 }, - - { "DefineConstants", "define:", "", "", - cmIDEFlagTable::SemicolonAppendable | cmIDEFlagTable::UserValue }, - - { "LangVersion", "langversion:ISO-1", "", "ISO-1", 0 }, - { "LangVersion", "langversion:ISO-2", "", "ISO-2", 0 }, - { "LangVersion", "langversion:3", "", "3", 0 }, - { "LangVersion", "langversion:4", "", "4", 0 }, - { "LangVersion", "langversion:5", "", "5", 0 }, - { "LangVersion", "langversion:6", "", "6", 0 }, - { "LangVersion", "langversion:default", "", "default", 0 }, - - { "DelaySign", "delaysign", "", "true", 0 }, - { "DelaySign", "delaysign-", "", "false", 0 }, - { "DelaySign", "delaysign+", "", "true", 0 }, - - { "AssemblyOriginatorKeyFile", "keyfile", "", "", 0 }, - - { "KeyContainerName", "keycontainer", "", "", 0 }, - - { "NoLogo", "nologo", "", "", 0 }, - - { "NoConfig", "noconfig", "", "true", 0 }, - - { "BaseAddress", "baseaddress:", "", "", 0 }, - - { "CodePage", "codepage", "", "", 0 }, - - { "Utf8Output", "utf8output", "", "", 0 }, - - { "MainEntryPoint", "main:", "", "", 0 }, - - { "GenerateFullPaths", "fullpaths", "", "true", 0 }, - - { "FileAlignment", "filealign", "", "", 0 }, - - { "PdbFile", "pdb:", "", "", 0 }, - - { "NoStandardLib", "nostdlib", "", "true", 0 }, - { "NoStandardLib", "nostdlib-", "", "false", 0 }, - { "NoStandardLib", "nostdlib+", "", "true", 0 }, - - { "SubsystemVersion", "subsystemversion", "", "", 0 }, - - { "AdditionalLibPaths", "lib:", "", "", 0 }, - - { "ErrorReport", "errorreport:none", "Do Not Send Report", "none", 0 }, - { "ErrorReport", "errorreport:prompt", "Prompt Immediately", "prompt", 0 }, - { "ErrorReport", "errorreport:queue", "Queue For Next Login", "queue", 0 }, - { "ErrorReport", "errorreport:send", "Send Automatically", "send", 0 }, - - { "", "", "", "", 0 }, -}; diff --git a/Source/cmVS10CudaFlagTable.h b/Source/cmVS10CudaFlagTable.h deleted file mode 100644 index 858b97b..0000000 --- a/Source/cmVS10CudaFlagTable.h +++ /dev/null @@ -1,54 +0,0 @@ -static cmVS7FlagTable cmVS10CudaFlagTable[] = { - // Collect options meant for the host compiler. - { "AdditionalCompilerOptions", "Xcompiler=", "Host compiler options", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SpaceAppendable }, - { "AdditionalCompilerOptions", "Xcompiler", "Host compiler options", "", - cmVS7FlagTable::UserFollowing | cmVS7FlagTable::SpaceAppendable }, - - // Select the CUDA runtime library. - { "CudaRuntime", "cudart=none", "No CUDA runtime library", "None", 0 }, - { "CudaRuntime", "cudart=shared", "Shared/dynamic CUDA runtime library", - "Shared", 0 }, - { "CudaRuntime", "cudart=static", "Static CUDA runtime library", "Static", - 0 }, - { "CudaRuntime", "cudart", "CUDA runtime library", "", - cmVS7FlagTable::UserFollowing }, - - // Capture arch/code arguments into temporaries for post-processing. - { "cmake-temp-gencode", "gencode=", "", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "cmake-temp-gencode", "gencode", "", "", - cmVS7FlagTable::UserFollowing | cmVS7FlagTable::SemicolonAppendable }, - { "cmake-temp-gencode", "-generate-code=", "", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "cmake-temp-gencode", "-generate-code", "", "", - cmVS7FlagTable::UserFollowing | cmVS7FlagTable::SemicolonAppendable }, - - { "cmake-temp-code", "code=", "", "", cmVS7FlagTable::UserValue }, - { "cmake-temp-code", "code", "", "", cmVS7FlagTable::UserFollowing }, - { "cmake-temp-code", "-gpu-code=", "", "", cmVS7FlagTable::UserValue }, - { "cmake-temp-code", "-gpu-code", "", "", cmVS7FlagTable::UserFollowing }, - - { "cmake-temp-arch", "arch=", "", "", cmVS7FlagTable::UserValue }, - { "cmake-temp-arch", "arch", "", "", cmVS7FlagTable::UserFollowing }, - { "cmake-temp-arch", "-gpu-architecture=", "", "", - cmVS7FlagTable::UserValue }, - { "cmake-temp-arch", "-gpu-architecture", "", "", - cmVS7FlagTable::UserFollowing }, - - // Other flags. - - { "FastMath", "use_fast_math", "", "true", 0 }, - { "FastMath", "-use_fast_math", "", "true", 0 }, - - { "GPUDebugInfo", "G", "", "true", 0 }, - { "GPUDebugInfo", "-device-debug", "", "true", 0 }, - - { "HostDebugInfo", "g", "", "true", 0 }, - { "HostDebugInfo", "-debug", "", "true", 0 }, - - { "MaxRegCount", "maxrregcount=", "", "", cmVS7FlagTable::UserValue }, - { "MaxRegCount", "maxrregcount", "", "", cmVS7FlagTable::UserFollowing }, - - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS10CudaHostFlagTable.h b/Source/cmVS10CudaHostFlagTable.h deleted file mode 100644 index b4b73c7..0000000 --- a/Source/cmVS10CudaHostFlagTable.h +++ /dev/null @@ -1,35 +0,0 @@ -static cmVS7FlagTable cmVS10CudaHostFlagTable[] = { - //{"Optimization", "", "", "InheritFromHost", 0}, - { "Optimization", "Od", "Disabled", "Od", 0 }, - { "Optimization", "O1", "Minimize Size", "O1", 0 }, - { "Optimization", "O2", "Maximize Speed", "O2", 0 }, - { "Optimization", "Ox", "Full Optimization", "O3", 0 }, - - //{"Runtime", "", "", "InheritFromHost", 0}, - { "Runtime", "MT", "Multi-Threaded", "MT", 0 }, - { "Runtime", "MTd", "Multi-Threaded Debug", "MTd", 0 }, - { "Runtime", "MD", "Multi-Threaded DLL", "MD", 0 }, - { "Runtime", "MDd", "Multi-threaded Debug DLL", "MDd", 0 }, - { "Runtime", "ML", "Single-Threaded", "ML", 0 }, - { "Runtime", "MLd", "Single-Threaded Debug", "MLd", 0 }, - - //{"RuntimeChecks", "", "", "InheritFromHost", 0}, - //{"RuntimeChecks", "", "Default", "Default", 0}, - { "RuntimeChecks", "RTCs", "Stack Frames", "RTCs", 0 }, - { "RuntimeChecks", "RTCu", "Uninitialized Variables", "RTCu", 0 }, - { "RuntimeChecks", "RTC1", "Both", "RTC1", 0 }, - - //{"TypeInfo", "", "", "InheritFromHost", 0}, - { "TypeInfo", "GR", "Yes", "true", 0 }, - { "TypeInfo", "GR-", "No", "false", 0 }, - - //{"Warning", "", "", "InheritFromHost", 0}, - { "Warning", "W0", "Off: Turn Off All Warnings", "W0", 0 }, - { "Warning", "W1", "Level 1", "W1", 0 }, - { "Warning", "W2", "Level 2", "W2", 0 }, - { "Warning", "W3", "Level 3", "W3", 0 }, - { "Warning", "W4", "Level 4", "W4", 0 }, - { "Warning", "Wall", "Enable All Warnings", "Wall", 0 }, - - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS10LibFlagTable.h b/Source/cmVS10LibFlagTable.h deleted file mode 100644 index bb08a1c..0000000 --- a/Source/cmVS10LibFlagTable.h +++ /dev/null @@ -1,76 +0,0 @@ -static cmVS7FlagTable cmVS10LibFlagTable[] = { - - // Enum Properties - { "ErrorReporting", "ERRORREPORT:PROMPT", "PromptImmediately", - "PromptImmediately", 0 }, - { "ErrorReporting", "ERRORREPORT:QUEUE", "Queue For Next Login", - "QueueForNextLogin", 0 }, - { "ErrorReporting", "ERRORREPORT:SEND", "Send Error Report", - "SendErrorReport", 0 }, - { "ErrorReporting", "ERRORREPORT:NONE", "No Error Report", "NoErrorReport", - 0 }, - - { "TargetMachine", "MACHINE:ARM", "MachineARM", "MachineARM", 0 }, - { "TargetMachine", "MACHINE:EBC", "MachineEBC", "MachineEBC", 0 }, - { "TargetMachine", "MACHINE:IA64", "MachineIA64", "MachineIA64", 0 }, - { "TargetMachine", "MACHINE:MIPS", "MachineMIPS", "MachineMIPS", 0 }, - { "TargetMachine", "MACHINE:MIPS16", "MachineMIPS16", "MachineMIPS16", 0 }, - { "TargetMachine", "MACHINE:MIPSFPU", "MachineMIPSFPU", "MachineMIPSFPU", - 0 }, - { "TargetMachine", "MACHINE:MIPSFPU16", "MachineMIPSFPU16", - "MachineMIPSFPU16", 0 }, - { "TargetMachine", "MACHINE:SH4", "MachineSH4", "MachineSH4", 0 }, - { "TargetMachine", "MACHINE:THUMB", "MachineTHUMB", "MachineTHUMB", 0 }, - { "TargetMachine", "MACHINE:X64", "MachineX64", "MachineX64", 0 }, - { "TargetMachine", "MACHINE:X86", "MachineX86", "MachineX86", 0 }, - - { "SubSystem", "SUBSYSTEM:CONSOLE", "Console", "Console", 0 }, - { "SubSystem", "SUBSYSTEM:WINDOWS", "Windows", "Windows", 0 }, - { "SubSystem", "SUBSYSTEM:NATIVE", "Native", "Native", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_APPLICATION", "EFI Application", - "EFI Application", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", - "EFI Boot Service Driver", "EFI Boot Service Driver", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_ROM", "EFI ROM", "EFI ROM", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_RUNTIME_DRIVER", "EFI Runtime", "EFI Runtime", - 0 }, - { "SubSystem", "SUBSYSTEM:WINDOWSCE", "WindowsCE", "WindowsCE", 0 }, - { "SubSystem", "SUBSYSTEM:POSIX", "POSIX", "POSIX", 0 }, - - // Bool Properties - { "SuppressStartupBanner", "NOLOGO", "", "true", 0 }, - { "IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0 }, - { "TreatLibWarningAsErrors", "WX:NO", "", "false", 0 }, - { "TreatLibWarningAsErrors", "WX", "", "true", 0 }, - { "Verbose", "VERBOSE", "", "true", 0 }, - { "LinkTimeCodeGeneration", "LTCG", "", "true", 0 }, - - // Bool Properties With Argument - - // String List Properties - // Skip [AdditionalDependencies] - no command line Switch. - { "AdditionalLibraryDirectories", - "LIBPATH:", "Additional Library Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "IgnoreSpecificDefaultLibraries", - "NODEFAULTLIB:", "Ignore Specific Default Libraries", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ExportNamedFunctions", "EXPORT:", "Export Named Functions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "RemoveObjects", "REMOVE:", "Remove Objects", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - - // String Properties - { "OutputFile", "OUT:", "Output File", "", cmVS7FlagTable::UserValue }, - { "ModuleDefinitionFile", "DEF:", "Module Definition File Name", "", - cmVS7FlagTable::UserValue }, - { "ForceSymbolReferences", "INCLUDE:", "Force Symbol References", "", - cmVS7FlagTable::UserValue }, - { "DisplayLibrary", "LIST:", "Display Library to standard output", "", - cmVS7FlagTable::UserValue }, - // Skip [MinimumRequiredVersion] - no command line Switch. - { "Name", "NAME:", "Name", "", cmVS7FlagTable::UserValue }, - // Skip [TrackerLogDirectory] - no command line Switch. - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS10LinkFlagTable.h b/Source/cmVS10LinkFlagTable.h deleted file mode 100644 index 5ae93d9..0000000 --- a/Source/cmVS10LinkFlagTable.h +++ /dev/null @@ -1,247 +0,0 @@ -static cmVS7FlagTable cmVS10LinkFlagTable[] = { - - // Enum Properties - { "ShowProgress", "", "Not Set", "NotSet", 0 }, - { "ShowProgress", "VERBOSE", "Display all progress messages", "LinkVerbose", - 0 }, - { "ShowProgress", "VERBOSE:Lib", "For Libraries Searched", "LinkVerboseLib", - 0 }, - { "ShowProgress", "VERBOSE:ICF", - "About COMDAT folding during optimized linking", "LinkVerboseICF", 0 }, - { "ShowProgress", "VERBOSE:REF", - "About data removed during optimized linking", "LinkVerboseREF", 0 }, - { "ShowProgress", "VERBOSE:SAFESEH", "About Modules incompatible with SEH", - "LinkVerboseSAFESEH", 0 }, - { "ShowProgress", "VERBOSE:CLR", - "About linker activity related to managed code", "LinkVerboseCLR", 0 }, - - { "ForceFileOutput", "FORCE", "Enabled", "Enabled", 0 }, - { "ForceFileOutput", "FORCE:MULTIPLE", "Multiply Defined Symbol Only", - "MultiplyDefinedSymbolOnly", 0 }, - { "ForceFileOutput", "FORCE:UNRESOLVED", "Undefined Symbol Only", - "UndefinedSymbolOnly", 0 }, - - { "CreateHotPatchableImage", "FUNCTIONPADMIN", "Enabled", "Enabled", 0 }, - { "CreateHotPatchableImage", "FUNCTIONPADMIN:5", "X86 Image Only", - "X86Image", 0 }, - { "CreateHotPatchableImage", "FUNCTIONPADMIN:6", "X64 Image Only", - "X64Image", 0 }, - { "CreateHotPatchableImage", "FUNCTIONPADMIN:16", "Itanium Image Only", - "ItaniumImage", 0 }, - - // correct flags for uac should be /MANIFESTUAC, but some projects already - // use this bug to access uac field, so keep these for compatibility - { "UACExecutionLevel", "level='asInvoker'", "asInvoker", "AsInvoker", 0 }, - { "UACExecutionLevel", "level='highestAvailable'", "highestAvailable", - "HighestAvailable", 0 }, - { "UACExecutionLevel", "level='requireAdministrator'", - "requireAdministrator", "RequireAdministrator", 0 }, - - { "SubSystem", "", "Not Set", "NotSet", 0 }, - { "SubSystem", "SUBSYSTEM:CONSOLE", "Console", "Console", 0 }, - { "SubSystem", "SUBSYSTEM:WINDOWS", "Windows", "Windows", 0 }, - { "SubSystem", "SUBSYSTEM:NATIVE", "Native", "Native", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_APPLICATION", "EFI Application", - "EFI Application", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", - "EFI Boot Service Driver", "EFI Boot Service Driver", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_ROM", "EFI ROM", "EFI ROM", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_RUNTIME_DRIVER", "EFI Runtime", "EFI Runtime", - 0 }, - { "SubSystem", "SUBSYSTEM:WINDOWSCE", "WindowsCE", "WindowsCE", 0 }, - { "SubSystem", "SUBSYSTEM:POSIX", "POSIX", "POSIX", 0 }, - - { "Driver", "", "Not Set", "NotSet", 0 }, - { "Driver", "Driver", "Driver", "Driver", 0 }, - { "Driver", "DRIVER:UPONLY", "UP Only", "UpOnly", 0 }, - { "Driver", "DRIVER:WDM", "WDM", "WDM", 0 }, - - { "LinkTimeCodeGeneration", "", "Default", "Default", 0 }, - { "LinkTimeCodeGeneration", "LTCG", "Use Link Time Code Generation", - "UseLinkTimeCodeGeneration", 0 }, - { "LinkTimeCodeGeneration", "LTCG:PGInstrument", - "Profile Guided Optimization - Instrument", "PGInstrument", 0 }, - { "LinkTimeCodeGeneration", "LTCG:PGOptimize", - "Profile Guided Optimization - Optimization", "PGOptimization", 0 }, - { "LinkTimeCodeGeneration", "LTCG:PGUpdate", - "Profile Guided Optimization - Update", "PGUpdate", 0 }, - - { "TargetMachine", "", "Not Set", "NotSet", 0 }, - { "TargetMachine", "MACHINE:ARM", "MachineARM", "MachineARM", 0 }, - { "TargetMachine", "MACHINE:EBC", "MachineEBC", "MachineEBC", 0 }, - { "TargetMachine", "MACHINE:IA64", "MachineIA64", "MachineIA64", 0 }, - { "TargetMachine", "MACHINE:MIPS", "MachineMIPS", "MachineMIPS", 0 }, - { "TargetMachine", "MACHINE:MIPS16", "MachineMIPS16", "MachineMIPS16", 0 }, - { "TargetMachine", "MACHINE:MIPSFPU", "MachineMIPSFPU", "MachineMIPSFPU", - 0 }, - { "TargetMachine", "MACHINE:MIPSFPU16", "MachineMIPSFPU16", - "MachineMIPSFPU16", 0 }, - { "TargetMachine", "MACHINE:SH4", "MachineSH4", "MachineSH4", 0 }, - { "TargetMachine", "MACHINE:THUMB", "MachineTHUMB", "MachineTHUMB", 0 }, - { "TargetMachine", "MACHINE:X64", "MachineX64", "MachineX64", 0 }, - { "TargetMachine", "MACHINE:X86", "MachineX86", "MachineX86", 0 }, - - { "CLRThreadAttribute", "CLRTHREADATTRIBUTE:MTA", "MTA threading attribute", - "MTAThreadingAttribute", 0 }, - { "CLRThreadAttribute", "CLRTHREADATTRIBUTE:STA", "STA threading attribute", - "STAThreadingAttribute", 0 }, - { "CLRThreadAttribute", "CLRTHREADATTRIBUTE:NONE", - "Default threading attribute", "DefaultThreadingAttribute", 0 }, - - { "CLRImageType", "CLRIMAGETYPE:IJW", "Force IJW image", "ForceIJWImage", - 0 }, - { "CLRImageType", "CLRIMAGETYPE:PURE", "Force Pure IL Image", - "ForcePureILImage", 0 }, - { "CLRImageType", "CLRIMAGETYPE:SAFE", "Force Safe IL Image", - "ForceSafeILImage", 0 }, - { "CLRImageType", "", "Default image type", "Default", 0 }, - - { "LinkErrorReporting", "ERRORREPORT:PROMPT", "PromptImmediately", - "PromptImmediately", 0 }, - { "LinkErrorReporting", "ERRORREPORT:QUEUE", "Queue For Next Login", - "QueueForNextLogin", 0 }, - { "LinkErrorReporting", "ERRORREPORT:SEND", "Send Error Report", - "SendErrorReport", 0 }, - { "LinkErrorReporting", "ERRORREPORT:NONE", "No Error Report", - "NoErrorReport", 0 }, - - { "CLRSupportLastError", "CLRSupportLastError", "Enabled", "Enabled", 0 }, - { "CLRSupportLastError", "CLRSupportLastError:NO", "Disabled", "Disabled", - 0 }, - { "CLRSupportLastError", "CLRSupportLastError:SYSTEMDLL", "System Dlls Only", - "SystemDlls", 0 }, - - // Bool Properties - { "LinkIncremental", "INCREMENTAL:NO", "", "false", 0 }, - { "LinkIncremental", "INCREMENTAL", "", "true", 0 }, - { "SuppressStartupBanner", "NOLOGO", "", "true", 0 }, - { "LinkStatus", "LTCG:NOSTATUS", "", "false", 0 }, - { "LinkStatus", "LTCG:STATUS", "", "true", 0 }, - { "PreventDllBinding", "ALLOWBIND:NO", "", "false", 0 }, - { "PreventDllBinding", "ALLOWBIND", "", "true", 0 }, - { "TreatLinkerWarningAsErrors", "WX:NO", "", "false", 0 }, - { "TreatLinkerWarningAsErrors", "WX", "", "true", 0 }, - { "IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0 }, - { "GenerateManifest", "MANIFEST:NO", "", "false", 0 }, - { "GenerateManifest", "MANIFEST", "", "true", 0 }, - { "AllowIsolation", "ALLOWISOLATION:NO", "", "false", 0 }, - - // correct flags for uac should be /MANIFESTUAC, but some projects already - // use this bug to access uac field, so keep these for compatibility - { "UACUIAccess", "uiAccess='false'", "", "false", 0 }, - { "UACUIAccess", "uiAccess='true'", "", "true", 0 }, - - { "GenerateDebugInformation", "DEBUG", "", "true", - cmVS7FlagTable::CaseInsensitive }, - { "MapExports", "MAPINFO:EXPORTS", "", "true", 0 }, - { "AssemblyDebug", "ASSEMBLYDEBUG:DISABLE", "", "false", 0 }, - { "AssemblyDebug", "ASSEMBLYDEBUG", "", "true", 0 }, - { "LargeAddressAware", "LARGEADDRESSAWARE:NO", "", "false", 0 }, - { "LargeAddressAware", "LARGEADDRESSAWARE", "", "true", 0 }, - { "TerminalServerAware", "TSAWARE:NO", "", "false", 0 }, - { "TerminalServerAware", "TSAWARE", "", "true", 0 }, - { "SwapRunFromCD", "SWAPRUN:CD", "", "true", 0 }, - { "SwapRunFromNET", "SWAPRUN:NET", "", "true", 0 }, - { "OptimizeReferences", "OPT:NOREF", "", "false", 0 }, - { "OptimizeReferences", "OPT:REF", "", "true", 0 }, - { "EnableCOMDATFolding", "OPT:NOICF", "", "false", 0 }, - { "EnableCOMDATFolding", "OPT:ICF", "", "true", 0 }, - { "IgnoreEmbeddedIDL", "IGNOREIDL", "", "true", 0 }, - { "NoEntryPoint", "NOENTRY", "", "true", 0 }, - { "SetChecksum", "RELEASE", "", "true", 0 }, - { "RandomizedBaseAddress", "DYNAMICBASE:NO", "", "false", 0 }, - { "RandomizedBaseAddress", "DYNAMICBASE", "", "true", 0 }, - { "FixedBaseAddress", "FIXED:NO", "", "false", 0 }, - { "FixedBaseAddress", "FIXED", "", "true", 0 }, - { "DataExecutionPrevention", "NXCOMPAT:NO", "", "false", 0 }, - { "DataExecutionPrevention", "NXCOMPAT", "", "true", 0 }, - { "TurnOffAssemblyGeneration", "NOASSEMBLY", "", "true", 0 }, - { "SupportUnloadOfDelayLoadedDLL", "DELAY:UNLOAD", "", "true", 0 }, - { "SupportNobindOfDelayLoadedDLL", "DELAY:NOBIND", "", "true", 0 }, - { "Profile", "PROFILE", "", "true", 0 }, - { "LinkDelaySign", "DELAYSIGN:NO", "", "false", 0 }, - { "LinkDelaySign", "DELAYSIGN", "", "true", 0 }, - { "CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK:NO", "", "false", 0 }, - { "CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK", "", "true", 0 }, - { "ImageHasSafeExceptionHandlers", "SAFESEH:NO", "", "false", 0 }, - { "ImageHasSafeExceptionHandlers", "SAFESEH", "", "true", 0 }, - { "LinkDLL", "DLL", "", "true", 0 }, - - // Bool Properties With Argument - { "EnableUAC", "MANIFESTUAC:", "", "", - cmVS7FlagTable::UserValueRequired | cmVS7FlagTable::SpaceAppendable }, - { "GenerateMapFile", "MAP", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "MapFileName", "MAP:", "Generate Map File", "", - cmVS7FlagTable::UserValueRequired }, - - // String List Properties - { "AdditionalLibraryDirectories", - "LIBPATH:", "Additional Library Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - // Skip [AdditionalDependencies] - no command line Switch. - { "IgnoreSpecificDefaultLibraries", - "NODEFAULTLIB:", "Ignore Specific Default Libraries", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AddModuleNamesToAssembly", "ASSEMBLYMODULE:", "Add Module to Assembly", - "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "EmbedManagedResourceFile", - "ASSEMBLYRESOURCE:", "Embed Managed Resource File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ForceSymbolReferences", "INCLUDE:", "Force Symbol References", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "DelayLoadDLLs", "DELAYLOAD:", "Delay Loaded Dlls", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AssemblyLinkResource", "ASSEMBLYLINKRESOURCE:", "Assembly Link Resource", - "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AdditionalManifestDependencies", - "MANIFESTDEPENDENCY:", "Additional Manifest Dependencies", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - - // String Properties - { "OutputFile", "OUT:", "Output File", "", cmVS7FlagTable::UserValue }, - { "Version", "VERSION:", "Version", "", cmVS7FlagTable::UserValue }, - { "SpecifySectionAttributes", "SECTION:", "Specify Section Attributes", "", - cmVS7FlagTable::UserValue }, - { "MSDOSStubFileName", "STUB:", "MS-DOS Stub File Name", "", - cmVS7FlagTable::UserValue }, - // Skip [TrackerLogDirectory] - no command line Switch. - { "ModuleDefinitionFile", "DEF:", "Module Definition File", "", - cmVS7FlagTable::UserValue }, - { "ManifestFile", "ManifestFile:", "Manifest File", "", - cmVS7FlagTable::UserValue }, - { "ProgramDatabaseFile", "PDB:", "Generate Program Database File", "", - cmVS7FlagTable::UserValue }, - { "StripPrivateSymbols", "PDBSTRIPPED:", "Strip Private Symbols", "", - cmVS7FlagTable::UserValue }, - // Skip [MapFileName] - no command line Switch. - // Skip [MinimumRequiredVersion] - no command line Switch. - { "HeapReserveSize", "HEAP:", "Heap Reserve Size", "", - cmVS7FlagTable::UserValue }, - // Skip [HeapCommitSize] - no command line Switch. - { "StackReserveSize", "STACK:", "Stack Reserve Size", "", - cmVS7FlagTable::UserValue }, - // Skip [StackCommitSize] - no command line Switch. - { "FunctionOrder", "ORDER:@", "Function Order", "", - cmVS7FlagTable::UserValue }, - { "ProfileGuidedDatabase", "PGD:", "Profile Guided Database", "", - cmVS7FlagTable::UserValue }, - { "MidlCommandFile", "MIDL:@", "MIDL Commands", "", - cmVS7FlagTable::UserValue }, - { "MergedIDLBaseFileName", "IDLOUT:", "Merged IDL Base File Name", "", - cmVS7FlagTable::UserValue }, - { "TypeLibraryFile", "TLBOUT:", "Type Library", "", - cmVS7FlagTable::UserValue }, - { "EntryPointSymbol", "ENTRY:", "Entry Point", "", - cmVS7FlagTable::UserValue }, - { "BaseAddress", "BASE:", "Base Address", "", cmVS7FlagTable::UserValue }, - { "ImportLibrary", "IMPLIB:", "Import Library", "", - cmVS7FlagTable::UserValue }, - { "MergeSections", "MERGE:", "Merge Sections", "", - cmVS7FlagTable::UserValue }, - { "LinkKeyFile", "KEYFILE:", "Key File", "", cmVS7FlagTable::UserValue }, - { "KeyContainer", "KEYCONTAINER:", "Key Container", "", - cmVS7FlagTable::UserValue }, - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS10MASMFlagTable.h b/Source/cmVS10MASMFlagTable.h deleted file mode 100644 index 3a72a78..0000000 --- a/Source/cmVS10MASMFlagTable.h +++ /dev/null @@ -1,76 +0,0 @@ -static cmVS7FlagTable cmVS10MASMFlagTable[] = { - - // Enum Properties - { "PreserveIdentifierCase", "", "Default", "0", 0 }, - { "PreserveIdentifierCase", "Cp", "Preserves Identifier Case (/Cp)", "1", - 0 }, - { "PreserveIdentifierCase", "Cu", - "Maps all identifiers to upper case. (/Cu)", "2", 0 }, - { "PreserveIdentifierCase", "Cx", - "Preserves case in public and extern symbols. (/Cx)", "3", 0 }, - - { "WarningLevel", "W0", "Warning Level 0 (/W0)", "0", 0 }, - { "WarningLevel", "W1", "Warning Level 1 (/W1)", "1", 0 }, - { "WarningLevel", "W2", "Warning Level 2 (/W2)", "2", 0 }, - { "WarningLevel", "W3", "Warning Level 3 (/W3)", "3", 0 }, - - { "PackAlignmentBoundary", "", "Default", "0", 0 }, - { "PackAlignmentBoundary", "Zp1", "One Byte Boundary (/Zp1)", "1", 0 }, - { "PackAlignmentBoundary", "Zp2", "Two Byte Boundary (/Zp2)", "2", 0 }, - { "PackAlignmentBoundary", "Zp4", "Four Byte Boundary (/Zp4)", "3", 0 }, - { "PackAlignmentBoundary", "Zp8", "Eight Byte Boundary (/Zp8)", "4", 0 }, - { "PackAlignmentBoundary", "Zp16", "Sixteen Byte Boundary (/Zp16)", "5", 0 }, - - { "CallingConvention", "", "Default", "0", 0 }, - { "CallingConvention", "Gd", "Use C-style Calling Convention (/Gd)", "1", - 0 }, - { "CallingConvention", "Gz", "Use stdcall Calling Convention (/Gz)", "2", - 0 }, - { "CallingConvention", "Gc", "Use Pascal Calling Convention (/Gc)", "3", 0 }, - - { "ErrorReporting", "errorReport:prompt", - "Prompt to send report immediately (/errorReport:prompt)", "0", 0 }, - { "ErrorReporting", "errorReport:queue", - "Prompt to send report at the next logon (/errorReport:queue)", "1", 0 }, - { "ErrorReporting", "errorReport:send", - "Automatically send report (/errorReport:send)", "2", 0 }, - { "ErrorReporting", "errorReport:none", - "Do not send report (/errorReport:none)", "3", 0 }, - - // Bool Properties - { "NoLogo", "nologo", "", "true", 0 }, - { "GeneratePreprocessedSourceListing", "EP", "", "true", 0 }, - { "ListAllAvailableInformation", "Sa", "", "true", 0 }, - { "UseSafeExceptionHandlers", "safeseh", "", "true", 0 }, - { "AddFirstPassListing", "Sf", "", "true", 0 }, - { "EnableAssemblyGeneratedCodeListing", "Sg", "", "true", 0 }, - { "DisableSymbolTable", "Sn", "", "true", 0 }, - { "EnableFalseConditionalsInListing", "Sx", "", "true", 0 }, - { "TreatWarningsAsErrors", "WX", "", "true", 0 }, - { "MakeAllSymbolsPublic", "Zf", "", "true", 0 }, - { "GenerateDebugInformation", "Zi", "", "true", 0 }, - { "EnableMASM51Compatibility", "Zm", "", "true", 0 }, - { "PerformSyntaxCheckOnly", "Zs", "", "true", 0 }, - - // Bool Properties With Argument - - // String List Properties - { "PreprocessorDefinitions", "D", "Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "IncludePaths", "I", "Include Paths", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "BrowseFile", "FR", "Generate Browse Information File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - // Skip [AdditionalDependencies] - no command line Switch. - - // String Properties - // Skip [Inputs] - no command line Switch. - { "ObjectFileName", "Fo", "Object File Name", "", - cmVS7FlagTable::UserValue }, - { "AssembledCodeListingFile", "Fl", "Assembled Code Listing File", "", - cmVS7FlagTable::UserValue }, - // Skip [CommandLineTemplate] - no command line Switch. - // Skip [ExecutionDescription] - no command line Switch. - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS10NASMFlagTable.h b/Source/cmVS10NASMFlagTable.h deleted file mode 100644 index b5f3f6f..0000000 --- a/Source/cmVS10NASMFlagTable.h +++ /dev/null @@ -1,50 +0,0 @@ -static cmVS7FlagTable cmVS10NASMFlagTable[] = { - - // Enum Properties - { "Outputswitch", "fwin32", "", "0", 0 }, - { "Outputswitch", "fwin", "", "0", 0 }, - { "Outputswitch", "fwin64", "", "1", 0 }, - { "Outputswitch", "felf", "", "2", 0 }, - { "Outputswitch", "felf32", "", "2", 0 }, - { "Outputswitch", "felf64", "", "3", 0 }, - - { "ErrorReportingFormat", "Xgnu", "", "-Xgnu GNU format: Default format", - 0 }, - { "ErrorReportingFormat", "Xvc", "", - "-Xvc Style used by Microsoft Visual C++", 0 }, - - // Bool Properties - { "TreatWarningsAsErrors", "Werror", "", "true", 0 }, - { "GenerateDebugInformation", "g", "", "true", 0 }, - { "floatunderflow", "w+float-underflow", "", "true", 0 }, - { "macrodefaults", "w-macro-defaults", "", "true", 0 }, - { "user", "w-user", "%warning directives (default on)", "true", 0 }, - { "floatoverflow", "w-float-overflow", "", "true", 0 }, - { "floatdenorm", "w+float-denorm", "", "true", 0 }, - { "numberoverflow", "w-number-overflow", "", "true", 0 }, - { "macroselfref", "w+macro-selfref", "", "true", 0 }, - { "floattoolong", "w-float-toolong", "", "true", 0 }, - { "orphanlabels", "w-orphan-labels", "", "true", 0 }, - { "tasmmode", "t", "", "true", 0 }, - - // Bool Properties With Argument - - // String List Properties - { "PreprocessorDefinitions", "D", "Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "UndefinePreprocessorDefinitions", "U", - "Undefine Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "IncludePaths", "I", "Include Paths", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AssembledCodeListingFile", "l", - "Generates an assembled code listing file.", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - - // String Properties - // Skip [Inputs] - no command line Switch. - // Skip [CommandLineTemplate] - no command line Switch. - // Skip [ExecutionDescription] - no command line Switch. - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS10RCFlagTable.h b/Source/cmVS10RCFlagTable.h deleted file mode 100644 index 347fdab..0000000 --- a/Source/cmVS10RCFlagTable.h +++ /dev/null @@ -1,7 +0,0 @@ -static cmVS7FlagTable cmVS10RCFlagTable[] = { - // Bool Properties - { "NullTerminateStrings", "n", "", "true", 0 }, - { "SuppressStartupBanner", "nologo", "", "true", 0 }, - - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS11CLFlagTable.h b/Source/cmVS11CLFlagTable.h deleted file mode 100644 index 10f901d..0000000 --- a/Source/cmVS11CLFlagTable.h +++ /dev/null @@ -1,220 +0,0 @@ -static cmVS7FlagTable cmVS11CLFlagTable[] = { - - // Enum Properties - { "DebugInformationFormat", "", "None", "None", 0 }, - { "DebugInformationFormat", "Z7", "C7 compatible", "OldStyle", 0 }, - { "DebugInformationFormat", "Zi", "Program Database", "ProgramDatabase", 0 }, - { "DebugInformationFormat", "ZI", "Program Database for Edit And Continue", - "EditAndContinue", 0 }, - - { "WarningLevel", "W0", "Turn Off All Warnings", "TurnOffAllWarnings", 0 }, - { "WarningLevel", "W1", "Level1", "Level1", 0 }, - { "WarningLevel", "W2", "Level2", "Level2", 0 }, - { "WarningLevel", "W3", "Level3", "Level3", 0 }, - { "WarningLevel", "W4", "Level4", "Level4", 0 }, - { "WarningLevel", "Wall", "EnableAllWarnings", "EnableAllWarnings", 0 }, - - { "Optimization", "Od", "Disabled", "Disabled", 0 }, - { "Optimization", "O1", "Minimize Size", "MinSpace", 0 }, - { "Optimization", "O2", "Maximize Speed", "MaxSpeed", 0 }, - { "Optimization", "Ox", "Full Optimization", "Full", 0 }, - - { "InlineFunctionExpansion", "", "Default", "Default", 0 }, - { "InlineFunctionExpansion", "Ob0", "Disabled", "Disabled", 0 }, - { "InlineFunctionExpansion", "Ob1", "Only __inline", "OnlyExplicitInline", - 0 }, - { "InlineFunctionExpansion", "Ob2", "Any Suitable", "AnySuitable", 0 }, - - { "FavorSizeOrSpeed", "Os", "Favor small code", "Size", 0 }, - { "FavorSizeOrSpeed", "Ot", "Favor fast code", "Speed", 0 }, - { "FavorSizeOrSpeed", "", "Neither", "Neither", 0 }, - - { "ExceptionHandling", "EHa", "Yes with SEH Exceptions", "Async", 0 }, - { "ExceptionHandling", "EHsc", "Yes", "Sync", 0 }, - { "ExceptionHandling", "EHs", "Yes with Extern C functions", "SyncCThrow", - 0 }, - { "ExceptionHandling", "", "No", "false", 0 }, - - { "BasicRuntimeChecks", "RTCs", "Stack Frames", "StackFrameRuntimeCheck", - 0 }, - { "BasicRuntimeChecks", "RTCu", "Uninitialized variables", - "UninitializedLocalUsageCheck", 0 }, - { "BasicRuntimeChecks", "RTC1", "Both (/RTC1, equiv. to /RTCsu)", - "EnableFastChecks", 0 }, - { "BasicRuntimeChecks", "", "Default", "Default", 0 }, - - { "RuntimeLibrary", "MT", "Multi-threaded", "MultiThreaded", 0 }, - { "RuntimeLibrary", "MTd", "Multi-threaded Debug", "MultiThreadedDebug", 0 }, - { "RuntimeLibrary", "MD", "Multi-threaded DLL", "MultiThreadedDLL", 0 }, - { "RuntimeLibrary", "MDd", "Multi-threaded Debug DLL", - "MultiThreadedDebugDLL", 0 }, - - { "StructMemberAlignment", "Zp1", "1 Byte", "1Byte", 0 }, - { "StructMemberAlignment", "Zp2", "2 Bytes", "2Bytes", 0 }, - { "StructMemberAlignment", "Zp4", "4 Byte", "4Bytes", 0 }, - { "StructMemberAlignment", "Zp8", "8 Bytes", "8Bytes", 0 }, - { "StructMemberAlignment", "Zp16", "16 Bytes", "16Bytes", 0 }, - { "StructMemberAlignment", "", "Default", "Default", 0 }, - - { "EnableEnhancedInstructionSet", "arch:SSE", "Streaming SIMD Extensions", - "StreamingSIMDExtensions", 0 }, - { "EnableEnhancedInstructionSet", "arch:SSE2", "Streaming SIMD Extensions 2", - "StreamingSIMDExtensions2", 0 }, - { "EnableEnhancedInstructionSet", "arch:AVX", "Advanced Vector Extensions", - "AdvancedVectorExtensions", 0 }, - { "EnableEnhancedInstructionSet", "arch:IA32", "No Enhanced Instructions", - "NoExtensions", 0 }, - { "EnableEnhancedInstructionSet", "", "Not Set", "NotSet", 0 }, - - { "FloatingPointModel", "fp:precise", "Precise", "Precise", 0 }, - { "FloatingPointModel", "fp:strict", "Strict", "Strict", 0 }, - { "FloatingPointModel", "fp:fast", "Fast", "Fast", 0 }, - - { "PrecompiledHeader", "Yc", "Create", "Create", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "PrecompiledHeader", "Yu", "Use", "Use", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "PrecompiledHeader", "Y-", "Not Using Precompiled Headers", "NotUsing", - 0 }, - - { "AssemblerOutput", "", "No Listing", "NoListing", 0 }, - { "AssemblerOutput", "FA", "Assembly-Only Listing", "AssemblyCode", 0 }, - { "AssemblerOutput", "FAc", "Assembly With Machine Code", - "AssemblyAndMachineCode", 0 }, - { "AssemblerOutput", "FAs", "Assembly With Source Code", - "AssemblyAndSourceCode", 0 }, - { "AssemblerOutput", "FAcs", "Assembly, Machine Code and Source", "All", 0 }, - - { "CallingConvention", "Gd", "__cdecl", "Cdecl", 0 }, - { "CallingConvention", "Gr", "__fastcall", "FastCall", 0 }, - { "CallingConvention", "Gz", "__stdcall", "StdCall", 0 }, - - { "CompileAs", "", "Default", "Default", 0 }, - { "CompileAs", "TC", "Compile as C Code", "CompileAsC", 0 }, - { "CompileAs", "TP", "Compile as C++ Code", "CompileAsCpp", 0 }, - - { "ErrorReporting", "errorReport:none", "Do Not Send Report", "None", 0 }, - { "ErrorReporting", "errorReport:prompt", "Prompt Immediately", "Prompt", - 0 }, - { "ErrorReporting", "errorReport:queue", "Queue For Next Login", "Queue", - 0 }, - { "ErrorReporting", "errorReport:send", "Send Automatically", "Send", 0 }, - - { "CompileAsManaged", "", "No Common Language RunTime Support", "false", 0 }, - { "CompileAsManaged", "clr", "Common Language RunTime Support", "true", 0 }, - { "CompileAsManaged", "clr:pure", - "Pure MSIL Common Language RunTime Support", "Pure", 0 }, - { "CompileAsManaged", "clr:safe", - "Safe MSIL Common Language RunTime Support", "Safe", 0 }, - { "CompileAsManaged", "clr:oldSyntax", - "Common Language RunTime Support, Old Syntax", "OldSyntax", 0 }, - - // Bool Properties - { "CompileAsWinRT", "ZW", "", "true", 0 }, - { "WinRTNoStdLib", "ZW:nostdlib", "", "true", 0 }, - { "SuppressStartupBanner", "nologo-", "", "false", 0 }, - { "SuppressStartupBanner", "nologo", "", "true", 0 }, - { "TreatWarningAsError", "WX-", "", "false", 0 }, - { "TreatWarningAsError", "WX", "", "true", 0 }, - { "SDLCheck", "sdl-", "", "false", 0 }, - { "SDLCheck", "sdl", "", "true", 0 }, - { "IntrinsicFunctions", "Oi", "", "true", 0 }, - { "OmitFramePointers", "Oy-", "", "false", 0 }, - { "OmitFramePointers", "Oy", "", "true", 0 }, - { "EnableFiberSafeOptimizations", "GT", "", "true", 0 }, - { "WholeProgramOptimization", "GL", "", "true", 0 }, - { "UndefineAllPreprocessorDefinitions", "u", "", "true", 0 }, - { "IgnoreStandardIncludePath", "X", "", "true", 0 }, - { "PreprocessToFile", "P", "", "true", 0 }, - { "PreprocessSuppressLineNumbers", "EP", "", "true", 0 }, - { "PreprocessKeepComments", "C", "", "true", 0 }, - { "StringPooling", "GF-", "", "false", 0 }, - { "StringPooling", "GF", "", "true", 0 }, - { "MinimalRebuild", "Gm-", "", "false", 0 }, - { "MinimalRebuild", "Gm", "", "true", 0 }, - { "SmallerTypeCheck", "RTCc", "", "true", 0 }, - { "BufferSecurityCheck", "GS-", "", "false", 0 }, - { "BufferSecurityCheck", "GS", "", "true", 0 }, - { "FunctionLevelLinking", "Gy-", "", "false", 0 }, - { "FunctionLevelLinking", "Gy", "", "true", 0 }, - { "EnableParallelCodeGeneration", "Qpar-", "", "false", 0 }, - { "EnableParallelCodeGeneration", "Qpar", "", "true", 0 }, - { "FloatingPointExceptions", "fp:except-", "", "false", 0 }, - { "FloatingPointExceptions", "fp:except", "", "true", 0 }, - { "CreateHotpatchableImage", "hotpatch", "", "true", 0 }, - { "DisableLanguageExtensions", "Za", "", "true", 0 }, - { "TreatWChar_tAsBuiltInType", "Zc:wchar_t-", "", "false", 0 }, - { "TreatWChar_tAsBuiltInType", "Zc:wchar_t", "", "true", 0 }, - { "ForceConformanceInForLoopScope", "Zc:forScope-", "", "false", 0 }, - { "ForceConformanceInForLoopScope", "Zc:forScope", "", "true", 0 }, - { "RuntimeTypeInfo", "GR-", "", "false", 0 }, - { "RuntimeTypeInfo", "GR", "", "true", 0 }, - { "OpenMPSupport", "openmp-", "", "false", 0 }, - { "OpenMPSupport", "openmp", "", "true", 0 }, - { "ExpandAttributedSource", "Fx", "", "true", 0 }, - { "UseUnicodeForAssemblerListing", "FAu", "", "true", 0 }, - { "ShowIncludes", "showIncludes", "", "true", 0 }, - { "EnablePREfast", "analyze-", "", "false", 0 }, - { "EnablePREfast", "analyze", "", "true", 0 }, - { "UseFullPaths", "FC", "", "true", 0 }, - { "OmitDefaultLibName", "Zl", "", "true", 0 }, - - // Bool Properties With Argument - { "MultiProcessorCompilation", "MP", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "ProcessorNumber", "MP", "Multi-processor Compilation", "", - cmVS7FlagTable::UserValueRequired }, - { "GenerateXMLDocumentationFiles", "doc", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "XMLDocumentationFileName", "doc", "Generate XML Documentation Files", "", - cmVS7FlagTable::UserValueRequired }, - { "BrowseInformation", "FR", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "BrowseInformationFile", "FR", "Enable Browse Information", "", - cmVS7FlagTable::UserValueRequired }, - - // String List Properties - { "AdditionalIncludeDirectories", "I", "Additional Include Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AdditionalUsingDirectories", "AI", "Additional #using Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "PreprocessorDefinitions", "D ", "Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "UndefinePreprocessorDefinitions", "U", - "Undefine Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "DisableSpecificWarnings", "wd", "Disable Specific Warnings", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ForcedIncludeFiles", "FI", "Forced Include File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ForcedUsingFiles", "FU", "Forced #using File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "PREfastLog", "analyze:log", "Code Analysis Log", "", - cmVS7FlagTable::UserFollowing }, - { "PREfastAdditionalPlugins", "analyze:plugin", - "Additional Code Analysis Native plugins", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "TreatSpecificWarningsAsErrors", "we", "Treat Specific Warnings As Errors", - "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - - // String Properties - // Skip [TrackerLogDirectory] - no command line Switch. - { "PreprocessOutputPath", "Fi", "Preprocess Output Path", "", - cmVS7FlagTable::UserValue }, - { "PrecompiledHeaderFile", "Yc", "Precompiled Header Name", "", - cmVS7FlagTable::UserValueRequired }, - { "PrecompiledHeaderFile", "Yu", "Precompiled Header Name", "", - cmVS7FlagTable::UserValueRequired }, - { "PrecompiledHeaderOutputFile", "Fp", "Precompiled Header Output File", "", - cmVS7FlagTable::UserValue }, - { "AssemblerListingLocation", "Fa", "ASM List Location", "", - cmVS7FlagTable::UserValue }, - { "ObjectFileName", "Fo", "Object File Name", "", - cmVS7FlagTable::UserValue }, - { "ProgramDataBaseFileName", "Fd", "Program Database File Name", "", - cmVS7FlagTable::UserValue }, - // Skip [XMLDocumentationFileName] - no command line Switch. - // Skip [BrowseInformationFile] - no command line Switch. - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS11CSharpFlagTable.h b/Source/cmVS11CSharpFlagTable.h deleted file mode 100644 index 1b10e7d..0000000 --- a/Source/cmVS11CSharpFlagTable.h +++ /dev/null @@ -1,121 +0,0 @@ -static cmVS7FlagTable cmVS11CSharpFlagTable[] = { - { "ProjectName", "out:", "", "", cmIDEFlagTable::UserValueRequired }, - - { "OutputType", "target:exe", "", "Exe", 0 }, - { "OutputType", "target:winexe", "", "Winexe", 0 }, - { "OutputType", "target:library", "", "Library", 0 }, - { "OutputType", "target:module", "", "Module", 0 }, - - { "DocumentationFile", "doc", "", "", cmIDEFlagTable::UserValueRequired }, - - { "Platform", "platform:x86", "", "x86", 0 }, - { "Platform", "platform:Itanium", "", "Itanium", 0 }, - { "Platform", "platform:x64", "", "x64", 0 }, - { "Platform", "platform:arm", "", "arm", 0 }, - { "Platform", "platform:anycpu32bitpreferred", "", "anycpu32bitpreferred", - 0 }, - { "Platform", "platform:anycpu", "", "anycpu", 0 }, - - { "References", "reference:", "mit alias", "", 0 }, - { "References", "reference:", "dateiliste", "", 0 }, - { "AddModules", "addmodule:", "", "", cmIDEFlagTable::SemicolonAppendable }, - { "", "link", "", "", 0 }, - - { "Win32Resource", "win32res:", "", "", cmIDEFlagTable::UserValueRequired }, - { "ApplicationIcon", "win32icon:", "", "", - cmIDEFlagTable::UserValueRequired }, - - { "ApplicationManifest", "win32manifest:", "", "", - cmIDEFlagTable::UserValueRequired }, - - { "NoWin32Manifest", "nowin32manifest", "", "true", 0 }, - - { "DefineDebug", "debug", "", "true", cmIDEFlagTable::Continue }, - - { "DebugSymbols", "debug", "", "true", 0 }, - { "DebugSymbols", "debug-", "", "false", 0 }, - { "DebugSymbols", "debug+", "", "true", 0 }, - - { "DebugType", "debug:none", "", "none", 0 }, - { "DebugType", "debug:full", "", "full", 0 }, - { "DebugType", "debug:pdbonly", "", "pdbonly", 0 }, - - { "Optimize", "optimize", "", "true", 0 }, - { "Optimize", "optimize-", "", "false", 0 }, - { "Optimize", "optimize+", "", "true", 0 }, - - { "TreatWarningsAsErrors", "warnaserror", "", "true", 0 }, - { "TreatWarningsAsErrors", "warnaserror-", "", "false", 0 }, - { "TreatWarningsAsErrors", "warnaserror+", "", "true", 0 }, - - { "WarningsAsErrors", "warnaserror", "", "", 0 }, - { "WarningsAsErrors", "warnaserror-", "", "", 0 }, - { "WarningsAsErrors", "warnaserror+", "", "", 0 }, - - { "WarningLevel", "warn:0", "", "0", 0 }, - { "WarningLevel", "warn:1", "", "1", 0 }, - { "WarningLevel", "warn:2", "", "2", 0 }, - { "WarningLevel", "warn:3", "", "3", 0 }, - { "WarningLevel", "warn:4", "", "4", 0 }, - { "DisabledWarnings", "nowarn", "", "", 0 }, - - { "CheckForOverflowUnderflow", "checked", "", "true", 0 }, - { "CheckForOverflowUnderflow", "checked-", "", "false", 0 }, - { "CheckForOverflowUnderflow", "checked+", "", "true", 0 }, - - { "AllowUnsafeBlocks", "unsafe", "", "true", 0 }, - { "AllowUnsafeBlocks", "unsafe-", "", "false", 0 }, - { "AllowUnsafeBlocks", "unsafe+", "", "true", 0 }, - - { "DefineConstants", "define:", "", "", - cmIDEFlagTable::SemicolonAppendable | cmIDEFlagTable::UserValue }, - - { "LangVersion", "langversion:ISO-1", "", "ISO-1", 0 }, - { "LangVersion", "langversion:ISO-2", "", "ISO-2", 0 }, - { "LangVersion", "langversion:3", "", "3", 0 }, - { "LangVersion", "langversion:4", "", "4", 0 }, - { "LangVersion", "langversion:5", "", "5", 0 }, - { "LangVersion", "langversion:6", "", "6", 0 }, - { "LangVersion", "langversion:default", "", "default", 0 }, - - { "DelaySign", "delaysign", "", "true", 0 }, - { "DelaySign", "delaysign-", "", "false", 0 }, - { "DelaySign", "delaysign+", "", "true", 0 }, - - { "AssemblyOriginatorKeyFile", "keyfile", "", "", 0 }, - - { "KeyContainerName", "keycontainer", "", "", 0 }, - - { "NoLogo", "nologo", "", "", 0 }, - - { "NoConfig", "noconfig", "", "true", 0 }, - - { "BaseAddress", "baseaddress:", "", "", 0 }, - - { "CodePage", "codepage", "", "", 0 }, - - { "Utf8Output", "utf8output", "", "", 0 }, - - { "MainEntryPoint", "main:", "", "", 0 }, - - { "GenerateFullPaths", "fullpaths", "", "true", 0 }, - - { "FileAlignment", "filealign", "", "", 0 }, - - { "PdbFile", "pdb:", "", "", 0 }, - - { "NoStandardLib", "nostdlib", "", "true", 0 }, - { "NoStandardLib", "nostdlib-", "", "false", 0 }, - { "NoStandardLib", "nostdlib+", "", "true", 0 }, - - { "SubsystemVersion", "subsystemversion", "", "", 0 }, - - { "AdditionalLibPaths", "lib:", "", "", 0 }, - - { "ErrorReport", "errorreport:none", "Do Not Send Report", "none", 0 }, - { "ErrorReport", "errorreport:prompt", "Prompt Immediately", "prompt", 0 }, - { "ErrorReport", "errorreport:queue", "Queue For Next Login", "queue", 0 }, - { "ErrorReport", "errorreport:send", "Send Automatically", "send", 0 }, - - { "", "", "", "", 0 }, -}; diff --git a/Source/cmVS11LibFlagTable.h b/Source/cmVS11LibFlagTable.h deleted file mode 100644 index afadf37..0000000 --- a/Source/cmVS11LibFlagTable.h +++ /dev/null @@ -1,76 +0,0 @@ -static cmVS7FlagTable cmVS11LibFlagTable[] = { - - // Enum Properties - { "ErrorReporting", "ERRORREPORT:PROMPT", "PromptImmediately", - "PromptImmediately", 0 }, - { "ErrorReporting", "ERRORREPORT:QUEUE", "Queue For Next Login", - "QueueForNextLogin", 0 }, - { "ErrorReporting", "ERRORREPORT:SEND", "Send Error Report", - "SendErrorReport", 0 }, - { "ErrorReporting", "ERRORREPORT:NONE", "No Error Report", "NoErrorReport", - 0 }, - - { "TargetMachine", "MACHINE:ARM", "MachineARM", "MachineARM", 0 }, - { "TargetMachine", "MACHINE:EBC", "MachineEBC", "MachineEBC", 0 }, - { "TargetMachine", "MACHINE:IA64", "MachineIA64", "MachineIA64", 0 }, - { "TargetMachine", "MACHINE:MIPS", "MachineMIPS", "MachineMIPS", 0 }, - { "TargetMachine", "MACHINE:MIPS16", "MachineMIPS16", "MachineMIPS16", 0 }, - { "TargetMachine", "MACHINE:MIPSFPU", "MachineMIPSFPU", "MachineMIPSFPU", - 0 }, - { "TargetMachine", "MACHINE:MIPSFPU16", "MachineMIPSFPU16", - "MachineMIPSFPU16", 0 }, - { "TargetMachine", "MACHINE:SH4", "MachineSH4", "MachineSH4", 0 }, - { "TargetMachine", "MACHINE:THUMB", "MachineTHUMB", "MachineTHUMB", 0 }, - { "TargetMachine", "MACHINE:X64", "MachineX64", "MachineX64", 0 }, - { "TargetMachine", "MACHINE:X86", "MachineX86", "MachineX86", 0 }, - - { "SubSystem", "SUBSYSTEM:CONSOLE", "Console", "Console", 0 }, - { "SubSystem", "SUBSYSTEM:WINDOWS", "Windows", "Windows", 0 }, - { "SubSystem", "SUBSYSTEM:NATIVE", "Native", "Native", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_APPLICATION", "EFI Application", - "EFI Application", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", - "EFI Boot Service Driver", "EFI Boot Service Driver", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_ROM", "EFI ROM", "EFI ROM", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_RUNTIME_DRIVER", "EFI Runtime", "EFI Runtime", - 0 }, - { "SubSystem", "SUBSYSTEM:WINDOWSCE", "WindowsCE", "WindowsCE", 0 }, - { "SubSystem", "SUBSYSTEM:POSIX", "POSIX", "POSIX", 0 }, - - // Bool Properties - { "SuppressStartupBanner", "NOLOGO", "", "true", 0 }, - { "IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0 }, - { "TreatLibWarningAsErrors", "WX:NO", "", "false", 0 }, - { "TreatLibWarningAsErrors", "WX", "", "true", 0 }, - { "Verbose", "VERBOSE", "", "true", 0 }, - { "LinkTimeCodeGeneration", "LTCG", "", "true", 0 }, - - // Bool Properties With Argument - - // String List Properties - // Skip [AdditionalDependencies] - no command line Switch. - { "AdditionalLibraryDirectories", - "LIBPATH:", "Additional Library Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "IgnoreSpecificDefaultLibraries", - "NODEFAULTLIB:", "Ignore Specific Default Libraries", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ExportNamedFunctions", "EXPORT:", "Export Named Functions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "RemoveObjects", "REMOVE:", "Remove Objects", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - - // String Properties - { "OutputFile", "OUT:", "Output File", "", cmVS7FlagTable::UserValue }, - { "ModuleDefinitionFile", "DEF:", "Module Definition File Name", "", - cmVS7FlagTable::UserValue }, - { "ForceSymbolReferences", "INCLUDE:", "Force Symbol References", "", - cmVS7FlagTable::UserValue }, - { "DisplayLibrary", "LIST:", "Display Library to standard output", "", - cmVS7FlagTable::UserValue }, - // Skip [MinimumRequiredVersion] - no command line Switch. - { "Name", "NAME:", "Name", "", cmVS7FlagTable::UserValue }, - // Skip [AdditionalOptions] - no command line Switch. - // Skip [TrackerLogDirectory] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS11LinkFlagTable.h b/Source/cmVS11LinkFlagTable.h deleted file mode 100644 index 4dea670..0000000 --- a/Source/cmVS11LinkFlagTable.h +++ /dev/null @@ -1,272 +0,0 @@ -static cmVS7FlagTable cmVS11LinkFlagTable[] = { - - // Enum Properties - { "ShowProgress", "", "Not Set", "NotSet", 0 }, - { "ShowProgress", "VERBOSE", "Display all progress messages", "LinkVerbose", - 0 }, - { "ShowProgress", "VERBOSE:Lib", "For Libraries Searched", "LinkVerboseLib", - 0 }, - { "ShowProgress", "VERBOSE:ICF", - "About COMDAT folding during optimized linking", "LinkVerboseICF", 0 }, - { "ShowProgress", "VERBOSE:REF", - "About data removed during optimized linking", "LinkVerboseREF", 0 }, - { "ShowProgress", "VERBOSE:SAFESEH", "About Modules incompatible with SEH", - "LinkVerboseSAFESEH", 0 }, - { "ShowProgress", "VERBOSE:CLR", - "About linker activity related to managed code", "LinkVerboseCLR", 0 }, - - { "ForceFileOutput", "FORCE", "Enabled", "Enabled", 0 }, - { "ForceFileOutput", "FORCE:MULTIPLE", "Multiply Defined Symbol Only", - "MultiplyDefinedSymbolOnly", 0 }, - { "ForceFileOutput", "FORCE:UNRESOLVED", "Undefined Symbol Only", - "UndefinedSymbolOnly", 0 }, - - { "CreateHotPatchableImage", "FUNCTIONPADMIN", "Enabled", "Enabled", 0 }, - { "CreateHotPatchableImage", "FUNCTIONPADMIN:5", "X86 Image Only", - "X86Image", 0 }, - { "CreateHotPatchableImage", "FUNCTIONPADMIN:6", "X64 Image Only", - "X64Image", 0 }, - { "CreateHotPatchableImage", "FUNCTIONPADMIN:16", "Itanium Image Only", - "ItaniumImage", 0 }, - - // correct flags for uac should be /MANIFESTUAC, but some projects already - // use this bug to access uac field, so keep these for compatibility - { "UACExecutionLevel", "level='asInvoker'", "asInvoker", "AsInvoker", 0 }, - { "UACExecutionLevel", "level='highestAvailable'", "highestAvailable", - "HighestAvailable", 0 }, - { "UACExecutionLevel", "level='requireAdministrator'", - "requireAdministrator", "RequireAdministrator", 0 }, - - { "SubSystem", "", "Not Set", "NotSet", 0 }, - { "SubSystem", "SUBSYSTEM:CONSOLE", "Console", "Console", 0 }, - { "SubSystem", "SUBSYSTEM:WINDOWS", "Windows", "Windows", 0 }, - { "SubSystem", "SUBSYSTEM:NATIVE", "Native", "Native", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_APPLICATION", "EFI Application", - "EFI Application", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", - "EFI Boot Service Driver", "EFI Boot Service Driver", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_ROM", "EFI ROM", "EFI ROM", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_RUNTIME_DRIVER", "EFI Runtime", "EFI Runtime", - 0 }, - { "SubSystem", "SUBSYSTEM:POSIX", "POSIX", "POSIX", 0 }, - - { "Driver", "", "Not Set", "NotSet", 0 }, - { "Driver", "Driver", "Driver", "Driver", 0 }, - { "Driver", "DRIVER:UPONLY", "UP Only", "UpOnly", 0 }, - { "Driver", "DRIVER:WDM", "WDM", "WDM", 0 }, - - { "LinkTimeCodeGeneration", "", "Default", "Default", 0 }, - { "LinkTimeCodeGeneration", "LTCG", "Use Link Time Code Generation", - "UseLinkTimeCodeGeneration", 0 }, - { "LinkTimeCodeGeneration", "LTCG:PGInstrument", - "Profile Guided Optimization - Instrument", "PGInstrument", 0 }, - { "LinkTimeCodeGeneration", "LTCG:PGOptimize", - "Profile Guided Optimization - Optimization", "PGOptimization", 0 }, - { "LinkTimeCodeGeneration", "LTCG:PGUpdate", - "Profile Guided Optimization - Update", "PGUpdate", 0 }, - - { "GenerateWindowsMetadata", "WINMD", "Yes", "true", 0 }, - { "GenerateWindowsMetadata", "WINMD:NO", "No", "false", 0 }, - - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA1", "SHA1", "SHA1", 0 }, - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA256", "SHA256", "SHA256", 0 }, - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA384", "SHA384", "SHA384", 0 }, - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA512", "SHA512", "SHA512", 0 }, - - { "TargetMachine", "", "Not Set", "NotSet", 0 }, - { "TargetMachine", "MACHINE:ARM", "MachineARM", "MachineARM", 0 }, - { "TargetMachine", "MACHINE:EBC", "MachineEBC", "MachineEBC", 0 }, - { "TargetMachine", "MACHINE:IA64", "MachineIA64", "MachineIA64", 0 }, - { "TargetMachine", "MACHINE:MIPS", "MachineMIPS", "MachineMIPS", 0 }, - { "TargetMachine", "MACHINE:MIPS16", "MachineMIPS16", "MachineMIPS16", 0 }, - { "TargetMachine", "MACHINE:MIPSFPU", "MachineMIPSFPU", "MachineMIPSFPU", - 0 }, - { "TargetMachine", "MACHINE:MIPSFPU16", "MachineMIPSFPU16", - "MachineMIPSFPU16", 0 }, - { "TargetMachine", "MACHINE:SH4", "MachineSH4", "MachineSH4", 0 }, - { "TargetMachine", "MACHINE:THUMB", "MachineTHUMB", "MachineTHUMB", 0 }, - { "TargetMachine", "MACHINE:X64", "MachineX64", "MachineX64", 0 }, - { "TargetMachine", "MACHINE:X86", "MachineX86", "MachineX86", 0 }, - - { "CLRThreadAttribute", "CLRTHREADATTRIBUTE:MTA", "MTA threading attribute", - "MTAThreadingAttribute", 0 }, - { "CLRThreadAttribute", "CLRTHREADATTRIBUTE:STA", "STA threading attribute", - "STAThreadingAttribute", 0 }, - { "CLRThreadAttribute", "CLRTHREADATTRIBUTE:NONE", - "Default threading attribute", "DefaultThreadingAttribute", 0 }, - - { "CLRImageType", "CLRIMAGETYPE:IJW", "Force IJW image", "ForceIJWImage", - 0 }, - { "CLRImageType", "CLRIMAGETYPE:PURE", "Force Pure IL Image", - "ForcePureILImage", 0 }, - { "CLRImageType", "CLRIMAGETYPE:SAFE", "Force Safe IL Image", - "ForceSafeILImage", 0 }, - { "CLRImageType", "", "Default image type", "Default", 0 }, - - { "SignHash", "CLRSIGNHASH:SHA1", "SHA1", "SHA1", 0 }, - { "SignHash", "CLRSIGNHASH:SHA256", "SHA256", "SHA256", 0 }, - { "SignHash", "CLRSIGNHASH:SHA384", "SHA384", "SHA384", 0 }, - { "SignHash", "CLRSIGNHASH:SHA512", "SHA512", "SHA512", 0 }, - - { "LinkErrorReporting", "ERRORREPORT:PROMPT", "PromptImmediately", - "PromptImmediately", 0 }, - { "LinkErrorReporting", "ERRORREPORT:QUEUE", "Queue For Next Login", - "QueueForNextLogin", 0 }, - { "LinkErrorReporting", "ERRORREPORT:SEND", "Send Error Report", - "SendErrorReport", 0 }, - { "LinkErrorReporting", "ERRORREPORT:NONE", "No Error Report", - "NoErrorReport", 0 }, - - { "CLRSupportLastError", "CLRSupportLastError", "Enabled", "Enabled", 0 }, - { "CLRSupportLastError", "CLRSupportLastError:NO", "Disabled", "Disabled", - 0 }, - { "CLRSupportLastError", "CLRSupportLastError:SYSTEMDLL", "System Dlls Only", - "SystemDlls", 0 }, - - // Bool Properties - { "LinkIncremental", "INCREMENTAL:NO", "", "false", 0 }, - { "LinkIncremental", "INCREMENTAL", "", "true", 0 }, - { "SuppressStartupBanner", "NOLOGO", "", "true", 0 }, - { "LinkStatus", "LTCG:NOSTATUS", "", "false", 0 }, - { "LinkStatus", "LTCG:STATUS", "", "true", 0 }, - { "PreventDllBinding", "ALLOWBIND:NO", "", "false", 0 }, - { "PreventDllBinding", "ALLOWBIND", "", "true", 0 }, - { "TreatLinkerWarningAsErrors", "WX:NO", "", "false", 0 }, - { "TreatLinkerWarningAsErrors", "WX", "", "true", 0 }, - { "IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0 }, - { "GenerateManifest", "MANIFEST:NO", "", "false", 0 }, - { "GenerateManifest", "MANIFEST", "", "true", 0 }, - { "AllowIsolation", "ALLOWISOLATION:NO", "", "false", 0 }, - - // correct flags for uac should be /MANIFESTUAC, but some projects already - // use this bug to access uac field, so keep these for compatibility - { "UACUIAccess", "uiAccess='false'", "", "false", 0 }, - { "UACUIAccess", "uiAccess='true'", "", "true", 0 }, - - { "ManifestEmbed", "manifest:embed", "", "true", 0 }, - { "GenerateDebugInformation", "DEBUG", "", "true", - cmVS7FlagTable::CaseInsensitive }, - { "MapExports", "MAPINFO:EXPORTS", "", "true", 0 }, - { "AssemblyDebug", "ASSEMBLYDEBUG:DISABLE", "", "false", 0 }, - { "AssemblyDebug", "ASSEMBLYDEBUG", "", "true", 0 }, - { "LargeAddressAware", "LARGEADDRESSAWARE:NO", "", "false", 0 }, - { "LargeAddressAware", "LARGEADDRESSAWARE", "", "true", 0 }, - { "TerminalServerAware", "TSAWARE:NO", "", "false", 0 }, - { "TerminalServerAware", "TSAWARE", "", "true", 0 }, - { "SwapRunFromCD", "SWAPRUN:CD", "", "true", 0 }, - { "SwapRunFromNET", "SWAPRUN:NET", "", "true", 0 }, - { "OptimizeReferences", "OPT:NOREF", "", "false", 0 }, - { "OptimizeReferences", "OPT:REF", "", "true", 0 }, - { "EnableCOMDATFolding", "OPT:NOICF", "", "false", 0 }, - { "EnableCOMDATFolding", "OPT:ICF", "", "true", 0 }, - { "IgnoreEmbeddedIDL", "IGNOREIDL", "", "true", 0 }, - { "AppContainer", "APPCONTAINER", "", "true", 0 }, - { "WindowsMetadataLinkDelaySign", "WINMDDELAYSIGN:NO", "", "false", 0 }, - { "WindowsMetadataLinkDelaySign", "WINMDDELAYSIGN", "", "true", 0 }, - { "NoEntryPoint", "NOENTRY", "", "true", 0 }, - { "SetChecksum", "RELEASE", "", "true", 0 }, - { "RandomizedBaseAddress", "DYNAMICBASE:NO", "", "false", 0 }, - { "RandomizedBaseAddress", "DYNAMICBASE", "", "true", 0 }, - { "FixedBaseAddress", "FIXED:NO", "", "false", 0 }, - { "FixedBaseAddress", "FIXED", "", "true", 0 }, - { "DataExecutionPrevention", "NXCOMPAT:NO", "", "false", 0 }, - { "DataExecutionPrevention", "NXCOMPAT", "", "true", 0 }, - { "TurnOffAssemblyGeneration", "NOASSEMBLY", "", "true", 0 }, - { "SupportUnloadOfDelayLoadedDLL", "DELAY:UNLOAD", "", "true", 0 }, - { "SupportNobindOfDelayLoadedDLL", "DELAY:NOBIND", "", "true", 0 }, - { "Profile", "PROFILE", "", "true", 0 }, - { "LinkDelaySign", "DELAYSIGN:NO", "", "false", 0 }, - { "LinkDelaySign", "DELAYSIGN", "", "true", 0 }, - { "CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK:NO", "", "false", 0 }, - { "CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK", "", "true", 0 }, - { "DetectOneDefinitionRule", "ODR", "", "true", 0 }, - { "ImageHasSafeExceptionHandlers", "SAFESEH:NO", "", "false", 0 }, - { "ImageHasSafeExceptionHandlers", "SAFESEH", "", "true", 0 }, - { "LinkDLL", "DLL", "", "true", 0 }, - - // Bool Properties With Argument - { "EnableUAC", "MANIFESTUAC:", "", "", - cmVS7FlagTable::UserValueRequired | cmVS7FlagTable::SpaceAppendable }, - { "GenerateMapFile", "MAP", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "MapFileName", "MAP:", "Generate Map File", "", - cmVS7FlagTable::UserValueRequired }, - - // String List Properties - { "AdditionalLibraryDirectories", - "LIBPATH:", "Additional Library Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - // Skip [AdditionalDependencies] - no command line Switch. - { "IgnoreSpecificDefaultLibraries", - "NODEFAULTLIB:", "Ignore Specific Default Libraries", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AddModuleNamesToAssembly", "ASSEMBLYMODULE:", "Add Module to Assembly", - "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "EmbedManagedResourceFile", - "ASSEMBLYRESOURCE:", "Embed Managed Resource File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ForceSymbolReferences", "INCLUDE:", "Force Symbol References", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "DelayLoadDLLs", "DELAYLOAD:", "Delay Loaded Dlls", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AssemblyLinkResource", "ASSEMBLYLINKRESOURCE:", "Assembly Link Resource", - "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AdditionalManifestDependencies", - "MANIFESTDEPENDENCY:", "Additional Manifest Dependencies", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ManifestInput", "manifestinput:", "Manifest Input", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - - // String Properties - { "OutputFile", "OUT:", "Output File", "", cmVS7FlagTable::UserValue }, - { "Version", "VERSION:", "Version", "", cmVS7FlagTable::UserValue }, - { "SpecifySectionAttributes", "SECTION:", "Specify Section Attributes", "", - cmVS7FlagTable::UserValue }, - { "MSDOSStubFileName", "STUB:", "MS-DOS Stub File Name", "", - cmVS7FlagTable::UserValue }, - // Skip [TrackerLogDirectory] - no command line Switch. - { "ModuleDefinitionFile", "DEF:", "Module Definition File", "", - cmVS7FlagTable::UserValue }, - { "ManifestFile", "ManifestFile:", "Manifest File", "", - cmVS7FlagTable::UserValue }, - { "ProgramDatabaseFile", "PDB:", "Generate Program Database File", "", - cmVS7FlagTable::UserValue }, - { "StripPrivateSymbols", "PDBSTRIPPED:", "Strip Private Symbols", "", - cmVS7FlagTable::UserValue }, - // Skip [MapFileName] - no command line Switch. - // Skip [MinimumRequiredVersion] - no command line Switch. - { "HeapReserveSize", "HEAP:", "Heap Reserve Size", "", - cmVS7FlagTable::UserValue }, - // Skip [HeapCommitSize] - no command line Switch. - { "StackReserveSize", "STACK:", "Stack Reserve Size", "", - cmVS7FlagTable::UserValue }, - // Skip [StackCommitSize] - no command line Switch. - { "FunctionOrder", "ORDER:@", "Function Order", "", - cmVS7FlagTable::UserValue }, - { "ProfileGuidedDatabase", "PGD:", "Profile Guided Database", "", - cmVS7FlagTable::UserValue }, - { "MidlCommandFile", "MIDL:@", "MIDL Commands", "", - cmVS7FlagTable::UserValue }, - { "MergedIDLBaseFileName", "IDLOUT:", "Merged IDL Base File Name", "", - cmVS7FlagTable::UserValue }, - { "TypeLibraryFile", "TLBOUT:", "Type Library", "", - cmVS7FlagTable::UserValue }, - { "WindowsMetadataFile", "WINMDFILE:", "Windows Metadata File", "", - cmVS7FlagTable::UserValue }, - { "WindowsMetadataLinkKeyFile", "WINMDKEYFILE:", "Windows Metadata Key File", - "", cmVS7FlagTable::UserValue }, - { "WindowsMetadataKeyContainer", "WINMDKEYCONTAINER:", - "Windows Metadata Key Container", "", cmVS7FlagTable::UserValue }, - { "EntryPointSymbol", "ENTRY:", "Entry Point", "", - cmVS7FlagTable::UserValue }, - { "BaseAddress", "BASE:", "Base Address", "", cmVS7FlagTable::UserValue }, - { "ImportLibrary", "IMPLIB:", "Import Library", "", - cmVS7FlagTable::UserValue }, - { "MergeSections", "MERGE:", "Merge Sections", "", - cmVS7FlagTable::UserValue }, - { "LinkKeyFile", "KEYFILE:", "Key File", "", cmVS7FlagTable::UserValue }, - { "KeyContainer", "KEYCONTAINER:", "Key Container", "", - cmVS7FlagTable::UserValue }, - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS11MASMFlagTable.h b/Source/cmVS11MASMFlagTable.h deleted file mode 100644 index fc0443c..0000000 --- a/Source/cmVS11MASMFlagTable.h +++ /dev/null @@ -1,76 +0,0 @@ -static cmVS7FlagTable cmVS11MASMFlagTable[] = { - - // Enum Properties - { "PreserveIdentifierCase", "", "Default", "0", 0 }, - { "PreserveIdentifierCase", "Cp", "Preserves Identifier Case (/Cp)", "1", - 0 }, - { "PreserveIdentifierCase", "Cu", - "Maps all identifiers to upper case. (/Cu)", "2", 0 }, - { "PreserveIdentifierCase", "Cx", - "Preserves case in public and extern symbols. (/Cx)", "3", 0 }, - - { "WarningLevel", "W0", "Warning Level 0 (/W0)", "0", 0 }, - { "WarningLevel", "W1", "Warning Level 1 (/W1)", "1", 0 }, - { "WarningLevel", "W2", "Warning Level 2 (/W2)", "2", 0 }, - { "WarningLevel", "W3", "Warning Level 3 (/W3)", "3", 0 }, - - { "PackAlignmentBoundary", "", "Default", "0", 0 }, - { "PackAlignmentBoundary", "Zp1", "One Byte Boundary (/Zp1)", "1", 0 }, - { "PackAlignmentBoundary", "Zp2", "Two Byte Boundary (/Zp2)", "2", 0 }, - { "PackAlignmentBoundary", "Zp4", "Four Byte Boundary (/Zp4)", "3", 0 }, - { "PackAlignmentBoundary", "Zp8", "Eight Byte Boundary (/Zp8)", "4", 0 }, - { "PackAlignmentBoundary", "Zp16", "Sixteen Byte Boundary (/Zp16)", "5", 0 }, - - { "CallingConvention", "", "Default", "0", 0 }, - { "CallingConvention", "Gd", "Use C-style Calling Convention (/Gd)", "1", - 0 }, - { "CallingConvention", "Gz", "Use stdcall Calling Convention (/Gz)", "2", - 0 }, - { "CallingConvention", "Gc", "Use Pascal Calling Convention (/Gc)", "3", 0 }, - - { "ErrorReporting", "errorReport:prompt", - "Prompt to send report immediately (/errorReport:prompt)", "0", 0 }, - { "ErrorReporting", "errorReport:queue", - "Prompt to send report at the next logon (/errorReport:queue)", "1", 0 }, - { "ErrorReporting", "errorReport:send", - "Automatically send report (/errorReport:send)", "2", 0 }, - { "ErrorReporting", "errorReport:none", - "Do not send report (/errorReport:none)", "3", 0 }, - - // Bool Properties - { "NoLogo", "nologo", "", "true", 0 }, - { "GeneratePreprocessedSourceListing", "EP", "", "true", 0 }, - { "ListAllAvailableInformation", "Sa", "", "true", 0 }, - { "UseSafeExceptionHandlers", "safeseh", "", "true", 0 }, - { "AddFirstPassListing", "Sf", "", "true", 0 }, - { "EnableAssemblyGeneratedCodeListing", "Sg", "", "true", 0 }, - { "DisableSymbolTable", "Sn", "", "true", 0 }, - { "EnableFalseConditionalsInListing", "Sx", "", "true", 0 }, - { "TreatWarningsAsErrors", "WX", "", "true", 0 }, - { "MakeAllSymbolsPublic", "Zf", "", "true", 0 }, - { "GenerateDebugInformation", "Zi", "", "true", 0 }, - { "EnableMASM51Compatibility", "Zm", "", "true", 0 }, - { "PerformSyntaxCheckOnly", "Zs", "", "true", 0 }, - - // Bool Properties With Argument - - // String List Properties - { "PreprocessorDefinitions", "D", "Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "IncludePaths", "I", "Include Paths", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "BrowseFile", "FR", "Generate Browse Information File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - // Skip [AdditionalDependencies] - no command line Switch. - - // String Properties - // Skip [Inputs] - no command line Switch. - { "ObjectFileName", "Fo", "Object File Name", "", - cmVS7FlagTable::UserValue }, - { "AssembledCodeListingFile", "Fl", "Assembled Code Listing File", "", - cmVS7FlagTable::UserValue }, - // Skip [CommandLineTemplate] - no command line Switch. - // Skip [ExecutionDescription] - no command line Switch. - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS11RCFlagTable.h b/Source/cmVS11RCFlagTable.h deleted file mode 100644 index f71604c..0000000 --- a/Source/cmVS11RCFlagTable.h +++ /dev/null @@ -1,7 +0,0 @@ -static cmVS7FlagTable cmVS11RCFlagTable[] = { - // Bool Properties - { "NullTerminateStrings", "n", "", "true", 0 }, - { "SuppressStartupBanner", "nologo", "", "true", 0 }, - - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS12CLFlagTable.h b/Source/cmVS12CLFlagTable.h deleted file mode 100644 index 5cac77c..0000000 --- a/Source/cmVS12CLFlagTable.h +++ /dev/null @@ -1,222 +0,0 @@ -static cmVS7FlagTable cmVS12CLFlagTable[] = { - - // Enum Properties - { "DebugInformationFormat", "", "None", "None", 0 }, - { "DebugInformationFormat", "Z7", "C7 compatible", "OldStyle", 0 }, - { "DebugInformationFormat", "Zi", "Program Database", "ProgramDatabase", 0 }, - { "DebugInformationFormat", "ZI", "Program Database for Edit And Continue", - "EditAndContinue", 0 }, - - { "WarningLevel", "W0", "Turn Off All Warnings", "TurnOffAllWarnings", 0 }, - { "WarningLevel", "W1", "Level1", "Level1", 0 }, - { "WarningLevel", "W2", "Level2", "Level2", 0 }, - { "WarningLevel", "W3", "Level3", "Level3", 0 }, - { "WarningLevel", "W4", "Level4", "Level4", 0 }, - { "WarningLevel", "Wall", "EnableAllWarnings", "EnableAllWarnings", 0 }, - - { "Optimization", "", "Custom", "Custom", 0 }, - { "Optimization", "Od", "Disabled", "Disabled", 0 }, - { "Optimization", "O1", "Minimize Size", "MinSpace", 0 }, - { "Optimization", "O2", "Maximize Speed", "MaxSpeed", 0 }, - { "Optimization", "Ox", "Full Optimization", "Full", 0 }, - - { "InlineFunctionExpansion", "", "Default", "Default", 0 }, - { "InlineFunctionExpansion", "Ob0", "Disabled", "Disabled", 0 }, - { "InlineFunctionExpansion", "Ob1", "Only __inline", "OnlyExplicitInline", - 0 }, - { "InlineFunctionExpansion", "Ob2", "Any Suitable", "AnySuitable", 0 }, - - { "FavorSizeOrSpeed", "Os", "Favor small code", "Size", 0 }, - { "FavorSizeOrSpeed", "Ot", "Favor fast code", "Speed", 0 }, - { "FavorSizeOrSpeed", "", "Neither", "Neither", 0 }, - - { "ExceptionHandling", "EHa", "Yes with SEH Exceptions", "Async", 0 }, - { "ExceptionHandling", "EHsc", "Yes", "Sync", 0 }, - { "ExceptionHandling", "EHs", "Yes with Extern C functions", "SyncCThrow", - 0 }, - { "ExceptionHandling", "", "No", "false", 0 }, - - { "BasicRuntimeChecks", "RTCs", "Stack Frames", "StackFrameRuntimeCheck", - 0 }, - { "BasicRuntimeChecks", "RTCu", "Uninitialized variables", - "UninitializedLocalUsageCheck", 0 }, - { "BasicRuntimeChecks", "RTC1", "Both (/RTC1, equiv. to /RTCsu)", - "EnableFastChecks", 0 }, - { "BasicRuntimeChecks", "", "Default", "Default", 0 }, - - { "RuntimeLibrary", "MT", "Multi-threaded", "MultiThreaded", 0 }, - { "RuntimeLibrary", "MTd", "Multi-threaded Debug", "MultiThreadedDebug", 0 }, - { "RuntimeLibrary", "MD", "Multi-threaded DLL", "MultiThreadedDLL", 0 }, - { "RuntimeLibrary", "MDd", "Multi-threaded Debug DLL", - "MultiThreadedDebugDLL", 0 }, - - { "StructMemberAlignment", "Zp1", "1 Byte", "1Byte", 0 }, - { "StructMemberAlignment", "Zp2", "2 Bytes", "2Bytes", 0 }, - { "StructMemberAlignment", "Zp4", "4 Byte", "4Bytes", 0 }, - { "StructMemberAlignment", "Zp8", "8 Bytes", "8Bytes", 0 }, - { "StructMemberAlignment", "Zp16", "16 Bytes", "16Bytes", 0 }, - { "StructMemberAlignment", "", "Default", "Default", 0 }, - - { "BufferSecurityCheck", "GS-", "Disable Security Check", "false", 0 }, - { "BufferSecurityCheck", "GS", "Enable Security Check", "true", 0 }, - - { "EnableEnhancedInstructionSet", "arch:SSE", "Streaming SIMD Extensions", - "StreamingSIMDExtensions", 0 }, - { "EnableEnhancedInstructionSet", "arch:SSE2", "Streaming SIMD Extensions 2", - "StreamingSIMDExtensions2", 0 }, - { "EnableEnhancedInstructionSet", "arch:AVX", "Advanced Vector Extensions", - "AdvancedVectorExtensions", 0 }, - { "EnableEnhancedInstructionSet", "arch:IA32", "No Enhanced Instructions", - "NoExtensions", 0 }, - { "EnableEnhancedInstructionSet", "", "Not Set", "NotSet", 0 }, - - { "FloatingPointModel", "fp:precise", "Precise", "Precise", 0 }, - { "FloatingPointModel", "fp:strict", "Strict", "Strict", 0 }, - { "FloatingPointModel", "fp:fast", "Fast", "Fast", 0 }, - - { "PrecompiledHeader", "Yc", "Create", "Create", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "PrecompiledHeader", "Yu", "Use", "Use", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "PrecompiledHeader", "Y-", "Not Using Precompiled Headers", "NotUsing", - 0 }, - - { "AssemblerOutput", "", "No Listing", "NoListing", 0 }, - { "AssemblerOutput", "FA", "Assembly-Only Listing", "AssemblyCode", 0 }, - { "AssemblerOutput", "FAc", "Assembly With Machine Code", - "AssemblyAndMachineCode", 0 }, - { "AssemblerOutput", "FAs", "Assembly With Source Code", - "AssemblyAndSourceCode", 0 }, - { "AssemblerOutput", "FAcs", "Assembly, Machine Code and Source", "All", 0 }, - - { "CallingConvention", "Gd", "__cdecl", "Cdecl", 0 }, - { "CallingConvention", "Gr", "__fastcall", "FastCall", 0 }, - { "CallingConvention", "Gz", "__stdcall", "StdCall", 0 }, - { "CallingConvention", "Gv", "__vectorcall", "VectorCall", 0 }, - - { "CompileAs", "", "Default", "Default", 0 }, - { "CompileAs", "TC", "Compile as C Code", "CompileAsC", 0 }, - { "CompileAs", "TP", "Compile as C++ Code", "CompileAsCpp", 0 }, - - { "ErrorReporting", "errorReport:none", "Do Not Send Report", "None", 0 }, - { "ErrorReporting", "errorReport:prompt", "Prompt Immediately", "Prompt", - 0 }, - { "ErrorReporting", "errorReport:queue", "Queue For Next Login", "Queue", - 0 }, - { "ErrorReporting", "errorReport:send", "Send Automatically", "Send", 0 }, - - { "CompileAsManaged", "", "No Common Language RunTime Support", "false", 0 }, - { "CompileAsManaged", "clr", "Common Language RunTime Support", "true", 0 }, - { "CompileAsManaged", "clr:pure", - "Pure MSIL Common Language RunTime Support", "Pure", 0 }, - { "CompileAsManaged", "clr:safe", - "Safe MSIL Common Language RunTime Support", "Safe", 0 }, - { "CompileAsManaged", "clr:oldSyntax", - "Common Language RunTime Support, Old Syntax", "OldSyntax", 0 }, - - // Bool Properties - { "CompileAsWinRT", "ZW", "", "true", 0 }, - { "WinRTNoStdLib", "ZW:nostdlib", "", "true", 0 }, - { "SuppressStartupBanner", "nologo", "", "true", 0 }, - { "TreatWarningAsError", "WX-", "", "false", 0 }, - { "TreatWarningAsError", "WX", "", "true", 0 }, - { "SDLCheck", "sdl-", "", "false", 0 }, - { "SDLCheck", "sdl", "", "true", 0 }, - { "IntrinsicFunctions", "Oi", "", "true", 0 }, - { "OmitFramePointers", "Oy-", "", "false", 0 }, - { "OmitFramePointers", "Oy", "", "true", 0 }, - { "EnableFiberSafeOptimizations", "GT", "", "true", 0 }, - { "WholeProgramOptimization", "GL", "", "true", 0 }, - { "UndefineAllPreprocessorDefinitions", "u", "", "true", 0 }, - { "IgnoreStandardIncludePath", "X", "", "true", 0 }, - { "PreprocessToFile", "P", "", "true", 0 }, - { "PreprocessSuppressLineNumbers", "EP", "", "true", 0 }, - { "PreprocessKeepComments", "C", "", "true", 0 }, - { "StringPooling", "GF-", "", "false", 0 }, - { "StringPooling", "GF", "", "true", 0 }, - { "MinimalRebuild", "Gm-", "", "false", 0 }, - { "MinimalRebuild", "Gm", "", "true", 0 }, - { "SmallerTypeCheck", "RTCc", "", "true", 0 }, - { "FunctionLevelLinking", "Gy-", "", "false", 0 }, - { "FunctionLevelLinking", "Gy", "", "true", 0 }, - { "EnableParallelCodeGeneration", "Qpar-", "", "false", 0 }, - { "EnableParallelCodeGeneration", "Qpar", "", "true", 0 }, - { "FloatingPointExceptions", "fp:except-", "", "false", 0 }, - { "FloatingPointExceptions", "fp:except", "", "true", 0 }, - { "CreateHotpatchableImage", "hotpatch", "", "true", 0 }, - { "DisableLanguageExtensions", "Za", "", "true", 0 }, - { "TreatWChar_tAsBuiltInType", "Zc:wchar_t-", "", "false", 0 }, - { "TreatWChar_tAsBuiltInType", "Zc:wchar_t", "", "true", 0 }, - { "ForceConformanceInForLoopScope", "Zc:forScope-", "", "false", 0 }, - { "ForceConformanceInForLoopScope", "Zc:forScope", "", "true", 0 }, - { "RuntimeTypeInfo", "GR-", "", "false", 0 }, - { "RuntimeTypeInfo", "GR", "", "true", 0 }, - { "OpenMPSupport", "openmp-", "", "false", 0 }, - { "OpenMPSupport", "openmp", "", "true", 0 }, - { "ExpandAttributedSource", "Fx", "", "true", 0 }, - { "UseUnicodeForAssemblerListing", "FAu", "", "true", 0 }, - { "ShowIncludes", "showIncludes", "", "true", 0 }, - { "EnablePREfast", "analyze-", "", "false", 0 }, - { "EnablePREfast", "analyze", "", "true", 0 }, - { "UseFullPaths", "FC", "", "true", 0 }, - { "OmitDefaultLibName", "Zl", "", "true", 0 }, - - // Bool Properties With Argument - { "MultiProcessorCompilation", "MP", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "ProcessorNumber", "MP", "Multi-processor Compilation", "", - cmVS7FlagTable::UserValueRequired }, - { "GenerateXMLDocumentationFiles", "doc", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "XMLDocumentationFileName", "doc", "Generate XML Documentation Files", "", - cmVS7FlagTable::UserValueRequired }, - { "BrowseInformation", "FR", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "BrowseInformationFile", "FR", "Enable Browse Information", "", - cmVS7FlagTable::UserValueRequired }, - - // String List Properties - { "AdditionalIncludeDirectories", "I", "Additional Include Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AdditionalUsingDirectories", "AI", "Additional #using Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "PreprocessorDefinitions", "D ", "Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "UndefinePreprocessorDefinitions", "U", - "Undefine Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "DisableSpecificWarnings", "wd", "Disable Specific Warnings", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ForcedIncludeFiles", "FI", "Forced Include File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ForcedUsingFiles", "FU", "Forced #using File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "PREfastLog", "analyze:log", "Code Analysis Log", "", - cmVS7FlagTable::UserFollowing }, - { "PREfastAdditionalPlugins", "analyze:plugin", - "Additional Code Analysis Native plugins", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "TreatSpecificWarningsAsErrors", "we", "Treat Specific Warnings As Errors", - "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - - // String Properties - // Skip [TrackerLogDirectory] - no command line Switch. - { "PreprocessOutputPath", "Fi", "Preprocess Output Path", "", - cmVS7FlagTable::UserValue }, - { "PrecompiledHeaderFile", "Yc", "Precompiled Header Name", "", - cmVS7FlagTable::UserValueRequired }, - { "PrecompiledHeaderFile", "Yu", "Precompiled Header Name", "", - cmVS7FlagTable::UserValueRequired }, - { "PrecompiledHeaderOutputFile", "Fp", "Precompiled Header Output File", "", - cmVS7FlagTable::UserValue }, - { "AssemblerListingLocation", "Fa", "ASM List Location", "", - cmVS7FlagTable::UserValue }, - { "ObjectFileName", "Fo", "Object File Name", "", - cmVS7FlagTable::UserValue }, - { "ProgramDataBaseFileName", "Fd", "Program Database File Name", "", - cmVS7FlagTable::UserValue }, - // Skip [XMLDocumentationFileName] - no command line Switch. - // Skip [BrowseInformationFile] - no command line Switch. - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS12CSharpFlagTable.h b/Source/cmVS12CSharpFlagTable.h deleted file mode 100644 index d407696..0000000 --- a/Source/cmVS12CSharpFlagTable.h +++ /dev/null @@ -1,121 +0,0 @@ -static cmVS7FlagTable cmVS12CSharpFlagTable[] = { - { "ProjectName", "out:", "", "", cmIDEFlagTable::UserValueRequired }, - - { "OutputType", "target:exe", "", "Exe", 0 }, - { "OutputType", "target:winexe", "", "Winexe", 0 }, - { "OutputType", "target:library", "", "Library", 0 }, - { "OutputType", "target:module", "", "Module", 0 }, - - { "DocumentationFile", "doc", "", "", cmIDEFlagTable::UserValueRequired }, - - { "Platform", "platform:x86", "", "x86", 0 }, - { "Platform", "platform:Itanium", "", "Itanium", 0 }, - { "Platform", "platform:x64", "", "x64", 0 }, - { "Platform", "platform:arm", "", "arm", 0 }, - { "Platform", "platform:anycpu32bitpreferred", "", "anycpu32bitpreferred", - 0 }, - { "Platform", "platform:anycpu", "", "anycpu", 0 }, - - { "References", "reference:", "mit alias", "", 0 }, - { "References", "reference:", "dateiliste", "", 0 }, - { "AddModules", "addmodule:", "", "", cmIDEFlagTable::SemicolonAppendable }, - { "", "link", "", "", 0 }, - - { "Win32Resource", "win32res:", "", "", cmIDEFlagTable::UserValueRequired }, - { "ApplicationIcon", "win32icon:", "", "", - cmIDEFlagTable::UserValueRequired }, - - { "ApplicationManifest", "win32manifest:", "", "", - cmIDEFlagTable::UserValueRequired }, - - { "NoWin32Manifest", "nowin32manifest", "", "true", 0 }, - - { "DefineDebug", "debug", "", "true", cmIDEFlagTable::Continue }, - - { "DebugSymbols", "debug", "", "true", 0 }, - { "DebugSymbols", "debug-", "", "false", 0 }, - { "DebugSymbols", "debug+", "", "true", 0 }, - - { "DebugType", "debug:none", "", "none", 0 }, - { "DebugType", "debug:full", "", "full", 0 }, - { "DebugType", "debug:pdbonly", "", "pdbonly", 0 }, - - { "Optimize", "optimize", "", "true", 0 }, - { "Optimize", "optimize-", "", "false", 0 }, - { "Optimize", "optimize+", "", "true", 0 }, - - { "TreatWarningsAsErrors", "warnaserror", "", "true", 0 }, - { "TreatWarningsAsErrors", "warnaserror-", "", "false", 0 }, - { "TreatWarningsAsErrors", "warnaserror+", "", "true", 0 }, - - { "WarningsAsErrors", "warnaserror", "", "", 0 }, - { "WarningsAsErrors", "warnaserror-", "", "", 0 }, - { "WarningsAsErrors", "warnaserror+", "", "", 0 }, - - { "WarningLevel", "warn:0", "", "0", 0 }, - { "WarningLevel", "warn:1", "", "1", 0 }, - { "WarningLevel", "warn:2", "", "2", 0 }, - { "WarningLevel", "warn:3", "", "3", 0 }, - { "WarningLevel", "warn:4", "", "4", 0 }, - { "DisabledWarnings", "nowarn", "", "", 0 }, - - { "CheckForOverflowUnderflow", "checked", "", "true", 0 }, - { "CheckForOverflowUnderflow", "checked-", "", "false", 0 }, - { "CheckForOverflowUnderflow", "checked+", "", "true", 0 }, - - { "AllowUnsafeBlocks", "unsafe", "", "true", 0 }, - { "AllowUnsafeBlocks", "unsafe-", "", "false", 0 }, - { "AllowUnsafeBlocks", "unsafe+", "", "true", 0 }, - - { "DefineConstants", "define:", "", "", - cmIDEFlagTable::SemicolonAppendable | cmIDEFlagTable::UserValue }, - - { "LangVersion", "langversion:ISO-1", "", "ISO-1", 0 }, - { "LangVersion", "langversion:ISO-2", "", "ISO-2", 0 }, - { "LangVersion", "langversion:3", "", "3", 0 }, - { "LangVersion", "langversion:4", "", "4", 0 }, - { "LangVersion", "langversion:5", "", "5", 0 }, - { "LangVersion", "langversion:6", "", "6", 0 }, - { "LangVersion", "langversion:default", "", "default", 0 }, - - { "DelaySign", "delaysign", "", "true", 0 }, - { "DelaySign", "delaysign-", "", "false", 0 }, - { "DelaySign", "delaysign+", "", "true", 0 }, - - { "AssemblyOriginatorKeyFile", "keyfile", "", "", 0 }, - - { "KeyContainerName", "keycontainer", "", "", 0 }, - - { "NoLogo", "nologo", "", "", 0 }, - - { "NoConfig", "noconfig", "", "true", 0 }, - - { "BaseAddress", "baseaddress:", "", "", 0 }, - - { "CodePage", "codepage", "", "", 0 }, - - { "Utf8Output", "utf8output", "", "", 0 }, - - { "MainEntryPoint", "main:", "", "", 0 }, - - { "GenerateFullPaths", "fullpaths", "", "true", 0 }, - - { "FileAlignment", "filealign", "", "", 0 }, - - { "PdbFile", "pdb:", "", "", 0 }, - - { "NoStandardLib", "nostdlib", "", "true", 0 }, - { "NoStandardLib", "nostdlib-", "", "false", 0 }, - { "NoStandardLib", "nostdlib+", "", "true", 0 }, - - { "SubsystemVersion", "subsystemversion", "", "", 0 }, - - { "AdditionalLibPaths", "lib:", "", "", 0 }, - - { "ErrorReport", "errorreport:none", "Do Not Send Report", "none", 0 }, - { "ErrorReport", "errorreport:prompt", "Prompt Immediately", "prompt", 0 }, - { "ErrorReport", "errorreport:queue", "Queue For Next Login", "queue", 0 }, - { "ErrorReport", "errorreport:send", "Send Automatically", "send", 0 }, - - { "", "", "", "", 0 }, -}; diff --git a/Source/cmVS12LibFlagTable.h b/Source/cmVS12LibFlagTable.h deleted file mode 100644 index d40eb5c..0000000 --- a/Source/cmVS12LibFlagTable.h +++ /dev/null @@ -1,76 +0,0 @@ -static cmVS7FlagTable cmVS12LibFlagTable[] = { - - // Enum Properties - { "ErrorReporting", "ERRORREPORT:PROMPT", "PromptImmediately", - "PromptImmediately", 0 }, - { "ErrorReporting", "ERRORREPORT:QUEUE", "Queue For Next Login", - "QueueForNextLogin", 0 }, - { "ErrorReporting", "ERRORREPORT:SEND", "Send Error Report", - "SendErrorReport", 0 }, - { "ErrorReporting", "ERRORREPORT:NONE", "No Error Report", "NoErrorReport", - 0 }, - - { "TargetMachine", "MACHINE:ARM", "MachineARM", "MachineARM", 0 }, - { "TargetMachine", "MACHINE:EBC", "MachineEBC", "MachineEBC", 0 }, - { "TargetMachine", "MACHINE:IA64", "MachineIA64", "MachineIA64", 0 }, - { "TargetMachine", "MACHINE:MIPS", "MachineMIPS", "MachineMIPS", 0 }, - { "TargetMachine", "MACHINE:MIPS16", "MachineMIPS16", "MachineMIPS16", 0 }, - { "TargetMachine", "MACHINE:MIPSFPU", "MachineMIPSFPU", "MachineMIPSFPU", - 0 }, - { "TargetMachine", "MACHINE:MIPSFPU16", "MachineMIPSFPU16", - "MachineMIPSFPU16", 0 }, - { "TargetMachine", "MACHINE:SH4", "MachineSH4", "MachineSH4", 0 }, - { "TargetMachine", "MACHINE:THUMB", "MachineTHUMB", "MachineTHUMB", 0 }, - { "TargetMachine", "MACHINE:X64", "MachineX64", "MachineX64", 0 }, - { "TargetMachine", "MACHINE:X86", "MachineX86", "MachineX86", 0 }, - - { "SubSystem", "SUBSYSTEM:CONSOLE", "Console", "Console", 0 }, - { "SubSystem", "SUBSYSTEM:WINDOWS", "Windows", "Windows", 0 }, - { "SubSystem", "SUBSYSTEM:NATIVE", "Native", "Native", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_APPLICATION", "EFI Application", - "EFI Application", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", - "EFI Boot Service Driver", "EFI Boot Service Driver", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_ROM", "EFI ROM", "EFI ROM", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_RUNTIME_DRIVER", "EFI Runtime", "EFI Runtime", - 0 }, - { "SubSystem", "SUBSYSTEM:WINDOWSCE", "WindowsCE", "WindowsCE", 0 }, - { "SubSystem", "SUBSYSTEM:POSIX", "POSIX", "POSIX", 0 }, - - // Bool Properties - { "SuppressStartupBanner", "NOLOGO", "", "true", 0 }, - { "IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0 }, - { "TreatLibWarningAsErrors", "WX:NO", "", "false", 0 }, - { "TreatLibWarningAsErrors", "WX", "", "true", 0 }, - { "Verbose", "VERBOSE", "", "true", 0 }, - { "LinkTimeCodeGeneration", "LTCG", "", "true", 0 }, - - // Bool Properties With Argument - - // String List Properties - // Skip [AdditionalDependencies] - no command line Switch. - { "AdditionalLibraryDirectories", - "LIBPATH:", "Additional Library Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "IgnoreSpecificDefaultLibraries", - "NODEFAULTLIB:", "Ignore Specific Default Libraries", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ExportNamedFunctions", "EXPORT:", "Export Named Functions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "RemoveObjects", "REMOVE:", "Remove Objects", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - - // String Properties - { "OutputFile", "OUT:", "Output File", "", cmVS7FlagTable::UserValue }, - { "ModuleDefinitionFile", "DEF:", "Module Definition File Name", "", - cmVS7FlagTable::UserValue }, - { "ForceSymbolReferences", "INCLUDE:", "Force Symbol References", "", - cmVS7FlagTable::UserValue }, - { "DisplayLibrary", "LIST:", "Display Library to standard output", "", - cmVS7FlagTable::UserValue }, - // Skip [MinimumRequiredVersion] - no command line Switch. - { "Name", "NAME:", "Name", "", cmVS7FlagTable::UserValue }, - // Skip [AdditionalOptions] - no command line Switch. - // Skip [TrackerLogDirectory] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS12LinkFlagTable.h b/Source/cmVS12LinkFlagTable.h deleted file mode 100644 index 7656e51..0000000 --- a/Source/cmVS12LinkFlagTable.h +++ /dev/null @@ -1,272 +0,0 @@ -static cmVS7FlagTable cmVS12LinkFlagTable[] = { - - // Enum Properties - { "ShowProgress", "", "Not Set", "NotSet", 0 }, - { "ShowProgress", "VERBOSE", "Display all progress messages", "LinkVerbose", - 0 }, - { "ShowProgress", "VERBOSE:Lib", "For Libraries Searched", "LinkVerboseLib", - 0 }, - { "ShowProgress", "VERBOSE:ICF", - "About COMDAT folding during optimized linking", "LinkVerboseICF", 0 }, - { "ShowProgress", "VERBOSE:REF", - "About data removed during optimized linking", "LinkVerboseREF", 0 }, - { "ShowProgress", "VERBOSE:SAFESEH", "About Modules incompatible with SEH", - "LinkVerboseSAFESEH", 0 }, - { "ShowProgress", "VERBOSE:CLR", - "About linker activity related to managed code", "LinkVerboseCLR", 0 }, - - { "ForceFileOutput", "FORCE", "Enabled", "Enabled", 0 }, - { "ForceFileOutput", "FORCE:MULTIPLE", "Multiply Defined Symbol Only", - "MultiplyDefinedSymbolOnly", 0 }, - { "ForceFileOutput", "FORCE:UNRESOLVED", "Undefined Symbol Only", - "UndefinedSymbolOnly", 0 }, - - { "CreateHotPatchableImage", "FUNCTIONPADMIN", "Enabled", "Enabled", 0 }, - { "CreateHotPatchableImage", "FUNCTIONPADMIN:5", "X86 Image Only", - "X86Image", 0 }, - { "CreateHotPatchableImage", "FUNCTIONPADMIN:6", "X64 Image Only", - "X64Image", 0 }, - { "CreateHotPatchableImage", "FUNCTIONPADMIN:16", "Itanium Image Only", - "ItaniumImage", 0 }, - - // correct flags for uac should be /MANIFESTUAC, but some projects already - // use this bug to access uac field, so keep these for compatibility - { "UACExecutionLevel", "level='asInvoker'", "asInvoker", "AsInvoker", 0 }, - { "UACExecutionLevel", "level='highestAvailable'", "highestAvailable", - "HighestAvailable", 0 }, - { "UACExecutionLevel", "level='requireAdministrator'", - "requireAdministrator", "RequireAdministrator", 0 }, - - { "SubSystem", "", "Not Set", "NotSet", 0 }, - { "SubSystem", "SUBSYSTEM:CONSOLE", "Console", "Console", 0 }, - { "SubSystem", "SUBSYSTEM:WINDOWS", "Windows", "Windows", 0 }, - { "SubSystem", "SUBSYSTEM:NATIVE", "Native", "Native", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_APPLICATION", "EFI Application", - "EFI Application", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", - "EFI Boot Service Driver", "EFI Boot Service Driver", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_ROM", "EFI ROM", "EFI ROM", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_RUNTIME_DRIVER", "EFI Runtime", "EFI Runtime", - 0 }, - { "SubSystem", "SUBSYSTEM:POSIX", "POSIX", "POSIX", 0 }, - - { "Driver", "", "Not Set", "NotSet", 0 }, - { "Driver", "Driver", "Driver", "Driver", 0 }, - { "Driver", "DRIVER:UPONLY", "UP Only", "UpOnly", 0 }, - { "Driver", "DRIVER:WDM", "WDM", "WDM", 0 }, - - { "LinkTimeCodeGeneration", "", "Default", "Default", 0 }, - { "LinkTimeCodeGeneration", "LTCG", "Use Link Time Code Generation", - "UseLinkTimeCodeGeneration", 0 }, - { "LinkTimeCodeGeneration", "LTCG:PGInstrument", - "Profile Guided Optimization - Instrument", "PGInstrument", 0 }, - { "LinkTimeCodeGeneration", "LTCG:PGOptimize", - "Profile Guided Optimization - Optimization", "PGOptimization", 0 }, - { "LinkTimeCodeGeneration", "LTCG:PGUpdate", - "Profile Guided Optimization - Update", "PGUpdate", 0 }, - - { "GenerateWindowsMetadata", "WINMD", "Yes", "true", 0 }, - { "GenerateWindowsMetadata", "WINMD:NO", "No", "false", 0 }, - - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA1", "SHA1", "SHA1", 0 }, - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA256", "SHA256", "SHA256", 0 }, - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA384", "SHA384", "SHA384", 0 }, - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA512", "SHA512", "SHA512", 0 }, - - { "TargetMachine", "", "Not Set", "NotSet", 0 }, - { "TargetMachine", "MACHINE:ARM", "MachineARM", "MachineARM", 0 }, - { "TargetMachine", "MACHINE:EBC", "MachineEBC", "MachineEBC", 0 }, - { "TargetMachine", "MACHINE:IA64", "MachineIA64", "MachineIA64", 0 }, - { "TargetMachine", "MACHINE:MIPS", "MachineMIPS", "MachineMIPS", 0 }, - { "TargetMachine", "MACHINE:MIPS16", "MachineMIPS16", "MachineMIPS16", 0 }, - { "TargetMachine", "MACHINE:MIPSFPU", "MachineMIPSFPU", "MachineMIPSFPU", - 0 }, - { "TargetMachine", "MACHINE:MIPSFPU16", "MachineMIPSFPU16", - "MachineMIPSFPU16", 0 }, - { "TargetMachine", "MACHINE:SH4", "MachineSH4", "MachineSH4", 0 }, - { "TargetMachine", "MACHINE:THUMB", "MachineTHUMB", "MachineTHUMB", 0 }, - { "TargetMachine", "MACHINE:X64", "MachineX64", "MachineX64", 0 }, - { "TargetMachine", "MACHINE:X86", "MachineX86", "MachineX86", 0 }, - - { "CLRThreadAttribute", "CLRTHREADATTRIBUTE:MTA", "MTA threading attribute", - "MTAThreadingAttribute", 0 }, - { "CLRThreadAttribute", "CLRTHREADATTRIBUTE:STA", "STA threading attribute", - "STAThreadingAttribute", 0 }, - { "CLRThreadAttribute", "CLRTHREADATTRIBUTE:NONE", - "Default threading attribute", "DefaultThreadingAttribute", 0 }, - - { "CLRImageType", "CLRIMAGETYPE:IJW", "Force IJW image", "ForceIJWImage", - 0 }, - { "CLRImageType", "CLRIMAGETYPE:PURE", "Force Pure IL Image", - "ForcePureILImage", 0 }, - { "CLRImageType", "CLRIMAGETYPE:SAFE", "Force Safe IL Image", - "ForceSafeILImage", 0 }, - { "CLRImageType", "", "Default image type", "Default", 0 }, - - { "SignHash", "CLRSIGNHASH:SHA1", "SHA1", "SHA1", 0 }, - { "SignHash", "CLRSIGNHASH:SHA256", "SHA256", "SHA256", 0 }, - { "SignHash", "CLRSIGNHASH:SHA384", "SHA384", "SHA384", 0 }, - { "SignHash", "CLRSIGNHASH:SHA512", "SHA512", "SHA512", 0 }, - - { "LinkErrorReporting", "ERRORREPORT:PROMPT", "PromptImmediately", - "PromptImmediately", 0 }, - { "LinkErrorReporting", "ERRORREPORT:QUEUE", "Queue For Next Login", - "QueueForNextLogin", 0 }, - { "LinkErrorReporting", "ERRORREPORT:SEND", "Send Error Report", - "SendErrorReport", 0 }, - { "LinkErrorReporting", "ERRORREPORT:NONE", "No Error Report", - "NoErrorReport", 0 }, - - { "CLRSupportLastError", "CLRSupportLastError", "Enabled", "Enabled", 0 }, - { "CLRSupportLastError", "CLRSupportLastError:NO", "Disabled", "Disabled", - 0 }, - { "CLRSupportLastError", "CLRSupportLastError:SYSTEMDLL", "System Dlls Only", - "SystemDlls", 0 }, - - // Bool Properties - { "LinkIncremental", "INCREMENTAL:NO", "", "false", 0 }, - { "LinkIncremental", "INCREMENTAL", "", "true", 0 }, - { "SuppressStartupBanner", "NOLOGO", "", "true", 0 }, - { "LinkStatus", "LTCG:NOSTATUS", "", "false", 0 }, - { "LinkStatus", "LTCG:STATUS", "", "true", 0 }, - { "PreventDllBinding", "ALLOWBIND:NO", "", "false", 0 }, - { "PreventDllBinding", "ALLOWBIND", "", "true", 0 }, - { "TreatLinkerWarningAsErrors", "WX:NO", "", "false", 0 }, - { "TreatLinkerWarningAsErrors", "WX", "", "true", 0 }, - { "IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0 }, - { "GenerateManifest", "MANIFEST:NO", "", "false", 0 }, - { "GenerateManifest", "MANIFEST", "", "true", 0 }, - { "AllowIsolation", "ALLOWISOLATION:NO", "", "false", 0 }, - - // correct flags for uac should be /MANIFESTUAC, but some projects already - // use this bug to access uac field, so keep these for compatibility - { "UACUIAccess", "uiAccess='false'", "", "false", 0 }, - { "UACUIAccess", "uiAccess='true'", "", "true", 0 }, - - { "ManifestEmbed", "manifest:embed", "", "true", 0 }, - { "GenerateDebugInformation", "DEBUG", "", "true", - cmVS7FlagTable::CaseInsensitive }, - { "MapExports", "MAPINFO:EXPORTS", "", "true", 0 }, - { "AssemblyDebug", "ASSEMBLYDEBUG:DISABLE", "", "false", 0 }, - { "AssemblyDebug", "ASSEMBLYDEBUG", "", "true", 0 }, - { "LargeAddressAware", "LARGEADDRESSAWARE:NO", "", "false", 0 }, - { "LargeAddressAware", "LARGEADDRESSAWARE", "", "true", 0 }, - { "TerminalServerAware", "TSAWARE:NO", "", "false", 0 }, - { "TerminalServerAware", "TSAWARE", "", "true", 0 }, - { "SwapRunFromCD", "SWAPRUN:CD", "", "true", 0 }, - { "SwapRunFromNET", "SWAPRUN:NET", "", "true", 0 }, - { "OptimizeReferences", "OPT:NOREF", "", "false", 0 }, - { "OptimizeReferences", "OPT:REF", "", "true", 0 }, - { "EnableCOMDATFolding", "OPT:NOICF", "", "false", 0 }, - { "EnableCOMDATFolding", "OPT:ICF", "", "true", 0 }, - { "IgnoreEmbeddedIDL", "IGNOREIDL", "", "true", 0 }, - { "AppContainer", "APPCONTAINER", "", "true", 0 }, - { "WindowsMetadataLinkDelaySign", "WINMDDELAYSIGN:NO", "", "false", 0 }, - { "WindowsMetadataLinkDelaySign", "WINMDDELAYSIGN", "", "true", 0 }, - { "NoEntryPoint", "NOENTRY", "", "true", 0 }, - { "SetChecksum", "RELEASE", "", "true", 0 }, - { "RandomizedBaseAddress", "DYNAMICBASE:NO", "", "false", 0 }, - { "RandomizedBaseAddress", "DYNAMICBASE", "", "true", 0 }, - { "FixedBaseAddress", "FIXED:NO", "", "false", 0 }, - { "FixedBaseAddress", "FIXED", "", "true", 0 }, - { "DataExecutionPrevention", "NXCOMPAT:NO", "", "false", 0 }, - { "DataExecutionPrevention", "NXCOMPAT", "", "true", 0 }, - { "TurnOffAssemblyGeneration", "NOASSEMBLY", "", "true", 0 }, - { "SupportUnloadOfDelayLoadedDLL", "DELAY:UNLOAD", "", "true", 0 }, - { "SupportNobindOfDelayLoadedDLL", "DELAY:NOBIND", "", "true", 0 }, - { "Profile", "PROFILE", "", "true", 0 }, - { "LinkDelaySign", "DELAYSIGN:NO", "", "false", 0 }, - { "LinkDelaySign", "DELAYSIGN", "", "true", 0 }, - { "CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK:NO", "", "false", 0 }, - { "CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK", "", "true", 0 }, - { "DetectOneDefinitionRule", "ODR", "", "true", 0 }, - { "ImageHasSafeExceptionHandlers", "SAFESEH:NO", "", "false", 0 }, - { "ImageHasSafeExceptionHandlers", "SAFESEH", "", "true", 0 }, - { "LinkDLL", "DLL", "", "true", 0 }, - - // Bool Properties With Argument - { "EnableUAC", "MANIFESTUAC:", "", "", - cmVS7FlagTable::UserValueRequired | cmVS7FlagTable::SpaceAppendable }, - { "GenerateMapFile", "MAP", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "MapFileName", "MAP:", "Generate Map File", "", - cmVS7FlagTable::UserValueRequired }, - - // String List Properties - { "AdditionalLibraryDirectories", - "LIBPATH:", "Additional Library Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - // Skip [AdditionalDependencies] - no command line Switch. - { "IgnoreSpecificDefaultLibraries", - "NODEFAULTLIB:", "Ignore Specific Default Libraries", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AddModuleNamesToAssembly", "ASSEMBLYMODULE:", "Add Module to Assembly", - "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "EmbedManagedResourceFile", - "ASSEMBLYRESOURCE:", "Embed Managed Resource File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ForceSymbolReferences", "INCLUDE:", "Force Symbol References", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "DelayLoadDLLs", "DELAYLOAD:", "Delay Loaded Dlls", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AssemblyLinkResource", "ASSEMBLYLINKRESOURCE:", "Assembly Link Resource", - "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AdditionalManifestDependencies", - "MANIFESTDEPENDENCY:", "Additional Manifest Dependencies", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ManifestInput", "manifestinput:", "Manifest Input", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - - // String Properties - { "OutputFile", "OUT:", "Output File", "", cmVS7FlagTable::UserValue }, - { "Version", "VERSION:", "Version", "", cmVS7FlagTable::UserValue }, - { "SpecifySectionAttributes", "SECTION:", "Specify Section Attributes", "", - cmVS7FlagTable::UserValue }, - { "MSDOSStubFileName", "STUB:", "MS-DOS Stub File Name", "", - cmVS7FlagTable::UserValue }, - // Skip [TrackerLogDirectory] - no command line Switch. - { "ModuleDefinitionFile", "DEF:", "Module Definition File", "", - cmVS7FlagTable::UserValue }, - { "ManifestFile", "ManifestFile:", "Manifest File", "", - cmVS7FlagTable::UserValue }, - { "ProgramDatabaseFile", "PDB:", "Generate Program Database File", "", - cmVS7FlagTable::UserValue }, - { "StripPrivateSymbols", "PDBSTRIPPED:", "Strip Private Symbols", "", - cmVS7FlagTable::UserValue }, - // Skip [MapFileName] - no command line Switch. - // Skip [MinimumRequiredVersion] - no command line Switch. - { "HeapReserveSize", "HEAP:", "Heap Reserve Size", "", - cmVS7FlagTable::UserValue }, - // Skip [HeapCommitSize] - no command line Switch. - { "StackReserveSize", "STACK:", "Stack Reserve Size", "", - cmVS7FlagTable::UserValue }, - // Skip [StackCommitSize] - no command line Switch. - { "FunctionOrder", "ORDER:@", "Function Order", "", - cmVS7FlagTable::UserValue }, - { "ProfileGuidedDatabase", "PGD:", "Profile Guided Database", "", - cmVS7FlagTable::UserValue }, - { "MidlCommandFile", "MIDL:@", "MIDL Commands", "", - cmVS7FlagTable::UserValue }, - { "MergedIDLBaseFileName", "IDLOUT:", "Merged IDL Base File Name", "", - cmVS7FlagTable::UserValue }, - { "TypeLibraryFile", "TLBOUT:", "Type Library", "", - cmVS7FlagTable::UserValue }, - { "WindowsMetadataFile", "WINMDFILE:", "Windows Metadata File", "", - cmVS7FlagTable::UserValue }, - { "WindowsMetadataLinkKeyFile", "WINMDKEYFILE:", "Windows Metadata Key File", - "", cmVS7FlagTable::UserValue }, - { "WindowsMetadataKeyContainer", "WINMDKEYCONTAINER:", - "Windows Metadata Key Container", "", cmVS7FlagTable::UserValue }, - { "EntryPointSymbol", "ENTRY:", "Entry Point", "", - cmVS7FlagTable::UserValue }, - { "BaseAddress", "BASE:", "Base Address", "", cmVS7FlagTable::UserValue }, - { "ImportLibrary", "IMPLIB:", "Import Library", "", - cmVS7FlagTable::UserValue }, - { "MergeSections", "MERGE:", "Merge Sections", "", - cmVS7FlagTable::UserValue }, - { "LinkKeyFile", "KEYFILE:", "Key File", "", cmVS7FlagTable::UserValue }, - { "KeyContainer", "KEYCONTAINER:", "Key Container", "", - cmVS7FlagTable::UserValue }, - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS12MASMFlagTable.h b/Source/cmVS12MASMFlagTable.h deleted file mode 100644 index 6c3ff90..0000000 --- a/Source/cmVS12MASMFlagTable.h +++ /dev/null @@ -1,76 +0,0 @@ -static cmVS7FlagTable cmVS12MASMFlagTable[] = { - - // Enum Properties - { "PreserveIdentifierCase", "", "Default", "0", 0 }, - { "PreserveIdentifierCase", "Cp", "Preserves Identifier Case (/Cp)", "1", - 0 }, - { "PreserveIdentifierCase", "Cu", - "Maps all identifiers to upper case. (/Cu)", "2", 0 }, - { "PreserveIdentifierCase", "Cx", - "Preserves case in public and extern symbols. (/Cx)", "3", 0 }, - - { "WarningLevel", "W0", "Warning Level 0 (/W0)", "0", 0 }, - { "WarningLevel", "W1", "Warning Level 1 (/W1)", "1", 0 }, - { "WarningLevel", "W2", "Warning Level 2 (/W2)", "2", 0 }, - { "WarningLevel", "W3", "Warning Level 3 (/W3)", "3", 0 }, - - { "PackAlignmentBoundary", "", "Default", "0", 0 }, - { "PackAlignmentBoundary", "Zp1", "One Byte Boundary (/Zp1)", "1", 0 }, - { "PackAlignmentBoundary", "Zp2", "Two Byte Boundary (/Zp2)", "2", 0 }, - { "PackAlignmentBoundary", "Zp4", "Four Byte Boundary (/Zp4)", "3", 0 }, - { "PackAlignmentBoundary", "Zp8", "Eight Byte Boundary (/Zp8)", "4", 0 }, - { "PackAlignmentBoundary", "Zp16", "Sixteen Byte Boundary (/Zp16)", "5", 0 }, - - { "CallingConvention", "", "Default", "0", 0 }, - { "CallingConvention", "Gd", "Use C-style Calling Convention (/Gd)", "1", - 0 }, - { "CallingConvention", "Gz", "Use stdcall Calling Convention (/Gz)", "2", - 0 }, - { "CallingConvention", "Gc", "Use Pascal Calling Convention (/Gc)", "3", 0 }, - - { "ErrorReporting", "errorReport:prompt", - "Prompt to send report immediately (/errorReport:prompt)", "0", 0 }, - { "ErrorReporting", "errorReport:queue", - "Prompt to send report at the next logon (/errorReport:queue)", "1", 0 }, - { "ErrorReporting", "errorReport:send", - "Automatically send report (/errorReport:send)", "2", 0 }, - { "ErrorReporting", "errorReport:none", - "Do not send report (/errorReport:none)", "3", 0 }, - - // Bool Properties - { "NoLogo", "nologo", "", "true", 0 }, - { "GeneratePreprocessedSourceListing", "EP", "", "true", 0 }, - { "ListAllAvailableInformation", "Sa", "", "true", 0 }, - { "UseSafeExceptionHandlers", "safeseh", "", "true", 0 }, - { "AddFirstPassListing", "Sf", "", "true", 0 }, - { "EnableAssemblyGeneratedCodeListing", "Sg", "", "true", 0 }, - { "DisableSymbolTable", "Sn", "", "true", 0 }, - { "EnableFalseConditionalsInListing", "Sx", "", "true", 0 }, - { "TreatWarningsAsErrors", "WX", "", "true", 0 }, - { "MakeAllSymbolsPublic", "Zf", "", "true", 0 }, - { "GenerateDebugInformation", "Zi", "", "true", 0 }, - { "EnableMASM51Compatibility", "Zm", "", "true", 0 }, - { "PerformSyntaxCheckOnly", "Zs", "", "true", 0 }, - - // Bool Properties With Argument - - // String List Properties - { "PreprocessorDefinitions", "D", "Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "IncludePaths", "I", "Include Paths", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "BrowseFile", "FR", "Generate Browse Information File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - // Skip [AdditionalDependencies] - no command line Switch. - - // String Properties - // Skip [Inputs] - no command line Switch. - { "ObjectFileName", "Fo", "Object File Name", "", - cmVS7FlagTable::UserValue }, - { "AssembledCodeListingFile", "Fl", "Assembled Code Listing File", "", - cmVS7FlagTable::UserValue }, - // Skip [CommandLineTemplate] - no command line Switch. - // Skip [ExecutionDescription] - no command line Switch. - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS12RCFlagTable.h b/Source/cmVS12RCFlagTable.h deleted file mode 100644 index 5931431..0000000 --- a/Source/cmVS12RCFlagTable.h +++ /dev/null @@ -1,7 +0,0 @@ -static cmVS7FlagTable cmVS12RCFlagTable[] = { - // Bool Properties - { "NullTerminateStrings", "n", "", "true", 0 }, - { "SuppressStartupBanner", "nologo", "", "true", 0 }, - - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS140CLFlagTable.h b/Source/cmVS140CLFlagTable.h deleted file mode 100644 index 25ac14b..0000000 --- a/Source/cmVS140CLFlagTable.h +++ /dev/null @@ -1,240 +0,0 @@ -static cmVS7FlagTable cmVS140CLFlagTable[] = { - - // Enum Properties - { "DebugInformationFormat", "", "None", "None", 0 }, - { "DebugInformationFormat", "Z7", "C7 compatible", "OldStyle", 0 }, - { "DebugInformationFormat", "Zi", "Program Database", "ProgramDatabase", 0 }, - { "DebugInformationFormat", "ZI", "Program Database for Edit And Continue", - "EditAndContinue", 0 }, - - { "WarningLevel", "W0", "Turn Off All Warnings", "TurnOffAllWarnings", 0 }, - { "WarningLevel", "W1", "Level1", "Level1", 0 }, - { "WarningLevel", "W2", "Level2", "Level2", 0 }, - { "WarningLevel", "W3", "Level3", "Level3", 0 }, - { "WarningLevel", "W4", "Level4", "Level4", 0 }, - { "WarningLevel", "Wall", "EnableAllWarnings", "EnableAllWarnings", 0 }, - - { "Optimization", "", "Custom", "Custom", 0 }, - { "Optimization", "Od", "Disabled", "Disabled", 0 }, - { "Optimization", "O1", "Minimize Size", "MinSpace", 0 }, - { "Optimization", "O2", "Maximize Speed", "MaxSpeed", 0 }, - { "Optimization", "Ox", "Full Optimization", "Full", 0 }, - - { "InlineFunctionExpansion", "", "Default", "Default", 0 }, - { "InlineFunctionExpansion", "Ob0", "Disabled", "Disabled", 0 }, - { "InlineFunctionExpansion", "Ob1", "Only __inline", "OnlyExplicitInline", - 0 }, - { "InlineFunctionExpansion", "Ob2", "Any Suitable", "AnySuitable", 0 }, - - { "FavorSizeOrSpeed", "Os", "Favor small code", "Size", 0 }, - { "FavorSizeOrSpeed", "Ot", "Favor fast code", "Speed", 0 }, - { "FavorSizeOrSpeed", "", "Neither", "Neither", 0 }, - - { "ExceptionHandling", "EHa", "Yes with SEH Exceptions", "Async", 0 }, - { "ExceptionHandling", "EHsc", "Yes", "Sync", 0 }, - { "ExceptionHandling", "EHs", "Yes with Extern C functions", "SyncCThrow", - 0 }, - { "ExceptionHandling", "", "No", "false", 0 }, - - { "BasicRuntimeChecks", "RTCs", "Stack Frames", "StackFrameRuntimeCheck", - 0 }, - { "BasicRuntimeChecks", "RTCu", "Uninitialized variables", - "UninitializedLocalUsageCheck", 0 }, - { "BasicRuntimeChecks", "RTC1", "Both (/RTC1, equiv. to /RTCsu)", - "EnableFastChecks", 0 }, - { "BasicRuntimeChecks", "", "Default", "Default", 0 }, - - { "RuntimeLibrary", "MT", "Multi-threaded", "MultiThreaded", 0 }, - { "RuntimeLibrary", "MTd", "Multi-threaded Debug", "MultiThreadedDebug", 0 }, - { "RuntimeLibrary", "MD", "Multi-threaded DLL", "MultiThreadedDLL", 0 }, - { "RuntimeLibrary", "MDd", "Multi-threaded Debug DLL", - "MultiThreadedDebugDLL", 0 }, - - { "StructMemberAlignment", "Zp1", "1 Byte", "1Byte", 0 }, - { "StructMemberAlignment", "Zp2", "2 Bytes", "2Bytes", 0 }, - { "StructMemberAlignment", "Zp4", "4 Byte", "4Bytes", 0 }, - { "StructMemberAlignment", "Zp8", "8 Bytes", "8Bytes", 0 }, - { "StructMemberAlignment", "Zp16", "16 Bytes", "16Bytes", 0 }, - { "StructMemberAlignment", "", "Default", "Default", 0 }, - - { "BufferSecurityCheck", "GS-", "Disable Security Check", "false", 0 }, - { "BufferSecurityCheck", "GS", "Enable Security Check", "true", 0 }, - - { "EnableEnhancedInstructionSet", "arch:SSE", "Streaming SIMD Extensions", - "StreamingSIMDExtensions", 0 }, - { "EnableEnhancedInstructionSet", "arch:SSE2", "Streaming SIMD Extensions 2", - "StreamingSIMDExtensions2", 0 }, - { "EnableEnhancedInstructionSet", "arch:AVX", "Advanced Vector Extensions", - "AdvancedVectorExtensions", 0 }, - { "EnableEnhancedInstructionSet", "arch:AVX2", - "Advanced Vector Extensions 2", "AdvancedVectorExtensions2", 0 }, - { "EnableEnhancedInstructionSet", "arch:IA32", "No Enhanced Instructions", - "NoExtensions", 0 }, - { "EnableEnhancedInstructionSet", "", "Not Set", "NotSet", 0 }, - - { "FloatingPointModel", "fp:precise", "Precise", "Precise", 0 }, - { "FloatingPointModel", "fp:strict", "Strict", "Strict", 0 }, - { "FloatingPointModel", "fp:fast", "Fast", "Fast", 0 }, - - { "PrecompiledHeader", "Yc", "Create", "Create", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "PrecompiledHeader", "Yu", "Use", "Use", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "PrecompiledHeader", "Y-", "Not Using Precompiled Headers", "NotUsing", - 0 }, - - { "AssemblerOutput", "", "No Listing", "NoListing", 0 }, - { "AssemblerOutput", "FA", "Assembly-Only Listing", "AssemblyCode", 0 }, - { "AssemblerOutput", "FAc", "Assembly With Machine Code", - "AssemblyAndMachineCode", 0 }, - { "AssemblerOutput", "FAs", "Assembly With Source Code", - "AssemblyAndSourceCode", 0 }, - { "AssemblerOutput", "FAcs", "Assembly, Machine Code and Source", "All", 0 }, - - { "CallingConvention", "Gd", "__cdecl", "Cdecl", 0 }, - { "CallingConvention", "Gr", "__fastcall", "FastCall", 0 }, - { "CallingConvention", "Gz", "__stdcall", "StdCall", 0 }, - { "CallingConvention", "Gv", "__vectorcall", "VectorCall", 0 }, - - { "CompileAs", "", "Default", "Default", 0 }, - { "CompileAs", "TC", "Compile as C Code", "CompileAsC", 0 }, - { "CompileAs", "TP", "Compile as C++ Code", "CompileAsCpp", 0 }, - - { "ErrorReporting", "errorReport:none", "Do Not Send Report", "None", 0 }, - { "ErrorReporting", "errorReport:prompt", "Prompt Immediately", "Prompt", - 0 }, - { "ErrorReporting", "errorReport:queue", "Queue For Next Login", "Queue", - 0 }, - { "ErrorReporting", "errorReport:send", "Send Automatically", "Send", 0 }, - - { "CompileAsManaged", "", "No Common Language RunTime Support", "false", 0 }, - { "CompileAsManaged", "clr", "Common Language RunTime Support", "true", 0 }, - { "CompileAsManaged", "clr:pure", - "Pure MSIL Common Language RunTime Support", "Pure", 0 }, - { "CompileAsManaged", "clr:safe", - "Safe MSIL Common Language RunTime Support", "Safe", 0 }, - { "CompileAsManaged", "clr:oldSyntax", - "Common Language RunTime Support, Old Syntax", "OldSyntax", 0 }, - - { "CppLanguageStandard", "", "Default", "Default", 0 }, - { "CppLanguageStandard", "std=c++98", "C++03", "c++98", 0 }, - { "CppLanguageStandard", "std=c++11", "C++11", "c++11", 0 }, - { "CppLanguageStandard", "std=c++1y", "C++14", "c++1y", 0 }, - { "CppLanguageStandard", "std=c++14", "C++14", "c++1y", 0 }, - { "CppLanguageStandard", "std=gnu++98", "C++03 (GNU Dialect)", "gnu++98", - 0 }, - { "CppLanguageStandard", "std=gnu++11", "C++11 (GNU Dialect)", "gnu++11", - 0 }, - { "CppLanguageStandard", "std=gnu++1y", "C++14 (GNU Dialect)", "gnu++1y", - 0 }, - { "CppLanguageStandard", "std=gnu++14", "C++14 (GNU Dialect)", "gnu++1y", - 0 }, - - // Bool Properties - { "CompileAsWinRT", "ZW", "", "true", 0 }, - { "WinRTNoStdLib", "ZW:nostdlib", "", "true", 0 }, - { "SuppressStartupBanner", "nologo", "", "true", 0 }, - { "TreatWarningAsError", "WX-", "", "false", 0 }, - { "TreatWarningAsError", "WX", "", "true", 0 }, - { "SDLCheck", "sdl-", "", "false", 0 }, - { "SDLCheck", "sdl", "", "true", 0 }, - { "IntrinsicFunctions", "Oi", "", "true", 0 }, - { "OmitFramePointers", "Oy-", "", "false", 0 }, - { "OmitFramePointers", "Oy", "", "true", 0 }, - { "EnableFiberSafeOptimizations", "GT", "", "true", 0 }, - { "WholeProgramOptimization", "GL", "", "true", 0 }, - { "UndefineAllPreprocessorDefinitions", "u", "", "true", 0 }, - { "IgnoreStandardIncludePath", "X", "", "true", 0 }, - { "PreprocessToFile", "P", "", "true", 0 }, - { "PreprocessSuppressLineNumbers", "EP", "", "true", 0 }, - { "PreprocessKeepComments", "C", "", "true", 0 }, - { "StringPooling", "GF-", "", "false", 0 }, - { "StringPooling", "GF", "", "true", 0 }, - { "MinimalRebuild", "Gm-", "", "false", 0 }, - { "MinimalRebuild", "Gm", "", "true", 0 }, - { "SmallerTypeCheck", "RTCc", "", "true", 0 }, - { "FunctionLevelLinking", "Gy-", "", "false", 0 }, - { "FunctionLevelLinking", "Gy", "", "true", 0 }, - { "EnableParallelCodeGeneration", "Qpar-", "", "false", 0 }, - { "EnableParallelCodeGeneration", "Qpar", "", "true", 0 }, - { "FloatingPointExceptions", "fp:except-", "", "false", 0 }, - { "FloatingPointExceptions", "fp:except", "", "true", 0 }, - { "CreateHotpatchableImage", "hotpatch", "", "true", 0 }, - { "DisableLanguageExtensions", "Za", "", "true", 0 }, - { "TreatWChar_tAsBuiltInType", "Zc:wchar_t-", "", "false", 0 }, - { "TreatWChar_tAsBuiltInType", "Zc:wchar_t", "", "true", 0 }, - { "ForceConformanceInForLoopScope", "Zc:forScope-", "", "false", 0 }, - { "ForceConformanceInForLoopScope", "Zc:forScope", "", "true", 0 }, - { "RemoveUnreferencedCodeData", "Zc:inline-", "", "false", 0 }, - { "RemoveUnreferencedCodeData", "Zc:inline", "", "true", 0 }, - { "RuntimeTypeInfo", "GR-", "", "false", 0 }, - { "RuntimeTypeInfo", "GR", "", "true", 0 }, - { "OpenMPSupport", "openmp-", "", "false", 0 }, - { "OpenMPSupport", "openmp", "", "true", 0 }, - { "ExpandAttributedSource", "Fx", "", "true", 0 }, - { "UseUnicodeForAssemblerListing", "FAu", "", "true", 0 }, - { "ShowIncludes", "showIncludes", "", "true", 0 }, - { "EnablePREfast", "analyze-", "", "false", 0 }, - { "EnablePREfast", "analyze", "", "true", 0 }, - { "UseFullPaths", "FC", "", "true", 0 }, - { "OmitDefaultLibName", "Zl", "", "true", 0 }, - - // Bool Properties With Argument - { "MultiProcessorCompilation", "MP", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "ProcessorNumber", "MP", "Multi-processor Compilation", "", - cmVS7FlagTable::UserValueRequired }, - { "GenerateXMLDocumentationFiles", "doc", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "XMLDocumentationFileName", "doc", "Generate XML Documentation Files", "", - cmVS7FlagTable::UserValueRequired }, - { "BrowseInformation", "FR", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "BrowseInformationFile", "FR", "Enable Browse Information", "", - cmVS7FlagTable::UserValueRequired }, - - // String List Properties - { "AdditionalIncludeDirectories", "I", "Additional Include Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AdditionalUsingDirectories", "AI", "Additional #using Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "PreprocessorDefinitions", "D ", "Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "UndefinePreprocessorDefinitions", "U", - "Undefine Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "DisableSpecificWarnings", "wd", "Disable Specific Warnings", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ForcedIncludeFiles", "FI", "Forced Include File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ForcedUsingFiles", "FU", "Forced #using File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "PREfastLog", "analyze:log", "Code Analysis Log", "", - cmVS7FlagTable::UserFollowing }, - { "PREfastAdditionalPlugins", "analyze:plugin", - "Additional Code Analysis Native plugins", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "TreatSpecificWarningsAsErrors", "we", "Treat Specific Warnings As Errors", - "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - - // String Properties - // Skip [TrackerLogDirectory] - no command line Switch. - { "PreprocessOutputPath", "Fi", "Preprocess Output Path", "", - cmVS7FlagTable::UserValue }, - { "PrecompiledHeaderFile", "Yc", "Precompiled Header Name", "", - cmVS7FlagTable::UserValueRequired }, - { "PrecompiledHeaderFile", "Yu", "Precompiled Header Name", "", - cmVS7FlagTable::UserValueRequired }, - { "PrecompiledHeaderOutputFile", "Fp", "Precompiled Header Output File", "", - cmVS7FlagTable::UserValue }, - { "AssemblerListingLocation", "Fa", "ASM List Location", "", - cmVS7FlagTable::UserValue }, - { "ObjectFileName", "Fo", "Object File Name", "", - cmVS7FlagTable::UserValue }, - { "ProgramDataBaseFileName", "Fd", "Program Database File Name", "", - cmVS7FlagTable::UserValue }, - // Skip [XMLDocumentationFileName] - no command line Switch. - // Skip [BrowseInformationFile] - no command line Switch. - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS140CSharpFlagTable.h b/Source/cmVS140CSharpFlagTable.h deleted file mode 100644 index c651d67..0000000 --- a/Source/cmVS140CSharpFlagTable.h +++ /dev/null @@ -1,121 +0,0 @@ -static cmVS7FlagTable cmVS140CSharpFlagTable[] = { - { "ProjectName", "out:", "", "", cmIDEFlagTable::UserValueRequired }, - - { "OutputType", "target:exe", "", "Exe", 0 }, - { "OutputType", "target:winexe", "", "Winexe", 0 }, - { "OutputType", "target:library", "", "Library", 0 }, - { "OutputType", "target:module", "", "Module", 0 }, - - { "DocumentationFile", "doc", "", "", cmIDEFlagTable::UserValueRequired }, - - { "Platform", "platform:x86", "", "x86", 0 }, - { "Platform", "platform:Itanium", "", "Itanium", 0 }, - { "Platform", "platform:x64", "", "x64", 0 }, - { "Platform", "platform:arm", "", "arm", 0 }, - { "Platform", "platform:anycpu32bitpreferred", "", "anycpu32bitpreferred", - 0 }, - { "Platform", "platform:anycpu", "", "anycpu", 0 }, - - { "References", "reference:", "mit alias", "", 0 }, - { "References", "reference:", "dateiliste", "", 0 }, - { "AddModules", "addmodule:", "", "", cmIDEFlagTable::SemicolonAppendable }, - { "", "link", "", "", 0 }, - - { "Win32Resource", "win32res:", "", "", cmIDEFlagTable::UserValueRequired }, - { "ApplicationIcon", "win32icon:", "", "", - cmIDEFlagTable::UserValueRequired }, - - { "ApplicationManifest", "win32manifest:", "", "", - cmIDEFlagTable::UserValueRequired }, - - { "NoWin32Manifest", "nowin32manifest", "", "true", 0 }, - - { "DefineDebug", "debug", "", "true", cmIDEFlagTable::Continue }, - - { "DebugSymbols", "debug", "", "true", 0 }, - { "DebugSymbols", "debug-", "", "false", 0 }, - { "DebugSymbols", "debug+", "", "true", 0 }, - - { "DebugType", "debug:none", "", "none", 0 }, - { "DebugType", "debug:full", "", "full", 0 }, - { "DebugType", "debug:pdbonly", "", "pdbonly", 0 }, - - { "Optimize", "optimize", "", "true", 0 }, - { "Optimize", "optimize-", "", "false", 0 }, - { "Optimize", "optimize+", "", "true", 0 }, - - { "TreatWarningsAsErrors", "warnaserror", "", "true", 0 }, - { "TreatWarningsAsErrors", "warnaserror-", "", "false", 0 }, - { "TreatWarningsAsErrors", "warnaserror+", "", "true", 0 }, - - { "WarningsAsErrors", "warnaserror", "", "", 0 }, - { "WarningsAsErrors", "warnaserror-", "", "", 0 }, - { "WarningsAsErrors", "warnaserror+", "", "", 0 }, - - { "WarningLevel", "warn:0", "", "0", 0 }, - { "WarningLevel", "warn:1", "", "1", 0 }, - { "WarningLevel", "warn:2", "", "2", 0 }, - { "WarningLevel", "warn:3", "", "3", 0 }, - { "WarningLevel", "warn:4", "", "4", 0 }, - { "DisabledWarnings", "nowarn", "", "", 0 }, - - { "CheckForOverflowUnderflow", "checked", "", "true", 0 }, - { "CheckForOverflowUnderflow", "checked-", "", "false", 0 }, - { "CheckForOverflowUnderflow", "checked+", "", "true", 0 }, - - { "AllowUnsafeBlocks", "unsafe", "", "true", 0 }, - { "AllowUnsafeBlocks", "unsafe-", "", "false", 0 }, - { "AllowUnsafeBlocks", "unsafe+", "", "true", 0 }, - - { "DefineConstants", "define:", "", "", - cmIDEFlagTable::SemicolonAppendable | cmIDEFlagTable::UserValue }, - - { "LangVersion", "langversion:ISO-1", "", "ISO-1", 0 }, - { "LangVersion", "langversion:ISO-2", "", "ISO-2", 0 }, - { "LangVersion", "langversion:3", "", "3", 0 }, - { "LangVersion", "langversion:4", "", "4", 0 }, - { "LangVersion", "langversion:5", "", "5", 0 }, - { "LangVersion", "langversion:6", "", "6", 0 }, - { "LangVersion", "langversion:default", "", "default", 0 }, - - { "DelaySign", "delaysign", "", "true", 0 }, - { "DelaySign", "delaysign-", "", "false", 0 }, - { "DelaySign", "delaysign+", "", "true", 0 }, - - { "AssemblyOriginatorKeyFile", "keyfile", "", "", 0 }, - - { "KeyContainerName", "keycontainer", "", "", 0 }, - - { "NoLogo", "nologo", "", "", 0 }, - - { "NoConfig", "noconfig", "", "true", 0 }, - - { "BaseAddress", "baseaddress:", "", "", 0 }, - - { "CodePage", "codepage", "", "", 0 }, - - { "Utf8Output", "utf8output", "", "", 0 }, - - { "MainEntryPoint", "main:", "", "", 0 }, - - { "GenerateFullPaths", "fullpaths", "", "true", 0 }, - - { "FileAlignment", "filealign", "", "", 0 }, - - { "PdbFile", "pdb:", "", "", 0 }, - - { "NoStandardLib", "nostdlib", "", "true", 0 }, - { "NoStandardLib", "nostdlib-", "", "false", 0 }, - { "NoStandardLib", "nostdlib+", "", "true", 0 }, - - { "SubsystemVersion", "subsystemversion", "", "", 0 }, - - { "AdditionalLibPaths", "lib:", "", "", 0 }, - - { "ErrorReport", "errorreport:none", "Do Not Send Report", "none", 0 }, - { "ErrorReport", "errorreport:prompt", "Prompt Immediately", "prompt", 0 }, - { "ErrorReport", "errorreport:queue", "Queue For Next Login", "queue", 0 }, - { "ErrorReport", "errorreport:send", "Send Automatically", "send", 0 }, - - { "", "", "", "", 0 }, -}; diff --git a/Source/cmVS140LinkFlagTable.h b/Source/cmVS140LinkFlagTable.h deleted file mode 100644 index bf1ee7a..0000000 --- a/Source/cmVS140LinkFlagTable.h +++ /dev/null @@ -1,285 +0,0 @@ -static cmVS7FlagTable cmVS140LinkFlagTable[] = { - - // Enum Properties - { "ShowProgress", "", "Not Set", "NotSet", 0 }, - { "ShowProgress", "VERBOSE", "Display all progress messages", "LinkVerbose", - 0 }, - { "ShowProgress", "VERBOSE:Lib", "For Libraries Searched", "LinkVerboseLib", - 0 }, - { "ShowProgress", "VERBOSE:ICF", - "About COMDAT folding during optimized linking", "LinkVerboseICF", 0 }, - { "ShowProgress", "VERBOSE:REF", - "About data removed during optimized linking", "LinkVerboseREF", 0 }, - { "ShowProgress", "VERBOSE:SAFESEH", "About Modules incompatible with SEH", - "LinkVerboseSAFESEH", 0 }, - { "ShowProgress", "VERBOSE:CLR", - "About linker activity related to managed code", "LinkVerboseCLR", 0 }, - - { "ForceFileOutput", "FORCE", "Enabled", "Enabled", 0 }, - { "ForceFileOutput", "FORCE:MULTIPLE", "Multiply Defined Symbol Only", - "MultiplyDefinedSymbolOnly", 0 }, - { "ForceFileOutput", "FORCE:UNRESOLVED", "Undefined Symbol Only", - "UndefinedSymbolOnly", 0 }, - - { "CreateHotPatchableImage", "FUNCTIONPADMIN", "Enabled", "Enabled", 0 }, - { "CreateHotPatchableImage", "FUNCTIONPADMIN:5", "X86 Image Only", - "X86Image", 0 }, - { "CreateHotPatchableImage", "FUNCTIONPADMIN:6", "X64 Image Only", - "X64Image", 0 }, - { "CreateHotPatchableImage", "FUNCTIONPADMIN:16", "Itanium Image Only", - "ItaniumImage", 0 }, - - // correct flags for uac should be /MANIFESTUAC, but some projects already - // use this bug to access uac field, so keep these for compatibility - { "UACExecutionLevel", "level='asInvoker'", "asInvoker", "AsInvoker", 0 }, - { "UACExecutionLevel", "level='highestAvailable'", "highestAvailable", - "HighestAvailable", 0 }, - { "UACExecutionLevel", "level='requireAdministrator'", - "requireAdministrator", "RequireAdministrator", 0 }, - - { "GenerateDebugInformation", "DEBUG:FASTLINK", - "Optimize for faster linking", "DebugFastLink", - cmVS7FlagTable::CaseInsensitive }, - { "GenerateDebugInformation", "DEBUG:FULL", "Optimize for debugging", "true", - cmVS7FlagTable::CaseInsensitive }, - { "GenerateDebugInformation", "DEBUG:NONE", - "Produces no debugging information", "false", - cmVS7FlagTable::CaseInsensitive }, - { "GenerateDebugInformation", "DEBUG", "Optimize for debugging", "true", - cmVS7FlagTable::CaseInsensitive }, - - { "SubSystem", "", "Not Set", "NotSet", 0 }, - { "SubSystem", "SUBSYSTEM:CONSOLE", "Console", "Console", 0 }, - { "SubSystem", "SUBSYSTEM:WINDOWS", "Windows", "Windows", 0 }, - { "SubSystem", "SUBSYSTEM:NATIVE", "Native", "Native", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_APPLICATION", "EFI Application", - "EFI Application", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", - "EFI Boot Service Driver", "EFI Boot Service Driver", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_ROM", "EFI ROM", "EFI ROM", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_RUNTIME_DRIVER", "EFI Runtime", "EFI Runtime", - 0 }, - { "SubSystem", "SUBSYSTEM:POSIX", "POSIX", "POSIX", 0 }, - - { "Driver", "", "Not Set", "NotSet", 0 }, - { "Driver", "Driver", "Driver", "Driver", 0 }, - { "Driver", "DRIVER:UPONLY", "UP Only", "UpOnly", 0 }, - { "Driver", "DRIVER:WDM", "WDM", "WDM", 0 }, - - { "LinkTimeCodeGeneration", "", "Default", "Default", 0 }, - { "LinkTimeCodeGeneration", "LTCG:incremental", - "Use Fast Link Time Code Generation", "UseFastLinkTimeCodeGeneration", 0 }, - { "LinkTimeCodeGeneration", "LTCG", "Use Link Time Code Generation", - "UseLinkTimeCodeGeneration", 0 }, - { "LinkTimeCodeGeneration", "LTCG:PGInstrument", - "Profile Guided Optimization - Instrument", "PGInstrument", 0 }, - { "LinkTimeCodeGeneration", "LTCG:PGOptimize", - "Profile Guided Optimization - Optimization", "PGOptimization", 0 }, - { "LinkTimeCodeGeneration", "LTCG:PGUpdate", - "Profile Guided Optimization - Update", "PGUpdate", 0 }, - - { "GenerateWindowsMetadata", "WINMD", "Yes", "true", 0 }, - { "GenerateWindowsMetadata", "WINMD:NO", "No", "false", 0 }, - - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA1", "SHA1", "SHA1", 0 }, - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA256", "SHA256", "SHA256", 0 }, - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA384", "SHA384", "SHA384", 0 }, - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA512", "SHA512", "SHA512", 0 }, - - { "TargetMachine", "", "Not Set", "NotSet", 0 }, - { "TargetMachine", "MACHINE:ARM", "MachineARM", "MachineARM", 0 }, - { "TargetMachine", "MACHINE:EBC", "MachineEBC", "MachineEBC", 0 }, - { "TargetMachine", "MACHINE:IA64", "MachineIA64", "MachineIA64", 0 }, - { "TargetMachine", "MACHINE:MIPS", "MachineMIPS", "MachineMIPS", 0 }, - { "TargetMachine", "MACHINE:MIPS16", "MachineMIPS16", "MachineMIPS16", 0 }, - { "TargetMachine", "MACHINE:MIPSFPU", "MachineMIPSFPU", "MachineMIPSFPU", - 0 }, - { "TargetMachine", "MACHINE:MIPSFPU16", "MachineMIPSFPU16", - "MachineMIPSFPU16", 0 }, - { "TargetMachine", "MACHINE:SH4", "MachineSH4", "MachineSH4", 0 }, - { "TargetMachine", "MACHINE:THUMB", "MachineTHUMB", "MachineTHUMB", 0 }, - { "TargetMachine", "MACHINE:X64", "MachineX64", "MachineX64", 0 }, - { "TargetMachine", "MACHINE:X86", "MachineX86", "MachineX86", 0 }, - - { "CLRThreadAttribute", "CLRTHREADATTRIBUTE:MTA", "MTA threading attribute", - "MTAThreadingAttribute", 0 }, - { "CLRThreadAttribute", "CLRTHREADATTRIBUTE:STA", "STA threading attribute", - "STAThreadingAttribute", 0 }, - { "CLRThreadAttribute", "CLRTHREADATTRIBUTE:NONE", - "Default threading attribute", "DefaultThreadingAttribute", 0 }, - - { "CLRImageType", "CLRIMAGETYPE:IJW", "Force IJW image", "ForceIJWImage", - 0 }, - { "CLRImageType", "CLRIMAGETYPE:PURE", "Force Pure IL Image", - "ForcePureILImage", 0 }, - { "CLRImageType", "CLRIMAGETYPE:SAFE", "Force Safe IL Image", - "ForceSafeILImage", 0 }, - { "CLRImageType", "", "Default image type", "Default", 0 }, - - { "SignHash", "CLRSIGNHASH:SHA1", "SHA1", "SHA1", 0 }, - { "SignHash", "CLRSIGNHASH:SHA256", "SHA256", "SHA256", 0 }, - { "SignHash", "CLRSIGNHASH:SHA384", "SHA384", "SHA384", 0 }, - { "SignHash", "CLRSIGNHASH:SHA512", "SHA512", "SHA512", 0 }, - - { "LinkErrorReporting", "ERRORREPORT:PROMPT", "PromptImmediately", - "PromptImmediately", 0 }, - { "LinkErrorReporting", "ERRORREPORT:QUEUE", "Queue For Next Login", - "QueueForNextLogin", 0 }, - { "LinkErrorReporting", "ERRORREPORT:SEND", "Send Error Report", - "SendErrorReport", 0 }, - { "LinkErrorReporting", "ERRORREPORT:NONE", "No Error Report", - "NoErrorReport", 0 }, - - { "CLRSupportLastError", "CLRSupportLastError", "Enabled", "Enabled", 0 }, - { "CLRSupportLastError", "CLRSupportLastError:NO", "Disabled", "Disabled", - 0 }, - { "CLRSupportLastError", "CLRSupportLastError:SYSTEMDLL", "System Dlls Only", - "SystemDlls", 0 }, - - // Bool Properties - { "LinkIncremental", "INCREMENTAL:NO", "", "false", 0 }, - { "LinkIncremental", "INCREMENTAL", "", "true", 0 }, - { "SuppressStartupBanner", "NOLOGO", "", "true", 0 }, - { "LinkStatus", "LTCG:NOSTATUS", "", "false", 0 }, - { "LinkStatus", "LTCG:STATUS", "", "true", 0 }, - { "PreventDllBinding", "ALLOWBIND:NO", "", "false", 0 }, - { "PreventDllBinding", "ALLOWBIND", "", "true", 0 }, - { "TreatLinkerWarningAsErrors", "WX:NO", "", "false", 0 }, - { "TreatLinkerWarningAsErrors", "WX", "", "true", 0 }, - { "IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0 }, - { "GenerateManifest", "MANIFEST:NO", "", "false", 0 }, - { "GenerateManifest", "MANIFEST", "", "true", 0 }, - { "AllowIsolation", "ALLOWISOLATION:NO", "", "false", 0 }, - - // correct flags for uac should be /MANIFESTUAC, but some projects already - // use this bug to access uac field, so keep these for compatibility - { "UACUIAccess", "uiAccess='false'", "", "false", 0 }, - { "UACUIAccess", "uiAccess='true'", "", "true", 0 }, - - { "ManifestEmbed", "manifest:embed", "", "true", 0 }, - { "MapExports", "MAPINFO:EXPORTS", "", "true", 0 }, - { "AssemblyDebug", "ASSEMBLYDEBUG:DISABLE", "", "false", 0 }, - { "AssemblyDebug", "ASSEMBLYDEBUG", "", "true", 0 }, - { "LargeAddressAware", "LARGEADDRESSAWARE:NO", "", "false", 0 }, - { "LargeAddressAware", "LARGEADDRESSAWARE", "", "true", 0 }, - { "TerminalServerAware", "TSAWARE:NO", "", "false", 0 }, - { "TerminalServerAware", "TSAWARE", "", "true", 0 }, - { "SwapRunFromCD", "SWAPRUN:CD", "", "true", 0 }, - { "SwapRunFromNET", "SWAPRUN:NET", "", "true", 0 }, - { "OptimizeReferences", "OPT:NOREF", "", "false", 0 }, - { "OptimizeReferences", "OPT:REF", "", "true", 0 }, - { "EnableCOMDATFolding", "OPT:NOICF", "", "false", 0 }, - { "EnableCOMDATFolding", "OPT:ICF", "", "true", 0 }, - { "IgnoreEmbeddedIDL", "IGNOREIDL", "", "true", 0 }, - { "AppContainer", "APPCONTAINER", "", "true", 0 }, - { "WindowsMetadataLinkDelaySign", "WINMDDELAYSIGN:NO", "", "false", 0 }, - { "WindowsMetadataLinkDelaySign", "WINMDDELAYSIGN", "", "true", 0 }, - { "NoEntryPoint", "NOENTRY", "", "true", 0 }, - { "SetChecksum", "RELEASE", "", "true", 0 }, - { "RandomizedBaseAddress", "DYNAMICBASE:NO", "", "false", 0 }, - { "RandomizedBaseAddress", "DYNAMICBASE", "", "true", 0 }, - { "FixedBaseAddress", "FIXED:NO", "", "false", 0 }, - { "FixedBaseAddress", "FIXED", "", "true", 0 }, - { "DataExecutionPrevention", "NXCOMPAT:NO", "", "false", 0 }, - { "DataExecutionPrevention", "NXCOMPAT", "", "true", 0 }, - { "TurnOffAssemblyGeneration", "NOASSEMBLY", "", "true", 0 }, - { "SupportUnloadOfDelayLoadedDLL", "DELAY:UNLOAD", "", "true", 0 }, - { "SupportNobindOfDelayLoadedDLL", "DELAY:NOBIND", "", "true", 0 }, - { "Profile", "PROFILE", "", "true", 0 }, - { "LinkDelaySign", "DELAYSIGN:NO", "", "false", 0 }, - { "LinkDelaySign", "DELAYSIGN", "", "true", 0 }, - { "CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK:NO", "", "false", 0 }, - { "CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK", "", "true", 0 }, - { "DetectOneDefinitionRule", "ODR", "", "true", 0 }, - { "ImageHasSafeExceptionHandlers", "SAFESEH:NO", "", "false", 0 }, - { "ImageHasSafeExceptionHandlers", "SAFESEH", "", "true", 0 }, - { "LinkDLL", "DLL", "", "true", 0 }, - - // Bool Properties With Argument - { "EnableUAC", "MANIFESTUAC:", "", "", - cmVS7FlagTable::UserValueRequired | cmVS7FlagTable::SpaceAppendable }, - { "GenerateMapFile", "MAP", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "MapFileName", "MAP:", "Generate Map File", "", - cmVS7FlagTable::UserValueRequired }, - - // String List Properties - { "AdditionalLibraryDirectories", - "LIBPATH:", "Additional Library Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "Natvis", "NATVIS:", "Natvis files", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - // Skip [AdditionalDependencies] - no command line Switch. - { "IgnoreSpecificDefaultLibraries", - "NODEFAULTLIB:", "Ignore Specific Default Libraries", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AddModuleNamesToAssembly", "ASSEMBLYMODULE:", "Add Module to Assembly", - "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "EmbedManagedResourceFile", - "ASSEMBLYRESOURCE:", "Embed Managed Resource File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ForceSymbolReferences", "INCLUDE:", "Force Symbol References", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "DelayLoadDLLs", "DELAYLOAD:", "Delay Loaded Dlls", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AssemblyLinkResource", "ASSEMBLYLINKRESOURCE:", "Assembly Link Resource", - "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AdditionalManifestDependencies", - "MANIFESTDEPENDENCY:", "Additional Manifest Dependencies", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ManifestInput", "manifestinput:", "Manifest Input", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - - // String Properties - { "OutputFile", "OUT:", "Output File", "", cmVS7FlagTable::UserValue }, - { "Version", "VERSION:", "Version", "", cmVS7FlagTable::UserValue }, - { "SpecifySectionAttributes", "SECTION:", "Specify Section Attributes", "", - cmVS7FlagTable::UserValue }, - { "MSDOSStubFileName", "STUB:", "MS-DOS Stub File Name", "", - cmVS7FlagTable::UserValue }, - // Skip [TrackerLogDirectory] - no command line Switch. - { "ModuleDefinitionFile", "DEF:", "Module Definition File", "", - cmVS7FlagTable::UserValue }, - { "ManifestFile", "ManifestFile:", "Manifest File", "", - cmVS7FlagTable::UserValue }, - { "ProgramDatabaseFile", "PDB:", "Generate Program Database File", "", - cmVS7FlagTable::UserValue }, - { "StripPrivateSymbols", "PDBSTRIPPED:", "Strip Private Symbols", "", - cmVS7FlagTable::UserValue }, - // Skip [MapFileName] - no command line Switch. - // Skip [MinimumRequiredVersion] - no command line Switch. - { "HeapReserveSize", "HEAP:", "Heap Reserve Size", "", - cmVS7FlagTable::UserValue }, - // Skip [HeapCommitSize] - no command line Switch. - { "StackReserveSize", "STACK:", "Stack Reserve Size", "", - cmVS7FlagTable::UserValue }, - // Skip [StackCommitSize] - no command line Switch. - { "FunctionOrder", "ORDER:@", "Function Order", "", - cmVS7FlagTable::UserValue }, - { "ProfileGuidedDatabase", "PGD:", "Profile Guided Database", "", - cmVS7FlagTable::UserValue }, - { "MidlCommandFile", "MIDL:@", "MIDL Commands", "", - cmVS7FlagTable::UserValue }, - { "MergedIDLBaseFileName", "IDLOUT:", "Merged IDL Base File Name", "", - cmVS7FlagTable::UserValue }, - { "TypeLibraryFile", "TLBOUT:", "Type Library", "", - cmVS7FlagTable::UserValue }, - { "WindowsMetadataFile", "WINMDFILE:", "Windows Metadata File", "", - cmVS7FlagTable::UserValue }, - { "WindowsMetadataLinkKeyFile", "WINMDKEYFILE:", "Windows Metadata Key File", - "", cmVS7FlagTable::UserValue }, - { "WindowsMetadataKeyContainer", "WINMDKEYCONTAINER:", - "Windows Metadata Key Container", "", cmVS7FlagTable::UserValue }, - { "EntryPointSymbol", "ENTRY:", "Entry Point", "", - cmVS7FlagTable::UserValue }, - { "BaseAddress", "BASE:", "Base Address", "", cmVS7FlagTable::UserValue }, - { "ImportLibrary", "IMPLIB:", "Import Library", "", - cmVS7FlagTable::UserValue }, - { "MergeSections", "MERGE:", "Merge Sections", "", - cmVS7FlagTable::UserValue }, - { "LinkKeyFile", "KEYFILE:", "Key File", "", cmVS7FlagTable::UserValue }, - { "KeyContainer", "KEYCONTAINER:", "Key Container", "", - cmVS7FlagTable::UserValue }, - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS141CLFlagTable.h b/Source/cmVS141CLFlagTable.h deleted file mode 100644 index 1f564f8..0000000 --- a/Source/cmVS141CLFlagTable.h +++ /dev/null @@ -1,260 +0,0 @@ -static cmVS7FlagTable cmVS141CLFlagTable[] = { - - // Enum Properties - { "DiagnosticsFormat", "diagnostics:classic", "Classic", "Classic", 0 }, - { "DiagnosticsFormat", "diagnostics:column", "Column", "Column", 0 }, - { "DiagnosticsFormat", "diagnostics:caret", "Caret", "Caret", 0 }, - - { "DebugInformationFormat", "", "None", "None", 0 }, - { "DebugInformationFormat", "Z7", "C7 compatible", "OldStyle", 0 }, - { "DebugInformationFormat", "Zi", "Program Database", "ProgramDatabase", 0 }, - { "DebugInformationFormat", "ZI", "Program Database for Edit And Continue", - "EditAndContinue", 0 }, - - { "WarningLevel", "W0", "Turn Off All Warnings", "TurnOffAllWarnings", 0 }, - { "WarningLevel", "W1", "Level1", "Level1", 0 }, - { "WarningLevel", "W2", "Level2", "Level2", 0 }, - { "WarningLevel", "W3", "Level3", "Level3", 0 }, - { "WarningLevel", "W4", "Level4", "Level4", 0 }, - { "WarningLevel", "Wall", "EnableAllWarnings", "EnableAllWarnings", 0 }, - - { "Optimization", "", "Custom", "Custom", 0 }, - { "Optimization", "Od", "Disabled", "Disabled", 0 }, - { "Optimization", "O1", "Minimize Size", "MinSpace", 0 }, - { "Optimization", "O2", "Maximize Speed", "MaxSpeed", 0 }, - { "Optimization", "Ox", "Full Optimization", "Full", 0 }, - - { "InlineFunctionExpansion", "", "Default", "Default", 0 }, - { "InlineFunctionExpansion", "Ob0", "Disabled", "Disabled", 0 }, - { "InlineFunctionExpansion", "Ob1", "Only __inline", "OnlyExplicitInline", - 0 }, - { "InlineFunctionExpansion", "Ob2", "Any Suitable", "AnySuitable", 0 }, - - { "FavorSizeOrSpeed", "Os", "Favor small code", "Size", 0 }, - { "FavorSizeOrSpeed", "Ot", "Favor fast code", "Speed", 0 }, - { "FavorSizeOrSpeed", "", "Neither", "Neither", 0 }, - - { "ExceptionHandling", "EHa", "Yes with SEH Exceptions", "Async", 0 }, - { "ExceptionHandling", "EHsc", "Yes", "Sync", 0 }, - { "ExceptionHandling", "EHs", "Yes with Extern C functions", "SyncCThrow", - 0 }, - { "ExceptionHandling", "", "No", "false", 0 }, - - { "BasicRuntimeChecks", "RTCs", "Stack Frames", "StackFrameRuntimeCheck", - 0 }, - { "BasicRuntimeChecks", "RTCu", "Uninitialized variables", - "UninitializedLocalUsageCheck", 0 }, - { "BasicRuntimeChecks", "RTC1", "Both (/RTC1, equiv. to /RTCsu)", - "EnableFastChecks", 0 }, - { "BasicRuntimeChecks", "", "Default", "Default", 0 }, - - { "RuntimeLibrary", "MT", "Multi-threaded", "MultiThreaded", 0 }, - { "RuntimeLibrary", "MTd", "Multi-threaded Debug", "MultiThreadedDebug", 0 }, - { "RuntimeLibrary", "MD", "Multi-threaded DLL", "MultiThreadedDLL", 0 }, - { "RuntimeLibrary", "MDd", "Multi-threaded Debug DLL", - "MultiThreadedDebugDLL", 0 }, - - { "StructMemberAlignment", "Zp1", "1 Byte", "1Byte", 0 }, - { "StructMemberAlignment", "Zp2", "2 Bytes", "2Bytes", 0 }, - { "StructMemberAlignment", "Zp4", "4 Byte", "4Bytes", 0 }, - { "StructMemberAlignment", "Zp8", "8 Bytes", "8Bytes", 0 }, - { "StructMemberAlignment", "Zp16", "16 Bytes", "16Bytes", 0 }, - { "StructMemberAlignment", "", "Default", "Default", 0 }, - - { "BufferSecurityCheck", "GS-", "Disable Security Check", "false", 0 }, - { "BufferSecurityCheck", "GS", "Enable Security Check", "true", 0 }, - - { "ControlFlowGuard", "guard:cf", "Yes", "Guard", 0 }, - { "ControlFlowGuard", "", "No", "false", 0 }, - - { "EnableEnhancedInstructionSet", "arch:SSE", "Streaming SIMD Extensions", - "StreamingSIMDExtensions", 0 }, - { "EnableEnhancedInstructionSet", "arch:SSE2", "Streaming SIMD Extensions 2", - "StreamingSIMDExtensions2", 0 }, - { "EnableEnhancedInstructionSet", "arch:AVX", "Advanced Vector Extensions", - "AdvancedVectorExtensions", 0 }, - { "EnableEnhancedInstructionSet", "arch:AVX2", - "Advanced Vector Extensions 2", "AdvancedVectorExtensions2", 0 }, - { "EnableEnhancedInstructionSet", "arch:IA32", "No Enhanced Instructions", - "NoExtensions", 0 }, - { "EnableEnhancedInstructionSet", "", "Not Set", "NotSet", 0 }, - - { "FloatingPointModel", "fp:precise", "Precise", "Precise", 0 }, - { "FloatingPointModel", "fp:strict", "Strict", "Strict", 0 }, - { "FloatingPointModel", "fp:fast", "Fast", "Fast", 0 }, - - { "SpectreMitigation", "Qspectre", "Spectre mitigations", "Spectre", 0 }, - - { "LanguageStandard", "std:c++17", "ISO C++17 Standard", "stdcpp17", 0 }, - { "LanguageStandard", "std:c++14", "ISO C++14 Standard", "stdcpp14", 0 }, - { "LanguageStandard", "std:c++latest", "ISO C++ Latest Draft Standard", - "stdcpplatest", 0 }, - - { "PrecompiledHeader", "Yc", "Create", "Create", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "PrecompiledHeader", "Yu", "Use", "Use", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "PrecompiledHeader", "Y-", "Not Using Precompiled Headers", "NotUsing", - 0 }, - - { "AssemblerOutput", "", "No Listing", "NoListing", 0 }, - { "AssemblerOutput", "FA", "Assembly-Only Listing", "AssemblyCode", 0 }, - { "AssemblerOutput", "FAc", "Assembly With Machine Code", - "AssemblyAndMachineCode", 0 }, - { "AssemblerOutput", "FAs", "Assembly With Source Code", - "AssemblyAndSourceCode", 0 }, - { "AssemblerOutput", "FAcs", "Assembly, Machine Code and Source", "All", 0 }, - - { "CallingConvention", "Gd", "__cdecl", "Cdecl", 0 }, - { "CallingConvention", "Gr", "__fastcall", "FastCall", 0 }, - { "CallingConvention", "Gz", "__stdcall", "StdCall", 0 }, - { "CallingConvention", "Gv", "__vectorcall", "VectorCall", 0 }, - - { "CompileAs", "", "Default", "Default", 0 }, - { "CompileAs", "TC", "Compile as C Code", "CompileAsC", 0 }, - { "CompileAs", "TP", "Compile as C++ Code", "CompileAsCpp", 0 }, - - { "ErrorReporting", "errorReport:none", "Do Not Send Report", "None", 0 }, - { "ErrorReporting", "errorReport:prompt", "Prompt Immediately", "Prompt", - 0 }, - { "ErrorReporting", "errorReport:queue", "Queue For Next Login", "Queue", - 0 }, - { "ErrorReporting", "errorReport:send", "Send Automatically", "Send", 0 }, - - { "CompileAsManaged", "", "No Common Language RunTime Support", "false", 0 }, - { "CompileAsManaged", "clr", "Common Language RunTime Support", "true", 0 }, - { "CompileAsManaged", "clr:pure", - "Pure MSIL Common Language RunTime Support", "Pure", 0 }, - { "CompileAsManaged", "clr:safe", - "Safe MSIL Common Language RunTime Support", "Safe", 0 }, - { "CompileAsManaged", "clr:oldSyntax", - "Common Language RunTime Support, Old Syntax", "OldSyntax", 0 }, - - { "CppLanguageStandard", "", "Default", "Default", 0 }, - { "CppLanguageStandard", "std=c++98", "C++03", "c++98", 0 }, - { "CppLanguageStandard", "std=c++11", "C++11", "c++11", 0 }, - { "CppLanguageStandard", "std=c++1y", "C++14", "c++1y", 0 }, - { "CppLanguageStandard", "std=c++14", "C++14", "c++1y", 0 }, - { "CppLanguageStandard", "std=gnu++98", "C++03 (GNU Dialect)", "gnu++98", - 0 }, - { "CppLanguageStandard", "std=gnu++11", "C++11 (GNU Dialect)", "gnu++11", - 0 }, - { "CppLanguageStandard", "std=gnu++1y", "C++14 (GNU Dialect)", "gnu++1y", - 0 }, - { "CppLanguageStandard", "std=gnu++14", "C++14 (GNU Dialect)", "gnu++1y", - 0 }, - - // Bool Properties - { "CompileAsWinRT", "ZW", "", "true", 0 }, - { "WinRTNoStdLib", "ZW:nostdlib", "", "true", 0 }, - { "SuppressStartupBanner", "nologo", "", "true", 0 }, - { "TreatWarningAsError", "WX-", "", "false", 0 }, - { "TreatWarningAsError", "WX", "", "true", 0 }, - { "SDLCheck", "sdl-", "", "false", 0 }, - { "SDLCheck", "sdl", "", "true", 0 }, - { "IntrinsicFunctions", "Oi", "", "true", 0 }, - { "OmitFramePointers", "Oy-", "", "false", 0 }, - { "OmitFramePointers", "Oy", "", "true", 0 }, - { "EnableFiberSafeOptimizations", "GT", "", "true", 0 }, - { "WholeProgramOptimization", "GL", "", "true", 0 }, - { "UndefineAllPreprocessorDefinitions", "u", "", "true", 0 }, - { "IgnoreStandardIncludePath", "X", "", "true", 0 }, - { "PreprocessToFile", "P", "", "true", 0 }, - { "PreprocessSuppressLineNumbers", "EP", "", "true", 0 }, - { "PreprocessKeepComments", "C", "", "true", 0 }, - { "StringPooling", "GF-", "", "false", 0 }, - { "StringPooling", "GF", "", "true", 0 }, - { "MinimalRebuild", "Gm-", "", "false", 0 }, - { "MinimalRebuild", "Gm", "", "true", 0 }, - { "SmallerTypeCheck", "RTCc", "", "true", 0 }, - { "FunctionLevelLinking", "Gy-", "", "false", 0 }, - { "FunctionLevelLinking", "Gy", "", "true", 0 }, - { "EnableParallelCodeGeneration", "Qpar-", "", "false", 0 }, - { "EnableParallelCodeGeneration", "Qpar", "", "true", 0 }, - { "FloatingPointExceptions", "fp:except-", "", "false", 0 }, - { "FloatingPointExceptions", "fp:except", "", "true", 0 }, - { "CreateHotpatchableImage", "hotpatch", "", "true", 0 }, - { "DisableLanguageExtensions", "Za", "", "true", 0 }, - { "TreatWChar_tAsBuiltInType", "Zc:wchar_t-", "", "false", 0 }, - { "TreatWChar_tAsBuiltInType", "Zc:wchar_t", "", "true", 0 }, - { "ForceConformanceInForLoopScope", "Zc:forScope-", "", "false", 0 }, - { "ForceConformanceInForLoopScope", "Zc:forScope", "", "true", 0 }, - { "RemoveUnreferencedCodeData", "Zc:inline-", "", "false", 0 }, - { "RemoveUnreferencedCodeData", "Zc:inline", "", "true", 0 }, - { "EnforceTypeConversionRules", "Zc:rvalueCast-", "", "false", 0 }, - { "EnforceTypeConversionRules", "Zc:rvalueCast", "", "true", 0 }, - { "RuntimeTypeInfo", "GR-", "", "false", 0 }, - { "RuntimeTypeInfo", "GR", "", "true", 0 }, - { "OpenMPSupport", "openmp-", "", "false", 0 }, - { "OpenMPSupport", "openmp", "", "true", 0 }, - { "ExpandAttributedSource", "Fx", "", "true", 0 }, - { "UseUnicodeForAssemblerListing", "FAu", "", "true", 0 }, - { "ShowIncludes", "showIncludes", "", "true", 0 }, - { "EnablePREfast", "analyze-", "", "false", 0 }, - { "EnablePREfast", "analyze", "", "true", 0 }, - { "UseFullPaths", "FC", "", "true", 0 }, - { "OmitDefaultLibName", "Zl", "", "true", 0 }, - { "SupportJustMyCode", "JMC-", "", "false", 0 }, - { "SupportJustMyCode", "JMC", "", "true", 0 }, - - // Bool Properties With Argument - { "MultiProcessorCompilation", "MP", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "ProcessorNumber", "MP", "Multi-processor Compilation", "", - cmVS7FlagTable::UserValueRequired }, - { "GenerateXMLDocumentationFiles", "doc", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "XMLDocumentationFileName", "doc", "Generate XML Documentation Files", "", - cmVS7FlagTable::UserValueRequired }, - { "BrowseInformation", "FR", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "BrowseInformationFile", "FR", "Enable Browse Information", "", - cmVS7FlagTable::UserValueRequired }, - - // String List Properties - { "AdditionalIncludeDirectories", "I", "Additional Include Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AdditionalUsingDirectories", "AI", "Additional #using Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "PreprocessorDefinitions", "D ", "Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "UndefinePreprocessorDefinitions", "U", - "Undefine Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "DisableSpecificWarnings", "wd", "Disable Specific Warnings", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ForcedIncludeFiles", "FI", "Forced Include File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ForcedUsingFiles", "FU", "Forced #using File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "PREfastLog", "analyze:log", "Code Analysis Log", "", - cmVS7FlagTable::UserFollowing }, - { "PREfastAdditionalPlugins", "analyze:plugin", - "Additional Code Analysis Native plugins", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "TreatSpecificWarningsAsErrors", "we", "Treat Specific Warnings As Errors", - "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - - // String Properties - { "WarningVersion", "Wv:", "Warning Version", "", - cmVS7FlagTable::UserValue }, - // Skip [TrackerLogDirectory] - no command line Switch. - { "PreprocessOutputPath", "Fi", "Preprocess Output Path", "", - cmVS7FlagTable::UserValue }, - { "PrecompiledHeaderFile", "Yc", "Precompiled Header Name", "", - cmVS7FlagTable::UserValueRequired }, - { "PrecompiledHeaderFile", "Yu", "Precompiled Header Name", "", - cmVS7FlagTable::UserValueRequired }, - { "PrecompiledHeaderOutputFile", "Fp", "Precompiled Header Output File", "", - cmVS7FlagTable::UserValue }, - { "AssemblerListingLocation", "Fa", "ASM List Location", "", - cmVS7FlagTable::UserValue }, - { "ObjectFileName", "Fo", "Object File Name", "", - cmVS7FlagTable::UserValue }, - { "ProgramDataBaseFileName", "Fd", "Program Database File Name", "", - cmVS7FlagTable::UserValue }, - // Skip [XMLDocumentationFileName] - no command line Switch. - // Skip [BrowseInformationFile] - no command line Switch. - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS141CSharpFlagTable.h b/Source/cmVS141CSharpFlagTable.h deleted file mode 100644 index 7688dba..0000000 --- a/Source/cmVS141CSharpFlagTable.h +++ /dev/null @@ -1,126 +0,0 @@ -static cmVS7FlagTable cmVS141CSharpFlagTable[] = { - { "ProjectName", "out:", "", "", cmIDEFlagTable::UserValueRequired }, - - { "OutputType", "target:exe", "", "Exe", 0 }, - { "OutputType", "target:winexe", "", "Winexe", 0 }, - { "OutputType", "target:library", "", "Library", 0 }, - { "OutputType", "target:module", "", "Module", 0 }, - - { "DocumentationFile", "doc", "", "", cmIDEFlagTable::UserValueRequired }, - - { "Platform", "platform:x86", "", "x86", 0 }, - { "Platform", "platform:Itanium", "", "Itanium", 0 }, - { "Platform", "platform:x64", "", "x64", 0 }, - { "Platform", "platform:arm", "", "arm", 0 }, - { "Platform", "platform:anycpu32bitpreferred", "", "anycpu32bitpreferred", - 0 }, - { "Platform", "platform:anycpu", "", "anycpu", 0 }, - - { "References", "reference:", "mit alias", "", 0 }, - { "References", "reference:", "dateiliste", "", 0 }, - { "AddModules", "addmodule:", "", "", cmIDEFlagTable::SemicolonAppendable }, - { "", "link", "", "", 0 }, - - { "Win32Resource", "win32res:", "", "", cmIDEFlagTable::UserValueRequired }, - { "ApplicationIcon", "win32icon:", "", "", - cmIDEFlagTable::UserValueRequired }, - - { "ApplicationManifest", "win32manifest:", "", "", - cmIDEFlagTable::UserValueRequired }, - - { "NoWin32Manifest", "nowin32manifest", "", "true", 0 }, - - { "DefineDebug", "debug", "", "true", cmIDEFlagTable::Continue }, - - { "DebugSymbols", "debug", "", "true", 0 }, - { "DebugSymbols", "debug-", "", "false", 0 }, - { "DebugSymbols", "debug+", "", "true", 0 }, - - { "DebugType", "debug:none", "", "none", 0 }, - { "DebugType", "debug:full", "", "full", 0 }, - { "DebugType", "debug:pdbonly", "", "pdbonly", 0 }, - - { "Optimize", "optimize", "", "true", 0 }, - { "Optimize", "optimize-", "", "false", 0 }, - { "Optimize", "optimize+", "", "true", 0 }, - - { "TreatWarningsAsErrors", "warnaserror", "", "true", 0 }, - { "TreatWarningsAsErrors", "warnaserror-", "", "false", 0 }, - { "TreatWarningsAsErrors", "warnaserror+", "", "true", 0 }, - - { "WarningsAsErrors", "warnaserror", "", "", 0 }, - { "WarningsAsErrors", "warnaserror-", "", "", 0 }, - { "WarningsAsErrors", "warnaserror+", "", "", 0 }, - - { "WarningLevel", "warn:0", "", "0", 0 }, - { "WarningLevel", "warn:1", "", "1", 0 }, - { "WarningLevel", "warn:2", "", "2", 0 }, - { "WarningLevel", "warn:3", "", "3", 0 }, - { "WarningLevel", "warn:4", "", "4", 0 }, - { "DisabledWarnings", "nowarn", "", "", 0 }, - - { "CheckForOverflowUnderflow", "checked", "", "true", 0 }, - { "CheckForOverflowUnderflow", "checked-", "", "false", 0 }, - { "CheckForOverflowUnderflow", "checked+", "", "true", 0 }, - - { "AllowUnsafeBlocks", "unsafe", "", "true", 0 }, - { "AllowUnsafeBlocks", "unsafe-", "", "false", 0 }, - { "AllowUnsafeBlocks", "unsafe+", "", "true", 0 }, - - { "DefineConstants", "define:", "", "", - cmIDEFlagTable::SemicolonAppendable | cmIDEFlagTable::UserValue }, - - { "LangVersion", "langversion:ISO-1", "", "ISO-1", 0 }, - { "LangVersion", "langversion:ISO-2", "", "ISO-2", 0 }, - { "LangVersion", "langversion:3", "", "3", 0 }, - { "LangVersion", "langversion:4", "", "4", 0 }, - { "LangVersion", "langversion:5", "", "5", 0 }, - { "LangVersion", "langversion:6", "", "6", 0 }, - { "LangVersion", "langversion:7.0", "", "7.0", 0 }, - { "LangVersion", "langversion:7.1", "", "7.1", 0 }, - { "LangVersion", "langversion:7.2", "", "7.2", 0 }, - { "LangVersion", "langversion:7.3", "", "7.3", 0 }, - { "LangVersion", "langversion:default", "", "default", 0 }, - { "LangVersion", "langversion:latest", "", "latest", 0 }, - - { "DelaySign", "delaysign", "", "true", 0 }, - { "DelaySign", "delaysign-", "", "false", 0 }, - { "DelaySign", "delaysign+", "", "true", 0 }, - - { "AssemblyOriginatorKeyFile", "keyfile", "", "", 0 }, - - { "KeyContainerName", "keycontainer", "", "", 0 }, - - { "NoLogo", "nologo", "", "", 0 }, - - { "NoConfig", "noconfig", "", "true", 0 }, - - { "BaseAddress", "baseaddress:", "", "", 0 }, - - { "CodePage", "codepage", "", "", 0 }, - - { "Utf8Output", "utf8output", "", "", 0 }, - - { "MainEntryPoint", "main:", "", "", 0 }, - - { "GenerateFullPaths", "fullpaths", "", "true", 0 }, - - { "FileAlignment", "filealign", "", "", 0 }, - - { "PdbFile", "pdb:", "", "", 0 }, - - { "NoStandardLib", "nostdlib", "", "true", 0 }, - { "NoStandardLib", "nostdlib-", "", "false", 0 }, - { "NoStandardLib", "nostdlib+", "", "true", 0 }, - - { "SubsystemVersion", "subsystemversion", "", "", 0 }, - - { "AdditionalLibPaths", "lib:", "", "", 0 }, - - { "ErrorReport", "errorreport:none", "Do Not Send Report", "none", 0 }, - { "ErrorReport", "errorreport:prompt", "Prompt Immediately", "prompt", 0 }, - { "ErrorReport", "errorreport:queue", "Queue For Next Login", "queue", 0 }, - { "ErrorReport", "errorreport:send", "Send Automatically", "send", 0 }, - - { "", "", "", "", 0 }, -}; diff --git a/Source/cmVS141LinkFlagTable.h b/Source/cmVS141LinkFlagTable.h deleted file mode 100644 index 9ee3334..0000000 --- a/Source/cmVS141LinkFlagTable.h +++ /dev/null @@ -1,287 +0,0 @@ -static cmVS7FlagTable cmVS141LinkFlagTable[] = { - - // Enum Properties - { "ShowProgress", "", "Not Set", "NotSet", 0 }, - { "ShowProgress", "VERBOSE", "Display all progress messages", "LinkVerbose", - 0 }, - { "ShowProgress", "VERBOSE:Lib", "For Libraries Searched", "LinkVerboseLib", - 0 }, - { "ShowProgress", "VERBOSE:ICF", - "About COMDAT folding during optimized linking", "LinkVerboseICF", 0 }, - { "ShowProgress", "VERBOSE:REF", - "About data removed during optimized linking", "LinkVerboseREF", 0 }, - { "ShowProgress", "VERBOSE:SAFESEH", "About Modules incompatible with SEH", - "LinkVerboseSAFESEH", 0 }, - { "ShowProgress", "VERBOSE:CLR", - "About linker activity related to managed code", "LinkVerboseCLR", 0 }, - - { "ForceFileOutput", "FORCE", "Enabled", "Enabled", 0 }, - { "ForceFileOutput", "FORCE:MULTIPLE", "Multiply Defined Symbol Only", - "MultiplyDefinedSymbolOnly", 0 }, - { "ForceFileOutput", "FORCE:UNRESOLVED", "Undefined Symbol Only", - "UndefinedSymbolOnly", 0 }, - - { "CreateHotPatchableImage", "FUNCTIONPADMIN", "Enabled", "Enabled", 0 }, - { "CreateHotPatchableImage", "FUNCTIONPADMIN:5", "X86 Image Only", - "X86Image", 0 }, - { "CreateHotPatchableImage", "FUNCTIONPADMIN:6", "X64 Image Only", - "X64Image", 0 }, - { "CreateHotPatchableImage", "FUNCTIONPADMIN:16", "Itanium Image Only", - "ItaniumImage", 0 }, - - // correct flags for uac should be /MANIFESTUAC, but some projects already - // use this bug to access uac field, so keep these for compatibility - { "UACExecutionLevel", "level='asInvoker'", "asInvoker", "AsInvoker", 0 }, - { "UACExecutionLevel", "level='highestAvailable'", "highestAvailable", - "HighestAvailable", 0 }, - { "UACExecutionLevel", "level='requireAdministrator'", - "requireAdministrator", "RequireAdministrator", 0 }, - - { "GenerateDebugInformation", "DEBUG:FASTLINK", - "Generate Debug Information optimized for faster links", "DebugFastLink", - cmVS7FlagTable::CaseInsensitive }, - { "GenerateDebugInformation", "DEBUG:FULL", - "Generate Debug Information optimized for sharing and publishing", - "DebugFull", cmVS7FlagTable::CaseInsensitive }, - { "GenerateDebugInformation", "DEBUG:NONE", - "Produces no debugging information", "false", - cmVS7FlagTable::CaseInsensitive }, - { "GenerateDebugInformation", "DEBUG", "Generate Debug Information", "true", - cmVS7FlagTable::CaseInsensitive }, - - { "SubSystem", "", "Not Set", "NotSet", 0 }, - { "SubSystem", "SUBSYSTEM:CONSOLE", "Console", "Console", 0 }, - { "SubSystem", "SUBSYSTEM:WINDOWS", "Windows", "Windows", 0 }, - { "SubSystem", "SUBSYSTEM:NATIVE", "Native", "Native", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_APPLICATION", "EFI Application", - "EFI Application", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", - "EFI Boot Service Driver", "EFI Boot Service Driver", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_ROM", "EFI ROM", "EFI ROM", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_RUNTIME_DRIVER", "EFI Runtime", "EFI Runtime", - 0 }, - { "SubSystem", "SUBSYSTEM:POSIX", "POSIX", "POSIX", 0 }, - - { "Driver", "", "Not Set", "NotSet", 0 }, - { "Driver", "Driver", "Driver", "Driver", 0 }, - { "Driver", "DRIVER:UPONLY", "UP Only", "UpOnly", 0 }, - { "Driver", "DRIVER:WDM", "WDM", "WDM", 0 }, - - { "LinkTimeCodeGeneration", "", "Default", "Default", 0 }, - { "LinkTimeCodeGeneration", "LTCG:incremental", - "Use Fast Link Time Code Generation", "UseFastLinkTimeCodeGeneration", 0 }, - { "LinkTimeCodeGeneration", "LTCG", "Use Link Time Code Generation", - "UseLinkTimeCodeGeneration", 0 }, - { "LinkTimeCodeGeneration", "LTCG:PGInstrument", - "Profile Guided Optimization - Instrument", "PGInstrument", 0 }, - { "LinkTimeCodeGeneration", "LTCG:PGOptimize", - "Profile Guided Optimization - Optimization", "PGOptimization", 0 }, - { "LinkTimeCodeGeneration", "LTCG:PGUpdate", - "Profile Guided Optimization - Update", "PGUpdate", 0 }, - - { "GenerateWindowsMetadata", "WINMD", "Yes", "true", 0 }, - { "GenerateWindowsMetadata", "WINMD:NO", "No", "false", 0 }, - - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA1", "SHA1", "SHA1", 0 }, - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA256", "SHA256", "SHA256", 0 }, - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA384", "SHA384", "SHA384", 0 }, - { "WindowsMetadataSignHash", "WINMDSIGNHASH:SHA512", "SHA512", "SHA512", 0 }, - - { "TargetMachine", "", "Not Set", "NotSet", 0 }, - { "TargetMachine", "MACHINE:ARM", "MachineARM", "MachineARM", 0 }, - { "TargetMachine", "MACHINE:ARM64", "MachineARM64", "MachineARM64", 0 }, - { "TargetMachine", "MACHINE:EBC", "MachineEBC", "MachineEBC", 0 }, - { "TargetMachine", "MACHINE:IA64", "MachineIA64", "MachineIA64", 0 }, - { "TargetMachine", "MACHINE:MIPS", "MachineMIPS", "MachineMIPS", 0 }, - { "TargetMachine", "MACHINE:MIPS16", "MachineMIPS16", "MachineMIPS16", 0 }, - { "TargetMachine", "MACHINE:MIPSFPU", "MachineMIPSFPU", "MachineMIPSFPU", - 0 }, - { "TargetMachine", "MACHINE:MIPSFPU16", "MachineMIPSFPU16", - "MachineMIPSFPU16", 0 }, - { "TargetMachine", "MACHINE:SH4", "MachineSH4", "MachineSH4", 0 }, - { "TargetMachine", "MACHINE:THUMB", "MachineTHUMB", "MachineTHUMB", 0 }, - { "TargetMachine", "MACHINE:X64", "MachineX64", "MachineX64", 0 }, - { "TargetMachine", "MACHINE:X86", "MachineX86", "MachineX86", 0 }, - - { "CLRThreadAttribute", "CLRTHREADATTRIBUTE:MTA", "MTA threading attribute", - "MTAThreadingAttribute", 0 }, - { "CLRThreadAttribute", "CLRTHREADATTRIBUTE:STA", "STA threading attribute", - "STAThreadingAttribute", 0 }, - { "CLRThreadAttribute", "CLRTHREADATTRIBUTE:NONE", - "Default threading attribute", "DefaultThreadingAttribute", 0 }, - - { "CLRImageType", "CLRIMAGETYPE:IJW", "Force IJW image", "ForceIJWImage", - 0 }, - { "CLRImageType", "CLRIMAGETYPE:PURE", "Force Pure IL Image", - "ForcePureILImage", 0 }, - { "CLRImageType", "CLRIMAGETYPE:SAFE", "Force Safe IL Image", - "ForceSafeILImage", 0 }, - { "CLRImageType", "", "Default image type", "Default", 0 }, - - { "SignHash", "CLRSIGNHASH:SHA1", "SHA1", "SHA1", 0 }, - { "SignHash", "CLRSIGNHASH:SHA256", "SHA256", "SHA256", 0 }, - { "SignHash", "CLRSIGNHASH:SHA384", "SHA384", "SHA384", 0 }, - { "SignHash", "CLRSIGNHASH:SHA512", "SHA512", "SHA512", 0 }, - - { "LinkErrorReporting", "ERRORREPORT:PROMPT", "PromptImmediately", - "PromptImmediately", 0 }, - { "LinkErrorReporting", "ERRORREPORT:QUEUE", "Queue For Next Login", - "QueueForNextLogin", 0 }, - { "LinkErrorReporting", "ERRORREPORT:SEND", "Send Error Report", - "SendErrorReport", 0 }, - { "LinkErrorReporting", "ERRORREPORT:NONE", "No Error Report", - "NoErrorReport", 0 }, - - { "CLRSupportLastError", "CLRSupportLastError", "Enabled", "Enabled", 0 }, - { "CLRSupportLastError", "CLRSupportLastError:NO", "Disabled", "Disabled", - 0 }, - { "CLRSupportLastError", "CLRSupportLastError:SYSTEMDLL", "System Dlls Only", - "SystemDlls", 0 }, - - // Bool Properties - { "LinkIncremental", "INCREMENTAL:NO", "", "false", 0 }, - { "LinkIncremental", "INCREMENTAL", "", "true", 0 }, - { "SuppressStartupBanner", "NOLOGO", "", "true", 0 }, - { "LinkStatus", "LTCG:NOSTATUS", "", "false", 0 }, - { "LinkStatus", "LTCG:STATUS", "", "true", 0 }, - { "PreventDllBinding", "ALLOWBIND:NO", "", "false", 0 }, - { "PreventDllBinding", "ALLOWBIND", "", "true", 0 }, - { "TreatLinkerWarningAsErrors", "WX:NO", "", "false", 0 }, - { "TreatLinkerWarningAsErrors", "WX", "", "true", 0 }, - { "IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0 }, - { "GenerateManifest", "MANIFEST:NO", "", "false", 0 }, - { "GenerateManifest", "MANIFEST", "", "true", 0 }, - { "AllowIsolation", "ALLOWISOLATION:NO", "", "false", 0 }, - - // correct flags for uac should be /MANIFESTUAC, but some projects already - // use this bug to access uac field, so keep these for compatibility - { "UACUIAccess", "uiAccess='false'", "", "false", 0 }, - { "UACUIAccess", "uiAccess='true'", "", "true", 0 }, - - { "ManifestEmbed", "manifest:embed", "", "true", 0 }, - { "MapExports", "MAPINFO:EXPORTS", "", "true", 0 }, - { "AssemblyDebug", "ASSEMBLYDEBUG:DISABLE", "", "false", 0 }, - { "AssemblyDebug", "ASSEMBLYDEBUG", "", "true", 0 }, - { "LargeAddressAware", "LARGEADDRESSAWARE:NO", "", "false", 0 }, - { "LargeAddressAware", "LARGEADDRESSAWARE", "", "true", 0 }, - { "TerminalServerAware", "TSAWARE:NO", "", "false", 0 }, - { "TerminalServerAware", "TSAWARE", "", "true", 0 }, - { "SwapRunFromCD", "SWAPRUN:CD", "", "true", 0 }, - { "SwapRunFromNET", "SWAPRUN:NET", "", "true", 0 }, - { "OptimizeReferences", "OPT:NOREF", "", "false", 0 }, - { "OptimizeReferences", "OPT:REF", "", "true", 0 }, - { "EnableCOMDATFolding", "OPT:NOICF", "", "false", 0 }, - { "EnableCOMDATFolding", "OPT:ICF", "", "true", 0 }, - { "IgnoreEmbeddedIDL", "IGNOREIDL", "", "true", 0 }, - { "AppContainer", "APPCONTAINER", "", "true", 0 }, - { "WindowsMetadataLinkDelaySign", "WINMDDELAYSIGN:NO", "", "false", 0 }, - { "WindowsMetadataLinkDelaySign", "WINMDDELAYSIGN", "", "true", 0 }, - { "NoEntryPoint", "NOENTRY", "", "true", 0 }, - { "SetChecksum", "RELEASE", "", "true", 0 }, - { "RandomizedBaseAddress", "DYNAMICBASE:NO", "", "false", 0 }, - { "RandomizedBaseAddress", "DYNAMICBASE", "", "true", 0 }, - { "FixedBaseAddress", "FIXED:NO", "", "false", 0 }, - { "FixedBaseAddress", "FIXED", "", "true", 0 }, - { "DataExecutionPrevention", "NXCOMPAT:NO", "", "false", 0 }, - { "DataExecutionPrevention", "NXCOMPAT", "", "true", 0 }, - { "TurnOffAssemblyGeneration", "NOASSEMBLY", "", "true", 0 }, - { "SupportUnloadOfDelayLoadedDLL", "DELAY:UNLOAD", "", "true", 0 }, - { "SupportNobindOfDelayLoadedDLL", "DELAY:NOBIND", "", "true", 0 }, - { "Profile", "PROFILE", "", "true", 0 }, - { "LinkDelaySign", "DELAYSIGN:NO", "", "false", 0 }, - { "LinkDelaySign", "DELAYSIGN", "", "true", 0 }, - { "CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK:NO", "", "false", 0 }, - { "CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK", "", "true", 0 }, - { "DetectOneDefinitionRule", "ODR", "", "true", 0 }, - { "ImageHasSafeExceptionHandlers", "SAFESEH:NO", "", "false", 0 }, - { "ImageHasSafeExceptionHandlers", "SAFESEH", "", "true", 0 }, - { "LinkDLL", "DLL", "", "true", 0 }, - - // Bool Properties With Argument - { "EnableUAC", "MANIFESTUAC:", "", "", - cmVS7FlagTable::UserValueRequired | cmVS7FlagTable::SpaceAppendable }, - { "GenerateMapFile", "MAP", "", "true", - cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue }, - { "MapFileName", "MAP:", "Generate Map File", "", - cmVS7FlagTable::UserValueRequired }, - - // String List Properties - { "AdditionalLibraryDirectories", - "LIBPATH:", "Additional Library Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "Natvis", "NATVIS:", "Natvis files", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - // Skip [AdditionalDependencies] - no command line Switch. - { "IgnoreSpecificDefaultLibraries", - "NODEFAULTLIB:", "Ignore Specific Default Libraries", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AddModuleNamesToAssembly", "ASSEMBLYMODULE:", "Add Module to Assembly", - "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "EmbedManagedResourceFile", - "ASSEMBLYRESOURCE:", "Embed Managed Resource File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ForceSymbolReferences", "INCLUDE:", "Force Symbol References", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "DelayLoadDLLs", "DELAYLOAD:", "Delay Loaded Dlls", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AssemblyLinkResource", "ASSEMBLYLINKRESOURCE:", "Assembly Link Resource", - "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "AdditionalManifestDependencies", - "MANIFESTDEPENDENCY:", "Additional Manifest Dependencies", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ManifestInput", "manifestinput:", "Manifest Input", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - - // String Properties - { "OutputFile", "OUT:", "Output File", "", cmVS7FlagTable::UserValue }, - { "Version", "VERSION:", "Version", "", cmVS7FlagTable::UserValue }, - { "SpecifySectionAttributes", "SECTION:", "Specify Section Attributes", "", - cmVS7FlagTable::UserValue }, - { "MSDOSStubFileName", "STUB:", "MS-DOS Stub File Name", "", - cmVS7FlagTable::UserValue }, - // Skip [TrackerLogDirectory] - no command line Switch. - { "ModuleDefinitionFile", "DEF:", "Module Definition File", "", - cmVS7FlagTable::UserValue }, - { "ManifestFile", "ManifestFile:", "Manifest File", "", - cmVS7FlagTable::UserValue }, - { "ProgramDatabaseFile", "PDB:", "Generate Program Database File", "", - cmVS7FlagTable::UserValue }, - { "StripPrivateSymbols", "PDBSTRIPPED:", "Strip Private Symbols", "", - cmVS7FlagTable::UserValue }, - // Skip [MapFileName] - no command line Switch. - // Skip [MinimumRequiredVersion] - no command line Switch. - { "HeapReserveSize", "HEAP:", "Heap Reserve Size", "", - cmVS7FlagTable::UserValue }, - // Skip [HeapCommitSize] - no command line Switch. - { "StackReserveSize", "STACK:", "Stack Reserve Size", "", - cmVS7FlagTable::UserValue }, - // Skip [StackCommitSize] - no command line Switch. - { "FunctionOrder", "ORDER:@", "Function Order", "", - cmVS7FlagTable::UserValue }, - { "ProfileGuidedDatabase", "PGD:", "Profile Guided Database", "", - cmVS7FlagTable::UserValue }, - { "MidlCommandFile", "MIDL:@", "MIDL Commands", "", - cmVS7FlagTable::UserValue }, - { "MergedIDLBaseFileName", "IDLOUT:", "Merged IDL Base File Name", "", - cmVS7FlagTable::UserValue }, - { "TypeLibraryFile", "TLBOUT:", "Type Library", "", - cmVS7FlagTable::UserValue }, - { "WindowsMetadataFile", "WINMDFILE:", "Windows Metadata File", "", - cmVS7FlagTable::UserValue }, - { "WindowsMetadataLinkKeyFile", "WINMDKEYFILE:", "Windows Metadata Key File", - "", cmVS7FlagTable::UserValue }, - { "WindowsMetadataKeyContainer", "WINMDKEYCONTAINER:", - "Windows Metadata Key Container", "", cmVS7FlagTable::UserValue }, - { "EntryPointSymbol", "ENTRY:", "Entry Point", "", - cmVS7FlagTable::UserValue }, - { "BaseAddress", "BASE:", "Base Address", "", cmVS7FlagTable::UserValue }, - { "ImportLibrary", "IMPLIB:", "Import Library", "", - cmVS7FlagTable::UserValue }, - { "MergeSections", "MERGE:", "Merge Sections", "", - cmVS7FlagTable::UserValue }, - { "LinkKeyFile", "KEYFILE:", "Key File", "", cmVS7FlagTable::UserValue }, - { "KeyContainer", "KEYCONTAINER:", "Key Container", "", - cmVS7FlagTable::UserValue }, - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS14LibFlagTable.h b/Source/cmVS14LibFlagTable.h deleted file mode 100644 index 0cac898..0000000 --- a/Source/cmVS14LibFlagTable.h +++ /dev/null @@ -1,77 +0,0 @@ -static cmVS7FlagTable cmVS14LibFlagTable[] = { - - // Enum Properties - { "ErrorReporting", "ERRORREPORT:PROMPT", "PromptImmediately", - "PromptImmediately", 0 }, - { "ErrorReporting", "ERRORREPORT:QUEUE", "Queue For Next Login", - "QueueForNextLogin", 0 }, - { "ErrorReporting", "ERRORREPORT:SEND", "Send Error Report", - "SendErrorReport", 0 }, - { "ErrorReporting", "ERRORREPORT:NONE", "No Error Report", "NoErrorReport", - 0 }, - - { "TargetMachine", "MACHINE:ARM", "MachineARM", "MachineARM", 0 }, - { "TargetMachine", "MACHINE:ARM64", "MachineARM64", "MachineARM64", 0 }, - { "TargetMachine", "MACHINE:EBC", "MachineEBC", "MachineEBC", 0 }, - { "TargetMachine", "MACHINE:IA64", "MachineIA64", "MachineIA64", 0 }, - { "TargetMachine", "MACHINE:MIPS", "MachineMIPS", "MachineMIPS", 0 }, - { "TargetMachine", "MACHINE:MIPS16", "MachineMIPS16", "MachineMIPS16", 0 }, - { "TargetMachine", "MACHINE:MIPSFPU", "MachineMIPSFPU", "MachineMIPSFPU", - 0 }, - { "TargetMachine", "MACHINE:MIPSFPU16", "MachineMIPSFPU16", - "MachineMIPSFPU16", 0 }, - { "TargetMachine", "MACHINE:SH4", "MachineSH4", "MachineSH4", 0 }, - { "TargetMachine", "MACHINE:THUMB", "MachineTHUMB", "MachineTHUMB", 0 }, - { "TargetMachine", "MACHINE:X64", "MachineX64", "MachineX64", 0 }, - { "TargetMachine", "MACHINE:X86", "MachineX86", "MachineX86", 0 }, - - { "SubSystem", "SUBSYSTEM:CONSOLE", "Console", "Console", 0 }, - { "SubSystem", "SUBSYSTEM:WINDOWS", "Windows", "Windows", 0 }, - { "SubSystem", "SUBSYSTEM:NATIVE", "Native", "Native", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_APPLICATION", "EFI Application", - "EFI Application", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", - "EFI Boot Service Driver", "EFI Boot Service Driver", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_ROM", "EFI ROM", "EFI ROM", 0 }, - { "SubSystem", "SUBSYSTEM:EFI_RUNTIME_DRIVER", "EFI Runtime", "EFI Runtime", - 0 }, - { "SubSystem", "SUBSYSTEM:WINDOWSCE", "WindowsCE", "WindowsCE", 0 }, - { "SubSystem", "SUBSYSTEM:POSIX", "POSIX", "POSIX", 0 }, - - // Bool Properties - { "SuppressStartupBanner", "NOLOGO", "", "true", 0 }, - { "IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0 }, - { "TreatLibWarningAsErrors", "WX:NO", "", "false", 0 }, - { "TreatLibWarningAsErrors", "WX", "", "true", 0 }, - { "Verbose", "VERBOSE", "", "true", 0 }, - { "LinkTimeCodeGeneration", "LTCG", "", "true", 0 }, - - // Bool Properties With Argument - - // String List Properties - // Skip [AdditionalDependencies] - no command line Switch. - { "AdditionalLibraryDirectories", - "LIBPATH:", "Additional Library Directories", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "IgnoreSpecificDefaultLibraries", - "NODEFAULTLIB:", "Ignore Specific Default Libraries", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "ExportNamedFunctions", "EXPORT:", "Export Named Functions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "RemoveObjects", "REMOVE:", "Remove Objects", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - - // String Properties - { "OutputFile", "OUT:", "Output File", "", cmVS7FlagTable::UserValue }, - { "ModuleDefinitionFile", "DEF:", "Module Definition File Name", "", - cmVS7FlagTable::UserValue }, - { "ForceSymbolReferences", "INCLUDE:", "Force Symbol References", "", - cmVS7FlagTable::UserValue }, - { "DisplayLibrary", "LIST:", "Display Library to standard output", "", - cmVS7FlagTable::UserValue }, - // Skip [MinimumRequiredVersion] - no command line Switch. - { "Name", "NAME:", "Name", "", cmVS7FlagTable::UserValue }, - // Skip [AdditionalOptions] - no command line Switch. - // Skip [TrackerLogDirectory] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS14MASMFlagTable.h b/Source/cmVS14MASMFlagTable.h deleted file mode 100644 index 8af1ef6..0000000 --- a/Source/cmVS14MASMFlagTable.h +++ /dev/null @@ -1,76 +0,0 @@ -static cmVS7FlagTable cmVS14MASMFlagTable[] = { - - // Enum Properties - { "PreserveIdentifierCase", "", "Default", "0", 0 }, - { "PreserveIdentifierCase", "Cp", "Preserves Identifier Case (/Cp)", "1", - 0 }, - { "PreserveIdentifierCase", "Cu", - "Maps all identifiers to upper case. (/Cu)", "2", 0 }, - { "PreserveIdentifierCase", "Cx", - "Preserves case in public and extern symbols. (/Cx)", "3", 0 }, - - { "WarningLevel", "W0", "Warning Level 0 (/W0)", "0", 0 }, - { "WarningLevel", "W1", "Warning Level 1 (/W1)", "1", 0 }, - { "WarningLevel", "W2", "Warning Level 2 (/W2)", "2", 0 }, - { "WarningLevel", "W3", "Warning Level 3 (/W3)", "3", 0 }, - - { "PackAlignmentBoundary", "", "Default", "0", 0 }, - { "PackAlignmentBoundary", "Zp1", "One Byte Boundary (/Zp1)", "1", 0 }, - { "PackAlignmentBoundary", "Zp2", "Two Byte Boundary (/Zp2)", "2", 0 }, - { "PackAlignmentBoundary", "Zp4", "Four Byte Boundary (/Zp4)", "3", 0 }, - { "PackAlignmentBoundary", "Zp8", "Eight Byte Boundary (/Zp8)", "4", 0 }, - { "PackAlignmentBoundary", "Zp16", "Sixteen Byte Boundary (/Zp16)", "5", 0 }, - - { "CallingConvention", "", "Default", "0", 0 }, - { "CallingConvention", "Gd", "Use C-style Calling Convention (/Gd)", "1", - 0 }, - { "CallingConvention", "Gz", "Use stdcall Calling Convention (/Gz)", "2", - 0 }, - { "CallingConvention", "Gc", "Use Pascal Calling Convention (/Gc)", "3", 0 }, - - { "ErrorReporting", "errorReport:prompt", - "Prompt to send report immediately (/errorReport:prompt)", "0", 0 }, - { "ErrorReporting", "errorReport:queue", - "Prompt to send report at the next logon (/errorReport:queue)", "1", 0 }, - { "ErrorReporting", "errorReport:send", - "Automatically send report (/errorReport:send)", "2", 0 }, - { "ErrorReporting", "errorReport:none", - "Do not send report (/errorReport:none)", "3", 0 }, - - // Bool Properties - { "NoLogo", "nologo", "", "true", 0 }, - { "GeneratePreprocessedSourceListing", "EP", "", "true", 0 }, - { "ListAllAvailableInformation", "Sa", "", "true", 0 }, - { "UseSafeExceptionHandlers", "safeseh", "", "true", 0 }, - { "AddFirstPassListing", "Sf", "", "true", 0 }, - { "EnableAssemblyGeneratedCodeListing", "Sg", "", "true", 0 }, - { "DisableSymbolTable", "Sn", "", "true", 0 }, - { "EnableFalseConditionalsInListing", "Sx", "", "true", 0 }, - { "TreatWarningsAsErrors", "WX", "", "true", 0 }, - { "MakeAllSymbolsPublic", "Zf", "", "true", 0 }, - { "GenerateDebugInformation", "Zi", "", "true", 0 }, - { "EnableMASM51Compatibility", "Zm", "", "true", 0 }, - { "PerformSyntaxCheckOnly", "Zs", "", "true", 0 }, - - // Bool Properties With Argument - - // String List Properties - { "PreprocessorDefinitions", "D", "Preprocessor Definitions", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "IncludePaths", "I", "Include Paths", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "BrowseFile", "FR", "Generate Browse Information File", "", - cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - // Skip [AdditionalDependencies] - no command line Switch. - - // String Properties - // Skip [Inputs] - no command line Switch. - { "ObjectFileName", "Fo", "Object File Name", "", - cmVS7FlagTable::UserValue }, - { "AssembledCodeListingFile", "Fl", "Assembled Code Listing File", "", - cmVS7FlagTable::UserValue }, - // Skip [CommandLineTemplate] - no command line Switch. - // Skip [ExecutionDescription] - no command line Switch. - // Skip [AdditionalOptions] - no command line Switch. - { "", "", "", "", 0 } -}; diff --git a/Source/cmVS14RCFlagTable.h b/Source/cmVS14RCFlagTable.h deleted file mode 100644 index 1720276..0000000 --- a/Source/cmVS14RCFlagTable.h +++ /dev/null @@ -1,7 +0,0 @@ -static cmVS7FlagTable cmVS14RCFlagTable[] = { - // Bool Properties - { "NullTerminateStrings", "n", "", "true", 0 }, - { "SuppressStartupBanner", "nologo", "", "true", 0 }, - - { "", "", "", "", 0 } -}; https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6d855fbf442d1ab3b209ac9b46f97ad8e567df41 commit 6d855fbf442d1ab3b209ac9b46f97ad8e567df41 Author: Stephan Szabo AuthorDate: Wed Nov 28 07:32:14 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:31 2018 -0800 Replace header flag tables with json reading Stop loading flag tables from header files and instead load the flag table information from json files in Templates/MSBuild/FlagTables. diff --git a/Source/cmGlobalVisualStudio10Generator.cxx b/Source/cmGlobalVisualStudio10Generator.cxx index 82fcaad..c9c6938 100644 --- a/Source/cmGlobalVisualStudio10Generator.cxx +++ b/Source/cmGlobalVisualStudio10Generator.cxx @@ -8,19 +8,11 @@ #include "cmLocalVisualStudio10Generator.h" #include "cmMakefile.h" #include "cmSourceFile.h" -#include "cmVS10CLFlagTable.h" -#include "cmVS10CSharpFlagTable.h" -#include "cmVS10CudaFlagTable.h" -#include "cmVS10CudaHostFlagTable.h" -#include "cmVS10LibFlagTable.h" -#include "cmVS10LinkFlagTable.h" -#include "cmVS10MASMFlagTable.h" -#include "cmVS10NASMFlagTable.h" -#include "cmVS10RCFlagTable.h" #include "cmVersion.h" #include "cmVisualStudioSlnData.h" #include "cmVisualStudioSlnParser.h" #include "cmXMLWriter.h" +#include "cm_jsoncpp_reader.h" #include "cmake.h" #include "cmsys/FStream.hxx" @@ -30,6 +22,7 @@ #include static const char vs10generatorName[] = "Visual Studio 10 2010"; +static std::map> loadedFlagJsonFiles; // Map generator name without year to name with year. static const char* cmVS10GenName(const std::string& name, std::string& genName) @@ -120,15 +113,16 @@ cmGlobalVisualStudio10Generator::cmGlobalVisualStudio10Generator( this->DefaultPlatformToolset = "v100"; } } - this->DefaultClFlagTable = cmVS10CLFlagTable; - this->DefaultCSharpFlagTable = cmVS10CSharpFlagTable; - this->DefaultLibFlagTable = cmVS10LibFlagTable; - this->DefaultLinkFlagTable = cmVS10LinkFlagTable; - this->DefaultCudaFlagTable = cmVS10CudaFlagTable; - this->DefaultCudaHostFlagTable = cmVS10CudaHostFlagTable; - this->DefaultMasmFlagTable = cmVS10MASMFlagTable; - this->DefaultNasmFlagTable = cmVS10NASMFlagTable; - this->DefaultRcFlagTable = cmVS10RCFlagTable; + this->DefaultCLFlagTableName = "v10"; + this->DefaultCSharpFlagTableName = "v10"; + this->DefaultLibFlagTableName = "v10"; + this->DefaultLinkFlagTableName = "v10"; + this->DefaultCudaFlagTableName = "v10"; + this->DefaultCudaHostFlagTableName = "v10"; + this->DefaultMasmFlagTableName = "v10"; + this->DefaultNasmFlagTableName = "v10"; + this->DefaultRCFlagTableName = "v10"; + this->Version = VS10; this->PlatformToolsetNeedsDebugEnum = false; } @@ -1050,67 +1044,174 @@ std::string cmGlobalVisualStudio10Generator::GetInstalledNsightTegraVersion() return version; } +static std::string cmLoadFlagTableString(Json::Value entry, const char* field) +{ + if (entry.isMember(field)) { + auto string = entry[field]; + if (string.isConvertibleTo(Json::ValueType::stringValue)) { + return string.asString(); + } + } + return ""; +} + +static unsigned int cmLoadFlagTableSpecial(Json::Value entry, + const char* field) +{ + unsigned int value = 0; + if (entry.isMember(field)) { + auto specials = entry[field]; + if (specials.isArray()) { + for (auto const& special : specials) { + std::string s = special.asString(); + if (s == "UserValue") { + value |= cmIDEFlagTable::UserValue; + } else if (s == "UserIgnored") { + value |= cmIDEFlagTable::UserIgnored; + } else if (s == "UserRequired") { + value |= cmIDEFlagTable::UserRequired; + } else if (s == "Continue") { + value |= cmIDEFlagTable::Continue; + } else if (s == "SemicolonAppendable") { + value |= cmIDEFlagTable::SemicolonAppendable; + } else if (s == "UserFollowing") { + value |= cmIDEFlagTable::UserFollowing; + } else if (s == "CaseInsensitive") { + value |= cmIDEFlagTable::CaseInsensitive; + } else if (s == "SpaceAppendable") { + value |= cmIDEFlagTable::SpaceAppendable; + } + } + } + } + return value; +} + +static cmIDEFlagTable const* cmLoadFlagTableJson( + std::string const& flagJsonPath) +{ + cmIDEFlagTable* ret = nullptr; + auto savedFlagIterator = loadedFlagJsonFiles.find(flagJsonPath); + if (savedFlagIterator != loadedFlagJsonFiles.end()) { + ret = savedFlagIterator->second.data(); + } else { + Json::Reader reader; + cmsys::ifstream stream; + + stream.open(flagJsonPath.c_str(), std::ios_base::in); + if (stream) { + Json::Value flags; + if (reader.parse(stream, flags, false) && flags.isArray()) { + std::vector flagTable; + for (auto const& flag : flags) { + cmIDEFlagTable flagEntry; + flagEntry.IDEName = cmLoadFlagTableString(flag, "name"); + flagEntry.commandFlag = cmLoadFlagTableString(flag, "switch"); + flagEntry.comment = cmLoadFlagTableString(flag, "comment"); + flagEntry.value = cmLoadFlagTableString(flag, "value"); + flagEntry.special = cmLoadFlagTableSpecial(flag, "flags"); + flagTable.push_back(flagEntry); + } + cmIDEFlagTable endFlag{ "", "", "", "", 0 }; + flagTable.push_back(endFlag); + + loadedFlagJsonFiles[flagJsonPath] = flagTable; + ret = loadedFlagJsonFiles[flagJsonPath].data(); + } + } + } + return ret; +} + +cmIDEFlagTable const* cmGlobalVisualStudio10Generator::LoadFlagTable( + std::string const& flagTableName, std::string const& table) const +{ + cmIDEFlagTable const* ret = nullptr; + + std::string filename = cmSystemTools::GetCMakeRoot() + + "/Templates/MSBuild/FlagTables/" + flagTableName + "_" + table + ".json"; + ret = cmLoadFlagTableJson(filename); + + if (!ret) { + cmMakefile* mf = this->GetCurrentMakefile(); + + std::ostringstream e; + /* clang-format off */ + e << "JSON flag table \"" << filename << + "\" could not be loaded.\n"; + /* clang-format on */ + mf->IssueMessage(cmake::FATAL_ERROR, e.str().c_str()); + } + return ret; +} + cmIDEFlagTable const* cmGlobalVisualStudio10Generator::GetClFlagTable() const { - cmIDEFlagTable const* table = this->ToolsetOptions.GetClFlagTable( - this->GetPlatformName(), this->GetPlatformToolsetString()); + std::string flagTableName = this->ToolsetOptions.GetClFlagTableName( + this->GetPlatformName(), this->GetPlatformToolsetString(), + this->DefaultCLFlagTableName); - return (table != nullptr) ? table : this->DefaultClFlagTable; + return LoadFlagTable(flagTableName, "CL"); } cmIDEFlagTable const* cmGlobalVisualStudio10Generator::GetCSharpFlagTable() const { - cmIDEFlagTable const* table = this->ToolsetOptions.GetCSharpFlagTable( - this->GetPlatformName(), this->GetPlatformToolsetString()); + std::string flagTableName = this->ToolsetOptions.GetCSharpFlagTableName( + this->GetPlatformName(), this->GetPlatformToolsetString(), + this->DefaultCSharpFlagTableName); - return (table != nullptr) ? table : this->DefaultCSharpFlagTable; + return LoadFlagTable(flagTableName, "CSharp"); } cmIDEFlagTable const* cmGlobalVisualStudio10Generator::GetRcFlagTable() const { - cmIDEFlagTable const* table = this->ToolsetOptions.GetRcFlagTable( - this->GetPlatformName(), this->GetPlatformToolsetString()); + std::string flagTableName = this->ToolsetOptions.GetRcFlagTableName( + this->GetPlatformName(), this->GetPlatformToolsetString(), + this->DefaultRCFlagTableName); - return (table != nullptr) ? table : this->DefaultRcFlagTable; + return LoadFlagTable(flagTableName, "RC"); } cmIDEFlagTable const* cmGlobalVisualStudio10Generator::GetLibFlagTable() const { - cmIDEFlagTable const* table = this->ToolsetOptions.GetLibFlagTable( - this->GetPlatformName(), this->GetPlatformToolsetString()); + std::string flagTableName = this->ToolsetOptions.GetLibFlagTableName( + this->GetPlatformName(), this->GetPlatformToolsetString(), + this->DefaultLibFlagTableName); - return (table != nullptr) ? table : this->DefaultLibFlagTable; + return LoadFlagTable(flagTableName, "LIB"); } cmIDEFlagTable const* cmGlobalVisualStudio10Generator::GetLinkFlagTable() const { - cmIDEFlagTable const* table = this->ToolsetOptions.GetLinkFlagTable( - this->GetPlatformName(), this->GetPlatformToolsetString()); + std::string flagTableName = this->ToolsetOptions.GetLinkFlagTableName( + this->GetPlatformName(), this->GetPlatformToolsetString(), + this->DefaultLinkFlagTableName); - return (table != nullptr) ? table : this->DefaultLinkFlagTable; + return LoadFlagTable(flagTableName, "Link"); } cmIDEFlagTable const* cmGlobalVisualStudio10Generator::GetCudaFlagTable() const { - return this->DefaultCudaFlagTable; + return LoadFlagTable(this->DefaultCudaFlagTableName, "Cuda"); } cmIDEFlagTable const* cmGlobalVisualStudio10Generator::GetCudaHostFlagTable() const { - return this->DefaultCudaHostFlagTable; + return LoadFlagTable(this->DefaultCudaHostFlagTableName, "CudaHost"); } cmIDEFlagTable const* cmGlobalVisualStudio10Generator::GetMasmFlagTable() const { - cmIDEFlagTable const* table = this->ToolsetOptions.GetMasmFlagTable( - this->GetPlatformName(), this->GetPlatformToolsetString()); + std::string flagTableName = this->ToolsetOptions.GetMasmFlagTableName( + this->GetPlatformName(), this->GetPlatformToolsetString(), + this->DefaultMasmFlagTableName); - return (table != nullptr) ? table : this->DefaultMasmFlagTable; + return LoadFlagTable(flagTableName, "MASM"); } cmIDEFlagTable const* cmGlobalVisualStudio10Generator::GetNasmFlagTable() const { - return this->DefaultNasmFlagTable; + return LoadFlagTable(this->DefaultNasmFlagTableName, "NASM"); } diff --git a/Source/cmGlobalVisualStudio10Generator.h b/Source/cmGlobalVisualStudio10Generator.h index 63e6903..6c4a9e6 100644 --- a/Source/cmGlobalVisualStudio10Generator.h +++ b/Source/cmGlobalVisualStudio10Generator.h @@ -144,6 +144,9 @@ protected: std::string const& GetMSBuildCommand(); + cmIDEFlagTable const* LoadFlagTable(std::string const& flagTableName, + std::string const& table) const; + std::string GeneratorToolset; std::string GeneratorToolsetVersion; std::string GeneratorToolsetHostArchitecture; @@ -153,15 +156,15 @@ protected: std::string SystemName; std::string SystemVersion; std::string NsightTegraVersion; - cmIDEFlagTable const* DefaultClFlagTable; - cmIDEFlagTable const* DefaultCSharpFlagTable; - cmIDEFlagTable const* DefaultLibFlagTable; - cmIDEFlagTable const* DefaultLinkFlagTable; - cmIDEFlagTable const* DefaultCudaFlagTable; - cmIDEFlagTable const* DefaultCudaHostFlagTable; - cmIDEFlagTable const* DefaultMasmFlagTable; - cmIDEFlagTable const* DefaultNasmFlagTable; - cmIDEFlagTable const* DefaultRcFlagTable; + std::string DefaultCLFlagTableName; + std::string DefaultCSharpFlagTableName; + std::string DefaultLibFlagTableName; + std::string DefaultLinkFlagTableName; + std::string DefaultCudaFlagTableName; + std::string DefaultCudaHostFlagTableName; + std::string DefaultMasmFlagTableName; + std::string DefaultNasmFlagTableName; + std::string DefaultRCFlagTableName; bool SystemIsWindowsCE; bool SystemIsWindowsPhone; bool SystemIsWindowsStore; diff --git a/Source/cmGlobalVisualStudio11Generator.cxx b/Source/cmGlobalVisualStudio11Generator.cxx index f1d5a8c..e40023d 100644 --- a/Source/cmGlobalVisualStudio11Generator.cxx +++ b/Source/cmGlobalVisualStudio11Generator.cxx @@ -6,12 +6,6 @@ #include "cmDocumentationEntry.h" #include "cmLocalVisualStudio10Generator.h" #include "cmMakefile.h" -#include "cmVS11CLFlagTable.h" -#include "cmVS11CSharpFlagTable.h" -#include "cmVS11LibFlagTable.h" -#include "cmVS11LinkFlagTable.h" -#include "cmVS11MASMFlagTable.h" -#include "cmVS11RCFlagTable.h" static const char vs11generatorName[] = "Visual Studio 11 2012"; @@ -107,12 +101,12 @@ cmGlobalVisualStudio11Generator::cmGlobalVisualStudio11Generator( "ProductDir", vc11Express, cmSystemTools::KeyWOW64_32); this->DefaultPlatformToolset = "v110"; - this->DefaultClFlagTable = cmVS11CLFlagTable; - this->DefaultCSharpFlagTable = cmVS11CSharpFlagTable; - this->DefaultLibFlagTable = cmVS11LibFlagTable; - this->DefaultLinkFlagTable = cmVS11LinkFlagTable; - this->DefaultMasmFlagTable = cmVS11MASMFlagTable; - this->DefaultRcFlagTable = cmVS11RCFlagTable; + this->DefaultCLFlagTableName = "v11"; + this->DefaultCSharpFlagTableName = "v11"; + this->DefaultLibFlagTableName = "v11"; + this->DefaultLinkFlagTableName = "v11"; + this->DefaultMasmFlagTableName = "v11"; + this->DefaultRCFlagTableName = "v11"; this->Version = VS11; } diff --git a/Source/cmGlobalVisualStudio12Generator.cxx b/Source/cmGlobalVisualStudio12Generator.cxx index e05ae70..3be7d24 100644 --- a/Source/cmGlobalVisualStudio12Generator.cxx +++ b/Source/cmGlobalVisualStudio12Generator.cxx @@ -6,12 +6,6 @@ #include "cmDocumentationEntry.h" #include "cmLocalVisualStudio10Generator.h" #include "cmMakefile.h" -#include "cmVS12CLFlagTable.h" -#include "cmVS12CSharpFlagTable.h" -#include "cmVS12LibFlagTable.h" -#include "cmVS12LinkFlagTable.h" -#include "cmVS12MASMFlagTable.h" -#include "cmVS12RCFlagTable.h" static const char vs12generatorName[] = "Visual Studio 12 2013"; @@ -90,12 +84,12 @@ cmGlobalVisualStudio12Generator::cmGlobalVisualStudio12Generator( "ProductDir", vc12Express, cmSystemTools::KeyWOW64_32); this->DefaultPlatformToolset = "v120"; - this->DefaultClFlagTable = cmVS12CLFlagTable; - this->DefaultCSharpFlagTable = cmVS12CSharpFlagTable; - this->DefaultLibFlagTable = cmVS12LibFlagTable; - this->DefaultLinkFlagTable = cmVS12LinkFlagTable; - this->DefaultMasmFlagTable = cmVS12MASMFlagTable; - this->DefaultRcFlagTable = cmVS12RCFlagTable; + this->DefaultCLFlagTableName = "v12"; + this->DefaultCSharpFlagTableName = "v12"; + this->DefaultLibFlagTableName = "v12"; + this->DefaultLinkFlagTableName = "v12"; + this->DefaultMasmFlagTableName = "v12"; + this->DefaultRCFlagTableName = "v12"; this->Version = VS12; } diff --git a/Source/cmGlobalVisualStudio14Generator.cxx b/Source/cmGlobalVisualStudio14Generator.cxx index c3ddb3e..9647f78 100644 --- a/Source/cmGlobalVisualStudio14Generator.cxx +++ b/Source/cmGlobalVisualStudio14Generator.cxx @@ -6,12 +6,6 @@ #include "cmDocumentationEntry.h" #include "cmLocalVisualStudio10Generator.h" #include "cmMakefile.h" -#include "cmVS140CLFlagTable.h" -#include "cmVS140CSharpFlagTable.h" -#include "cmVS140LinkFlagTable.h" -#include "cmVS14LibFlagTable.h" -#include "cmVS14MASMFlagTable.h" -#include "cmVS14RCFlagTable.h" static const char vs14generatorName[] = "Visual Studio 14 2015"; @@ -90,12 +84,12 @@ cmGlobalVisualStudio14Generator::cmGlobalVisualStudio14Generator( "ProductDir", vc14Express, cmSystemTools::KeyWOW64_32); this->DefaultPlatformToolset = "v140"; - this->DefaultClFlagTable = cmVS140CLFlagTable; - this->DefaultCSharpFlagTable = cmVS140CSharpFlagTable; - this->DefaultLibFlagTable = cmVS14LibFlagTable; - this->DefaultLinkFlagTable = cmVS140LinkFlagTable; - this->DefaultMasmFlagTable = cmVS14MASMFlagTable; - this->DefaultRcFlagTable = cmVS14RCFlagTable; + this->DefaultCLFlagTableName = "v140"; + this->DefaultCSharpFlagTableName = "v140"; + this->DefaultLibFlagTableName = "v14"; + this->DefaultLinkFlagTableName = "v140"; + this->DefaultMasmFlagTableName = "v14"; + this->DefaultRCFlagTableName = "v14"; this->Version = VS14; } diff --git a/Source/cmGlobalVisualStudio15Generator.cxx b/Source/cmGlobalVisualStudio15Generator.cxx index 23fd2d5..2853283 100644 --- a/Source/cmGlobalVisualStudio15Generator.cxx +++ b/Source/cmGlobalVisualStudio15Generator.cxx @@ -6,9 +6,6 @@ #include "cmDocumentationEntry.h" #include "cmLocalVisualStudio10Generator.h" #include "cmMakefile.h" -#include "cmVS141CLFlagTable.h" -#include "cmVS141CSharpFlagTable.h" -#include "cmVS141LinkFlagTable.h" #include "cmVSSetupHelper.h" static const char vs15generatorName[] = "Visual Studio 15 2017"; @@ -84,9 +81,9 @@ cmGlobalVisualStudio15Generator::cmGlobalVisualStudio15Generator( { this->ExpressEdition = false; this->DefaultPlatformToolset = "v141"; - this->DefaultClFlagTable = cmVS141CLFlagTable; - this->DefaultCSharpFlagTable = cmVS141CSharpFlagTable; - this->DefaultLinkFlagTable = cmVS141LinkFlagTable; + this->DefaultCLFlagTableName = "v141"; + this->DefaultCSharpFlagTableName = "v141"; + this->DefaultLinkFlagTableName = "v141"; this->Version = VS15; } diff --git a/Source/cmVisualStudio10ToolsetOptions.cxx b/Source/cmVisualStudio10ToolsetOptions.cxx index 9a1d950..f71b8b7 100644 --- a/Source/cmVisualStudio10ToolsetOptions.cxx +++ b/Source/cmVisualStudio10ToolsetOptions.cxx @@ -6,145 +6,123 @@ #include "cmIDEFlagTable.h" #include "cmVisualStudioGeneratorOptions.h" -#include "cmVS10CLFlagTable.h" -#include "cmVS10CSharpFlagTable.h" -#include "cmVS10LibFlagTable.h" -#include "cmVS10LinkFlagTable.h" -#include "cmVS10MASMFlagTable.h" -#include "cmVS10RCFlagTable.h" -#include "cmVS11CLFlagTable.h" -#include "cmVS11CSharpFlagTable.h" -#include "cmVS11LibFlagTable.h" -#include "cmVS11LinkFlagTable.h" -#include "cmVS11MASMFlagTable.h" -#include "cmVS11RCFlagTable.h" -#include "cmVS12CLFlagTable.h" -#include "cmVS12CSharpFlagTable.h" -#include "cmVS12LibFlagTable.h" -#include "cmVS12LinkFlagTable.h" -#include "cmVS12MASMFlagTable.h" -#include "cmVS12RCFlagTable.h" -#include "cmVS140CLFlagTable.h" -#include "cmVS140CSharpFlagTable.h" -#include "cmVS140LinkFlagTable.h" -#include "cmVS141CLFlagTable.h" -#include "cmVS141CSharpFlagTable.h" -#include "cmVS141LinkFlagTable.h" -#include "cmVS14LibFlagTable.h" -#include "cmVS14MASMFlagTable.h" -#include "cmVS14RCFlagTable.h" - -cmIDEFlagTable const* cmVisualStudio10ToolsetOptions::GetClFlagTable( - std::string const& name, std::string const& toolset) const +std::string cmVisualStudio10ToolsetOptions::GetClFlagTableName( + std::string const& name, std::string const& toolset, + std::string const& defaultToolset) const { std::string const useToolset = this->GetToolsetName(name, toolset); if (toolset == "v141") { - return cmVS141CLFlagTable; + return "v141"; } else if (useToolset == "v140") { - return cmVS140CLFlagTable; + return "v140"; } else if (useToolset == "v120") { - return cmVS12CLFlagTable; + return "v12"; } else if (useToolset == "v110") { - return cmVS11CLFlagTable; + return "v11"; } else if (useToolset == "v100") { - return cmVS10CLFlagTable; + return "v10"; } else { - return 0; + return this->GetToolsetName(name, defaultToolset); } } -cmIDEFlagTable const* cmVisualStudio10ToolsetOptions::GetCSharpFlagTable( - std::string const& name, std::string const& toolset) const +std::string cmVisualStudio10ToolsetOptions::GetCSharpFlagTableName( + std::string const& name, std::string const& toolset, + std::string const& defaultToolset) const { std::string const useToolset = this->GetToolsetName(name, toolset); if ((useToolset == "v141")) { - return cmVS141CSharpFlagTable; + return "v141"; } else if (useToolset == "v140") { - return cmVS140CSharpFlagTable; + return "v140"; } else if (useToolset == "v120") { - return cmVS12CSharpFlagTable; + return "v12"; } else if (useToolset == "v110") { - return cmVS11CSharpFlagTable; + return "v11"; } else if (useToolset == "v100") { - return cmVS10CSharpFlagTable; + return "v10"; } else { - return 0; + return this->GetToolsetName(name, defaultToolset); } } -cmIDEFlagTable const* cmVisualStudio10ToolsetOptions::GetRcFlagTable( - std::string const& name, std::string const& toolset) const +std::string cmVisualStudio10ToolsetOptions::GetRcFlagTableName( + std::string const& name, std::string const& toolset, + std::string const& defaultToolset) const { std::string const useToolset = this->GetToolsetName(name, toolset); if ((useToolset == "v140") || (useToolset == "v141")) { - return cmVS14RCFlagTable; + return "v14"; } else if (useToolset == "v120") { - return cmVS12RCFlagTable; + return "v12"; } else if (useToolset == "v110") { - return cmVS11RCFlagTable; + return "v11"; } else if (useToolset == "v100") { - return cmVS10RCFlagTable; + return "v10"; } else { - return 0; + return this->GetToolsetName(name, defaultToolset); } } -cmIDEFlagTable const* cmVisualStudio10ToolsetOptions::GetLibFlagTable( - std::string const& name, std::string const& toolset) const +std::string cmVisualStudio10ToolsetOptions::GetLibFlagTableName( + std::string const& name, std::string const& toolset, + std::string const& defaultToolset) const { std::string const useToolset = this->GetToolsetName(name, toolset); if ((useToolset == "v140") || (useToolset == "v141")) { - return cmVS14LibFlagTable; + return "v14"; } else if (useToolset == "v120") { - return cmVS12LibFlagTable; + return "v12"; } else if (useToolset == "v110") { - return cmVS11LibFlagTable; + return "v11"; } else if (useToolset == "v100") { - return cmVS10LibFlagTable; + return "v10"; } else { - return 0; + return this->GetToolsetName(name, defaultToolset); } } -cmIDEFlagTable const* cmVisualStudio10ToolsetOptions::GetLinkFlagTable( - std::string const& name, std::string const& toolset) const +std::string cmVisualStudio10ToolsetOptions::GetLinkFlagTableName( + std::string const& name, std::string const& toolset, + std::string const& defaultToolset) const { std::string const useToolset = this->GetToolsetName(name, toolset); if (useToolset == "v141") { - return cmVS141LinkFlagTable; + return "v141"; } else if (useToolset == "v140") { - return cmVS140LinkFlagTable; + return "v140"; } else if (useToolset == "v120") { - return cmVS12LinkFlagTable; + return "v12"; } else if (useToolset == "v110") { - return cmVS11LinkFlagTable; + return "v11"; } else if (useToolset == "v100") { - return cmVS10LinkFlagTable; + return "v10"; } else { - return 0; + return this->GetToolsetName(name, defaultToolset); } } -cmIDEFlagTable const* cmVisualStudio10ToolsetOptions::GetMasmFlagTable( - std::string const& name, std::string const& toolset) const +std::string cmVisualStudio10ToolsetOptions::GetMasmFlagTableName( + std::string const& name, std::string const& toolset, + std::string const& defaultToolset) const { std::string const useToolset = this->GetToolsetName(name, toolset); if ((useToolset == "v140") || (useToolset == "v141")) { - return cmVS14MASMFlagTable; + return "v14"; } else if (useToolset == "v120") { - return cmVS12MASMFlagTable; + return "v12"; } else if (useToolset == "v110") { - return cmVS11MASMFlagTable; + return "v11"; } else if (useToolset == "v100") { - return cmVS10MASMFlagTable; + return "v10"; } else { - return 0; + return this->GetToolsetName(name, defaultToolset); } } diff --git a/Source/cmVisualStudio10ToolsetOptions.h b/Source/cmVisualStudio10ToolsetOptions.h index c736a49..43946f0 100644 --- a/Source/cmVisualStudio10ToolsetOptions.h +++ b/Source/cmVisualStudio10ToolsetOptions.h @@ -7,8 +7,6 @@ #include -struct cmIDEFlagTable; - /** \class cmVisualStudio10ToolsetOptions * \brief Retrieves toolset options for MSBuild. * @@ -17,18 +15,24 @@ struct cmIDEFlagTable; class cmVisualStudio10ToolsetOptions { public: - cmIDEFlagTable const* GetClFlagTable(std::string const& name, - std::string const& toolset) const; - cmIDEFlagTable const* GetCSharpFlagTable(std::string const& name, - std::string const& toolset) const; - cmIDEFlagTable const* GetRcFlagTable(std::string const& name, - std::string const& toolset) const; - cmIDEFlagTable const* GetLibFlagTable(std::string const& name, - std::string const& toolset) const; - cmIDEFlagTable const* GetLinkFlagTable(std::string const& name, - std::string const& toolset) const; - cmIDEFlagTable const* GetMasmFlagTable(std::string const& name, - std::string const& toolset) const; + std::string GetClFlagTableName(std::string const& name, + std::string const& toolset, + std::string const& defaultToolset) const; + std::string GetCSharpFlagTableName(std::string const& name, + std::string const& toolset, + std::string const& defaultToolset) const; + std::string GetRcFlagTableName(std::string const& name, + std::string const& toolset, + std::string const& defaultToolset) const; + std::string GetLibFlagTableName(std::string const& name, + std::string const& toolset, + std::string const& defaultToolset) const; + std::string GetLinkFlagTableName(std::string const& name, + std::string const& toolset, + std::string const& defaultToolset) const; + std::string GetMasmFlagTableName(std::string const& name, + std::string const& toolset, + std::string const& defaultToolset) const; private: std::string GetToolsetName(std::string const& name, https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9c60ae5f1105d6d793f2693630bf09abb7d66935 commit 9c60ae5f1105d6d793f2693630bf09abb7d66935 Author: Stephan Szabo AuthorDate: Mon Nov 26 10:46:38 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:30 2018 -0800 VS: Add flag table entry for -JMC Original header commit 516c6fc38c0bdfd7905edb169a4ebfef689cf116 Add support for mapping Just My Code compiler flag diff --git a/Templates/MSBuild/FlagTables/v141_CL.json b/Templates/MSBuild/FlagTables/v141_CL.json index 419b336..d566526 100644 --- a/Templates/MSBuild/FlagTables/v141_CL.json +++ b/Templates/MSBuild/FlagTables/v141_CL.json @@ -1243,5 +1243,19 @@ "comment": "C++14 (GNU Dialect)", "value": "gnu++1y", "flags": [] + }, + { + "name": "SupportJustMyCode", + "switch": "JMC-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "SupportJustMyCode", + "switch": "JMC", + "comment": "", + "value": "true", + "flags": [] } ] https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=584ad067ba28924861eeab06cc73d49fdf6f9f89 commit 584ad067ba28924861eeab06cc73d49fdf6f9f89 Author: Stephan Szabo AuthorDate: Mon Nov 26 10:43:17 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:30 2018 -0800 VS: Fix flag table entry for -Qspectre The Qspectre option was generated by the script (as opposed to being added by commit v3.13.0-rc1~4^2 (VS: Add flag table entry for -Qspectre, 2018-10-08), however the comment was not useful and there was a separate off option generated that was not in the old table. diff --git a/Templates/MSBuild/FlagTables/v141_CL.json b/Templates/MSBuild/FlagTables/v141_CL.json index 7493ed8..419b336 100644 --- a/Templates/MSBuild/FlagTables/v141_CL.json +++ b/Templates/MSBuild/FlagTables/v141_CL.json @@ -422,18 +422,11 @@ { "name": "SpectreMitigation", "switch": "Qspectre", - "comment": "Enabled", + "comment": "Spectre mitigations", "value": "Spectre", "flags": [] }, { - "name": "SpectreMitigation", - "switch": "", - "comment": "Disabled", - "value": "false", - "flags": [] - }, - { "name": "LanguageStandard", "switch": "std:c++14", "comment": "ISO C++14 Standard", https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8df25f9400bef5dd374f74725a72e818c2424f4e commit 8df25f9400bef5dd374f74725a72e818c2424f4e Author: Stephan Szabo AuthorDate: Mon Nov 26 09:18:10 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:30 2018 -0800 VS: connect /Y- compiler option with "Not Using Precompiled Headers" Original header commit v3.10.0-rc1~423^2 The change allows to selectively disable PrecompiledHeaders. Despite the `$(VCTargetsPath)/1033/cl.xml` contains an empty value for switch, for effectively turn off setting need to use /Y- option as described on msdn: https://msdn.microsoft.com/en-us/library/1hy7a92h.aspx diff --git a/Templates/MSBuild/FlagTables/v10_CL.json b/Templates/MSBuild/FlagTables/v10_CL.json index 928e541..06158be 100644 --- a/Templates/MSBuild/FlagTables/v10_CL.json +++ b/Templates/MSBuild/FlagTables/v10_CL.json @@ -366,7 +366,7 @@ }, { "name": "PrecompiledHeader", - "switch": "", + "switch": "Y-", "comment": "Not Using Precompiled Headers", "value": "NotUsing", "flags": [] diff --git a/Templates/MSBuild/FlagTables/v11_CL.json b/Templates/MSBuild/FlagTables/v11_CL.json index ffbf274..b47ab2e 100644 --- a/Templates/MSBuild/FlagTables/v11_CL.json +++ b/Templates/MSBuild/FlagTables/v11_CL.json @@ -387,7 +387,7 @@ }, { "name": "PrecompiledHeader", - "switch": "", + "switch": "Y-", "comment": "Not Using Precompiled Headers", "value": "NotUsing", "flags": [] diff --git a/Templates/MSBuild/FlagTables/v12_CL.json b/Templates/MSBuild/FlagTables/v12_CL.json index 72618e2..771a555 100644 --- a/Templates/MSBuild/FlagTables/v12_CL.json +++ b/Templates/MSBuild/FlagTables/v12_CL.json @@ -415,7 +415,7 @@ }, { "name": "PrecompiledHeader", - "switch": "", + "switch": "Y-", "comment": "Not Using Precompiled Headers", "value": "NotUsing", "flags": [] diff --git a/Templates/MSBuild/FlagTables/v140_CL.json b/Templates/MSBuild/FlagTables/v140_CL.json index 853df07..3dc9f35 100644 --- a/Templates/MSBuild/FlagTables/v140_CL.json +++ b/Templates/MSBuild/FlagTables/v140_CL.json @@ -422,7 +422,7 @@ }, { "name": "PrecompiledHeader", - "switch": "", + "switch": "Y-", "comment": "Not Using Precompiled Headers", "value": "NotUsing", "flags": [] diff --git a/Templates/MSBuild/FlagTables/v141_CL.json b/Templates/MSBuild/FlagTables/v141_CL.json index 124e45d..7493ed8 100644 --- a/Templates/MSBuild/FlagTables/v141_CL.json +++ b/Templates/MSBuild/FlagTables/v141_CL.json @@ -478,7 +478,7 @@ }, { "name": "PrecompiledHeader", - "switch": "", + "switch": "Y-", "comment": "Not Using Precompiled Headers", "value": "NotUsing", "flags": [] https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f1223e34c653e4ed6a5f86fe17ae72e7d7a89e9a commit f1223e34c653e4ed6a5f86fe17ae72e7d7a89e9a Author: Stephan Szabo AuthorDate: Mon Nov 26 09:15:27 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:30 2018 -0800 VS: Add v140 flag table entries for `-Zc:inline[-]` Note: Zc:inline was added by generator, but not the - version. Original header commit v3.7.2~8^2 The documentation of this option [1] claims that the default is off, but VS seems to use `-Zc:inline` by default if `RemoveUnreferencedCodeData` does not appear in the `.vcxproj` file. Add the flag table entry to allow use of the flag to be configured. [1] https://msdn.microsoft.com/en-us/library/dn642448.aspx diff --git a/Templates/MSBuild/FlagTables/v140_CL.json b/Templates/MSBuild/FlagTables/v140_CL.json index f75cff5..853df07 100644 --- a/Templates/MSBuild/FlagTables/v140_CL.json +++ b/Templates/MSBuild/FlagTables/v140_CL.json @@ -790,6 +790,13 @@ }, { "name": "RemoveUnreferencedCodeData", + "switch": "Zc:inline-", + "comment": "Remove unreferenced code and data", + "value": "false", + "flags": [] + }, + { + "name": "RemoveUnreferencedCodeData", "switch": "Zc:inline", "comment": "Remove unreferenced code and data", "value": "true", diff --git a/Templates/MSBuild/FlagTables/v141_CL.json b/Templates/MSBuild/FlagTables/v141_CL.json index db4380e..124e45d 100644 --- a/Templates/MSBuild/FlagTables/v141_CL.json +++ b/Templates/MSBuild/FlagTables/v141_CL.json @@ -853,6 +853,13 @@ }, { "name": "RemoveUnreferencedCodeData", + "switch": "Zc:inline-", + "comment": "Remove unreferenced code and data", + "value": "false", + "flags": [] + }, + { + "name": "RemoveUnreferencedCodeData", "switch": "Zc:inline", "comment": "Remove unreferenced code and data", "value": "true", https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=efc90eed7768e1263c60b299e24c6293df274708 commit efc90eed7768e1263c60b299e24c6293df274708 Author: Stephan Szabo AuthorDate: Mon Nov 26 09:11:27 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:30 2018 -0800 VS: Fix regressed mapping for the cl `/Os` compiler flag Original header commit v3.6.0-rc3~8^2 In commit v3.6.0-rc1~279^2~10 (VS: in Clang/C2 toolset, setup correct compiler settings, 2016-02-18) a flag mapping was added for the clang `-Os` flag. However, this collides with a mapping we already had for the MSVC flag of the same name. This is a symptom of a larger problem in that the VS generators need a per-toolset flag map (issue #16153). For now, simply drop the new mapping and drop `-Os` from clang compiler flags in the MinSizeRel configuration. diff --git a/Templates/MSBuild/FlagTables/v140_CL.json b/Templates/MSBuild/FlagTables/v140_CL.json index 4c2be74..f75cff5 100644 --- a/Templates/MSBuild/FlagTables/v140_CL.json +++ b/Templates/MSBuild/FlagTables/v140_CL.json @@ -113,13 +113,6 @@ }, { "name": "Optimization", - "switch": "Os", - "comment": "Minimize Size", - "value": "MinSize", - "flags": [] - }, - { - "name": "Optimization", "switch": "O1", "comment": "Minimize Size", "value": "MinSpace", diff --git a/Templates/MSBuild/FlagTables/v141_CL.json b/Templates/MSBuild/FlagTables/v141_CL.json index a3e0f54..db4380e 100644 --- a/Templates/MSBuild/FlagTables/v141_CL.json +++ b/Templates/MSBuild/FlagTables/v141_CL.json @@ -134,13 +134,6 @@ }, { "name": "Optimization", - "switch": "Os", - "comment": "Minimize Size", - "value": "MinSize", - "flags": [] - }, - { - "name": "Optimization", "switch": "O1", "comment": "Maximum Optimization (Favor Size)", "value": "MinSpace", https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=36b7fc7db6a64b4537bea38640e324c9f283a168 commit 36b7fc7db6a64b4537bea38640e324c9f283a168 Author: Stephan Szabo AuthorDate: Mon Nov 26 09:09:23 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:30 2018 -0800 VS 14: Add flag map for -std= to CppLanguageStandard tag in project files Original header commit v3.6.0-rc1~279^2~8 This is used by the Clang/C2 toolset. diff --git a/Templates/MSBuild/FlagTables/v140_CL.json b/Templates/MSBuild/FlagTables/v140_CL.json index 0bf6063..4c2be74 100644 --- a/Templates/MSBuild/FlagTables/v140_CL.json +++ b/Templates/MSBuild/FlagTables/v140_CL.json @@ -1117,5 +1117,68 @@ "UserValue", "UserRequired" ] + }, + { + "name": "CppLanguageStandard", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=c++98", + "comment": "C++03", + "value": "c++98", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=c++11", + "comment": "C++11", + "value": "c++11", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=c++1y", + "comment": "C++14", + "value": "c++1y", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=c++14", + "comment": "C++14", + "value": "c++1y", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=gnu++98", + "comment": "C++03 (GNU Dialect)", + "value": "gnu++98", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=gnu++11", + "comment": "C++11 (GNU Dialect)", + "value": "gnu++11", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=gnu++1y", + "comment": "C++14 (GNU Dialect)", + "value": "gnu++1y", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=gnu++14", + "comment": "C++14 (GNU Dialect)", + "value": "gnu++1y", + "flags": [] } ] diff --git a/Templates/MSBuild/FlagTables/v141_CL.json b/Templates/MSBuild/FlagTables/v141_CL.json index 773f84e..a3e0f54 100644 --- a/Templates/MSBuild/FlagTables/v141_CL.json +++ b/Templates/MSBuild/FlagTables/v141_CL.json @@ -1187,5 +1187,68 @@ "UserValue", "UserRequired" ] + }, + { + "name": "CppLanguageStandard", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=c++98", + "comment": "C++03", + "value": "c++98", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=c++11", + "comment": "C++11", + "value": "c++11", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=c++1y", + "comment": "C++14", + "value": "c++1y", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=c++14", + "comment": "C++14", + "value": "c++1y", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=gnu++98", + "comment": "C++03 (GNU Dialect)", + "value": "gnu++98", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=gnu++11", + "comment": "C++11 (GNU Dialect)", + "value": "gnu++11", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=gnu++1y", + "comment": "C++14 (GNU Dialect)", + "value": "gnu++1y", + "flags": [] + }, + { + "name": "CppLanguageStandard", + "switch": "std=gnu++14", + "comment": "C++14 (GNU Dialect)", + "value": "gnu++1y", + "flags": [] } ] https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=21d26a9ecde5a23d6deb6432153c2aede533aead commit 21d26a9ecde5a23d6deb6432153c2aede533aead Author: Stephan Szabo AuthorDate: Mon Nov 26 08:51:14 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:29 2018 -0800 VS: in Clang/C2 toolset, setup correct compiler settings Original header commit v3.6.0-rc1~279^2~10 diff --git a/Templates/MSBuild/FlagTables/v140_CL.json b/Templates/MSBuild/FlagTables/v140_CL.json index 49ad625..0bf6063 100644 --- a/Templates/MSBuild/FlagTables/v140_CL.json +++ b/Templates/MSBuild/FlagTables/v140_CL.json @@ -113,6 +113,13 @@ }, { "name": "Optimization", + "switch": "Os", + "comment": "Minimize Size", + "value": "MinSize", + "flags": [] + }, + { + "name": "Optimization", "switch": "O1", "comment": "Minimize Size", "value": "MinSpace", diff --git a/Templates/MSBuild/FlagTables/v141_CL.json b/Templates/MSBuild/FlagTables/v141_CL.json index 2da38aa..773f84e 100644 --- a/Templates/MSBuild/FlagTables/v141_CL.json +++ b/Templates/MSBuild/FlagTables/v141_CL.json @@ -134,6 +134,13 @@ }, { "name": "Optimization", + "switch": "Os", + "comment": "Minimize Size", + "value": "MinSize", + "flags": [] + }, + { + "name": "Optimization", "switch": "O1", "comment": "Maximum Optimization (Favor Size)", "value": "MinSpace", https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=44dc9fc48af8171423b4d5e996a8415dfd5f96c0 commit 44dc9fc48af8171423b4d5e996a8415dfd5f96c0 Author: Stephan Szabo AuthorDate: Mon Nov 26 08:43:39 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:29 2018 -0800 VS: Fix /analyze:log flag mapping (#14858) Original header commits: v11/v12 commit v3.1.0-rc1~695^2 v140/v141 commit v3.1.0-rc1~358^2~3 Fix the VS 11 and VS 12 flag table entries for this flag. It requires a value in the following argument. Also drop the general "/analyze:" flag table entry so that such flags will be passed through as plain additional options. This is necessary because some such options have following values and some do not but not all have .vcxproj elements to hold the values. diff --git a/Templates/MSBuild/FlagTables/v11_CL.json b/Templates/MSBuild/FlagTables/v11_CL.json index e1c3871..ffbf274 100644 --- a/Templates/MSBuild/FlagTables/v11_CL.json +++ b/Templates/MSBuild/FlagTables/v11_CL.json @@ -937,13 +937,12 @@ ] }, { - "name": "PREfastAdditionalOptions", - "switch": "analyze:", - "comment": "Additional Code Analysis Native options", + "name": "PREfastLog", + "switch": "analyze:log", + "comment": "Code Analysis Log", "value": "", "flags": [ - "UserValue", - "SemicolonAppendable" + "UserFollowing" ] }, { @@ -1052,15 +1051,6 @@ ] }, { - "name": "PREfastLog", - "switch": "analyze:log", - "comment": "Code Analysis Log", - "value": "", - "flags": [ - "UserValue" - ] - }, - { "name": "ProcessorNumber", "switch": "MP", "comment": "Number of processors", diff --git a/Templates/MSBuild/FlagTables/v12_CL.json b/Templates/MSBuild/FlagTables/v12_CL.json index 39d08a3..72618e2 100644 --- a/Templates/MSBuild/FlagTables/v12_CL.json +++ b/Templates/MSBuild/FlagTables/v12_CL.json @@ -951,13 +951,12 @@ ] }, { - "name": "PREfastAdditionalOptions", - "switch": "analyze:", - "comment": "Additional Code Analysis Native options", + "name": "PREfastLog", + "switch": "analyze:log", + "comment": "Code Analysis Log", "value": "", "flags": [ - "UserValue", - "SemicolonAppendable" + "UserFollowing" ] }, { @@ -1066,15 +1065,6 @@ ] }, { - "name": "PREfastLog", - "switch": "analyze:log", - "comment": "Code Analysis Log", - "value": "", - "flags": [ - "UserValue" - ] - }, - { "name": "ProcessorNumber", "switch": "MP", "comment": "Number of processors", diff --git a/Templates/MSBuild/FlagTables/v140_CL.json b/Templates/MSBuild/FlagTables/v140_CL.json index 1a81098..49ad625 100644 --- a/Templates/MSBuild/FlagTables/v140_CL.json +++ b/Templates/MSBuild/FlagTables/v140_CL.json @@ -979,13 +979,12 @@ ] }, { - "name": "PREfastAdditionalOptions", - "switch": "analyze:", - "comment": "Additional Code Analysis Native options", + "name": "PREfastLog", + "switch": "analyze:log", + "comment": "Code Analysis Log", "value": "", "flags": [ - "UserValue", - "SemicolonAppendable" + "UserFollowing" ] }, { @@ -1103,15 +1102,6 @@ ] }, { - "name": "PREfastLog", - "switch": "analyze:log", - "comment": "Code Analysis Log", - "value": "", - "flags": [ - "UserValue" - ] - }, - { "name": "ProcessorNumber", "switch": "MP", "comment": "Number of processors", diff --git a/Templates/MSBuild/FlagTables/v141_CL.json b/Templates/MSBuild/FlagTables/v141_CL.json index c624603..2da38aa 100644 --- a/Templates/MSBuild/FlagTables/v141_CL.json +++ b/Templates/MSBuild/FlagTables/v141_CL.json @@ -1049,13 +1049,12 @@ ] }, { - "name": "PREfastAdditionalOptions", - "switch": "analyze:", - "comment": "Additional Code Analysis Native options", + "name": "PREfastLog", + "switch": "analyze:log", + "comment": "Code Analysis Log", "value": "", "flags": [ - "UserValue", - "SemicolonAppendable" + "UserFollowing" ] }, { @@ -1173,15 +1172,6 @@ ] }, { - "name": "PREfastLog", - "switch": "analyze:log", - "comment": "Code Analysis Log", - "value": "", - "flags": [ - "UserValue" - ] - }, - { "name": "ProcessorNumber", "switch": "MP", "comment": "Number of processors", https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=aba364d190fca77d86412f25968a597edf3d725f commit aba364d190fca77d86412f25968a597edf3d725f Author: Stephan Szabo AuthorDate: Mon Nov 26 08:01:48 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:29 2018 -0800 VS: Fix CSharp support for win32res: and win32icon: flags Original header commit v3.13.0-rc2~6^2 Add a missing `:` to these entries in the flag table. The user value is always required and must come after the `:`. diff --git a/Templates/MSBuild/FlagTables/v10_CSharp.json b/Templates/MSBuild/FlagTables/v10_CSharp.json index 7d1815d..a0780a4 100644 --- a/Templates/MSBuild/FlagTables/v10_CSharp.json +++ b/Templates/MSBuild/FlagTables/v10_CSharp.json @@ -114,7 +114,7 @@ }, { "name": "Win32Resource", - "switch": "win32res", + "switch": "win32res:", "comment": "", "value": "", "flags": [ @@ -124,7 +124,7 @@ }, { "name": "ApplicationIcon", - "switch": "win32icon", + "switch": "win32icon:", "comment": "", "value": "", "flags": [ diff --git a/Templates/MSBuild/FlagTables/v11_CSharp.json b/Templates/MSBuild/FlagTables/v11_CSharp.json index 7d1815d..a0780a4 100644 --- a/Templates/MSBuild/FlagTables/v11_CSharp.json +++ b/Templates/MSBuild/FlagTables/v11_CSharp.json @@ -114,7 +114,7 @@ }, { "name": "Win32Resource", - "switch": "win32res", + "switch": "win32res:", "comment": "", "value": "", "flags": [ @@ -124,7 +124,7 @@ }, { "name": "ApplicationIcon", - "switch": "win32icon", + "switch": "win32icon:", "comment": "", "value": "", "flags": [ diff --git a/Templates/MSBuild/FlagTables/v12_CSharp.json b/Templates/MSBuild/FlagTables/v12_CSharp.json index 7d1815d..a0780a4 100644 --- a/Templates/MSBuild/FlagTables/v12_CSharp.json +++ b/Templates/MSBuild/FlagTables/v12_CSharp.json @@ -114,7 +114,7 @@ }, { "name": "Win32Resource", - "switch": "win32res", + "switch": "win32res:", "comment": "", "value": "", "flags": [ @@ -124,7 +124,7 @@ }, { "name": "ApplicationIcon", - "switch": "win32icon", + "switch": "win32icon:", "comment": "", "value": "", "flags": [ diff --git a/Templates/MSBuild/FlagTables/v140_CSharp.json b/Templates/MSBuild/FlagTables/v140_CSharp.json index 7d1815d..a0780a4 100644 --- a/Templates/MSBuild/FlagTables/v140_CSharp.json +++ b/Templates/MSBuild/FlagTables/v140_CSharp.json @@ -114,7 +114,7 @@ }, { "name": "Win32Resource", - "switch": "win32res", + "switch": "win32res:", "comment": "", "value": "", "flags": [ @@ -124,7 +124,7 @@ }, { "name": "ApplicationIcon", - "switch": "win32icon", + "switch": "win32icon:", "comment": "", "value": "", "flags": [ diff --git a/Templates/MSBuild/FlagTables/v141_CSharp.json b/Templates/MSBuild/FlagTables/v141_CSharp.json index 7d1815d..a0780a4 100644 --- a/Templates/MSBuild/FlagTables/v141_CSharp.json +++ b/Templates/MSBuild/FlagTables/v141_CSharp.json @@ -114,7 +114,7 @@ }, { "name": "Win32Resource", - "switch": "win32res", + "switch": "win32res:", "comment": "", "value": "", "flags": [ @@ -124,7 +124,7 @@ }, { "name": "ApplicationIcon", - "switch": "win32icon", + "switch": "win32icon:", "comment": "", "value": "", "flags": [ https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b9fe2785f2df089c731a64c4939a364d49009333 commit b9fe2785f2df089c731a64c4939a364d49009333 Author: Stephan Szabo AuthorDate: Mon Nov 26 07:55:48 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:29 2018 -0800 Vs: remove /nowin32manifest from C# flags to enable default VS behavior Original header commit v3.10.0-rc1~494^2 if /nowin32manifest is specified, it will be preferred over any occurring /win32manifest: parameter diff --git a/Templates/MSBuild/FlagTables/v10_CSharp.json b/Templates/MSBuild/FlagTables/v10_CSharp.json index fa483bf..7d1815d 100644 --- a/Templates/MSBuild/FlagTables/v10_CSharp.json +++ b/Templates/MSBuild/FlagTables/v10_CSharp.json @@ -133,11 +133,14 @@ ] }, { - "name": "Win32Manifest", + "name": "ApplicationManifest", "switch": "win32manifest:", "comment": "", - "value": "true", - "flags": [] + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] }, { "name": "NoWin32Manifest", diff --git a/Templates/MSBuild/FlagTables/v11_CSharp.json b/Templates/MSBuild/FlagTables/v11_CSharp.json index fa483bf..7d1815d 100644 --- a/Templates/MSBuild/FlagTables/v11_CSharp.json +++ b/Templates/MSBuild/FlagTables/v11_CSharp.json @@ -133,11 +133,14 @@ ] }, { - "name": "Win32Manifest", + "name": "ApplicationManifest", "switch": "win32manifest:", "comment": "", - "value": "true", - "flags": [] + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] }, { "name": "NoWin32Manifest", diff --git a/Templates/MSBuild/FlagTables/v12_CSharp.json b/Templates/MSBuild/FlagTables/v12_CSharp.json index fa483bf..7d1815d 100644 --- a/Templates/MSBuild/FlagTables/v12_CSharp.json +++ b/Templates/MSBuild/FlagTables/v12_CSharp.json @@ -133,11 +133,14 @@ ] }, { - "name": "Win32Manifest", + "name": "ApplicationManifest", "switch": "win32manifest:", "comment": "", - "value": "true", - "flags": [] + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] }, { "name": "NoWin32Manifest", diff --git a/Templates/MSBuild/FlagTables/v140_CSharp.json b/Templates/MSBuild/FlagTables/v140_CSharp.json index fa483bf..7d1815d 100644 --- a/Templates/MSBuild/FlagTables/v140_CSharp.json +++ b/Templates/MSBuild/FlagTables/v140_CSharp.json @@ -133,11 +133,14 @@ ] }, { - "name": "Win32Manifest", + "name": "ApplicationManifest", "switch": "win32manifest:", "comment": "", - "value": "true", - "flags": [] + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] }, { "name": "NoWin32Manifest", diff --git a/Templates/MSBuild/FlagTables/v141_CSharp.json b/Templates/MSBuild/FlagTables/v141_CSharp.json index fa483bf..7d1815d 100644 --- a/Templates/MSBuild/FlagTables/v141_CSharp.json +++ b/Templates/MSBuild/FlagTables/v141_CSharp.json @@ -133,11 +133,14 @@ ] }, { - "name": "Win32Manifest", + "name": "ApplicationManifest", "switch": "win32manifest:", "comment": "", - "value": "true", - "flags": [] + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] }, { "name": "NoWin32Manifest", https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6c6c13297c67a7838ff8e05fde1bfedb41401b1d commit 6c6c13297c67a7838ff8e05fde1bfedb41401b1d Author: Stephan Szabo AuthorDate: Mon Nov 26 07:50:53 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:29 2018 -0800 MSVC: Add support for ARM64 architecture The v141_Link.json already appeared to have the option included, so onlyh adding the change to v14_LIB.json. Original header commit v3.10.0-rc1~132^2 Visual Studio 15.4 adds support for this architecture. diff --git a/Templates/MSBuild/FlagTables/v14_LIB.json b/Templates/MSBuild/FlagTables/v14_LIB.json index 58a238c..5990ed1 100644 --- a/Templates/MSBuild/FlagTables/v14_LIB.json +++ b/Templates/MSBuild/FlagTables/v14_LIB.json @@ -36,6 +36,13 @@ }, { "name": "TargetMachine", + "switch": "MACHINE:ARM64", + "comment": "MachineARM64", + "value": "MachineARM64", + "flags": [] + }, + { + "name": "TargetMachine", "switch": "MACHINE:EBC", "comment": "MachineEBC", "value": "MachineEBC", https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=454b47ba0bd16a98b15896c732f9a4b91863b581 commit 454b47ba0bd16a98b15896c732f9a4b91863b581 Author: Stephan Szabo AuthorDate: Wed Nov 21 13:32:54 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:29 2018 -0800 VS: Fix MANIFESTUAC link flag map to .vcxproj elements Original header commit v3.10.0-rc1~97^2 Add special parsing of the flags given in `/MANIFESTUAC:"..."` in order to map them correctly to `.vcxproj` elements. Keep the old incorrect flag table entries for `uiAccess` and `level` flags for compatibility even though they do not really exist. Fixes: #16563 diff --git a/Templates/MSBuild/FlagTables/v10_Link.json b/Templates/MSBuild/FlagTables/v10_Link.json index 27003f8..ac5b8b1 100644 --- a/Templates/MSBuild/FlagTables/v10_Link.json +++ b/Templates/MSBuild/FlagTables/v10_Link.json @@ -533,20 +533,13 @@ }, { "name": "EnableUAC", - "switch": "MANIFESTUAC:NO", - "comment": "Enable User Account Control (UAC)", - "value": "false", - "flags": [] - }, - { - "name": "EnableUAC", "switch": "MANIFESTUAC:", - "comment": "Enable User Account Control (UAC)", - "value": "true", + "comment": "", + "value": "", "flags": [ "UserValue", - "UserIgnored", - "Continue" + "UserRequired", + "SpaceAppendable" ] }, { @@ -561,16 +554,6 @@ }, { "name": "UACUIAccess", - "switch": "MANIFESTUAC:", - "comment": "UAC Bypass UI Protection", - "value": "true", - "flags": [ - "UserValue", - "UserRequired" - ] - }, - { - "name": "UACUIAccess", "switch": "uiAccess='false'", "comment": "UAC Bypass UI Protection", "value": "false", diff --git a/Templates/MSBuild/FlagTables/v11_Link.json b/Templates/MSBuild/FlagTables/v11_Link.json index 75b9b19..5d5c13f 100644 --- a/Templates/MSBuild/FlagTables/v11_Link.json +++ b/Templates/MSBuild/FlagTables/v11_Link.json @@ -596,20 +596,13 @@ }, { "name": "EnableUAC", - "switch": "MANIFESTUAC:NO", - "comment": "Enable User Account Control (UAC)", - "value": "false", - "flags": [] - }, - { - "name": "EnableUAC", "switch": "MANIFESTUAC:", - "comment": "Enable User Account Control (UAC)", - "value": "true", + "comment": "", + "value": "", "flags": [ "UserValue", - "UserIgnored", - "Continue" + "UserRequired", + "SpaceAppendable" ] }, { @@ -624,16 +617,6 @@ }, { "name": "UACUIAccess", - "switch": "MANIFESTUAC:", - "comment": "UAC Bypass UI Protection", - "value": "true", - "flags": [ - "UserValue", - "UserRequired" - ] - }, - { - "name": "UACUIAccess", "switch": "uiAccess='false'", "comment": "UAC Bypass UI Protection", "value": "false", diff --git a/Templates/MSBuild/FlagTables/v12_Link.json b/Templates/MSBuild/FlagTables/v12_Link.json index 75b9b19..5d5c13f 100644 --- a/Templates/MSBuild/FlagTables/v12_Link.json +++ b/Templates/MSBuild/FlagTables/v12_Link.json @@ -596,20 +596,13 @@ }, { "name": "EnableUAC", - "switch": "MANIFESTUAC:NO", - "comment": "Enable User Account Control (UAC)", - "value": "false", - "flags": [] - }, - { - "name": "EnableUAC", "switch": "MANIFESTUAC:", - "comment": "Enable User Account Control (UAC)", - "value": "true", + "comment": "", + "value": "", "flags": [ "UserValue", - "UserIgnored", - "Continue" + "UserRequired", + "SpaceAppendable" ] }, { @@ -624,16 +617,6 @@ }, { "name": "UACUIAccess", - "switch": "MANIFESTUAC:", - "comment": "UAC Bypass UI Protection", - "value": "true", - "flags": [ - "UserValue", - "UserRequired" - ] - }, - { - "name": "UACUIAccess", "switch": "uiAccess='false'", "comment": "UAC Bypass UI Protection", "value": "false", diff --git a/Templates/MSBuild/FlagTables/v140_Link.json b/Templates/MSBuild/FlagTables/v140_Link.json index c2a18ef..3fb072c 100644 --- a/Templates/MSBuild/FlagTables/v140_Link.json +++ b/Templates/MSBuild/FlagTables/v140_Link.json @@ -639,20 +639,13 @@ }, { "name": "EnableUAC", - "switch": "MANIFESTUAC:NO", - "comment": "Enable User Account Control (UAC)", - "value": "false", - "flags": [] - }, - { - "name": "EnableUAC", "switch": "MANIFESTUAC:", - "comment": "Enable User Account Control (UAC)", - "value": "true", + "comment": "", + "value": "", "flags": [ "UserValue", - "UserIgnored", - "Continue" + "UserRequired", + "SpaceAppendable" ] }, { @@ -667,16 +660,6 @@ }, { "name": "UACUIAccess", - "switch": "MANIFESTUAC:", - "comment": "UAC Bypass UI Protection", - "value": "true", - "flags": [ - "UserValue", - "UserRequired" - ] - }, - { - "name": "UACUIAccess", "switch": "uiAccess='false'", "comment": "UAC Bypass UI Protection", "value": "false", diff --git a/Templates/MSBuild/FlagTables/v141_Link.json b/Templates/MSBuild/FlagTables/v141_Link.json index d5144c8..66ee76f 100644 --- a/Templates/MSBuild/FlagTables/v141_Link.json +++ b/Templates/MSBuild/FlagTables/v141_Link.json @@ -646,20 +646,13 @@ }, { "name": "EnableUAC", - "switch": "MANIFESTUAC:NO", - "comment": "Enable User Account Control (UAC)", - "value": "false", - "flags": [] - }, - { - "name": "EnableUAC", "switch": "MANIFESTUAC:", - "comment": "Enable User Account Control (UAC)", - "value": "true", + "comment": "", + "value": "", "flags": [ "UserValue", - "UserIgnored", - "Continue" + "UserRequired", + "SpaceAppendable" ] }, { @@ -674,16 +667,6 @@ }, { "name": "UACUIAccess", - "switch": "MANIFESTUAC:", - "comment": "UAC Bypass UI Protection", - "value": "true", - "flags": [ - "UserValue", - "UserRequired" - ] - }, - { - "name": "UACUIAccess", "switch": "uiAccess='false'", "comment": "UAC Bypass UI Protection", "value": "false", https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=57a78b55260616053ae0f733d2cecfffc9e7455f commit 57a78b55260616053ae0f733d2cecfffc9e7455f Author: Stephan Szabo AuthorDate: Wed Nov 21 13:25:15 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:28 2018 -0800 VS: Fix support for '/guard:cf' linker flag Original header commit v3.9.0-rc6~12^2 Although `$(VCTargetsPath)/1033/link.xml` for v140 and v141 toolsets contains an entry for `LinkControlFlowGuard`, it does not work when used in a `.vcxproj` file. Drop our link flag table entries for these toolsets so that the flag will be passed via `AdditionalOptions`. diff --git a/Templates/MSBuild/FlagTables/v140_Link.json b/Templates/MSBuild/FlagTables/v140_Link.json index cb69124..c2a18ef 100644 --- a/Templates/MSBuild/FlagTables/v140_Link.json +++ b/Templates/MSBuild/FlagTables/v140_Link.json @@ -540,13 +540,6 @@ "flags": [] }, { - "name": "LinkControlFlowGuard", - "switch": "guard:cf", - "comment": "Enable Security Check with Guard", - "value": "Guard", - "flags": [] - }, - { "name": "LinkIncremental", "switch": "INCREMENTAL:NO", "comment": "Enable Incremental Linking", diff --git a/Templates/MSBuild/FlagTables/v141_Link.json b/Templates/MSBuild/FlagTables/v141_Link.json index c4fd8e3..d5144c8 100644 --- a/Templates/MSBuild/FlagTables/v141_Link.json +++ b/Templates/MSBuild/FlagTables/v141_Link.json @@ -547,13 +547,6 @@ "flags": [] }, { - "name": "LinkControlFlowGuard", - "switch": "guard:cf", - "comment": "Enable Security Check with Guard", - "value": "Guard", - "flags": [] - }, - { "name": "LinkIncremental", "switch": "INCREMENTAL:NO", "comment": "Enable Incremental Linking", https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f77320c12aaf74b7d22463965242a3e01d36d882 commit f77320c12aaf74b7d22463965242a3e01d36d882 Author: Stephan Szabo AuthorDate: Wed Nov 21 13:23:22 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:28 2018 -0800 VS: Add v140 and v141 flag table entries for /DEBUG:NONE and /DEBUG:FULL DEBUG:FULL was already added for v141 from the generation. Original header commit v3.9.0-rc6~15^2 diff --git a/Templates/MSBuild/FlagTables/v140_Link.json b/Templates/MSBuild/FlagTables/v140_Link.json index 6f932e0..cb69124 100644 --- a/Templates/MSBuild/FlagTables/v140_Link.json +++ b/Templates/MSBuild/FlagTables/v140_Link.json @@ -137,6 +137,24 @@ ] }, { + "name": "GenerateDebugInformation", + "switch": "DEBUG:FULL", + "comment": "Optimize for debugging", + "value": "true", + "flags": [ + "CaseInsensitive" + ] + }, + { + "name": "GenerateDebugInformation", + "switch": "DEBUG:NONE", + "comment": "Produces no debugging information", + "value": "false", + "flags": [ + "CaseInsensitive" + ] + }, + { "name": "SubSystem", "switch": "", "comment": "Not Set", diff --git a/Templates/MSBuild/FlagTables/v141_Link.json b/Templates/MSBuild/FlagTables/v141_Link.json index 1033dfe..c4fd8e3 100644 --- a/Templates/MSBuild/FlagTables/v141_Link.json +++ b/Templates/MSBuild/FlagTables/v141_Link.json @@ -146,6 +146,15 @@ ] }, { + "name": "GenerateDebugInformation", + "switch": "DEBUG:NONE", + "comment": "Produces no debugging information", + "value": "false", + "flags": [ + "CaseInsensitive" + ] + }, + { "name": "SubSystem", "switch": "", "comment": "Not Set", https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a5d9aa506350291cfe7ca3e144a97edba74959b1 commit a5d9aa506350291cfe7ca3e144a97edba74959b1 Author: Stephan Szabo AuthorDate: Wed Nov 21 13:13:44 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:28 2018 -0800 VS: Map the link `/debug` to its IDE property Fix issues with "GenerateDebugInformation". These are mostly from the following commits, but also include a related fix to the v140/v141 file. Original header commits: v10-v14 commit v3.5.0-rc1~71^2 v140/v141 commit v3.9.0-rc6~15^2~1 diff --git a/Templates/MSBuild/FlagTables/v10_Link.json b/Templates/MSBuild/FlagTables/v10_Link.json index dd07234..27003f8 100644 --- a/Templates/MSBuild/FlagTables/v10_Link.json +++ b/Templates/MSBuild/FlagTables/v10_Link.json @@ -588,7 +588,9 @@ "switch": "DEBUG", "comment": "Generate Debug Info", "value": "true", - "flags": [] + "flags": [ + "CaseInsensitive" + ] }, { "name": "GenerateMapFile", diff --git a/Templates/MSBuild/FlagTables/v11_Link.json b/Templates/MSBuild/FlagTables/v11_Link.json index 858526c..75b9b19 100644 --- a/Templates/MSBuild/FlagTables/v11_Link.json +++ b/Templates/MSBuild/FlagTables/v11_Link.json @@ -658,7 +658,9 @@ "switch": "DEBUG", "comment": "Generate Debug Info", "value": "true", - "flags": [] + "flags": [ + "CaseInsensitive" + ] }, { "name": "GenerateMapFile", diff --git a/Templates/MSBuild/FlagTables/v12_Link.json b/Templates/MSBuild/FlagTables/v12_Link.json index 858526c..75b9b19 100644 --- a/Templates/MSBuild/FlagTables/v12_Link.json +++ b/Templates/MSBuild/FlagTables/v12_Link.json @@ -658,7 +658,9 @@ "switch": "DEBUG", "comment": "Generate Debug Info", "value": "true", - "flags": [] + "flags": [ + "CaseInsensitive" + ] }, { "name": "GenerateMapFile", diff --git a/Templates/MSBuild/FlagTables/v140_Link.json b/Templates/MSBuild/FlagTables/v140_Link.json index 134f907..6f932e0 100644 --- a/Templates/MSBuild/FlagTables/v140_Link.json +++ b/Templates/MSBuild/FlagTables/v140_Link.json @@ -120,24 +120,21 @@ }, { "name": "GenerateDebugInformation", - "switch": "", - "comment": "No", - "value": "false", - "flags": [] - }, - { - "name": "GenerateDebugInformation", "switch": "DEBUG", "comment": "Optimize for debugging", "value": "true", - "flags": [] + "flags": [ + "CaseInsensitive" + ] }, { "name": "GenerateDebugInformation", "switch": "DEBUG:FASTLINK", "comment": "Optimize for faster linking", "value": "DebugFastLink", - "flags": [] + "flags": [ + "CaseInsensitive" + ] }, { "name": "SubSystem", diff --git a/Templates/MSBuild/FlagTables/v141_Link.json b/Templates/MSBuild/FlagTables/v141_Link.json index 481468e..1033dfe 100644 --- a/Templates/MSBuild/FlagTables/v141_Link.json +++ b/Templates/MSBuild/FlagTables/v141_Link.json @@ -120,31 +120,30 @@ }, { "name": "GenerateDebugInformation", - "switch": "", - "comment": "No", - "value": "false", - "flags": [] - }, - { - "name": "GenerateDebugInformation", "switch": "DEBUG", "comment": "Generate Debug Information", "value": "true", - "flags": [] + "flags": [ + "CaseInsensitive" + ] }, { "name": "GenerateDebugInformation", "switch": "DEBUG:FASTLINK", "comment": "Generate Debug Information optimized for faster links", "value": "DebugFastLink", - "flags": [] + "flags": [ + "CaseInsensitive" + ] }, { "name": "GenerateDebugInformation", "switch": "DEBUG:FULL", "comment": "Generate Debug Information optimized for sharing and publishing", "value": "DebugFull", - "flags": [] + "flags": [ + "CaseInsensitive" + ] }, { "name": "SubSystem", https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1d00fd7702d9cf9c1f2d7a1c17bc9a80f345c39b commit 1d00fd7702d9cf9c1f2d7a1c17bc9a80f345c39b Author: Stephan Szabo AuthorDate: Wed Nov 21 12:49:03 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:28 2018 -0800 VS: Fix /MANIFESTUAC:NO linker option mapping Original header commits: v10/v11/v12 commit v3.0.0-rc5~3^2 v140 commit v3.1.0-rc1~358^2~3 There are no versions of /MANIFESTUAC:NO where addition values are appended. Remove both of the MANIFESTUAC:NO entries from our flag tables and replace them with one which would set EnableUAC to false and immediately stop processing the /MANIFESTUAC:NO option. diff --git a/Templates/MSBuild/FlagTables/v10_Link.json b/Templates/MSBuild/FlagTables/v10_Link.json index b4f6d9f..dd07234 100644 --- a/Templates/MSBuild/FlagTables/v10_Link.json +++ b/Templates/MSBuild/FlagTables/v10_Link.json @@ -536,11 +536,7 @@ "switch": "MANIFESTUAC:NO", "comment": "Enable User Account Control (UAC)", "value": "false", - "flags": [ - "UserValue", - "UserIgnored", - "Continue" - ] + "flags": [] }, { "name": "EnableUAC", diff --git a/Templates/MSBuild/FlagTables/v11_Link.json b/Templates/MSBuild/FlagTables/v11_Link.json index 6829abb..858526c 100644 --- a/Templates/MSBuild/FlagTables/v11_Link.json +++ b/Templates/MSBuild/FlagTables/v11_Link.json @@ -599,11 +599,7 @@ "switch": "MANIFESTUAC:NO", "comment": "Enable User Account Control (UAC)", "value": "false", - "flags": [ - "UserValue", - "UserIgnored", - "Continue" - ] + "flags": [] }, { "name": "EnableUAC", diff --git a/Templates/MSBuild/FlagTables/v12_Link.json b/Templates/MSBuild/FlagTables/v12_Link.json index 6829abb..858526c 100644 --- a/Templates/MSBuild/FlagTables/v12_Link.json +++ b/Templates/MSBuild/FlagTables/v12_Link.json @@ -599,11 +599,7 @@ "switch": "MANIFESTUAC:NO", "comment": "Enable User Account Control (UAC)", "value": "false", - "flags": [ - "UserValue", - "UserIgnored", - "Continue" - ] + "flags": [] }, { "name": "EnableUAC", diff --git a/Templates/MSBuild/FlagTables/v140_Link.json b/Templates/MSBuild/FlagTables/v140_Link.json index 7ccc41b..134f907 100644 --- a/Templates/MSBuild/FlagTables/v140_Link.json +++ b/Templates/MSBuild/FlagTables/v140_Link.json @@ -634,11 +634,7 @@ "switch": "MANIFESTUAC:NO", "comment": "Enable User Account Control (UAC)", "value": "false", - "flags": [ - "UserValue", - "UserIgnored", - "Continue" - ] + "flags": [] }, { "name": "EnableUAC", diff --git a/Templates/MSBuild/FlagTables/v141_Link.json b/Templates/MSBuild/FlagTables/v141_Link.json index acdb5ac..481468e 100644 --- a/Templates/MSBuild/FlagTables/v141_Link.json +++ b/Templates/MSBuild/FlagTables/v141_Link.json @@ -648,11 +648,7 @@ "switch": "MANIFESTUAC:NO", "comment": "Enable User Account Control (UAC)", "value": "false", - "flags": [ - "UserValue", - "UserIgnored", - "Continue" - ] + "flags": [] }, { "name": "EnableUAC", https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3133fa50948d3f2369a9e5b598ff6537ff7506df commit 3133fa50948d3f2369a9e5b598ff6537ff7506df Author: Stephan Szabo AuthorDate: Wed Nov 21 11:17:45 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:28 2018 -0800 VS: Manually fix MASM flag table entries Original header commit v3.1.0-rc1~154^2~5 Drop '"[value]"' placeholders. diff --git a/Templates/MSBuild/FlagTables/v10_MASM.json b/Templates/MSBuild/FlagTables/v10_MASM.json index 51a48c8..4634306 100644 --- a/Templates/MSBuild/FlagTables/v10_MASM.json +++ b/Templates/MSBuild/FlagTables/v10_MASM.json @@ -246,7 +246,7 @@ }, { "name": "PreprocessorDefinitions", - "switch": "D\"[value]\"", + "switch": "D", "comment": "Preprocessor Definitions", "value": "", "flags": [ @@ -256,7 +256,7 @@ }, { "name": "IncludePaths", - "switch": "I \"[value]\"", + "switch": "I", "comment": "Include Paths", "value": "", "flags": [ @@ -266,7 +266,7 @@ }, { "name": "BrowseFile", - "switch": "FR\"[value]\"", + "switch": "FR", "comment": "Generate Browse Information File", "value": "", "flags": [ @@ -276,7 +276,7 @@ }, { "name": "ObjectFileName", - "switch": "Fo\"[value]\"", + "switch": "Fo", "comment": "Object File Name", "value": "", "flags": [ @@ -285,7 +285,7 @@ }, { "name": "AssembledCodeListingFile", - "switch": "Fl\"[value]\"", + "switch": "Fl", "comment": "Assembled Code Listing File", "value": "", "flags": [ diff --git a/Templates/MSBuild/FlagTables/v11_MASM.json b/Templates/MSBuild/FlagTables/v11_MASM.json index 51a48c8..4634306 100644 --- a/Templates/MSBuild/FlagTables/v11_MASM.json +++ b/Templates/MSBuild/FlagTables/v11_MASM.json @@ -246,7 +246,7 @@ }, { "name": "PreprocessorDefinitions", - "switch": "D\"[value]\"", + "switch": "D", "comment": "Preprocessor Definitions", "value": "", "flags": [ @@ -256,7 +256,7 @@ }, { "name": "IncludePaths", - "switch": "I \"[value]\"", + "switch": "I", "comment": "Include Paths", "value": "", "flags": [ @@ -266,7 +266,7 @@ }, { "name": "BrowseFile", - "switch": "FR\"[value]\"", + "switch": "FR", "comment": "Generate Browse Information File", "value": "", "flags": [ @@ -276,7 +276,7 @@ }, { "name": "ObjectFileName", - "switch": "Fo\"[value]\"", + "switch": "Fo", "comment": "Object File Name", "value": "", "flags": [ @@ -285,7 +285,7 @@ }, { "name": "AssembledCodeListingFile", - "switch": "Fl\"[value]\"", + "switch": "Fl", "comment": "Assembled Code Listing File", "value": "", "flags": [ diff --git a/Templates/MSBuild/FlagTables/v12_MASM.json b/Templates/MSBuild/FlagTables/v12_MASM.json index 51a48c8..4634306 100644 --- a/Templates/MSBuild/FlagTables/v12_MASM.json +++ b/Templates/MSBuild/FlagTables/v12_MASM.json @@ -246,7 +246,7 @@ }, { "name": "PreprocessorDefinitions", - "switch": "D\"[value]\"", + "switch": "D", "comment": "Preprocessor Definitions", "value": "", "flags": [ @@ -256,7 +256,7 @@ }, { "name": "IncludePaths", - "switch": "I \"[value]\"", + "switch": "I", "comment": "Include Paths", "value": "", "flags": [ @@ -266,7 +266,7 @@ }, { "name": "BrowseFile", - "switch": "FR\"[value]\"", + "switch": "FR", "comment": "Generate Browse Information File", "value": "", "flags": [ @@ -276,7 +276,7 @@ }, { "name": "ObjectFileName", - "switch": "Fo\"[value]\"", + "switch": "Fo", "comment": "Object File Name", "value": "", "flags": [ @@ -285,7 +285,7 @@ }, { "name": "AssembledCodeListingFile", - "switch": "Fl\"[value]\"", + "switch": "Fl", "comment": "Assembled Code Listing File", "value": "", "flags": [ diff --git a/Templates/MSBuild/FlagTables/v14_MASM.json b/Templates/MSBuild/FlagTables/v14_MASM.json index 51a48c8..4634306 100644 --- a/Templates/MSBuild/FlagTables/v14_MASM.json +++ b/Templates/MSBuild/FlagTables/v14_MASM.json @@ -246,7 +246,7 @@ }, { "name": "PreprocessorDefinitions", - "switch": "D\"[value]\"", + "switch": "D", "comment": "Preprocessor Definitions", "value": "", "flags": [ @@ -256,7 +256,7 @@ }, { "name": "IncludePaths", - "switch": "I \"[value]\"", + "switch": "I", "comment": "Include Paths", "value": "", "flags": [ @@ -266,7 +266,7 @@ }, { "name": "BrowseFile", - "switch": "FR\"[value]\"", + "switch": "FR", "comment": "Generate Browse Information File", "value": "", "flags": [ @@ -276,7 +276,7 @@ }, { "name": "ObjectFileName", - "switch": "Fo\"[value]\"", + "switch": "Fo", "comment": "Object File Name", "value": "", "flags": [ @@ -285,7 +285,7 @@ }, { "name": "AssembledCodeListingFile", - "switch": "Fl\"[value]\"", + "switch": "Fl", "comment": "Assembled Code Listing File", "value": "", "flags": [ https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=66704e4271f3bd3b869c86bcd9aef9be87f831ea commit 66704e4271f3bd3b869c86bcd9aef9be87f831ea Author: Stephan Szabo AuthorDate: Wed Nov 21 11:03:33 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:27 2018 -0800 VS: Add NASM fwin/felf switches The generated NASM file from the xml does not contain the fwin/felf switches that don't seem to directly exist in the xml file. diff --git a/Templates/MSBuild/FlagTables/v10_NASM.json b/Templates/MSBuild/FlagTables/v10_NASM.json index 8c18eb2..434cd63 100644 --- a/Templates/MSBuild/FlagTables/v10_NASM.json +++ b/Templates/MSBuild/FlagTables/v10_NASM.json @@ -1,6 +1,13 @@ [ { "name": "Outputswitch", + "switch": "fwin", + "comment": "Object File win32", + "value": "0", + "flags": [] + }, + { + "name": "Outputswitch", "switch": "fwin32", "comment": "Object File win32", "value": "0", @@ -15,6 +22,13 @@ }, { "name": "Outputswitch", + "switch": "felf", + "comment": "ELF32 (i386) object files (e.g. Linux)", + "value": "2", + "flags": [] + }, + { + "name": "Outputswitch", "switch": "felf32", "comment": "ELF32 (i386) object files (e.g. Linux)", "value": "2", https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fc58a40e763cd65053acf774c3cf4e4c743004f1 commit fc58a40e763cd65053acf774c3cf4e4c743004f1 Author: Stephan Szabo AuthorDate: Wed Nov 21 11:07:27 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:27 2018 -0800 VS: Manually fix generated NASM flag table Drop '"[value]"' placeholders. diff --git a/Templates/MSBuild/FlagTables/v10_NASM.json b/Templates/MSBuild/FlagTables/v10_NASM.json index eb85edf..8c18eb2 100644 --- a/Templates/MSBuild/FlagTables/v10_NASM.json +++ b/Templates/MSBuild/FlagTables/v10_NASM.json @@ -127,7 +127,7 @@ }, { "name": "AssembledCodeListingFile", - "switch": "l \"[value]\"", + "switch": "l", "comment": "Assembled Code Listing File", "value": "", "flags": [ @@ -137,7 +137,7 @@ }, { "name": "ErrorReporting", - "switch": "Z \"[value]\"", + "switch": "Z", "comment": "Redirect Error Messages to File", "value": "", "flags": [ @@ -147,7 +147,7 @@ }, { "name": "IncludePaths", - "switch": "I\"[value]\"", + "switch": "I", "comment": "Include Paths", "value": "", "flags": [ @@ -157,7 +157,7 @@ }, { "name": "PreprocessorDefinitions", - "switch": "D\"[value]\"", + "switch": "D", "comment": "Preprocessor Definitions", "value": "", "flags": [ @@ -167,7 +167,7 @@ }, { "name": "UndefinePreprocessorDefinitions", - "switch": "U\"[value]\"", + "switch": "U", "comment": "Undefine Preprocessor Definitions", "value": "", "flags": [ @@ -177,7 +177,7 @@ }, { "name": "OutputFormat", - "switch": "o \"[value]\"", + "switch": "o", "comment": "Output File Name", "value": "", "flags": [ https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7fd339b1e5a23d8e04fe3b4607be260bf26a3ec4 commit 7fd339b1e5a23d8e04fe3b4607be260bf26a3ec4 Author: Stephan Szabo AuthorDate: Wed Nov 21 10:11:24 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:27 2018 -0800 VS: Add CUDA flag table entry for -maxrregcount Original header commit v3.12.0-rc2~10^2 diff --git a/Templates/MSBuild/FlagTables/v10_Cuda.json b/Templates/MSBuild/FlagTables/v10_Cuda.json index 1a01f8d..1831b8a 100644 --- a/Templates/MSBuild/FlagTables/v10_Cuda.json +++ b/Templates/MSBuild/FlagTables/v10_Cuda.json @@ -202,5 +202,23 @@ "comment": "", "value": "true", "flags": [] + }, + { + "name": "MaxRegCount", + "switch": "maxrregcount=", + "comment": "", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MaxRegCount", + "switch": "maxrregcount", + "comment": "", + "value": "", + "flags": [ + "UserFollowing" + ] } ] https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f61e0975540504c00c7dc6f763a83e8c74fe7d83 commit f61e0975540504c00c7dc6f763a83e8c74fe7d83 Author: Stephan Szabo AuthorDate: Wed Nov 21 10:09:52 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:27 2018 -0800 VS: Add more CUDA flag table entries Original header commit v3.9.0-rc1~431^2~2 diff --git a/Templates/MSBuild/FlagTables/v10_Cuda.json b/Templates/MSBuild/FlagTables/v10_Cuda.json index ac853af..1a01f8d 100644 --- a/Templates/MSBuild/FlagTables/v10_Cuda.json +++ b/Templates/MSBuild/FlagTables/v10_Cuda.json @@ -160,5 +160,47 @@ "flags": [ "UserFollowing" ] + }, + { + "name": "FastMath", + "switch": "use_fast_math", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "FastMath", + "switch": "-use_fast_math", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "GPUDebugInfo", + "switch": "G", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "GPUDebugInfo", + "switch": "-device-debug", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "HostDebugInfo", + "switch": "g", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "HostDebugInfo", + "switch": "-debug", + "comment": "", + "value": "true", + "flags": [] } ] https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c17809bcd7014bf64cd9f95d9e38d5198abc4588 commit c17809bcd7014bf64cd9f95d9e38d5198abc4588 Author: Stephan Szabo AuthorDate: Wed Nov 21 10:07:35 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:27 2018 -0800 VS: Select CUDA code generation architectures Original header commit v3.9.0-rc1~431^2~4 Parse the `-gencode=`, `-arch`, and `-code` flags and generate a `CodeGeneration` field in the project file. diff --git a/Templates/MSBuild/FlagTables/v10_Cuda.json b/Templates/MSBuild/FlagTables/v10_Cuda.json index 5f6b0da..ac853af 100644 --- a/Templates/MSBuild/FlagTables/v10_Cuda.json +++ b/Templates/MSBuild/FlagTables/v10_Cuda.json @@ -48,5 +48,117 @@ "flags": [ "UserFollowing" ] + }, + { + "name": "cmake-temp-gencode", + "switch": "gencode=", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "cmake-temp-gencode", + "switch": "gencode", + "comment": "", + "value": "", + "flags": [ + "UserFollowing", + "SemicolonAppendable" + ] + }, + { + "name": "cmake-temp-gencode", + "switch": "-generate-code=", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "cmake-temp-gencode", + "switch": "-generate-code", + "comment": "", + "value": "", + "flags": [ + "UserFollowing", + "SemicolonAppendable" + ] + }, + { + "name": "cmake-temp-code", + "switch": "code=", + "comment": "", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "cmake-temp-code", + "switch": "code", + "comment": "", + "value": "", + "flags": [ + "UserFollowing" + ] + }, + { + "name": "cmake-temp-code", + "switch": "-gpu-code=", + "comment": "", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "cmake-temp-code", + "switch": "-gpu-code", + "comment": "", + "value": "", + "flags": [ + "UserFollowing" + ] + }, + { + "name": "cmake-temp-arch", + "switch": "arch=", + "comment": "", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "cmake-temp-arch", + "switch": "arch", + "comment": "", + "value": "", + "flags": [ + "UserFollowing" + ] + }, + { + "name": "cmake-temp-arch", + "switch": "-gpu-architecture=", + "comment": "", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "cmake-temp-arch", + "switch": "-gpu-architecture", + "comment": "", + "value": "", + "flags": [ + "UserFollowing" + ] } ] https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=73ce99cbfe5712b0f35644baf619ddc0ca754de9 commit 73ce99cbfe5712b0f35644baf619ddc0ca754de9 Author: Stephan Szabo AuthorDate: Wed Nov 21 10:04:30 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:26 2018 -0800 VS: Select the CUDA runtime library Original header commit v3.9.0-rc1~431^2~5 Parse the `-cudart=` option and add a corresponding `CudaRuntime` field to the generated project file. Also add a matching `.lib` to the list of libraries linked. diff --git a/Templates/MSBuild/FlagTables/v10_Cuda.json b/Templates/MSBuild/FlagTables/v10_Cuda.json index ab63367..5f6b0da 100644 --- a/Templates/MSBuild/FlagTables/v10_Cuda.json +++ b/Templates/MSBuild/FlagTables/v10_Cuda.json @@ -18,5 +18,35 @@ "UserFollowing", "SpaceAppendable" ] + }, + { + "name": "CudaRuntime", + "switch": "cudart=none", + "comment": "No CUDA runtime library", + "value": "None", + "flags": [] + }, + { + "name": "CudaRuntime", + "switch": "cudart=shared", + "comment": "Shared/dynamic CUDA runtime library", + "value": "Shared", + "flags": [] + }, + { + "name": "CudaRuntime", + "switch": "cudart=static", + "comment": "Static CUDA runtime library", + "value": "Static", + "flags": [] + }, + { + "name": "CudaRuntime", + "switch": "cudart", + "comment": "CUDA runtime library", + "value": "", + "flags": [ + "UserFollowing" + ] } ] https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f044bbbf08575cb06f468f30680108162d7288d0 commit f044bbbf08575cb06f468f30680108162d7288d0 Author: Stephan Szabo AuthorDate: Wed Nov 21 09:53:55 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:26 2018 -0800 VS: Place CUDA host compiler options in proper project file fields Original header commit v3.9.0-rc1~431^2~6 The CUDA Toolkit's VS integration provides abstractions for host compiler options for `nvcc` to pass through `-Xcompiler` to the host MSVC. Populate our secondary flag table and use it to remove flags from the `AdditionalCompilerOptions` in favor of their abstractions. Unfortunately a bug in the CUDA 8.0 VS integration prevents us from passing anything in `AdditionalCompilerOptions` reliably. After taking out the flags that have dedicated abstractions, drop the rest. diff --git a/Templates/MSBuild/FlagTables/v10_Cuda.json b/Templates/MSBuild/FlagTables/v10_Cuda.json index 0d4f101..ab63367 100644 --- a/Templates/MSBuild/FlagTables/v10_Cuda.json +++ b/Templates/MSBuild/FlagTables/v10_Cuda.json @@ -1,2 +1,22 @@ [ + { + "name": "AdditionalCompilerOptions", + "switch": "Xcompiler=", + "comment": "Host compiler options", + "value": "", + "flags": [ + "UserValue", + "SpaceAppendable" + ] + }, + { + "name": "AdditionalCompilerOptions", + "switch": "Xcompiler", + "comment": "Host compiler options", + "value": "", + "flags": [ + "UserFollowing", + "SpaceAppendable" + ] + } ] diff --git a/Templates/MSBuild/FlagTables/v10_CudaHost.json b/Templates/MSBuild/FlagTables/v10_CudaHost.json index 0d4f101..2593ff1 100644 --- a/Templates/MSBuild/FlagTables/v10_CudaHost.json +++ b/Templates/MSBuild/FlagTables/v10_CudaHost.json @@ -1,2 +1,149 @@ [ + { + "name": "Optimization", + "switch": "Od", + "comment": "Disabled", + "value": "Od", + "flags": [] + }, + { + "name": "Optimization", + "switch": "O1", + "comment": "Minimize Size", + "value": "O1", + "flags": [] + }, + { + "name": "Optimization", + "switch": "O2", + "comment": "Maximize Speed", + "value": "O2", + "flags": [] + }, + { + "name": "Optimization", + "switch": "Ox", + "comment": "Full Optimization", + "value": "O3", + "flags": [] + }, + { + "name": "Runtime", + "switch": "MT", + "comment": "Multi-Threaded", + "value": "MT", + "flags": [] + }, + { + "name": "Runtime", + "switch": "MTd", + "comment": "Multi-Threaded Debug", + "value": "MTd", + "flags": [] + }, + { + "name": "Runtime", + "switch": "MD", + "comment": "Multi-Threaded DLL", + "value": "MD", + "flags": [] + }, + { + "name": "Runtime", + "switch": "MDd", + "comment": "Multi-threaded Debug DLL", + "value": "MDd", + "flags": [] + }, + { + "name": "Runtime", + "switch": "ML", + "comment": "Single-Threaded", + "value": "ML", + "flags": [] + }, + { + "name": "Runtime", + "switch": "MLd", + "comment": "Single-Threaded Debug", + "value": "MLd", + "flags": [] + }, + { + "name": "RuntimeChecks", + "switch": "RTCs", + "comment": "Stack Frames", + "value": "RTCs", + "flags": [] + }, + { + "name": "RuntimeChecks", + "switch": "RTCu", + "comment": "Uninitialized Variables", + "value": "RTCu", + "flags": [] + }, + { + "name": "RuntimeChecks", + "switch": "RTC1", + "comment": "Both", + "value": "RTC1", + "flags": [] + }, + { + "name": "TypeInfo", + "switch": "GR", + "comment": "Yes", + "value": "true", + "flags": [] + }, + { + "name": "TypeInfo", + "switch": "GR-", + "comment": "No", + "value": "false", + "flags": [] + }, + { + "name": "Warning", + "switch": "W0", + "comment": "Off: Turn Off All Warnings", + "value": "W0", + "flags": [] + }, + { + "name": "Warning", + "switch": "W1", + "comment": "Level 1", + "value": "W1", + "flags": [] + }, + { + "name": "Warning", + "switch": "W2", + "comment": "Level 2", + "value": "W2", + "flags": [] + }, + { + "name": "Warning", + "switch": "W3", + "comment": "Level 3", + "value": "W3", + "flags": [] + }, + { + "name": "Warning", + "switch": "W4", + "comment": "Level 4", + "value": "W4", + "flags": [] + }, + { + "name": "Warning", + "switch": "Wall", + "comment": "Enable All Warnings", + "value": "Wall", + "flags": [] + } ] https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7faa4d59a858ef0d7eef77c2ae8e8194c2d87385 commit 7faa4d59a858ef0d7eef77c2ae8e8194c2d87385 Author: Stephan Szabo AuthorDate: Wed Nov 21 09:31:00 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:26 2018 -0800 Add placeholder CUDA json flag tables Generate json flag tables from initial placeholder headers Original header commit v3.9.0-rc1~431^2~10 The CUDA Toolkit's VS integration defines abstractions for both options to `nvcc` and options to pass through `-Xcompiler` to the host MSVC. We need a separate flag table to parse each set of flags into the corresponding abstractions. Add empty placeholders for these tables. diff --git a/Templates/MSBuild/FlagTables/v10_Cuda.json b/Templates/MSBuild/FlagTables/v10_Cuda.json new file mode 100644 index 0000000..0d4f101 --- /dev/null +++ b/Templates/MSBuild/FlagTables/v10_Cuda.json @@ -0,0 +1,2 @@ +[ +] diff --git a/Templates/MSBuild/FlagTables/v10_CudaHost.json b/Templates/MSBuild/FlagTables/v10_CudaHost.json new file mode 100644 index 0000000..0d4f101 --- /dev/null +++ b/Templates/MSBuild/FlagTables/v10_CudaHost.json @@ -0,0 +1,2 @@ +[ +] https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6e947179a84cb790616aa038e9bf127e306ad746 commit 6e947179a84cb790616aa038e9bf127e306ad746 Author: Stephan Szabo AuthorDate: Wed Nov 21 09:19:03 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:26 2018 -0800 Add json flag tables for C# Generate initial json flag tables for C# based on the initial headers. Original header commit v3.8.0-rc1~230^2 Add these (currently unused) tables in preparation for `.csproj` generation support. Populate the tables for every version with a set of initial values that work well for me with VS 12 and VS 14. Later we may need to generate them more thoroughly from MSBuild `.xml` files. diff --git a/Templates/MSBuild/FlagTables/v10_CSharp.json b/Templates/MSBuild/FlagTables/v10_CSharp.json new file mode 100644 index 0000000..fa483bf --- /dev/null +++ b/Templates/MSBuild/FlagTables/v10_CSharp.json @@ -0,0 +1,567 @@ +[ + { + "name": "ProjectName", + "switch": "out:", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "OutputType", + "switch": "target:exe", + "comment": "", + "value": "Exe", + "flags": [] + }, + { + "name": "OutputType", + "switch": "target:winexe", + "comment": "", + "value": "Winexe", + "flags": [] + }, + { + "name": "OutputType", + "switch": "target:library", + "comment": "", + "value": "Library", + "flags": [] + }, + { + "name": "OutputType", + "switch": "target:module", + "comment": "", + "value": "Module", + "flags": [] + }, + { + "name": "DocumentationFile", + "switch": "doc", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "Platform", + "switch": "platform:x86", + "comment": "", + "value": "x86", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:Itanium", + "comment": "", + "value": "Itanium", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:x64", + "comment": "", + "value": "x64", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:arm", + "comment": "", + "value": "arm", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:anycpu32bitpreferred", + "comment": "", + "value": "anycpu32bitpreferred", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:anycpu", + "comment": "", + "value": "anycpu", + "flags": [] + }, + { + "name": "References", + "switch": "reference:", + "comment": "mit alias", + "value": "", + "flags": [] + }, + { + "name": "References", + "switch": "reference:", + "comment": "dateiliste", + "value": "", + "flags": [] + }, + { + "name": "AddModules", + "switch": "addmodule:", + "comment": "", + "value": "", + "flags": [ + "SemicolonAppendable" + ] + }, + { + "name": "Win32Resource", + "switch": "win32res", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "ApplicationIcon", + "switch": "win32icon", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "Win32Manifest", + "switch": "win32manifest:", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "NoWin32Manifest", + "switch": "nowin32manifest", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DefineDebug", + "switch": "debug", + "comment": "", + "value": "true", + "flags": [ + "Continue" + ] + }, + { + "name": "DebugSymbols", + "switch": "debug", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DebugSymbols", + "switch": "debug-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "DebugSymbols", + "switch": "debug+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DebugType", + "switch": "debug:none", + "comment": "", + "value": "none", + "flags": [] + }, + { + "name": "DebugType", + "switch": "debug:full", + "comment": "", + "value": "full", + "flags": [] + }, + { + "name": "DebugType", + "switch": "debug:pdbonly", + "comment": "", + "value": "pdbonly", + "flags": [] + }, + { + "name": "Optimize", + "switch": "optimize", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "Optimize", + "switch": "optimize-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "Optimize", + "switch": "optimize+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "warnaserror", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "warnaserror-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "warnaserror+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "WarningsAsErrors", + "switch": "warnaserror", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "WarningsAsErrors", + "switch": "warnaserror-", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "WarningsAsErrors", + "switch": "warnaserror+", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:0", + "comment": "", + "value": "0", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:1", + "comment": "", + "value": "1", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:2", + "comment": "", + "value": "2", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:3", + "comment": "", + "value": "3", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:4", + "comment": "", + "value": "4", + "flags": [] + }, + { + "name": "DisabledWarnings", + "switch": "nowarn", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "CheckForOverflowUnderflow", + "switch": "checked", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "CheckForOverflowUnderflow", + "switch": "checked-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "CheckForOverflowUnderflow", + "switch": "checked+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AllowUnsafeBlocks", + "switch": "unsafe", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AllowUnsafeBlocks", + "switch": "unsafe-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "AllowUnsafeBlocks", + "switch": "unsafe+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DefineConstants", + "switch": "define:", + "comment": "", + "value": "", + "flags": [ + "SemicolonAppendable", + "UserValue" + ] + }, + { + "name": "LangVersion", + "switch": "langversion:ISO-1", + "comment": "", + "value": "ISO-1", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:ISO-2", + "comment": "", + "value": "ISO-2", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:3", + "comment": "", + "value": "3", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:4", + "comment": "", + "value": "4", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:5", + "comment": "", + "value": "5", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:6", + "comment": "", + "value": "6", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:default", + "comment": "", + "value": "default", + "flags": [] + }, + { + "name": "DelaySign", + "switch": "delaysign", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DelaySign", + "switch": "delaysign-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "DelaySign", + "switch": "delaysign+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AssemblyOriginatorKeyFile", + "switch": "keyfile", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "KeyContainerName", + "switch": "keycontainer", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "NoLogo", + "switch": "nologo", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "NoConfig", + "switch": "noconfig", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "BaseAddress", + "switch": "baseaddress:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "CodePage", + "switch": "codepage", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "Utf8Output", + "switch": "utf8output", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "MainEntryPoint", + "switch": "main:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "GenerateFullPaths", + "switch": "fullpaths", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "FileAlignment", + "switch": "filealign", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "PdbFile", + "switch": "pdb:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "NoStandardLib", + "switch": "nostdlib", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "NoStandardLib", + "switch": "nostdlib-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "NoStandardLib", + "switch": "nostdlib+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "SubsystemVersion", + "switch": "subsystemversion", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "AdditionalLibPaths", + "switch": "lib:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:none", + "comment": "Do Not Send Report", + "value": "none", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:prompt", + "comment": "Prompt Immediately", + "value": "prompt", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:queue", + "comment": "Queue For Next Login", + "value": "queue", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:send", + "comment": "Send Automatically", + "value": "send", + "flags": [] + } +] diff --git a/Templates/MSBuild/FlagTables/v11_CSharp.json b/Templates/MSBuild/FlagTables/v11_CSharp.json new file mode 100644 index 0000000..fa483bf --- /dev/null +++ b/Templates/MSBuild/FlagTables/v11_CSharp.json @@ -0,0 +1,567 @@ +[ + { + "name": "ProjectName", + "switch": "out:", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "OutputType", + "switch": "target:exe", + "comment": "", + "value": "Exe", + "flags": [] + }, + { + "name": "OutputType", + "switch": "target:winexe", + "comment": "", + "value": "Winexe", + "flags": [] + }, + { + "name": "OutputType", + "switch": "target:library", + "comment": "", + "value": "Library", + "flags": [] + }, + { + "name": "OutputType", + "switch": "target:module", + "comment": "", + "value": "Module", + "flags": [] + }, + { + "name": "DocumentationFile", + "switch": "doc", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "Platform", + "switch": "platform:x86", + "comment": "", + "value": "x86", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:Itanium", + "comment": "", + "value": "Itanium", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:x64", + "comment": "", + "value": "x64", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:arm", + "comment": "", + "value": "arm", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:anycpu32bitpreferred", + "comment": "", + "value": "anycpu32bitpreferred", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:anycpu", + "comment": "", + "value": "anycpu", + "flags": [] + }, + { + "name": "References", + "switch": "reference:", + "comment": "mit alias", + "value": "", + "flags": [] + }, + { + "name": "References", + "switch": "reference:", + "comment": "dateiliste", + "value": "", + "flags": [] + }, + { + "name": "AddModules", + "switch": "addmodule:", + "comment": "", + "value": "", + "flags": [ + "SemicolonAppendable" + ] + }, + { + "name": "Win32Resource", + "switch": "win32res", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "ApplicationIcon", + "switch": "win32icon", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "Win32Manifest", + "switch": "win32manifest:", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "NoWin32Manifest", + "switch": "nowin32manifest", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DefineDebug", + "switch": "debug", + "comment": "", + "value": "true", + "flags": [ + "Continue" + ] + }, + { + "name": "DebugSymbols", + "switch": "debug", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DebugSymbols", + "switch": "debug-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "DebugSymbols", + "switch": "debug+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DebugType", + "switch": "debug:none", + "comment": "", + "value": "none", + "flags": [] + }, + { + "name": "DebugType", + "switch": "debug:full", + "comment": "", + "value": "full", + "flags": [] + }, + { + "name": "DebugType", + "switch": "debug:pdbonly", + "comment": "", + "value": "pdbonly", + "flags": [] + }, + { + "name": "Optimize", + "switch": "optimize", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "Optimize", + "switch": "optimize-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "Optimize", + "switch": "optimize+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "warnaserror", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "warnaserror-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "warnaserror+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "WarningsAsErrors", + "switch": "warnaserror", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "WarningsAsErrors", + "switch": "warnaserror-", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "WarningsAsErrors", + "switch": "warnaserror+", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:0", + "comment": "", + "value": "0", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:1", + "comment": "", + "value": "1", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:2", + "comment": "", + "value": "2", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:3", + "comment": "", + "value": "3", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:4", + "comment": "", + "value": "4", + "flags": [] + }, + { + "name": "DisabledWarnings", + "switch": "nowarn", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "CheckForOverflowUnderflow", + "switch": "checked", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "CheckForOverflowUnderflow", + "switch": "checked-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "CheckForOverflowUnderflow", + "switch": "checked+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AllowUnsafeBlocks", + "switch": "unsafe", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AllowUnsafeBlocks", + "switch": "unsafe-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "AllowUnsafeBlocks", + "switch": "unsafe+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DefineConstants", + "switch": "define:", + "comment": "", + "value": "", + "flags": [ + "SemicolonAppendable", + "UserValue" + ] + }, + { + "name": "LangVersion", + "switch": "langversion:ISO-1", + "comment": "", + "value": "ISO-1", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:ISO-2", + "comment": "", + "value": "ISO-2", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:3", + "comment": "", + "value": "3", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:4", + "comment": "", + "value": "4", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:5", + "comment": "", + "value": "5", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:6", + "comment": "", + "value": "6", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:default", + "comment": "", + "value": "default", + "flags": [] + }, + { + "name": "DelaySign", + "switch": "delaysign", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DelaySign", + "switch": "delaysign-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "DelaySign", + "switch": "delaysign+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AssemblyOriginatorKeyFile", + "switch": "keyfile", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "KeyContainerName", + "switch": "keycontainer", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "NoLogo", + "switch": "nologo", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "NoConfig", + "switch": "noconfig", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "BaseAddress", + "switch": "baseaddress:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "CodePage", + "switch": "codepage", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "Utf8Output", + "switch": "utf8output", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "MainEntryPoint", + "switch": "main:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "GenerateFullPaths", + "switch": "fullpaths", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "FileAlignment", + "switch": "filealign", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "PdbFile", + "switch": "pdb:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "NoStandardLib", + "switch": "nostdlib", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "NoStandardLib", + "switch": "nostdlib-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "NoStandardLib", + "switch": "nostdlib+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "SubsystemVersion", + "switch": "subsystemversion", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "AdditionalLibPaths", + "switch": "lib:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:none", + "comment": "Do Not Send Report", + "value": "none", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:prompt", + "comment": "Prompt Immediately", + "value": "prompt", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:queue", + "comment": "Queue For Next Login", + "value": "queue", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:send", + "comment": "Send Automatically", + "value": "send", + "flags": [] + } +] diff --git a/Templates/MSBuild/FlagTables/v12_CSharp.json b/Templates/MSBuild/FlagTables/v12_CSharp.json new file mode 100644 index 0000000..fa483bf --- /dev/null +++ b/Templates/MSBuild/FlagTables/v12_CSharp.json @@ -0,0 +1,567 @@ +[ + { + "name": "ProjectName", + "switch": "out:", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "OutputType", + "switch": "target:exe", + "comment": "", + "value": "Exe", + "flags": [] + }, + { + "name": "OutputType", + "switch": "target:winexe", + "comment": "", + "value": "Winexe", + "flags": [] + }, + { + "name": "OutputType", + "switch": "target:library", + "comment": "", + "value": "Library", + "flags": [] + }, + { + "name": "OutputType", + "switch": "target:module", + "comment": "", + "value": "Module", + "flags": [] + }, + { + "name": "DocumentationFile", + "switch": "doc", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "Platform", + "switch": "platform:x86", + "comment": "", + "value": "x86", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:Itanium", + "comment": "", + "value": "Itanium", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:x64", + "comment": "", + "value": "x64", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:arm", + "comment": "", + "value": "arm", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:anycpu32bitpreferred", + "comment": "", + "value": "anycpu32bitpreferred", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:anycpu", + "comment": "", + "value": "anycpu", + "flags": [] + }, + { + "name": "References", + "switch": "reference:", + "comment": "mit alias", + "value": "", + "flags": [] + }, + { + "name": "References", + "switch": "reference:", + "comment": "dateiliste", + "value": "", + "flags": [] + }, + { + "name": "AddModules", + "switch": "addmodule:", + "comment": "", + "value": "", + "flags": [ + "SemicolonAppendable" + ] + }, + { + "name": "Win32Resource", + "switch": "win32res", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "ApplicationIcon", + "switch": "win32icon", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "Win32Manifest", + "switch": "win32manifest:", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "NoWin32Manifest", + "switch": "nowin32manifest", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DefineDebug", + "switch": "debug", + "comment": "", + "value": "true", + "flags": [ + "Continue" + ] + }, + { + "name": "DebugSymbols", + "switch": "debug", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DebugSymbols", + "switch": "debug-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "DebugSymbols", + "switch": "debug+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DebugType", + "switch": "debug:none", + "comment": "", + "value": "none", + "flags": [] + }, + { + "name": "DebugType", + "switch": "debug:full", + "comment": "", + "value": "full", + "flags": [] + }, + { + "name": "DebugType", + "switch": "debug:pdbonly", + "comment": "", + "value": "pdbonly", + "flags": [] + }, + { + "name": "Optimize", + "switch": "optimize", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "Optimize", + "switch": "optimize-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "Optimize", + "switch": "optimize+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "warnaserror", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "warnaserror-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "warnaserror+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "WarningsAsErrors", + "switch": "warnaserror", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "WarningsAsErrors", + "switch": "warnaserror-", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "WarningsAsErrors", + "switch": "warnaserror+", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:0", + "comment": "", + "value": "0", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:1", + "comment": "", + "value": "1", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:2", + "comment": "", + "value": "2", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:3", + "comment": "", + "value": "3", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:4", + "comment": "", + "value": "4", + "flags": [] + }, + { + "name": "DisabledWarnings", + "switch": "nowarn", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "CheckForOverflowUnderflow", + "switch": "checked", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "CheckForOverflowUnderflow", + "switch": "checked-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "CheckForOverflowUnderflow", + "switch": "checked+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AllowUnsafeBlocks", + "switch": "unsafe", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AllowUnsafeBlocks", + "switch": "unsafe-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "AllowUnsafeBlocks", + "switch": "unsafe+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DefineConstants", + "switch": "define:", + "comment": "", + "value": "", + "flags": [ + "SemicolonAppendable", + "UserValue" + ] + }, + { + "name": "LangVersion", + "switch": "langversion:ISO-1", + "comment": "", + "value": "ISO-1", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:ISO-2", + "comment": "", + "value": "ISO-2", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:3", + "comment": "", + "value": "3", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:4", + "comment": "", + "value": "4", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:5", + "comment": "", + "value": "5", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:6", + "comment": "", + "value": "6", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:default", + "comment": "", + "value": "default", + "flags": [] + }, + { + "name": "DelaySign", + "switch": "delaysign", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DelaySign", + "switch": "delaysign-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "DelaySign", + "switch": "delaysign+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AssemblyOriginatorKeyFile", + "switch": "keyfile", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "KeyContainerName", + "switch": "keycontainer", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "NoLogo", + "switch": "nologo", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "NoConfig", + "switch": "noconfig", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "BaseAddress", + "switch": "baseaddress:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "CodePage", + "switch": "codepage", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "Utf8Output", + "switch": "utf8output", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "MainEntryPoint", + "switch": "main:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "GenerateFullPaths", + "switch": "fullpaths", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "FileAlignment", + "switch": "filealign", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "PdbFile", + "switch": "pdb:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "NoStandardLib", + "switch": "nostdlib", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "NoStandardLib", + "switch": "nostdlib-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "NoStandardLib", + "switch": "nostdlib+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "SubsystemVersion", + "switch": "subsystemversion", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "AdditionalLibPaths", + "switch": "lib:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:none", + "comment": "Do Not Send Report", + "value": "none", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:prompt", + "comment": "Prompt Immediately", + "value": "prompt", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:queue", + "comment": "Queue For Next Login", + "value": "queue", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:send", + "comment": "Send Automatically", + "value": "send", + "flags": [] + } +] diff --git a/Templates/MSBuild/FlagTables/v140_CSharp.json b/Templates/MSBuild/FlagTables/v140_CSharp.json new file mode 100644 index 0000000..fa483bf --- /dev/null +++ b/Templates/MSBuild/FlagTables/v140_CSharp.json @@ -0,0 +1,567 @@ +[ + { + "name": "ProjectName", + "switch": "out:", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "OutputType", + "switch": "target:exe", + "comment": "", + "value": "Exe", + "flags": [] + }, + { + "name": "OutputType", + "switch": "target:winexe", + "comment": "", + "value": "Winexe", + "flags": [] + }, + { + "name": "OutputType", + "switch": "target:library", + "comment": "", + "value": "Library", + "flags": [] + }, + { + "name": "OutputType", + "switch": "target:module", + "comment": "", + "value": "Module", + "flags": [] + }, + { + "name": "DocumentationFile", + "switch": "doc", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "Platform", + "switch": "platform:x86", + "comment": "", + "value": "x86", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:Itanium", + "comment": "", + "value": "Itanium", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:x64", + "comment": "", + "value": "x64", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:arm", + "comment": "", + "value": "arm", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:anycpu32bitpreferred", + "comment": "", + "value": "anycpu32bitpreferred", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:anycpu", + "comment": "", + "value": "anycpu", + "flags": [] + }, + { + "name": "References", + "switch": "reference:", + "comment": "mit alias", + "value": "", + "flags": [] + }, + { + "name": "References", + "switch": "reference:", + "comment": "dateiliste", + "value": "", + "flags": [] + }, + { + "name": "AddModules", + "switch": "addmodule:", + "comment": "", + "value": "", + "flags": [ + "SemicolonAppendable" + ] + }, + { + "name": "Win32Resource", + "switch": "win32res", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "ApplicationIcon", + "switch": "win32icon", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "Win32Manifest", + "switch": "win32manifest:", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "NoWin32Manifest", + "switch": "nowin32manifest", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DefineDebug", + "switch": "debug", + "comment": "", + "value": "true", + "flags": [ + "Continue" + ] + }, + { + "name": "DebugSymbols", + "switch": "debug", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DebugSymbols", + "switch": "debug-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "DebugSymbols", + "switch": "debug+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DebugType", + "switch": "debug:none", + "comment": "", + "value": "none", + "flags": [] + }, + { + "name": "DebugType", + "switch": "debug:full", + "comment": "", + "value": "full", + "flags": [] + }, + { + "name": "DebugType", + "switch": "debug:pdbonly", + "comment": "", + "value": "pdbonly", + "flags": [] + }, + { + "name": "Optimize", + "switch": "optimize", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "Optimize", + "switch": "optimize-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "Optimize", + "switch": "optimize+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "warnaserror", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "warnaserror-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "warnaserror+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "WarningsAsErrors", + "switch": "warnaserror", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "WarningsAsErrors", + "switch": "warnaserror-", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "WarningsAsErrors", + "switch": "warnaserror+", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:0", + "comment": "", + "value": "0", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:1", + "comment": "", + "value": "1", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:2", + "comment": "", + "value": "2", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:3", + "comment": "", + "value": "3", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:4", + "comment": "", + "value": "4", + "flags": [] + }, + { + "name": "DisabledWarnings", + "switch": "nowarn", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "CheckForOverflowUnderflow", + "switch": "checked", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "CheckForOverflowUnderflow", + "switch": "checked-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "CheckForOverflowUnderflow", + "switch": "checked+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AllowUnsafeBlocks", + "switch": "unsafe", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AllowUnsafeBlocks", + "switch": "unsafe-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "AllowUnsafeBlocks", + "switch": "unsafe+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DefineConstants", + "switch": "define:", + "comment": "", + "value": "", + "flags": [ + "SemicolonAppendable", + "UserValue" + ] + }, + { + "name": "LangVersion", + "switch": "langversion:ISO-1", + "comment": "", + "value": "ISO-1", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:ISO-2", + "comment": "", + "value": "ISO-2", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:3", + "comment": "", + "value": "3", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:4", + "comment": "", + "value": "4", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:5", + "comment": "", + "value": "5", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:6", + "comment": "", + "value": "6", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:default", + "comment": "", + "value": "default", + "flags": [] + }, + { + "name": "DelaySign", + "switch": "delaysign", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DelaySign", + "switch": "delaysign-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "DelaySign", + "switch": "delaysign+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AssemblyOriginatorKeyFile", + "switch": "keyfile", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "KeyContainerName", + "switch": "keycontainer", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "NoLogo", + "switch": "nologo", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "NoConfig", + "switch": "noconfig", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "BaseAddress", + "switch": "baseaddress:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "CodePage", + "switch": "codepage", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "Utf8Output", + "switch": "utf8output", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "MainEntryPoint", + "switch": "main:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "GenerateFullPaths", + "switch": "fullpaths", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "FileAlignment", + "switch": "filealign", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "PdbFile", + "switch": "pdb:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "NoStandardLib", + "switch": "nostdlib", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "NoStandardLib", + "switch": "nostdlib-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "NoStandardLib", + "switch": "nostdlib+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "SubsystemVersion", + "switch": "subsystemversion", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "AdditionalLibPaths", + "switch": "lib:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:none", + "comment": "Do Not Send Report", + "value": "none", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:prompt", + "comment": "Prompt Immediately", + "value": "prompt", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:queue", + "comment": "Queue For Next Login", + "value": "queue", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:send", + "comment": "Send Automatically", + "value": "send", + "flags": [] + } +] diff --git a/Templates/MSBuild/FlagTables/v141_CSharp.json b/Templates/MSBuild/FlagTables/v141_CSharp.json new file mode 100644 index 0000000..fa483bf --- /dev/null +++ b/Templates/MSBuild/FlagTables/v141_CSharp.json @@ -0,0 +1,567 @@ +[ + { + "name": "ProjectName", + "switch": "out:", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "OutputType", + "switch": "target:exe", + "comment": "", + "value": "Exe", + "flags": [] + }, + { + "name": "OutputType", + "switch": "target:winexe", + "comment": "", + "value": "Winexe", + "flags": [] + }, + { + "name": "OutputType", + "switch": "target:library", + "comment": "", + "value": "Library", + "flags": [] + }, + { + "name": "OutputType", + "switch": "target:module", + "comment": "", + "value": "Module", + "flags": [] + }, + { + "name": "DocumentationFile", + "switch": "doc", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "Platform", + "switch": "platform:x86", + "comment": "", + "value": "x86", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:Itanium", + "comment": "", + "value": "Itanium", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:x64", + "comment": "", + "value": "x64", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:arm", + "comment": "", + "value": "arm", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:anycpu32bitpreferred", + "comment": "", + "value": "anycpu32bitpreferred", + "flags": [] + }, + { + "name": "Platform", + "switch": "platform:anycpu", + "comment": "", + "value": "anycpu", + "flags": [] + }, + { + "name": "References", + "switch": "reference:", + "comment": "mit alias", + "value": "", + "flags": [] + }, + { + "name": "References", + "switch": "reference:", + "comment": "dateiliste", + "value": "", + "flags": [] + }, + { + "name": "AddModules", + "switch": "addmodule:", + "comment": "", + "value": "", + "flags": [ + "SemicolonAppendable" + ] + }, + { + "name": "Win32Resource", + "switch": "win32res", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "ApplicationIcon", + "switch": "win32icon", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "Win32Manifest", + "switch": "win32manifest:", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "NoWin32Manifest", + "switch": "nowin32manifest", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DefineDebug", + "switch": "debug", + "comment": "", + "value": "true", + "flags": [ + "Continue" + ] + }, + { + "name": "DebugSymbols", + "switch": "debug", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DebugSymbols", + "switch": "debug-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "DebugSymbols", + "switch": "debug+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DebugType", + "switch": "debug:none", + "comment": "", + "value": "none", + "flags": [] + }, + { + "name": "DebugType", + "switch": "debug:full", + "comment": "", + "value": "full", + "flags": [] + }, + { + "name": "DebugType", + "switch": "debug:pdbonly", + "comment": "", + "value": "pdbonly", + "flags": [] + }, + { + "name": "Optimize", + "switch": "optimize", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "Optimize", + "switch": "optimize-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "Optimize", + "switch": "optimize+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "warnaserror", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "warnaserror-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "warnaserror+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "WarningsAsErrors", + "switch": "warnaserror", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "WarningsAsErrors", + "switch": "warnaserror-", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "WarningsAsErrors", + "switch": "warnaserror+", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:0", + "comment": "", + "value": "0", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:1", + "comment": "", + "value": "1", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:2", + "comment": "", + "value": "2", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:3", + "comment": "", + "value": "3", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "warn:4", + "comment": "", + "value": "4", + "flags": [] + }, + { + "name": "DisabledWarnings", + "switch": "nowarn", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "CheckForOverflowUnderflow", + "switch": "checked", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "CheckForOverflowUnderflow", + "switch": "checked-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "CheckForOverflowUnderflow", + "switch": "checked+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AllowUnsafeBlocks", + "switch": "unsafe", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AllowUnsafeBlocks", + "switch": "unsafe-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "AllowUnsafeBlocks", + "switch": "unsafe+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DefineConstants", + "switch": "define:", + "comment": "", + "value": "", + "flags": [ + "SemicolonAppendable", + "UserValue" + ] + }, + { + "name": "LangVersion", + "switch": "langversion:ISO-1", + "comment": "", + "value": "ISO-1", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:ISO-2", + "comment": "", + "value": "ISO-2", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:3", + "comment": "", + "value": "3", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:4", + "comment": "", + "value": "4", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:5", + "comment": "", + "value": "5", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:6", + "comment": "", + "value": "6", + "flags": [] + }, + { + "name": "LangVersion", + "switch": "langversion:default", + "comment": "", + "value": "default", + "flags": [] + }, + { + "name": "DelaySign", + "switch": "delaysign", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "DelaySign", + "switch": "delaysign-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "DelaySign", + "switch": "delaysign+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AssemblyOriginatorKeyFile", + "switch": "keyfile", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "KeyContainerName", + "switch": "keycontainer", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "NoLogo", + "switch": "nologo", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "NoConfig", + "switch": "noconfig", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "BaseAddress", + "switch": "baseaddress:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "CodePage", + "switch": "codepage", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "Utf8Output", + "switch": "utf8output", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "MainEntryPoint", + "switch": "main:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "GenerateFullPaths", + "switch": "fullpaths", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "FileAlignment", + "switch": "filealign", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "PdbFile", + "switch": "pdb:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "NoStandardLib", + "switch": "nostdlib", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "NoStandardLib", + "switch": "nostdlib-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "NoStandardLib", + "switch": "nostdlib+", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "SubsystemVersion", + "switch": "subsystemversion", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "AdditionalLibPaths", + "switch": "lib:", + "comment": "", + "value": "", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:none", + "comment": "Do Not Send Report", + "value": "none", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:prompt", + "comment": "Prompt Immediately", + "value": "prompt", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:queue", + "comment": "Queue For Next Login", + "value": "queue", + "flags": [] + }, + { + "name": "ErrorReport", + "switch": "errorreport:send", + "comment": "Send Automatically", + "value": "send", + "flags": [] + } +] https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2f37ce5e8656dabab304453b15684d60e7a2338c commit 2f37ce5e8656dabab304453b15684d60e7a2338c Author: Stephan Szabo AuthorDate: Wed Nov 21 08:40:55 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:26 2018 -0800 Add initial NASM flag table json Generated from the nasm.xml provided by CMake. python cmConvertMSBuildXMLToJSON.py -t v10 ...\Templates\MSBuild\nasm.xml diff --git a/Templates/MSBuild/FlagTables/v10_NASM.json b/Templates/MSBuild/FlagTables/v10_NASM.json new file mode 100644 index 0000000..eb85edf --- /dev/null +++ b/Templates/MSBuild/FlagTables/v10_NASM.json @@ -0,0 +1,187 @@ +[ + { + "name": "Outputswitch", + "switch": "fwin32", + "comment": "Object File win32", + "value": "0", + "flags": [] + }, + { + "name": "Outputswitch", + "switch": "fwin64", + "comment": "Object File win64", + "value": "1", + "flags": [] + }, + { + "name": "Outputswitch", + "switch": "felf32", + "comment": "ELF32 (i386) object files (e.g. Linux)", + "value": "2", + "flags": [] + }, + { + "name": "Outputswitch", + "switch": "felf64", + "comment": "ELF64 (x86_64) object files (e.g. Linux)", + "value": "3", + "flags": [] + }, + { + "name": "ErrorReportingFormat", + "switch": "Xgnu", + "comment": "-Xgnu GNU format: Default format", + "value": "0", + "flags": [] + }, + { + "name": "ErrorReportingFormat", + "switch": "Xvc", + "comment": "-Xvc Style used by Microsoft Visual C++", + "value": "1", + "flags": [] + }, + { + "name": "tasmmode", + "switch": "t", + "comment": "SciTech TASM compatible mode", + "value": "true", + "flags": [] + }, + { + "name": "GenerateDebugInformation", + "switch": "g", + "comment": "Generate Debug Information", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "Werror", + "comment": "Treat Warnings As Errors", + "value": "true", + "flags": [] + }, + { + "name": "floatunderflow", + "switch": "w+float-underflow", + "comment": "float-underflow", + "value": "true", + "flags": [] + }, + { + "name": "macrodefaults", + "switch": "w-macro-defaults", + "comment": "Disable macro-defaults", + "value": "true", + "flags": [] + }, + { + "name": "user", + "switch": "w-user", + "comment": "Disable user", + "value": "true", + "flags": [] + }, + { + "name": "floatoverflow", + "switch": "w-float-overflow", + "comment": "Disable float-overflow", + "value": "true", + "flags": [] + }, + { + "name": "floatdenorm", + "switch": "w+float-denorm", + "comment": "float-denorm", + "value": "true", + "flags": [] + }, + { + "name": "numberoverflow", + "switch": "w-number-overflow", + "comment": "Disable number-overflow", + "value": "true", + "flags": [] + }, + { + "name": "macroselfref", + "switch": "w+macro-selfref", + "comment": "macro-selfref", + "value": "true", + "flags": [] + }, + { + "name": "floattoolong", + "switch": "w-float-toolong", + "comment": "Disable float-toolong", + "value": "true", + "flags": [] + }, + { + "name": "orphanlabels", + "switch": "w-orphan-labels", + "comment": "Disable orphan-labels", + "value": "true", + "flags": [] + }, + { + "name": "AssembledCodeListingFile", + "switch": "l \"[value]\"", + "comment": "Assembled Code Listing File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ErrorReporting", + "switch": "Z \"[value]\"", + "comment": "Redirect Error Messages to File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "IncludePaths", + "switch": "I\"[value]\"", + "comment": "Include Paths", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PreprocessorDefinitions", + "switch": "D\"[value]\"", + "comment": "Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "UndefinePreprocessorDefinitions", + "switch": "U\"[value]\"", + "comment": "Undefine Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "OutputFormat", + "switch": "o \"[value]\"", + "comment": "Output File Name", + "value": "", + "flags": [ + "UserValue" + ] + } +] https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a84461160c927279de0435223c35c539e6e22f0e commit a84461160c927279de0435223c35c539e6e22f0e Author: Stephan Szabo AuthorDate: Tue Nov 20 17:09:37 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:25 2018 -0800 Add CL, LIB, Link, MASM, RC flag json Adding flag json files generated from MSVC xml files. python cmConvertMSBuildXMLToJSON.py -t v10 "...\MSBuild\Microsoft.Cpp\v4.0\1033\cl.xml" python cmConvertMSBuildXMLToJSON.py -t v11 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V110\1033\cl.xml" python cmConvertMSBuildXMLToJSON.py -t v12 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V120\1033\cl.xml" python cmConvertMSBuildXMLToJSON.py -t v140 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V140\1033\cl.xml" python cmConvertMSBuildXMLToJSON.py -t v141 "C:\...\Common7\IDE\VC\VCTargets"\1033\cl.xml" python cmConvertMSBuildXMLToJSON.py -t v10 "c:\...\MSBuild\Microsoft.Cpp\v4.0\1033\rc.xml python cmConvertMSBuildXMLToJSON.py -t v11 "c:\...\MSBuild\Microsoft.Cpp\v4.0\v110\1033\rc.xml python cmConvertMSBuildXMLToJSON.py -t v12 "c:\...\MSBuild\Microsoft.Cpp\v4.0\v120\1033\rc.xml python cmConvertMSBuildXMLToJSON.py -t v14 "c:\...\MSBuild\Microsoft.Cpp\v4.0\v140\1033\rc.xml python cmConvertMSBuildXMLToJSON.py -t v10 "c:\...\MSBuild\Microsoft.Cpp\v4.0\1033\lib.xml python cmConvertMSBuildXMLToJSON.py -t v11 "c:\...\MSBuild\Microsoft.Cpp\v4.0\v110\1033\lib.xml python cmConvertMSBuildXMLToJSON.py -t v12 "c:\...\MSBuild\Microsoft.Cpp\v4.0\v120\1033\lib.xml python cmConvertMSBuildXMLToJSON.py -t v14 "c:\...\MSBuild\Microsoft.Cpp\v4.0\v140\1033\lib.xml python cmConvertMSBuildXMLToJSON.py -t v10 "c:\...\MSBuild\Microsoft.Cpp\v4.0\1033\link.xml" python cmConvertMSBuildXMLToJSON.py -t v11 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V110\1033\link.xml" python cmConvertMSBuildXMLToJSON.py -t v12 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V120\1033\link.xml" python cmConvertMSBuildXMLToJSON.py -t v140 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V140\1033\link.xml" python cmConvertMSBuildXMLToJSON.py -t v141 "C:\...\Common7\IDE\VC\VCTargets"\1033\link.xml" python cmConvertMSBuildXMLToJSON.py -t v10 "c:\...\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\masm.xml" python cmConvertMSBuildXMLToJSON.py -t v11 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V110\BuildCustomizations\masm.xml" python cmConvertMSBuildXMLToJSON.py -t v12 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\masm.xml" python cmConvertMSBuildXMLToJSON.py -t v14 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\masm.xml" diff --git a/Templates/MSBuild/FlagTables/v10_CL.json b/Templates/MSBuild/FlagTables/v10_CL.json new file mode 100644 index 0000000..928e541 --- /dev/null +++ b/Templates/MSBuild/FlagTables/v10_CL.json @@ -0,0 +1,981 @@ +[ + { + "name": "DebugInformationFormat", + "switch": "Z7", + "comment": "C7 compatible", + "value": "OldStyle", + "flags": [] + }, + { + "name": "DebugInformationFormat", + "switch": "Zi", + "comment": "Program Database", + "value": "ProgramDatabase", + "flags": [] + }, + { + "name": "DebugInformationFormat", + "switch": "ZI", + "comment": "Program Database for Edit And Continue", + "value": "EditAndContinue", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "", + "comment": "No Common Language RunTime Support", + "value": "false", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr", + "comment": "Common Language RunTime Support", + "value": "true", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr:pure", + "comment": "Pure MSIL Common Language RunTime Support", + "value": "Pure", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr:safe", + "comment": "Safe MSIL Common Language RunTime Support", + "value": "Safe", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr:oldSyntax", + "comment": "Common Language RunTime Support, Old Syntax", + "value": "OldSyntax", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W0", + "comment": "Turn Off All Warnings", + "value": "TurnOffAllWarnings", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W1", + "comment": "Level1", + "value": "Level1", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W2", + "comment": "Level2", + "value": "Level2", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W3", + "comment": "Level3", + "value": "Level3", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W4", + "comment": "Level4", + "value": "Level4", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "Wall", + "comment": "EnableAllWarnings", + "value": "EnableAllWarnings", + "flags": [] + }, + { + "name": "Optimization", + "switch": "Od", + "comment": "Disabled", + "value": "Disabled", + "flags": [] + }, + { + "name": "Optimization", + "switch": "O1", + "comment": "Minimize Size", + "value": "MinSpace", + "flags": [] + }, + { + "name": "Optimization", + "switch": "O2", + "comment": "Maximize Speed", + "value": "MaxSpeed", + "flags": [] + }, + { + "name": "Optimization", + "switch": "Ox", + "comment": "Full Optimization", + "value": "Full", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "Ob0", + "comment": "Disabled", + "value": "Disabled", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "Ob1", + "comment": "Only __inline", + "value": "OnlyExplicitInline", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "Ob2", + "comment": "Any Suitable", + "value": "AnySuitable", + "flags": [] + }, + { + "name": "FavorSizeOrSpeed", + "switch": "Os", + "comment": "Favor small code", + "value": "Size", + "flags": [] + }, + { + "name": "FavorSizeOrSpeed", + "switch": "Ot", + "comment": "Favor fast code", + "value": "Speed", + "flags": [] + }, + { + "name": "FavorSizeOrSpeed", + "switch": "", + "comment": "Neither", + "value": "Neither", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "EHa", + "comment": "Yes with SEH Exceptions", + "value": "Async", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "EHsc", + "comment": "Yes", + "value": "Sync", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "EHs", + "comment": "Yes with Extern C functions", + "value": "SyncCThrow", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "", + "comment": "No", + "value": "false", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "RTCs", + "comment": "Stack Frames", + "value": "StackFrameRuntimeCheck", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "RTCu", + "comment": "Uninitialized variables", + "value": "UninitializedLocalUsageCheck", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "RTC1", + "comment": "Both (/RTC1, equiv. to /RTCsu)", + "value": "EnableFastChecks", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MT", + "comment": "Multi-threaded", + "value": "MultiThreaded", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MTd", + "comment": "Multi-threaded Debug", + "value": "MultiThreadedDebug", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MD", + "comment": "Multi-threaded DLL", + "value": "MultiThreadedDLL", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MDd", + "comment": "Multi-threaded Debug DLL", + "value": "MultiThreadedDebugDLL", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp1", + "comment": "1 Byte", + "value": "1Byte", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp2", + "comment": "2 Bytes", + "value": "2Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp4", + "comment": "4 Byte", + "value": "4Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp8", + "comment": "8 Bytes", + "value": "8Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp16", + "comment": "16 Bytes", + "value": "16Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:SSE", + "comment": "Streaming SIMD Extensions (/arch:SSE)", + "value": "StreamingSIMDExtensions", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:SSE2", + "comment": "Streaming SIMD Extensions 2 (/arch:SSE2)", + "value": "StreamingSIMDExtensions2", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "FloatingPointModel", + "switch": "fp:precise", + "comment": "Precise", + "value": "Precise", + "flags": [] + }, + { + "name": "FloatingPointModel", + "switch": "fp:strict", + "comment": "Strict", + "value": "Strict", + "flags": [] + }, + { + "name": "FloatingPointModel", + "switch": "fp:fast", + "comment": "Fast", + "value": "Fast", + "flags": [] + }, + { + "name": "PrecompiledHeader", + "switch": "Yc", + "comment": "Create", + "value": "Create", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "PrecompiledHeader", + "switch": "Yu", + "comment": "Use", + "value": "Use", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "PrecompiledHeader", + "switch": "", + "comment": "Not Using Precompiled Headers", + "value": "NotUsing", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "", + "comment": "No Listing", + "value": "NoListing", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FA", + "comment": "Assembly-Only Listing", + "value": "AssemblyCode", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FAc", + "comment": "Assembly With Machine Code", + "value": "AssemblyAndMachineCode", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FAs", + "comment": "Assembly With Source Code", + "value": "AssemblyAndSourceCode", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FAcs", + "comment": "Assembly, Machine Code and Source", + "value": "All", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gd", + "comment": "__cdecl", + "value": "Cdecl", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gr", + "comment": "__fastcall", + "value": "FastCall", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gz", + "comment": "__stdcall", + "value": "StdCall", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "TC", + "comment": "Compile as C Code", + "value": "CompileAsC", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "TP", + "comment": "Compile as C++ Code", + "value": "CompileAsCpp", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:none", + "comment": "Do Not Send Report", + "value": "None", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:prompt", + "comment": "Prompt Immediately", + "value": "Prompt", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:queue", + "comment": "Queue For Next Login", + "value": "Queue", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:send", + "comment": "Send Automatically", + "value": "Send", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "nologo-", + "comment": "Suppress Startup Banner", + "value": "false", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "nologo", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningAsError", + "switch": "WX-", + "comment": "Treat Warnings As Errors", + "value": "false", + "flags": [] + }, + { + "name": "TreatWarningAsError", + "switch": "WX", + "comment": "Treat Warnings As Errors", + "value": "true", + "flags": [] + }, + { + "name": "MultiProcessorCompilation", + "switch": "MP", + "comment": "Multi-processor Compilation", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "IntrinsicFunctions", + "switch": "Oi", + "comment": "Enable Intrinsic Functions", + "value": "true", + "flags": [] + }, + { + "name": "OmitFramePointers", + "switch": "Oy-", + "comment": "Omit Frame Pointers", + "value": "false", + "flags": [] + }, + { + "name": "OmitFramePointers", + "switch": "Oy", + "comment": "Omit Frame Pointers", + "value": "true", + "flags": [] + }, + { + "name": "EnableFiberSafeOptimizations", + "switch": "GT", + "comment": "Enable Fiber-Safe Optimizations", + "value": "true", + "flags": [] + }, + { + "name": "WholeProgramOptimization", + "switch": "GL", + "comment": "Whole Program Optimization", + "value": "true", + "flags": [] + }, + { + "name": "UndefineAllPreprocessorDefinitions", + "switch": "u", + "comment": "Undefine All Preprocessor Definitions", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreStandardIncludePath", + "switch": "X", + "comment": "Ignore Standard Include Paths", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessToFile", + "switch": "P", + "comment": "Preprocess to a File", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessSuppressLineNumbers", + "switch": "EP", + "comment": "Preprocess Suppress Line Numbers", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessKeepComments", + "switch": "C", + "comment": "Keep Comments", + "value": "true", + "flags": [] + }, + { + "name": "StringPooling", + "switch": "GF-", + "comment": "Enable String Pooling", + "value": "false", + "flags": [] + }, + { + "name": "StringPooling", + "switch": "GF", + "comment": "Enable String Pooling", + "value": "true", + "flags": [] + }, + { + "name": "MinimalRebuild", + "switch": "Gm-", + "comment": "Enable Minimal Rebuild", + "value": "false", + "flags": [] + }, + { + "name": "MinimalRebuild", + "switch": "Gm", + "comment": "Enable Minimal Rebuild", + "value": "true", + "flags": [] + }, + { + "name": "SmallerTypeCheck", + "switch": "RTCc", + "comment": "Smaller Type Check", + "value": "true", + "flags": [] + }, + { + "name": "BufferSecurityCheck", + "switch": "GS-", + "comment": "Buffer Security Check", + "value": "false", + "flags": [] + }, + { + "name": "BufferSecurityCheck", + "switch": "GS", + "comment": "Buffer Security Check", + "value": "true", + "flags": [] + }, + { + "name": "FunctionLevelLinking", + "switch": "Gy-", + "comment": "Enable Function-Level Linking", + "value": "false", + "flags": [] + }, + { + "name": "FunctionLevelLinking", + "switch": "Gy", + "comment": "Enable Function-Level Linking", + "value": "true", + "flags": [] + }, + { + "name": "FloatingPointExceptions", + "switch": "fp:except-", + "comment": "Enable Floating Point Exceptions", + "value": "false", + "flags": [] + }, + { + "name": "FloatingPointExceptions", + "switch": "fp:except", + "comment": "Enable Floating Point Exceptions", + "value": "true", + "flags": [] + }, + { + "name": "CreateHotpatchableImage", + "switch": "hotpatch", + "comment": "Create Hotpatchable Image", + "value": "true", + "flags": [] + }, + { + "name": "DisableLanguageExtensions", + "switch": "Za", + "comment": "Disable Language Extensions", + "value": "true", + "flags": [] + }, + { + "name": "TreatWChar_tAsBuiltInType", + "switch": "Zc:wchar_t-", + "comment": "Treat WChar_t As Built in Type", + "value": "false", + "flags": [] + }, + { + "name": "TreatWChar_tAsBuiltInType", + "switch": "Zc:wchar_t", + "comment": "Treat WChar_t As Built in Type", + "value": "true", + "flags": [] + }, + { + "name": "ForceConformanceInForLoopScope", + "switch": "Zc:forScope-", + "comment": "Force Conformance in For Loop Scope", + "value": "false", + "flags": [] + }, + { + "name": "ForceConformanceInForLoopScope", + "switch": "Zc:forScope", + "comment": "Force Conformance in For Loop Scope", + "value": "true", + "flags": [] + }, + { + "name": "RuntimeTypeInfo", + "switch": "GR-", + "comment": "Enable Run-Time Type Information", + "value": "false", + "flags": [] + }, + { + "name": "RuntimeTypeInfo", + "switch": "GR", + "comment": "Enable Run-Time Type Information", + "value": "true", + "flags": [] + }, + { + "name": "OpenMPSupport", + "switch": "openmp-", + "comment": "Open MP Support", + "value": "false", + "flags": [] + }, + { + "name": "OpenMPSupport", + "switch": "openmp", + "comment": "Open MP Support", + "value": "true", + "flags": [] + }, + { + "name": "ExpandAttributedSource", + "switch": "Fx", + "comment": "Expand Attributed Source", + "value": "true", + "flags": [] + }, + { + "name": "GenerateXMLDocumentationFiles", + "switch": "doc", + "comment": "Generate XML Documentation Files", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "BrowseInformation", + "switch": "FR", + "comment": "Enable Browse Information", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "ShowIncludes", + "switch": "showIncludes", + "comment": "Show Includes", + "value": "true", + "flags": [] + }, + { + "name": "EnablePREfast", + "switch": "analyze-", + "comment": "Enable Code Analysis", + "value": "false", + "flags": [] + }, + { + "name": "EnablePREfast", + "switch": "analyze", + "comment": "Enable Code Analysis", + "value": "true", + "flags": [] + }, + { + "name": "UseFullPaths", + "switch": "FC", + "comment": "Use Full Paths", + "value": "true", + "flags": [] + }, + { + "name": "OmitDefaultLibName", + "switch": "Zl", + "comment": "Omit Default Library Name", + "value": "true", + "flags": [] + }, + { + "name": "UseUnicodeForAssemblerListing", + "switch": "FAu", + "comment": "Use Unicode For Assembler Listing", + "value": "true", + "flags": [] + }, + { + "name": "AdditionalIncludeDirectories", + "switch": "I", + "comment": "Additional Include Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalUsingDirectories", + "switch": "AI", + "comment": "Resolve #using References", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PreprocessorDefinitions", + "switch": "D", + "comment": "Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "UndefinePreprocessorDefinitions", + "switch": "U", + "comment": "Undefine Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "DisableSpecificWarnings", + "switch": "wd", + "comment": "Disable Specific Warnings", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ForcedIncludeFiles", + "switch": "FI", + "comment": "Forced Include File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ForcedUsingFiles", + "switch": "FU", + "comment": "Forced #using File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "TreatSpecificWarningsAsErrors", + "switch": "we", + "comment": "Treat Specific Warnings As Errors", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PreprocessOutputPath", + "switch": "Fi", + "comment": "Preprocess Output Path", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "PrecompiledHeaderFile", + "switch": "Yu", + "comment": "Precompiled Header File", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "PrecompiledHeaderFile", + "switch": "Yc", + "comment": "Precompiled Header File", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "PrecompiledHeaderOutputFile", + "switch": "Fp", + "comment": "Precompiled Header Output File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "AssemblerListingLocation", + "switch": "Fa", + "comment": "ASM List Location", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ObjectFileName", + "switch": "Fo", + "comment": "Object File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProgramDataBaseFileName", + "switch": "Fd", + "comment": "Program Database File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "XMLDocumentationFileName", + "switch": "doc", + "comment": "XML Documentation File Name", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "BrowseInformationFile", + "switch": "FR", + "comment": "Browse Information File", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "ProcessorNumber", + "switch": "MP", + "comment": "Number of processors", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v10_LIB.json b/Templates/MSBuild/FlagTables/v10_LIB.json new file mode 100644 index 0000000..58a238c --- /dev/null +++ b/Templates/MSBuild/FlagTables/v10_LIB.json @@ -0,0 +1,297 @@ +[ + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:PROMPT", + "comment": "PromptImmediately", + "value": "PromptImmediately", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:QUEUE", + "comment": "Queue For Next Login", + "value": "QueueForNextLogin", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:SEND", + "comment": "Send Error Report", + "value": "SendErrorReport", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:NONE", + "comment": "No Error Report", + "value": "NoErrorReport", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:ARM", + "comment": "MachineARM", + "value": "MachineARM", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:EBC", + "comment": "MachineEBC", + "value": "MachineEBC", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:IA64", + "comment": "MachineIA64", + "value": "MachineIA64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS", + "comment": "MachineMIPS", + "value": "MachineMIPS", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS16", + "comment": "MachineMIPS16", + "value": "MachineMIPS16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU", + "comment": "MachineMIPSFPU", + "value": "MachineMIPSFPU", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU16", + "comment": "MachineMIPSFPU16", + "value": "MachineMIPSFPU16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:SH4", + "comment": "MachineSH4", + "value": "MachineSH4", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:THUMB", + "comment": "MachineTHUMB", + "value": "MachineTHUMB", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X64", + "comment": "MachineX64", + "value": "MachineX64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X86", + "comment": "MachineX86", + "value": "MachineX86", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:CONSOLE", + "comment": "Console", + "value": "Console", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:WINDOWS", + "comment": "Windows", + "value": "Windows", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:NATIVE", + "comment": "Native", + "value": "Native", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_APPLICATION", + "comment": "EFI Application", + "value": "EFI Application", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", + "comment": "EFI Boot Service Driver", + "value": "EFI Boot Service Driver", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_ROM", + "comment": "EFI ROM", + "value": "EFI ROM", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_RUNTIME_DRIVER", + "comment": "EFI Runtime", + "value": "EFI Runtime", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:WINDOWSCE", + "comment": "WindowsCE", + "value": "WindowsCE", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:POSIX", + "comment": "POSIX", + "value": "POSIX", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "NOLOGO", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreAllDefaultLibraries", + "switch": "NODEFAULTLIB", + "comment": "Ignore All Default Libraries", + "value": "true", + "flags": [] + }, + { + "name": "TreatLibWarningAsErrors", + "switch": "WX:NO", + "comment": "Treat Lib Warning As Errors", + "value": "false", + "flags": [] + }, + { + "name": "TreatLibWarningAsErrors", + "switch": "WX", + "comment": "Treat Lib Warning As Errors", + "value": "true", + "flags": [] + }, + { + "name": "Verbose", + "switch": "VERBOSE", + "comment": "Verbose", + "value": "true", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG", + "comment": "Link Time Code Generation", + "value": "true", + "flags": [] + }, + { + "name": "AdditionalLibraryDirectories", + "switch": "LIBPATH:", + "comment": "Additional Library Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "IgnoreSpecificDefaultLibraries", + "switch": "NODEFAULTLIB:", + "comment": "Ignore Specific Default Libraries", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ExportNamedFunctions", + "switch": "EXPORT:", + "comment": "Export Named Functions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "RemoveObjects", + "switch": "REMOVE:", + "comment": "Remove Objects", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "OutputFile", + "switch": "OUT:", + "comment": "Output File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ModuleDefinitionFile", + "switch": "DEF:", + "comment": "Module Definition File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ForceSymbolReferences", + "switch": "INCLUDE:", + "comment": "Force Symbol References", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "DisplayLibrary", + "switch": "LIST:", + "comment": "Display Library to standard output", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "Name", + "switch": "NAME:", + "comment": "Name", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v10_Link.json b/Templates/MSBuild/FlagTables/v10_Link.json new file mode 100644 index 0000000..b4f6d9f --- /dev/null +++ b/Templates/MSBuild/FlagTables/v10_Link.json @@ -0,0 +1,1156 @@ +[ + { + "name": "ShowProgress", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE", + "comment": "Display all progress messages", + "value": "LinkVerbose", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:Lib", + "comment": "For Libraries Searched", + "value": "LinkVerboseLib", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:ICF", + "comment": "About COMDAT folding during optimized linking", + "value": "LinkVerboseICF", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:REF", + "comment": "About data removed during optimized linking", + "value": "LinkVerboseREF", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:SAFESEH", + "comment": "About Modules incompatible with SEH", + "value": "LinkVerboseSAFESEH", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:CLR", + "comment": "About linker activity related to managed code", + "value": "LinkVerboseCLR", + "flags": [] + }, + { + "name": "ForceFileOutput", + "switch": "FORCE", + "comment": "Enabled", + "value": "Enabled", + "flags": [] + }, + { + "name": "ForceFileOutput", + "switch": "FORCE:MULTIPLE", + "comment": "Multiply Defined Symbol Only", + "value": "MultiplyDefinedSymbolOnly", + "flags": [] + }, + { + "name": "ForceFileOutput", + "switch": "FORCE:UNRESOLVED", + "comment": "Undefined Symbol Only", + "value": "UndefinedSymbolOnly", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN", + "comment": "Enabled", + "value": "Enabled", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN:5", + "comment": "X86 Image Only", + "value": "X86Image", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN:6", + "comment": "X64 Image Only", + "value": "X64Image", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN:16", + "comment": "Itanium Image Only", + "value": "ItaniumImage", + "flags": [] + }, + { + "name": "UACExecutionLevel", + "switch": "level='asInvoker'", + "comment": "asInvoker", + "value": "AsInvoker", + "flags": [] + }, + { + "name": "UACExecutionLevel", + "switch": "level='highestAvailable'", + "comment": "highestAvailable", + "value": "HighestAvailable", + "flags": [] + }, + { + "name": "UACExecutionLevel", + "switch": "level='requireAdministrator'", + "comment": "requireAdministrator", + "value": "RequireAdministrator", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:CONSOLE", + "comment": "Console", + "value": "Console", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:WINDOWS", + "comment": "Windows", + "value": "Windows", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:NATIVE", + "comment": "Native", + "value": "Native", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_APPLICATION", + "comment": "EFI Application", + "value": "EFI Application", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", + "comment": "EFI Boot Service Driver", + "value": "EFI Boot Service Driver", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_ROM", + "comment": "EFI ROM", + "value": "EFI ROM", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_RUNTIME_DRIVER", + "comment": "EFI Runtime", + "value": "EFI Runtime", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:WINDOWSCE", + "comment": "WindowsCE", + "value": "WindowsCE", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:POSIX", + "comment": "POSIX", + "value": "POSIX", + "flags": [] + }, + { + "name": "Driver", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "Driver", + "switch": "Driver", + "comment": "Driver", + "value": "Driver", + "flags": [] + }, + { + "name": "Driver", + "switch": "DRIVER:UPONLY", + "comment": "UP Only", + "value": "UpOnly", + "flags": [] + }, + { + "name": "Driver", + "switch": "DRIVER:WDM", + "comment": "WDM", + "value": "WDM", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG", + "comment": "Use Link Time Code Generation", + "value": "UseLinkTimeCodeGeneration", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:PGInstrument", + "comment": "Profile Guided Optimization - Instrument", + "value": "PGInstrument", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:PGOptimize", + "comment": "Profile Guided Optimization - Optimization", + "value": "PGOptimization", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:PGUpdate", + "comment": "Profile Guided Optimization - Update", + "value": "PGUpdate", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:ARM", + "comment": "MachineARM", + "value": "MachineARM", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:EBC", + "comment": "MachineEBC", + "value": "MachineEBC", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:IA64", + "comment": "MachineIA64", + "value": "MachineIA64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS", + "comment": "MachineMIPS", + "value": "MachineMIPS", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS16", + "comment": "MachineMIPS16", + "value": "MachineMIPS16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU", + "comment": "MachineMIPSFPU", + "value": "MachineMIPSFPU", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU16", + "comment": "MachineMIPSFPU16", + "value": "MachineMIPSFPU16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:SH4", + "comment": "MachineSH4", + "value": "MachineSH4", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:THUMB", + "comment": "MachineTHUMB", + "value": "MachineTHUMB", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X64", + "comment": "MachineX64", + "value": "MachineX64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X86", + "comment": "MachineX86", + "value": "MachineX86", + "flags": [] + }, + { + "name": "CLRThreadAttribute", + "switch": "CLRTHREADATTRIBUTE:MTA", + "comment": "MTA threading attribute", + "value": "MTAThreadingAttribute", + "flags": [] + }, + { + "name": "CLRThreadAttribute", + "switch": "CLRTHREADATTRIBUTE:STA", + "comment": "STA threading attribute", + "value": "STAThreadingAttribute", + "flags": [] + }, + { + "name": "CLRThreadAttribute", + "switch": "CLRTHREADATTRIBUTE:NONE", + "comment": "Default threading attribute", + "value": "DefaultThreadingAttribute", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "CLRIMAGETYPE:IJW", + "comment": "Force IJW image", + "value": "ForceIJWImage", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "CLRIMAGETYPE:PURE", + "comment": "Force Pure IL Image", + "value": "ForcePureILImage", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "CLRIMAGETYPE:SAFE", + "comment": "Force Safe IL Image", + "value": "ForceSafeILImage", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "", + "comment": "Default image type", + "value": "Default", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:PROMPT", + "comment": "PromptImmediately", + "value": "PromptImmediately", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:QUEUE", + "comment": "Queue For Next Login", + "value": "QueueForNextLogin", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:SEND", + "comment": "Send Error Report", + "value": "SendErrorReport", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:NONE", + "comment": "No Error Report", + "value": "NoErrorReport", + "flags": [] + }, + { + "name": "CLRSupportLastError", + "switch": "CLRSupportLastError", + "comment": "Enabled", + "value": "Enabled", + "flags": [] + }, + { + "name": "CLRSupportLastError", + "switch": "CLRSupportLastError:NO", + "comment": "Disabled", + "value": "Disabled", + "flags": [] + }, + { + "name": "CLRSupportLastError", + "switch": "CLRSupportLastError:SYSTEMDLL", + "comment": "System Dlls Only", + "value": "SystemDlls", + "flags": [] + }, + { + "name": "LinkIncremental", + "switch": "INCREMENTAL:NO", + "comment": "Enable Incremental Linking", + "value": "false", + "flags": [] + }, + { + "name": "LinkIncremental", + "switch": "INCREMENTAL", + "comment": "Enable Incremental Linking", + "value": "true", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "NOLOGO", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "LinkStatus", + "switch": "LTCG:NOSTATUS", + "comment": "Link Status", + "value": "false", + "flags": [] + }, + { + "name": "LinkStatus", + "switch": "LTCG:STATUS", + "comment": "Link Status", + "value": "true", + "flags": [] + }, + { + "name": "PreventDllBinding", + "switch": "ALLOWBIND:NO", + "comment": "Prevent Dll Binding", + "value": "false", + "flags": [] + }, + { + "name": "PreventDllBinding", + "switch": "ALLOWBIND", + "comment": "Prevent Dll Binding", + "value": "true", + "flags": [] + }, + { + "name": "TreatLinkerWarningAsErrors", + "switch": "WX:NO", + "comment": "Treat Linker Warning As Errors", + "value": "false", + "flags": [] + }, + { + "name": "TreatLinkerWarningAsErrors", + "switch": "WX", + "comment": "Treat Linker Warning As Errors", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreAllDefaultLibraries", + "switch": "NODEFAULTLIB", + "comment": "Ignore All Default Libraries", + "value": "true", + "flags": [] + }, + { + "name": "GenerateManifest", + "switch": "MANIFEST:NO", + "comment": "Generate Manifest", + "value": "false", + "flags": [] + }, + { + "name": "GenerateManifest", + "switch": "MANIFEST", + "comment": "Generate Manifest", + "value": "true", + "flags": [] + }, + { + "name": "AllowIsolation", + "switch": "ALLOWISOLATION:NO", + "comment": "Allow Isolation", + "value": "false", + "flags": [] + }, + { + "name": "AllowIsolation", + "switch": "ALLOWISOLATION", + "comment": "Allow Isolation", + "value": "true", + "flags": [] + }, + { + "name": "EnableUAC", + "switch": "MANIFESTUAC:NO", + "comment": "Enable User Account Control (UAC)", + "value": "false", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "EnableUAC", + "switch": "MANIFESTUAC:", + "comment": "Enable User Account Control (UAC)", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "UACUIAccess", + "switch": "uiAccess='false'", + "comment": "UAC Bypass UI Protection", + "value": "false", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "UACUIAccess", + "switch": "MANIFESTUAC:", + "comment": "UAC Bypass UI Protection", + "value": "true", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "UACUIAccess", + "switch": "uiAccess='false'", + "comment": "UAC Bypass UI Protection", + "value": "false", + "flags": [] + }, + { + "name": "UACUIAccess", + "switch": "uiAccess='true'", + "comment": "UAC Bypass UI Protection", + "value": "true", + "flags": [] + }, + { + "name": "GenerateDebugInformation", + "switch": "DEBUG", + "comment": "Generate Debug Info", + "value": "true", + "flags": [] + }, + { + "name": "GenerateMapFile", + "switch": "MAP", + "comment": "Generate Map File", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "MapExports", + "switch": "MAPINFO:EXPORTS", + "comment": "Map Exports", + "value": "true", + "flags": [] + }, + { + "name": "AssemblyDebug", + "switch": "ASSEMBLYDEBUG:DISABLE", + "comment": "Debuggable Assembly", + "value": "false", + "flags": [] + }, + { + "name": "AssemblyDebug", + "switch": "ASSEMBLYDEBUG", + "comment": "Debuggable Assembly", + "value": "true", + "flags": [] + }, + { + "name": "LargeAddressAware", + "switch": "LARGEADDRESSAWARE:NO", + "comment": "Enable Large Addresses", + "value": "false", + "flags": [] + }, + { + "name": "LargeAddressAware", + "switch": "LARGEADDRESSAWARE", + "comment": "Enable Large Addresses", + "value": "true", + "flags": [] + }, + { + "name": "TerminalServerAware", + "switch": "TSAWARE:NO", + "comment": "Terminal Server", + "value": "false", + "flags": [] + }, + { + "name": "TerminalServerAware", + "switch": "TSAWARE", + "comment": "Terminal Server", + "value": "true", + "flags": [] + }, + { + "name": "SwapRunFromCD", + "switch": "SWAPRUN:CD", + "comment": "Swap Run From CD", + "value": "true", + "flags": [] + }, + { + "name": "SwapRunFromNET", + "switch": "SWAPRUN:NET", + "comment": "Swap Run From Network", + "value": "true", + "flags": [] + }, + { + "name": "OptimizeReferences", + "switch": "OPT:NOREF", + "comment": "References", + "value": "false", + "flags": [] + }, + { + "name": "OptimizeReferences", + "switch": "OPT:REF", + "comment": "References", + "value": "true", + "flags": [] + }, + { + "name": "EnableCOMDATFolding", + "switch": "OPT:NOICF", + "comment": "Enable COMDAT Folding", + "value": "false", + "flags": [] + }, + { + "name": "EnableCOMDATFolding", + "switch": "OPT:ICF", + "comment": "Enable COMDAT Folding", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreEmbeddedIDL", + "switch": "IGNOREIDL", + "comment": "Ignore Embedded IDL", + "value": "true", + "flags": [] + }, + { + "name": "NoEntryPoint", + "switch": "NOENTRY", + "comment": "No Entry Point", + "value": "true", + "flags": [] + }, + { + "name": "SetChecksum", + "switch": "RELEASE", + "comment": "Set Checksum", + "value": "true", + "flags": [] + }, + { + "name": "RandomizedBaseAddress", + "switch": "DYNAMICBASE:NO", + "comment": "Randomized Base Address", + "value": "false", + "flags": [] + }, + { + "name": "RandomizedBaseAddress", + "switch": "DYNAMICBASE", + "comment": "Randomized Base Address", + "value": "true", + "flags": [] + }, + { + "name": "FixedBaseAddress", + "switch": "FIXED:NO", + "comment": "Fixed Base Address", + "value": "false", + "flags": [] + }, + { + "name": "FixedBaseAddress", + "switch": "FIXED", + "comment": "Fixed Base Address", + "value": "true", + "flags": [] + }, + { + "name": "DataExecutionPrevention", + "switch": "NXCOMPAT:NO", + "comment": "Data Execution Prevention (DEP)", + "value": "false", + "flags": [] + }, + { + "name": "DataExecutionPrevention", + "switch": "NXCOMPAT", + "comment": "Data Execution Prevention (DEP)", + "value": "true", + "flags": [] + }, + { + "name": "TurnOffAssemblyGeneration", + "switch": "NOASSEMBLY", + "comment": "Turn Off Assembly Generation", + "value": "true", + "flags": [] + }, + { + "name": "SupportUnloadOfDelayLoadedDLL", + "switch": "DELAY:UNLOAD", + "comment": "Unload delay loaded DLL", + "value": "true", + "flags": [] + }, + { + "name": "SupportNobindOfDelayLoadedDLL", + "switch": "DELAY:NOBIND", + "comment": "Nobind delay loaded DLL", + "value": "true", + "flags": [] + }, + { + "name": "Profile", + "switch": "PROFILE", + "comment": "Profile", + "value": "true", + "flags": [] + }, + { + "name": "LinkDelaySign", + "switch": "DELAYSIGN:NO", + "comment": "Delay Sign", + "value": "false", + "flags": [] + }, + { + "name": "LinkDelaySign", + "switch": "DELAYSIGN", + "comment": "Delay Sign", + "value": "true", + "flags": [] + }, + { + "name": "CLRUnmanagedCodeCheck", + "switch": "CLRUNMANAGEDCODECHECK:NO", + "comment": "CLR Unmanaged Code Check", + "value": "false", + "flags": [] + }, + { + "name": "CLRUnmanagedCodeCheck", + "switch": "CLRUNMANAGEDCODECHECK", + "comment": "CLR Unmanaged Code Check", + "value": "true", + "flags": [] + }, + { + "name": "ImageHasSafeExceptionHandlers", + "switch": "SAFESEH:NO", + "comment": "Image Has Safe Exception Handlers", + "value": "false", + "flags": [] + }, + { + "name": "ImageHasSafeExceptionHandlers", + "switch": "SAFESEH", + "comment": "Image Has Safe Exception Handlers", + "value": "true", + "flags": [] + }, + { + "name": "LinkDLL", + "switch": "DLL", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AdditionalLibraryDirectories", + "switch": "LIBPATH:", + "comment": "Additional Library Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "IgnoreSpecificDefaultLibraries", + "switch": "NODEFAULTLIB:", + "comment": "Ignore Specific Default Libraries", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AddModuleNamesToAssembly", + "switch": "ASSEMBLYMODULE:", + "comment": "Add Module to Assembly", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "EmbedManagedResourceFile", + "switch": "ASSEMBLYRESOURCE:", + "comment": "Embed Managed Resource File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ForceSymbolReferences", + "switch": "INCLUDE:", + "comment": "Force Symbol References", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "DelayLoadDLLs", + "switch": "DELAYLOAD:", + "comment": "Delay Loaded Dlls", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AssemblyLinkResource", + "switch": "ASSEMBLYLINKRESOURCE:", + "comment": "Assembly Link Resource", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalManifestDependencies", + "switch": "MANIFESTDEPENDENCY:", + "comment": "Additional Manifest Dependencies", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "OutputFile", + "switch": "OUT:", + "comment": "Output File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "Version", + "switch": "VERSION:", + "comment": "Version", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "SpecifySectionAttributes", + "switch": "SECTION:", + "comment": "Specify Section Attributes", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MSDOSStubFileName", + "switch": "STUB:", + "comment": "MS-DOS Stub File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ModuleDefinitionFile", + "switch": "DEF:", + "comment": "Module Definition File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ManifestFile", + "switch": "ManifestFile:", + "comment": "Manifest File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProgramDatabaseFile", + "switch": "PDB:", + "comment": "Generate Program Database File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "StripPrivateSymbols", + "switch": "PDBSTRIPPED:", + "comment": "Strip Private Symbols", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MapFileName", + "switch": "MAP:", + "comment": "Map File Name", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "HeapReserveSize", + "switch": "HEAP:", + "comment": "Heap Reserve Size", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "HeapCommitSize", + "switch": "HEAP", + "comment": "Heap Commit Size", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "StackReserveSize", + "switch": "STACK:", + "comment": "Stack Reserve Size", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "StackCommitSize", + "switch": "STACK", + "comment": "Stack Commit Size", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "FunctionOrder", + "switch": "ORDER:@", + "comment": "Function Order", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProfileGuidedDatabase", + "switch": "PGD:", + "comment": "Profile Guided Database", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MidlCommandFile", + "switch": "MIDL:@", + "comment": "MIDL Commands", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MergedIDLBaseFileName", + "switch": "IDLOUT:", + "comment": "Merged IDL Base File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "TypeLibraryFile", + "switch": "TLBOUT:", + "comment": "Type Library", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "EntryPointSymbol", + "switch": "ENTRY:", + "comment": "Entry Point", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "BaseAddress", + "switch": "BASE:", + "comment": "Base Address", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ImportLibrary", + "switch": "IMPLIB:", + "comment": "Import Library", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MergeSections", + "switch": "MERGE:", + "comment": "Merge Sections", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "LinkKeyFile", + "switch": "KEYFILE:", + "comment": "Key File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "KeyContainer", + "switch": "KEYCONTAINER:", + "comment": "Key Container", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "TypeLibraryResourceID", + "switch": "TLBID:", + "comment": "TypeLib Resource ID", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "SectionAlignment", + "switch": "ALIGN:", + "comment": "SectionAlignment", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v10_MASM.json b/Templates/MSBuild/FlagTables/v10_MASM.json new file mode 100644 index 0000000..51a48c8 --- /dev/null +++ b/Templates/MSBuild/FlagTables/v10_MASM.json @@ -0,0 +1,295 @@ +[ + { + "name": "PreserveIdentifierCase", + "switch": "", + "comment": "Default", + "value": "0", + "flags": [] + }, + { + "name": "PreserveIdentifierCase", + "switch": "Cp", + "comment": "Preserves Identifier Case (/Cp)", + "value": "1", + "flags": [] + }, + { + "name": "PreserveIdentifierCase", + "switch": "Cu", + "comment": "Maps all identifiers to upper case. (/Cu)", + "value": "2", + "flags": [] + }, + { + "name": "PreserveIdentifierCase", + "switch": "Cx", + "comment": "Preserves case in public and extern symbols. (/Cx)", + "value": "3", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W0", + "comment": "Warning Level 0 (/W0)", + "value": "0", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W1", + "comment": "Warning Level 1 (/W1)", + "value": "1", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W2", + "comment": "Warning Level 2 (/W2)", + "value": "2", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W3", + "comment": "Warning Level 3 (/W3)", + "value": "3", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "", + "comment": "Default", + "value": "0", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp1", + "comment": "One Byte Boundary (/Zp1)", + "value": "1", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp2", + "comment": "Two Byte Boundary (/Zp2)", + "value": "2", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp4", + "comment": "Four Byte Boundary (/Zp4)", + "value": "3", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp8", + "comment": "Eight Byte Boundary (/Zp8)", + "value": "4", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp16", + "comment": "Sixteen Byte Boundary (/Zp16)", + "value": "5", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "", + "comment": "Default", + "value": "0", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gd", + "comment": "Use C-style Calling Convention (/Gd)", + "value": "1", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gz", + "comment": "Use stdcall Calling Convention (/Gz)", + "value": "2", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gc", + "comment": "Use Pascal Calling Convention (/Gc)", + "value": "3", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:prompt", + "comment": "Prompt to send report immediately (/errorReport:prompt)", + "value": "0", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:queue", + "comment": "Prompt to send report at the next logon (/errorReport:queue)", + "value": "1", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:send", + "comment": "Automatically send report (/errorReport:send)", + "value": "2", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:none", + "comment": "Do not send report (/errorReport:none)", + "value": "3", + "flags": [] + }, + { + "name": "NoLogo", + "switch": "nologo", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "GeneratePreprocessedSourceListing", + "switch": "EP", + "comment": "Generate Preprocessed Source Listing", + "value": "true", + "flags": [] + }, + { + "name": "ListAllAvailableInformation", + "switch": "Sa", + "comment": "List All Available Information", + "value": "true", + "flags": [] + }, + { + "name": "UseSafeExceptionHandlers", + "switch": "safeseh", + "comment": "Use Safe Exception Handlers", + "value": "true", + "flags": [] + }, + { + "name": "AddFirstPassListing", + "switch": "Sf", + "comment": "Add First Pass Listing", + "value": "true", + "flags": [] + }, + { + "name": "EnableAssemblyGeneratedCodeListing", + "switch": "Sg", + "comment": "Enable Assembly Generated Code Listing", + "value": "true", + "flags": [] + }, + { + "name": "DisableSymbolTable", + "switch": "Sn", + "comment": "Disable Symbol Table", + "value": "true", + "flags": [] + }, + { + "name": "EnableFalseConditionalsInListing", + "switch": "Sx", + "comment": "Enable False Conditionals In Listing", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "WX", + "comment": "Treat Warnings As Errors", + "value": "true", + "flags": [] + }, + { + "name": "MakeAllSymbolsPublic", + "switch": "Zf", + "comment": "Make All Symbols Public", + "value": "true", + "flags": [] + }, + { + "name": "GenerateDebugInformation", + "switch": "Zi", + "comment": "Generate Debug Information", + "value": "true", + "flags": [] + }, + { + "name": "EnableMASM51Compatibility", + "switch": "Zm", + "comment": "Enable MASM 5.1 Compatibility", + "value": "true", + "flags": [] + }, + { + "name": "PerformSyntaxCheckOnly", + "switch": "Zs", + "comment": "Perform Syntax Check Only", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessorDefinitions", + "switch": "D\"[value]\"", + "comment": "Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "IncludePaths", + "switch": "I \"[value]\"", + "comment": "Include Paths", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "BrowseFile", + "switch": "FR\"[value]\"", + "comment": "Generate Browse Information File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ObjectFileName", + "switch": "Fo\"[value]\"", + "comment": "Object File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "AssembledCodeListingFile", + "switch": "Fl\"[value]\"", + "comment": "Assembled Code Listing File", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v10_RC.json b/Templates/MSBuild/FlagTables/v10_RC.json new file mode 100644 index 0000000..b8c0127 --- /dev/null +++ b/Templates/MSBuild/FlagTables/v10_RC.json @@ -0,0 +1,69 @@ +[ + { + "name": "IgnoreStandardIncludePath", + "switch": "X", + "comment": "Ignore Standard Include Paths", + "value": "true", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "v", + "comment": "Show Progress", + "value": "true", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "nologo", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "NullTerminateStrings", + "switch": "n", + "comment": "Null Terminate Strings", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessorDefinitions", + "switch": "D", + "comment": "Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "UndefinePreprocessorDefinitions", + "switch": "u", + "comment": "Undefine Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalIncludeDirectories", + "switch": "I", + "comment": "Additional Include Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ResourceOutputFileName", + "switch": "fo", + "comment": "Resource File Name", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v11_CL.json b/Templates/MSBuild/FlagTables/v11_CL.json new file mode 100644 index 0000000..e1c3871 --- /dev/null +++ b/Templates/MSBuild/FlagTables/v11_CL.json @@ -0,0 +1,1073 @@ +[ + { + "name": "DebugInformationFormat", + "switch": "", + "comment": "None", + "value": "None", + "flags": [] + }, + { + "name": "DebugInformationFormat", + "switch": "Z7", + "comment": "C7 compatible", + "value": "OldStyle", + "flags": [] + }, + { + "name": "DebugInformationFormat", + "switch": "Zi", + "comment": "Program Database", + "value": "ProgramDatabase", + "flags": [] + }, + { + "name": "DebugInformationFormat", + "switch": "ZI", + "comment": "Program Database for Edit And Continue", + "value": "EditAndContinue", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "", + "comment": "No Common Language RunTime Support", + "value": "false", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr", + "comment": "Common Language RunTime Support", + "value": "true", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr:pure", + "comment": "Pure MSIL Common Language RunTime Support", + "value": "Pure", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr:safe", + "comment": "Safe MSIL Common Language RunTime Support", + "value": "Safe", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr:oldSyntax", + "comment": "Common Language RunTime Support, Old Syntax", + "value": "OldSyntax", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W0", + "comment": "Turn Off All Warnings", + "value": "TurnOffAllWarnings", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W1", + "comment": "Level1", + "value": "Level1", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W2", + "comment": "Level2", + "value": "Level2", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W3", + "comment": "Level3", + "value": "Level3", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W4", + "comment": "Level4", + "value": "Level4", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "Wall", + "comment": "EnableAllWarnings", + "value": "EnableAllWarnings", + "flags": [] + }, + { + "name": "Optimization", + "switch": "Od", + "comment": "Disabled", + "value": "Disabled", + "flags": [] + }, + { + "name": "Optimization", + "switch": "O1", + "comment": "Minimize Size", + "value": "MinSpace", + "flags": [] + }, + { + "name": "Optimization", + "switch": "O2", + "comment": "Maximize Speed", + "value": "MaxSpeed", + "flags": [] + }, + { + "name": "Optimization", + "switch": "Ox", + "comment": "Full Optimization", + "value": "Full", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "Ob0", + "comment": "Disabled", + "value": "Disabled", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "Ob1", + "comment": "Only __inline", + "value": "OnlyExplicitInline", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "Ob2", + "comment": "Any Suitable", + "value": "AnySuitable", + "flags": [] + }, + { + "name": "FavorSizeOrSpeed", + "switch": "Os", + "comment": "Favor small code", + "value": "Size", + "flags": [] + }, + { + "name": "FavorSizeOrSpeed", + "switch": "Ot", + "comment": "Favor fast code", + "value": "Speed", + "flags": [] + }, + { + "name": "FavorSizeOrSpeed", + "switch": "", + "comment": "Neither", + "value": "Neither", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "EHa", + "comment": "Yes with SEH Exceptions", + "value": "Async", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "EHsc", + "comment": "Yes", + "value": "Sync", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "EHs", + "comment": "Yes with Extern C functions", + "value": "SyncCThrow", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "", + "comment": "No", + "value": "false", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "RTCs", + "comment": "Stack Frames", + "value": "StackFrameRuntimeCheck", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "RTCu", + "comment": "Uninitialized variables", + "value": "UninitializedLocalUsageCheck", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "RTC1", + "comment": "Both (/RTC1, equiv. to /RTCsu)", + "value": "EnableFastChecks", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MT", + "comment": "Multi-threaded", + "value": "MultiThreaded", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MTd", + "comment": "Multi-threaded Debug", + "value": "MultiThreadedDebug", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MD", + "comment": "Multi-threaded DLL", + "value": "MultiThreadedDLL", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MDd", + "comment": "Multi-threaded Debug DLL", + "value": "MultiThreadedDebugDLL", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp1", + "comment": "1 Byte", + "value": "1Byte", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp2", + "comment": "2 Bytes", + "value": "2Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp4", + "comment": "4 Byte", + "value": "4Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp8", + "comment": "8 Bytes", + "value": "8Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp16", + "comment": "16 Bytes", + "value": "16Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:SSE", + "comment": "Streaming SIMD Extensions", + "value": "StreamingSIMDExtensions", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:SSE2", + "comment": "Streaming SIMD Extensions 2", + "value": "StreamingSIMDExtensions2", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:AVX", + "comment": "Advanced Vector Extensions", + "value": "AdvancedVectorExtensions", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:IA32", + "comment": "No Enhanced Instructions", + "value": "NoExtensions", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "FloatingPointModel", + "switch": "fp:precise", + "comment": "Precise", + "value": "Precise", + "flags": [] + }, + { + "name": "FloatingPointModel", + "switch": "fp:strict", + "comment": "Strict", + "value": "Strict", + "flags": [] + }, + { + "name": "FloatingPointModel", + "switch": "fp:fast", + "comment": "Fast", + "value": "Fast", + "flags": [] + }, + { + "name": "PrecompiledHeader", + "switch": "Yc", + "comment": "Create", + "value": "Create", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "PrecompiledHeader", + "switch": "Yu", + "comment": "Use", + "value": "Use", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "PrecompiledHeader", + "switch": "", + "comment": "Not Using Precompiled Headers", + "value": "NotUsing", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "", + "comment": "No Listing", + "value": "NoListing", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FA", + "comment": "Assembly-Only Listing", + "value": "AssemblyCode", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FAc", + "comment": "Assembly With Machine Code", + "value": "AssemblyAndMachineCode", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FAs", + "comment": "Assembly With Source Code", + "value": "AssemblyAndSourceCode", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FAcs", + "comment": "Assembly, Machine Code and Source", + "value": "All", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gd", + "comment": "__cdecl", + "value": "Cdecl", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gr", + "comment": "__fastcall", + "value": "FastCall", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gz", + "comment": "__stdcall", + "value": "StdCall", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "TC", + "comment": "Compile as C Code", + "value": "CompileAsC", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "TP", + "comment": "Compile as C++ Code", + "value": "CompileAsCpp", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:none", + "comment": "Do Not Send Report", + "value": "None", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:prompt", + "comment": "Prompt Immediately", + "value": "Prompt", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:queue", + "comment": "Queue For Next Login", + "value": "Queue", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:send", + "comment": "Send Automatically", + "value": "Send", + "flags": [] + }, + { + "name": "CompileAsWinRT", + "switch": "ZW", + "comment": "Consume Windows Runtime Extension", + "value": "true", + "flags": [] + }, + { + "name": "WinRTNoStdLib", + "switch": "ZW:nostdlib", + "comment": "No Standard WinRT Libraries", + "value": "true", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "nologo-", + "comment": "Suppress Startup Banner", + "value": "false", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "nologo", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningAsError", + "switch": "WX-", + "comment": "Treat Warnings As Errors", + "value": "false", + "flags": [] + }, + { + "name": "TreatWarningAsError", + "switch": "WX", + "comment": "Treat Warnings As Errors", + "value": "true", + "flags": [] + }, + { + "name": "SDLCheck", + "switch": "sdl-", + "comment": "SDL checks", + "value": "false", + "flags": [] + }, + { + "name": "SDLCheck", + "switch": "sdl", + "comment": "SDL checks", + "value": "true", + "flags": [] + }, + { + "name": "MultiProcessorCompilation", + "switch": "MP", + "comment": "Multi-processor Compilation", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "IntrinsicFunctions", + "switch": "Oi", + "comment": "Enable Intrinsic Functions", + "value": "true", + "flags": [] + }, + { + "name": "OmitFramePointers", + "switch": "Oy-", + "comment": "Omit Frame Pointers", + "value": "false", + "flags": [] + }, + { + "name": "OmitFramePointers", + "switch": "Oy", + "comment": "Omit Frame Pointers", + "value": "true", + "flags": [] + }, + { + "name": "EnableFiberSafeOptimizations", + "switch": "GT", + "comment": "Enable Fiber-Safe Optimizations", + "value": "true", + "flags": [] + }, + { + "name": "WholeProgramOptimization", + "switch": "GL", + "comment": "Whole Program Optimization", + "value": "true", + "flags": [] + }, + { + "name": "UndefineAllPreprocessorDefinitions", + "switch": "u", + "comment": "Undefine All Preprocessor Definitions", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreStandardIncludePath", + "switch": "X", + "comment": "Ignore Standard Include Paths", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessToFile", + "switch": "P", + "comment": "Preprocess to a File", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessSuppressLineNumbers", + "switch": "EP", + "comment": "Preprocess Suppress Line Numbers", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessKeepComments", + "switch": "C", + "comment": "Keep Comments", + "value": "true", + "flags": [] + }, + { + "name": "StringPooling", + "switch": "GF-", + "comment": "Enable String Pooling", + "value": "false", + "flags": [] + }, + { + "name": "StringPooling", + "switch": "GF", + "comment": "Enable String Pooling", + "value": "true", + "flags": [] + }, + { + "name": "MinimalRebuild", + "switch": "Gm-", + "comment": "Enable Minimal Rebuild", + "value": "false", + "flags": [] + }, + { + "name": "MinimalRebuild", + "switch": "Gm", + "comment": "Enable Minimal Rebuild", + "value": "true", + "flags": [] + }, + { + "name": "SmallerTypeCheck", + "switch": "RTCc", + "comment": "Smaller Type Check", + "value": "true", + "flags": [] + }, + { + "name": "BufferSecurityCheck", + "switch": "GS-", + "comment": "Security Check", + "value": "false", + "flags": [] + }, + { + "name": "BufferSecurityCheck", + "switch": "GS", + "comment": "Security Check", + "value": "true", + "flags": [] + }, + { + "name": "FunctionLevelLinking", + "switch": "Gy-", + "comment": "Enable Function-Level Linking", + "value": "false", + "flags": [] + }, + { + "name": "FunctionLevelLinking", + "switch": "Gy", + "comment": "Enable Function-Level Linking", + "value": "true", + "flags": [] + }, + { + "name": "EnableParallelCodeGeneration", + "switch": "Qpar-", + "comment": "Enable Parallel Code Generation", + "value": "false", + "flags": [] + }, + { + "name": "EnableParallelCodeGeneration", + "switch": "Qpar", + "comment": "Enable Parallel Code Generation", + "value": "true", + "flags": [] + }, + { + "name": "FloatingPointExceptions", + "switch": "fp:except-", + "comment": "Enable Floating Point Exceptions", + "value": "false", + "flags": [] + }, + { + "name": "FloatingPointExceptions", + "switch": "fp:except", + "comment": "Enable Floating Point Exceptions", + "value": "true", + "flags": [] + }, + { + "name": "CreateHotpatchableImage", + "switch": "hotpatch", + "comment": "Create Hotpatchable Image", + "value": "true", + "flags": [] + }, + { + "name": "DisableLanguageExtensions", + "switch": "Za", + "comment": "Disable Language Extensions", + "value": "true", + "flags": [] + }, + { + "name": "TreatWChar_tAsBuiltInType", + "switch": "Zc:wchar_t-", + "comment": "Treat WChar_t As Built in Type", + "value": "false", + "flags": [] + }, + { + "name": "TreatWChar_tAsBuiltInType", + "switch": "Zc:wchar_t", + "comment": "Treat WChar_t As Built in Type", + "value": "true", + "flags": [] + }, + { + "name": "ForceConformanceInForLoopScope", + "switch": "Zc:forScope-", + "comment": "Force Conformance in For Loop Scope", + "value": "false", + "flags": [] + }, + { + "name": "ForceConformanceInForLoopScope", + "switch": "Zc:forScope", + "comment": "Force Conformance in For Loop Scope", + "value": "true", + "flags": [] + }, + { + "name": "RuntimeTypeInfo", + "switch": "GR-", + "comment": "Enable Run-Time Type Information", + "value": "false", + "flags": [] + }, + { + "name": "RuntimeTypeInfo", + "switch": "GR", + "comment": "Enable Run-Time Type Information", + "value": "true", + "flags": [] + }, + { + "name": "OpenMPSupport", + "switch": "openmp-", + "comment": "Open MP Support", + "value": "false", + "flags": [] + }, + { + "name": "OpenMPSupport", + "switch": "openmp", + "comment": "Open MP Support", + "value": "true", + "flags": [] + }, + { + "name": "ExpandAttributedSource", + "switch": "Fx", + "comment": "Expand Attributed Source", + "value": "true", + "flags": [] + }, + { + "name": "UseUnicodeForAssemblerListing", + "switch": "FAu", + "comment": "Use Unicode For Assembler Listing", + "value": "true", + "flags": [] + }, + { + "name": "GenerateXMLDocumentationFiles", + "switch": "doc", + "comment": "Generate XML Documentation Files", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "BrowseInformation", + "switch": "FR", + "comment": "Enable Browse Information", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "ShowIncludes", + "switch": "showIncludes", + "comment": "Show Includes", + "value": "true", + "flags": [] + }, + { + "name": "EnablePREfast", + "switch": "analyze-", + "comment": "Enable Code Analysis", + "value": "false", + "flags": [] + }, + { + "name": "EnablePREfast", + "switch": "analyze", + "comment": "Enable Code Analysis", + "value": "true", + "flags": [] + }, + { + "name": "UseFullPaths", + "switch": "FC", + "comment": "Use Full Paths", + "value": "true", + "flags": [] + }, + { + "name": "OmitDefaultLibName", + "switch": "Zl", + "comment": "Omit Default Library Name", + "value": "true", + "flags": [] + }, + { + "name": "AdditionalIncludeDirectories", + "switch": "I", + "comment": "Additional Include Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalUsingDirectories", + "switch": "AI", + "comment": "Additional #using Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PreprocessorDefinitions", + "switch": "D", + "comment": "Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "UndefinePreprocessorDefinitions", + "switch": "U", + "comment": "Undefine Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "DisableSpecificWarnings", + "switch": "wd", + "comment": "Disable Specific Warnings", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ForcedIncludeFiles", + "switch": "FI", + "comment": "Forced Include File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ForcedUsingFiles", + "switch": "FU", + "comment": "Forced #using File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PREfastAdditionalOptions", + "switch": "analyze:", + "comment": "Additional Code Analysis Native options", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PREfastAdditionalPlugins", + "switch": "analyze:plugin", + "comment": "Additional Code Analysis Native plugins", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "TreatSpecificWarningsAsErrors", + "switch": "we", + "comment": "Treat Specific Warnings As Errors", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PreprocessOutputPath", + "switch": "Fi", + "comment": "Preprocess Output Path", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "PrecompiledHeaderFile", + "switch": "Yu", + "comment": "Precompiled Header File", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "PrecompiledHeaderFile", + "switch": "Yc", + "comment": "Precompiled Header File", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "PrecompiledHeaderOutputFile", + "switch": "Fp", + "comment": "Precompiled Header Output File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "AssemblerListingLocation", + "switch": "Fa", + "comment": "ASM List Location", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ObjectFileName", + "switch": "Fo", + "comment": "Object File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProgramDataBaseFileName", + "switch": "Fd", + "comment": "Program Database File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "XMLDocumentationFileName", + "switch": "doc", + "comment": "XML Documentation File Name", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "BrowseInformationFile", + "switch": "FR", + "comment": "Browse Information File", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "PREfastLog", + "switch": "analyze:log", + "comment": "Code Analysis Log", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProcessorNumber", + "switch": "MP", + "comment": "Number of processors", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v11_LIB.json b/Templates/MSBuild/FlagTables/v11_LIB.json new file mode 100644 index 0000000..58a238c --- /dev/null +++ b/Templates/MSBuild/FlagTables/v11_LIB.json @@ -0,0 +1,297 @@ +[ + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:PROMPT", + "comment": "PromptImmediately", + "value": "PromptImmediately", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:QUEUE", + "comment": "Queue For Next Login", + "value": "QueueForNextLogin", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:SEND", + "comment": "Send Error Report", + "value": "SendErrorReport", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:NONE", + "comment": "No Error Report", + "value": "NoErrorReport", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:ARM", + "comment": "MachineARM", + "value": "MachineARM", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:EBC", + "comment": "MachineEBC", + "value": "MachineEBC", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:IA64", + "comment": "MachineIA64", + "value": "MachineIA64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS", + "comment": "MachineMIPS", + "value": "MachineMIPS", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS16", + "comment": "MachineMIPS16", + "value": "MachineMIPS16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU", + "comment": "MachineMIPSFPU", + "value": "MachineMIPSFPU", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU16", + "comment": "MachineMIPSFPU16", + "value": "MachineMIPSFPU16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:SH4", + "comment": "MachineSH4", + "value": "MachineSH4", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:THUMB", + "comment": "MachineTHUMB", + "value": "MachineTHUMB", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X64", + "comment": "MachineX64", + "value": "MachineX64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X86", + "comment": "MachineX86", + "value": "MachineX86", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:CONSOLE", + "comment": "Console", + "value": "Console", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:WINDOWS", + "comment": "Windows", + "value": "Windows", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:NATIVE", + "comment": "Native", + "value": "Native", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_APPLICATION", + "comment": "EFI Application", + "value": "EFI Application", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", + "comment": "EFI Boot Service Driver", + "value": "EFI Boot Service Driver", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_ROM", + "comment": "EFI ROM", + "value": "EFI ROM", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_RUNTIME_DRIVER", + "comment": "EFI Runtime", + "value": "EFI Runtime", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:WINDOWSCE", + "comment": "WindowsCE", + "value": "WindowsCE", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:POSIX", + "comment": "POSIX", + "value": "POSIX", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "NOLOGO", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreAllDefaultLibraries", + "switch": "NODEFAULTLIB", + "comment": "Ignore All Default Libraries", + "value": "true", + "flags": [] + }, + { + "name": "TreatLibWarningAsErrors", + "switch": "WX:NO", + "comment": "Treat Lib Warning As Errors", + "value": "false", + "flags": [] + }, + { + "name": "TreatLibWarningAsErrors", + "switch": "WX", + "comment": "Treat Lib Warning As Errors", + "value": "true", + "flags": [] + }, + { + "name": "Verbose", + "switch": "VERBOSE", + "comment": "Verbose", + "value": "true", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG", + "comment": "Link Time Code Generation", + "value": "true", + "flags": [] + }, + { + "name": "AdditionalLibraryDirectories", + "switch": "LIBPATH:", + "comment": "Additional Library Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "IgnoreSpecificDefaultLibraries", + "switch": "NODEFAULTLIB:", + "comment": "Ignore Specific Default Libraries", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ExportNamedFunctions", + "switch": "EXPORT:", + "comment": "Export Named Functions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "RemoveObjects", + "switch": "REMOVE:", + "comment": "Remove Objects", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "OutputFile", + "switch": "OUT:", + "comment": "Output File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ModuleDefinitionFile", + "switch": "DEF:", + "comment": "Module Definition File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ForceSymbolReferences", + "switch": "INCLUDE:", + "comment": "Force Symbol References", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "DisplayLibrary", + "switch": "LIST:", + "comment": "Display Library to standard output", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "Name", + "switch": "NAME:", + "comment": "Name", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v11_Link.json b/Templates/MSBuild/FlagTables/v11_Link.json new file mode 100644 index 0000000..6829abb --- /dev/null +++ b/Templates/MSBuild/FlagTables/v11_Link.json @@ -0,0 +1,1291 @@ +[ + { + "name": "ShowProgress", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE", + "comment": "Display all progress messages", + "value": "LinkVerbose", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:Lib", + "comment": "For Libraries Searched", + "value": "LinkVerboseLib", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:ICF", + "comment": "About COMDAT folding during optimized linking", + "value": "LinkVerboseICF", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:REF", + "comment": "About data removed during optimized linking", + "value": "LinkVerboseREF", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:SAFESEH", + "comment": "About Modules incompatible with SEH", + "value": "LinkVerboseSAFESEH", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:CLR", + "comment": "About linker activity related to managed code", + "value": "LinkVerboseCLR", + "flags": [] + }, + { + "name": "ForceFileOutput", + "switch": "FORCE", + "comment": "Enabled", + "value": "Enabled", + "flags": [] + }, + { + "name": "ForceFileOutput", + "switch": "FORCE:MULTIPLE", + "comment": "Multiply Defined Symbol Only", + "value": "MultiplyDefinedSymbolOnly", + "flags": [] + }, + { + "name": "ForceFileOutput", + "switch": "FORCE:UNRESOLVED", + "comment": "Undefined Symbol Only", + "value": "UndefinedSymbolOnly", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN", + "comment": "Enabled", + "value": "Enabled", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN:5", + "comment": "X86 Image Only", + "value": "X86Image", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN:6", + "comment": "X64 Image Only", + "value": "X64Image", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN:16", + "comment": "Itanium Image Only", + "value": "ItaniumImage", + "flags": [] + }, + { + "name": "UACExecutionLevel", + "switch": "level='asInvoker'", + "comment": "asInvoker", + "value": "AsInvoker", + "flags": [] + }, + { + "name": "UACExecutionLevel", + "switch": "level='highestAvailable'", + "comment": "highestAvailable", + "value": "HighestAvailable", + "flags": [] + }, + { + "name": "UACExecutionLevel", + "switch": "level='requireAdministrator'", + "comment": "requireAdministrator", + "value": "RequireAdministrator", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:CONSOLE", + "comment": "Console", + "value": "Console", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:WINDOWS", + "comment": "Windows", + "value": "Windows", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:NATIVE", + "comment": "Native", + "value": "Native", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_APPLICATION", + "comment": "EFI Application", + "value": "EFI Application", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", + "comment": "EFI Boot Service Driver", + "value": "EFI Boot Service Driver", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_ROM", + "comment": "EFI ROM", + "value": "EFI ROM", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_RUNTIME_DRIVER", + "comment": "EFI Runtime", + "value": "EFI Runtime", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:POSIX", + "comment": "POSIX", + "value": "POSIX", + "flags": [] + }, + { + "name": "Driver", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "Driver", + "switch": "Driver", + "comment": "Driver", + "value": "Driver", + "flags": [] + }, + { + "name": "Driver", + "switch": "DRIVER:UPONLY", + "comment": "UP Only", + "value": "UpOnly", + "flags": [] + }, + { + "name": "Driver", + "switch": "DRIVER:WDM", + "comment": "WDM", + "value": "WDM", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG", + "comment": "Use Link Time Code Generation", + "value": "UseLinkTimeCodeGeneration", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:PGInstrument", + "comment": "Profile Guided Optimization - Instrument", + "value": "PGInstrument", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:PGOptimize", + "comment": "Profile Guided Optimization - Optimization", + "value": "PGOptimization", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:PGUpdate", + "comment": "Profile Guided Optimization - Update", + "value": "PGUpdate", + "flags": [] + }, + { + "name": "GenerateWindowsMetadata", + "switch": "WINMD", + "comment": "Yes", + "value": "true", + "flags": [] + }, + { + "name": "GenerateWindowsMetadata", + "switch": "WINMD:NO", + "comment": "No", + "value": "false", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA1", + "comment": "SHA1", + "value": "SHA1", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA256", + "comment": "SHA256", + "value": "SHA256", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA384", + "comment": "SHA384", + "value": "SHA384", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA512", + "comment": "SHA512", + "value": "SHA512", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:ARM", + "comment": "MachineARM", + "value": "MachineARM", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:EBC", + "comment": "MachineEBC", + "value": "MachineEBC", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:IA64", + "comment": "MachineIA64", + "value": "MachineIA64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS", + "comment": "MachineMIPS", + "value": "MachineMIPS", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS16", + "comment": "MachineMIPS16", + "value": "MachineMIPS16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU", + "comment": "MachineMIPSFPU", + "value": "MachineMIPSFPU", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU16", + "comment": "MachineMIPSFPU16", + "value": "MachineMIPSFPU16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:SH4", + "comment": "MachineSH4", + "value": "MachineSH4", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:THUMB", + "comment": "MachineTHUMB", + "value": "MachineTHUMB", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X64", + "comment": "MachineX64", + "value": "MachineX64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X86", + "comment": "MachineX86", + "value": "MachineX86", + "flags": [] + }, + { + "name": "CLRThreadAttribute", + "switch": "CLRTHREADATTRIBUTE:MTA", + "comment": "MTA threading attribute", + "value": "MTAThreadingAttribute", + "flags": [] + }, + { + "name": "CLRThreadAttribute", + "switch": "CLRTHREADATTRIBUTE:STA", + "comment": "STA threading attribute", + "value": "STAThreadingAttribute", + "flags": [] + }, + { + "name": "CLRThreadAttribute", + "switch": "CLRTHREADATTRIBUTE:NONE", + "comment": "Default threading attribute", + "value": "DefaultThreadingAttribute", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "CLRIMAGETYPE:IJW", + "comment": "Force IJW image", + "value": "ForceIJWImage", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "CLRIMAGETYPE:PURE", + "comment": "Force Pure IL Image", + "value": "ForcePureILImage", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "CLRIMAGETYPE:SAFE", + "comment": "Force Safe IL Image", + "value": "ForceSafeILImage", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "", + "comment": "Default image type", + "value": "Default", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA1", + "comment": "SHA1", + "value": "SHA1", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA256", + "comment": "SHA256", + "value": "SHA256", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA384", + "comment": "SHA384", + "value": "SHA384", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA512", + "comment": "SHA512", + "value": "SHA512", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:PROMPT", + "comment": "PromptImmediately", + "value": "PromptImmediately", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:QUEUE", + "comment": "Queue For Next Login", + "value": "QueueForNextLogin", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:SEND", + "comment": "Send Error Report", + "value": "SendErrorReport", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:NONE", + "comment": "No Error Report", + "value": "NoErrorReport", + "flags": [] + }, + { + "name": "CLRSupportLastError", + "switch": "CLRSupportLastError", + "comment": "Enabled", + "value": "Enabled", + "flags": [] + }, + { + "name": "CLRSupportLastError", + "switch": "CLRSupportLastError:NO", + "comment": "Disabled", + "value": "Disabled", + "flags": [] + }, + { + "name": "CLRSupportLastError", + "switch": "CLRSupportLastError:SYSTEMDLL", + "comment": "System Dlls Only", + "value": "SystemDlls", + "flags": [] + }, + { + "name": "LinkIncremental", + "switch": "INCREMENTAL:NO", + "comment": "Enable Incremental Linking", + "value": "false", + "flags": [] + }, + { + "name": "LinkIncremental", + "switch": "INCREMENTAL", + "comment": "Enable Incremental Linking", + "value": "true", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "NOLOGO", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "LinkStatus", + "switch": "LTCG:NOSTATUS", + "comment": "Link Status", + "value": "false", + "flags": [] + }, + { + "name": "LinkStatus", + "switch": "LTCG:STATUS", + "comment": "Link Status", + "value": "true", + "flags": [] + }, + { + "name": "PreventDllBinding", + "switch": "ALLOWBIND:NO", + "comment": "Prevent Dll Binding", + "value": "false", + "flags": [] + }, + { + "name": "PreventDllBinding", + "switch": "ALLOWBIND", + "comment": "Prevent Dll Binding", + "value": "true", + "flags": [] + }, + { + "name": "TreatLinkerWarningAsErrors", + "switch": "WX:NO", + "comment": "Treat Linker Warning As Errors", + "value": "false", + "flags": [] + }, + { + "name": "TreatLinkerWarningAsErrors", + "switch": "WX", + "comment": "Treat Linker Warning As Errors", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreAllDefaultLibraries", + "switch": "NODEFAULTLIB", + "comment": "Ignore All Default Libraries", + "value": "true", + "flags": [] + }, + { + "name": "GenerateManifest", + "switch": "MANIFEST:NO", + "comment": "Generate Manifest", + "value": "false", + "flags": [] + }, + { + "name": "GenerateManifest", + "switch": "MANIFEST", + "comment": "Generate Manifest", + "value": "true", + "flags": [] + }, + { + "name": "AllowIsolation", + "switch": "ALLOWISOLATION:NO", + "comment": "Allow Isolation", + "value": "false", + "flags": [] + }, + { + "name": "AllowIsolation", + "switch": "", + "comment": "Allow Isolation", + "value": "true", + "flags": [] + }, + { + "name": "EnableUAC", + "switch": "MANIFESTUAC:NO", + "comment": "Enable User Account Control (UAC)", + "value": "false", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "EnableUAC", + "switch": "MANIFESTUAC:", + "comment": "Enable User Account Control (UAC)", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "UACUIAccess", + "switch": "uiAccess='false'", + "comment": "UAC Bypass UI Protection", + "value": "false", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "UACUIAccess", + "switch": "MANIFESTUAC:", + "comment": "UAC Bypass UI Protection", + "value": "true", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "UACUIAccess", + "switch": "uiAccess='false'", + "comment": "UAC Bypass UI Protection", + "value": "false", + "flags": [] + }, + { + "name": "UACUIAccess", + "switch": "uiAccess='true'", + "comment": "UAC Bypass UI Protection", + "value": "true", + "flags": [] + }, + { + "name": "ManifestEmbed", + "switch": "manifest:embed", + "comment": "Embed Manifest", + "value": "true", + "flags": [] + }, + { + "name": "GenerateDebugInformation", + "switch": "DEBUG", + "comment": "Generate Debug Info", + "value": "true", + "flags": [] + }, + { + "name": "GenerateMapFile", + "switch": "MAP", + "comment": "Generate Map File", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "MapExports", + "switch": "MAPINFO:EXPORTS", + "comment": "Map Exports", + "value": "true", + "flags": [] + }, + { + "name": "AssemblyDebug", + "switch": "ASSEMBLYDEBUG:DISABLE", + "comment": "Debuggable Assembly", + "value": "false", + "flags": [] + }, + { + "name": "AssemblyDebug", + "switch": "ASSEMBLYDEBUG", + "comment": "Debuggable Assembly", + "value": "true", + "flags": [] + }, + { + "name": "LargeAddressAware", + "switch": "LARGEADDRESSAWARE:NO", + "comment": "Enable Large Addresses", + "value": "false", + "flags": [] + }, + { + "name": "LargeAddressAware", + "switch": "LARGEADDRESSAWARE", + "comment": "Enable Large Addresses", + "value": "true", + "flags": [] + }, + { + "name": "TerminalServerAware", + "switch": "TSAWARE:NO", + "comment": "Terminal Server", + "value": "false", + "flags": [] + }, + { + "name": "TerminalServerAware", + "switch": "TSAWARE", + "comment": "Terminal Server", + "value": "true", + "flags": [] + }, + { + "name": "SwapRunFromCD", + "switch": "SWAPRUN:CD", + "comment": "Swap Run From CD", + "value": "true", + "flags": [] + }, + { + "name": "SwapRunFromNET", + "switch": "SWAPRUN:NET", + "comment": "Swap Run From Network", + "value": "true", + "flags": [] + }, + { + "name": "OptimizeReferences", + "switch": "OPT:NOREF", + "comment": "References", + "value": "false", + "flags": [] + }, + { + "name": "OptimizeReferences", + "switch": "OPT:REF", + "comment": "References", + "value": "true", + "flags": [] + }, + { + "name": "EnableCOMDATFolding", + "switch": "OPT:NOICF", + "comment": "Enable COMDAT Folding", + "value": "false", + "flags": [] + }, + { + "name": "EnableCOMDATFolding", + "switch": "OPT:ICF", + "comment": "Enable COMDAT Folding", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreEmbeddedIDL", + "switch": "IGNOREIDL", + "comment": "Ignore Embedded IDL", + "value": "true", + "flags": [] + }, + { + "name": "AppContainer", + "switch": "APPCONTAINER", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "WindowsMetadataLinkDelaySign", + "switch": "WINMDDELAYSIGN:NO", + "comment": "Windows Metadata Delay Sign", + "value": "false", + "flags": [] + }, + { + "name": "WindowsMetadataLinkDelaySign", + "switch": "WINMDDELAYSIGN", + "comment": "Windows Metadata Delay Sign", + "value": "true", + "flags": [] + }, + { + "name": "NoEntryPoint", + "switch": "NOENTRY", + "comment": "No Entry Point", + "value": "true", + "flags": [] + }, + { + "name": "SetChecksum", + "switch": "RELEASE", + "comment": "Set Checksum", + "value": "true", + "flags": [] + }, + { + "name": "RandomizedBaseAddress", + "switch": "DYNAMICBASE:NO", + "comment": "Randomized Base Address", + "value": "false", + "flags": [] + }, + { + "name": "RandomizedBaseAddress", + "switch": "DYNAMICBASE", + "comment": "Randomized Base Address", + "value": "true", + "flags": [] + }, + { + "name": "FixedBaseAddress", + "switch": "FIXED:NO", + "comment": "Fixed Base Address", + "value": "false", + "flags": [] + }, + { + "name": "FixedBaseAddress", + "switch": "FIXED", + "comment": "Fixed Base Address", + "value": "true", + "flags": [] + }, + { + "name": "DataExecutionPrevention", + "switch": "NXCOMPAT:NO", + "comment": "Data Execution Prevention (DEP)", + "value": "false", + "flags": [] + }, + { + "name": "DataExecutionPrevention", + "switch": "NXCOMPAT", + "comment": "Data Execution Prevention (DEP)", + "value": "true", + "flags": [] + }, + { + "name": "TurnOffAssemblyGeneration", + "switch": "NOASSEMBLY", + "comment": "Turn Off Assembly Generation", + "value": "true", + "flags": [] + }, + { + "name": "SupportUnloadOfDelayLoadedDLL", + "switch": "DELAY:UNLOAD", + "comment": "Unload delay loaded DLL", + "value": "true", + "flags": [] + }, + { + "name": "SupportNobindOfDelayLoadedDLL", + "switch": "DELAY:NOBIND", + "comment": "Nobind delay loaded DLL", + "value": "true", + "flags": [] + }, + { + "name": "Profile", + "switch": "PROFILE", + "comment": "Profile", + "value": "true", + "flags": [] + }, + { + "name": "LinkDelaySign", + "switch": "DELAYSIGN:NO", + "comment": "Delay Sign", + "value": "false", + "flags": [] + }, + { + "name": "LinkDelaySign", + "switch": "DELAYSIGN", + "comment": "Delay Sign", + "value": "true", + "flags": [] + }, + { + "name": "CLRUnmanagedCodeCheck", + "switch": "CLRUNMANAGEDCODECHECK:NO", + "comment": "CLR Unmanaged Code Check", + "value": "false", + "flags": [] + }, + { + "name": "CLRUnmanagedCodeCheck", + "switch": "CLRUNMANAGEDCODECHECK", + "comment": "CLR Unmanaged Code Check", + "value": "true", + "flags": [] + }, + { + "name": "DetectOneDefinitionRule", + "switch": "ODR", + "comment": "Detect One Definition Rule violations", + "value": "true", + "flags": [] + }, + { + "name": "ImageHasSafeExceptionHandlers", + "switch": "SAFESEH:NO", + "comment": "Image Has Safe Exception Handlers", + "value": "false", + "flags": [] + }, + { + "name": "ImageHasSafeExceptionHandlers", + "switch": "SAFESEH", + "comment": "Image Has Safe Exception Handlers", + "value": "true", + "flags": [] + }, + { + "name": "LinkDLL", + "switch": "DLL", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AdditionalLibraryDirectories", + "switch": "LIBPATH:", + "comment": "Additional Library Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "IgnoreSpecificDefaultLibraries", + "switch": "NODEFAULTLIB:", + "comment": "Ignore Specific Default Libraries", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AddModuleNamesToAssembly", + "switch": "ASSEMBLYMODULE:", + "comment": "Add Module to Assembly", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "EmbedManagedResourceFile", + "switch": "ASSEMBLYRESOURCE:", + "comment": "Embed Managed Resource File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ForceSymbolReferences", + "switch": "INCLUDE:", + "comment": "Force Symbol References", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "DelayLoadDLLs", + "switch": "DELAYLOAD:", + "comment": "Delay Loaded Dlls", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AssemblyLinkResource", + "switch": "ASSEMBLYLINKRESOURCE:", + "comment": "Assembly Link Resource", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalManifestDependencies", + "switch": "MANIFESTDEPENDENCY:", + "comment": "Additional Manifest Dependencies", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ManifestInput", + "switch": "manifestinput:", + "comment": "Manifest Input", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "OutputFile", + "switch": "OUT:", + "comment": "Output File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "Version", + "switch": "VERSION:", + "comment": "Version", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "SpecifySectionAttributes", + "switch": "SECTION:", + "comment": "Specify Section Attributes", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MSDOSStubFileName", + "switch": "STUB:", + "comment": "MS-DOS Stub File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ModuleDefinitionFile", + "switch": "DEF:", + "comment": "Module Definition File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ManifestFile", + "switch": "ManifestFile:", + "comment": "Manifest File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProgramDatabaseFile", + "switch": "PDB:", + "comment": "Generate Program Database File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "StripPrivateSymbols", + "switch": "PDBSTRIPPED:", + "comment": "Strip Private Symbols", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MapFileName", + "switch": "MAP:", + "comment": "Map File Name", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "HeapReserveSize", + "switch": "HEAP:", + "comment": "Heap Reserve Size", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "HeapCommitSize", + "switch": "HEAP", + "comment": "Heap Commit Size", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "StackReserveSize", + "switch": "STACK:", + "comment": "Stack Reserve Size", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "StackCommitSize", + "switch": "STACK", + "comment": "Stack Commit Size", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "FunctionOrder", + "switch": "ORDER:@", + "comment": "Function Order", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProfileGuidedDatabase", + "switch": "PGD:", + "comment": "Profile Guided Database", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MidlCommandFile", + "switch": "MIDL:@", + "comment": "MIDL Commands", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MergedIDLBaseFileName", + "switch": "IDLOUT:", + "comment": "Merged IDL Base File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "TypeLibraryFile", + "switch": "TLBOUT:", + "comment": "Type Library", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "WindowsMetadataFile", + "switch": "WINMDFILE:", + "comment": "Windows Metadata File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "WindowsMetadataLinkKeyFile", + "switch": "WINMDKEYFILE:", + "comment": "Windows Metadata Key File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "WindowsMetadataKeyContainer", + "switch": "WINMDKEYCONTAINER:", + "comment": "Windows Metadata Key Container", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "EntryPointSymbol", + "switch": "ENTRY:", + "comment": "Entry Point", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "BaseAddress", + "switch": "BASE:", + "comment": "Base Address", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ImportLibrary", + "switch": "IMPLIB:", + "comment": "Import Library", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MergeSections", + "switch": "MERGE:", + "comment": "Merge Sections", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "LinkKeyFile", + "switch": "KEYFILE:", + "comment": "Key File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "KeyContainer", + "switch": "KEYCONTAINER:", + "comment": "Key Container", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "TypeLibraryResourceID", + "switch": "TLBID:", + "comment": "TypeLib Resource ID", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "SectionAlignment", + "switch": "ALIGN:", + "comment": "SectionAlignment", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v11_MASM.json b/Templates/MSBuild/FlagTables/v11_MASM.json new file mode 100644 index 0000000..51a48c8 --- /dev/null +++ b/Templates/MSBuild/FlagTables/v11_MASM.json @@ -0,0 +1,295 @@ +[ + { + "name": "PreserveIdentifierCase", + "switch": "", + "comment": "Default", + "value": "0", + "flags": [] + }, + { + "name": "PreserveIdentifierCase", + "switch": "Cp", + "comment": "Preserves Identifier Case (/Cp)", + "value": "1", + "flags": [] + }, + { + "name": "PreserveIdentifierCase", + "switch": "Cu", + "comment": "Maps all identifiers to upper case. (/Cu)", + "value": "2", + "flags": [] + }, + { + "name": "PreserveIdentifierCase", + "switch": "Cx", + "comment": "Preserves case in public and extern symbols. (/Cx)", + "value": "3", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W0", + "comment": "Warning Level 0 (/W0)", + "value": "0", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W1", + "comment": "Warning Level 1 (/W1)", + "value": "1", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W2", + "comment": "Warning Level 2 (/W2)", + "value": "2", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W3", + "comment": "Warning Level 3 (/W3)", + "value": "3", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "", + "comment": "Default", + "value": "0", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp1", + "comment": "One Byte Boundary (/Zp1)", + "value": "1", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp2", + "comment": "Two Byte Boundary (/Zp2)", + "value": "2", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp4", + "comment": "Four Byte Boundary (/Zp4)", + "value": "3", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp8", + "comment": "Eight Byte Boundary (/Zp8)", + "value": "4", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp16", + "comment": "Sixteen Byte Boundary (/Zp16)", + "value": "5", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "", + "comment": "Default", + "value": "0", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gd", + "comment": "Use C-style Calling Convention (/Gd)", + "value": "1", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gz", + "comment": "Use stdcall Calling Convention (/Gz)", + "value": "2", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gc", + "comment": "Use Pascal Calling Convention (/Gc)", + "value": "3", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:prompt", + "comment": "Prompt to send report immediately (/errorReport:prompt)", + "value": "0", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:queue", + "comment": "Prompt to send report at the next logon (/errorReport:queue)", + "value": "1", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:send", + "comment": "Automatically send report (/errorReport:send)", + "value": "2", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:none", + "comment": "Do not send report (/errorReport:none)", + "value": "3", + "flags": [] + }, + { + "name": "NoLogo", + "switch": "nologo", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "GeneratePreprocessedSourceListing", + "switch": "EP", + "comment": "Generate Preprocessed Source Listing", + "value": "true", + "flags": [] + }, + { + "name": "ListAllAvailableInformation", + "switch": "Sa", + "comment": "List All Available Information", + "value": "true", + "flags": [] + }, + { + "name": "UseSafeExceptionHandlers", + "switch": "safeseh", + "comment": "Use Safe Exception Handlers", + "value": "true", + "flags": [] + }, + { + "name": "AddFirstPassListing", + "switch": "Sf", + "comment": "Add First Pass Listing", + "value": "true", + "flags": [] + }, + { + "name": "EnableAssemblyGeneratedCodeListing", + "switch": "Sg", + "comment": "Enable Assembly Generated Code Listing", + "value": "true", + "flags": [] + }, + { + "name": "DisableSymbolTable", + "switch": "Sn", + "comment": "Disable Symbol Table", + "value": "true", + "flags": [] + }, + { + "name": "EnableFalseConditionalsInListing", + "switch": "Sx", + "comment": "Enable False Conditionals In Listing", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "WX", + "comment": "Treat Warnings As Errors", + "value": "true", + "flags": [] + }, + { + "name": "MakeAllSymbolsPublic", + "switch": "Zf", + "comment": "Make All Symbols Public", + "value": "true", + "flags": [] + }, + { + "name": "GenerateDebugInformation", + "switch": "Zi", + "comment": "Generate Debug Information", + "value": "true", + "flags": [] + }, + { + "name": "EnableMASM51Compatibility", + "switch": "Zm", + "comment": "Enable MASM 5.1 Compatibility", + "value": "true", + "flags": [] + }, + { + "name": "PerformSyntaxCheckOnly", + "switch": "Zs", + "comment": "Perform Syntax Check Only", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessorDefinitions", + "switch": "D\"[value]\"", + "comment": "Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "IncludePaths", + "switch": "I \"[value]\"", + "comment": "Include Paths", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "BrowseFile", + "switch": "FR\"[value]\"", + "comment": "Generate Browse Information File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ObjectFileName", + "switch": "Fo\"[value]\"", + "comment": "Object File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "AssembledCodeListingFile", + "switch": "Fl\"[value]\"", + "comment": "Assembled Code Listing File", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v11_RC.json b/Templates/MSBuild/FlagTables/v11_RC.json new file mode 100644 index 0000000..b8c0127 --- /dev/null +++ b/Templates/MSBuild/FlagTables/v11_RC.json @@ -0,0 +1,69 @@ +[ + { + "name": "IgnoreStandardIncludePath", + "switch": "X", + "comment": "Ignore Standard Include Paths", + "value": "true", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "v", + "comment": "Show Progress", + "value": "true", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "nologo", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "NullTerminateStrings", + "switch": "n", + "comment": "Null Terminate Strings", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessorDefinitions", + "switch": "D", + "comment": "Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "UndefinePreprocessorDefinitions", + "switch": "u", + "comment": "Undefine Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalIncludeDirectories", + "switch": "I", + "comment": "Additional Include Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ResourceOutputFileName", + "switch": "fo", + "comment": "Resource File Name", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v12_CL.json b/Templates/MSBuild/FlagTables/v12_CL.json new file mode 100644 index 0000000..39d08a3 --- /dev/null +++ b/Templates/MSBuild/FlagTables/v12_CL.json @@ -0,0 +1,1087 @@ +[ + { + "name": "DebugInformationFormat", + "switch": "", + "comment": "None", + "value": "None", + "flags": [] + }, + { + "name": "DebugInformationFormat", + "switch": "Z7", + "comment": "C7 compatible", + "value": "OldStyle", + "flags": [] + }, + { + "name": "DebugInformationFormat", + "switch": "Zi", + "comment": "Program Database", + "value": "ProgramDatabase", + "flags": [] + }, + { + "name": "DebugInformationFormat", + "switch": "ZI", + "comment": "Program Database for Edit And Continue", + "value": "EditAndContinue", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "", + "comment": "No Common Language RunTime Support", + "value": "false", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr", + "comment": "Common Language RunTime Support", + "value": "true", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr:pure", + "comment": "Pure MSIL Common Language RunTime Support", + "value": "Pure", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr:safe", + "comment": "Safe MSIL Common Language RunTime Support", + "value": "Safe", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr:oldSyntax", + "comment": "Common Language RunTime Support, Old Syntax", + "value": "OldSyntax", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W0", + "comment": "Turn Off All Warnings", + "value": "TurnOffAllWarnings", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W1", + "comment": "Level1", + "value": "Level1", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W2", + "comment": "Level2", + "value": "Level2", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W3", + "comment": "Level3", + "value": "Level3", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W4", + "comment": "Level4", + "value": "Level4", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "Wall", + "comment": "EnableAllWarnings", + "value": "EnableAllWarnings", + "flags": [] + }, + { + "name": "Optimization", + "switch": "", + "comment": "Custom", + "value": "Custom", + "flags": [] + }, + { + "name": "Optimization", + "switch": "Od", + "comment": "Disabled", + "value": "Disabled", + "flags": [] + }, + { + "name": "Optimization", + "switch": "O1", + "comment": "Minimize Size", + "value": "MinSpace", + "flags": [] + }, + { + "name": "Optimization", + "switch": "O2", + "comment": "Maximize Speed", + "value": "MaxSpeed", + "flags": [] + }, + { + "name": "Optimization", + "switch": "Ox", + "comment": "Full Optimization", + "value": "Full", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "Ob0", + "comment": "Disabled", + "value": "Disabled", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "Ob1", + "comment": "Only __inline", + "value": "OnlyExplicitInline", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "Ob2", + "comment": "Any Suitable", + "value": "AnySuitable", + "flags": [] + }, + { + "name": "FavorSizeOrSpeed", + "switch": "Os", + "comment": "Favor small code", + "value": "Size", + "flags": [] + }, + { + "name": "FavorSizeOrSpeed", + "switch": "Ot", + "comment": "Favor fast code", + "value": "Speed", + "flags": [] + }, + { + "name": "FavorSizeOrSpeed", + "switch": "", + "comment": "Neither", + "value": "Neither", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "EHa", + "comment": "Yes with SEH Exceptions", + "value": "Async", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "EHsc", + "comment": "Yes", + "value": "Sync", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "EHs", + "comment": "Yes with Extern C functions", + "value": "SyncCThrow", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "", + "comment": "No", + "value": "false", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "RTCs", + "comment": "Stack Frames", + "value": "StackFrameRuntimeCheck", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "RTCu", + "comment": "Uninitialized variables", + "value": "UninitializedLocalUsageCheck", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "RTC1", + "comment": "Both (/RTC1, equiv. to /RTCsu)", + "value": "EnableFastChecks", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MT", + "comment": "Multi-threaded", + "value": "MultiThreaded", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MTd", + "comment": "Multi-threaded Debug", + "value": "MultiThreadedDebug", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MD", + "comment": "Multi-threaded DLL", + "value": "MultiThreadedDLL", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MDd", + "comment": "Multi-threaded Debug DLL", + "value": "MultiThreadedDebugDLL", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp1", + "comment": "1 Byte", + "value": "1Byte", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp2", + "comment": "2 Bytes", + "value": "2Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp4", + "comment": "4 Byte", + "value": "4Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp8", + "comment": "8 Bytes", + "value": "8Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp16", + "comment": "16 Bytes", + "value": "16Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "BufferSecurityCheck", + "switch": "GS-", + "comment": "Disable Security Check", + "value": "false", + "flags": [] + }, + { + "name": "BufferSecurityCheck", + "switch": "GS", + "comment": "Enable Security Check", + "value": "true", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:SSE", + "comment": "Streaming SIMD Extensions", + "value": "StreamingSIMDExtensions", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:SSE2", + "comment": "Streaming SIMD Extensions 2", + "value": "StreamingSIMDExtensions2", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:AVX", + "comment": "Advanced Vector Extensions", + "value": "AdvancedVectorExtensions", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:AVX2", + "comment": "Advanced Vector Extensions 2", + "value": "AdvancedVectorExtensions2", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:IA32", + "comment": "No Enhanced Instructions", + "value": "NoExtensions", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "FloatingPointModel", + "switch": "fp:precise", + "comment": "Precise", + "value": "Precise", + "flags": [] + }, + { + "name": "FloatingPointModel", + "switch": "fp:strict", + "comment": "Strict", + "value": "Strict", + "flags": [] + }, + { + "name": "FloatingPointModel", + "switch": "fp:fast", + "comment": "Fast", + "value": "Fast", + "flags": [] + }, + { + "name": "PrecompiledHeader", + "switch": "Yc", + "comment": "Create", + "value": "Create", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "PrecompiledHeader", + "switch": "Yu", + "comment": "Use", + "value": "Use", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "PrecompiledHeader", + "switch": "", + "comment": "Not Using Precompiled Headers", + "value": "NotUsing", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "", + "comment": "No Listing", + "value": "NoListing", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FA", + "comment": "Assembly-Only Listing", + "value": "AssemblyCode", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FAc", + "comment": "Assembly With Machine Code", + "value": "AssemblyAndMachineCode", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FAs", + "comment": "Assembly With Source Code", + "value": "AssemblyAndSourceCode", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FAcs", + "comment": "Assembly, Machine Code and Source", + "value": "All", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gd", + "comment": "__cdecl", + "value": "Cdecl", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gr", + "comment": "__fastcall", + "value": "FastCall", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gz", + "comment": "__stdcall", + "value": "StdCall", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gv", + "comment": "__vectorcall", + "value": "VectorCall", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "TC", + "comment": "Compile as C Code", + "value": "CompileAsC", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "TP", + "comment": "Compile as C++ Code", + "value": "CompileAsCpp", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:none", + "comment": "Do Not Send Report", + "value": "None", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:prompt", + "comment": "Prompt Immediately", + "value": "Prompt", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:queue", + "comment": "Queue For Next Login", + "value": "Queue", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:send", + "comment": "Send Automatically", + "value": "Send", + "flags": [] + }, + { + "name": "CompileAsWinRT", + "switch": "ZW", + "comment": "Consume Windows Runtime Extension", + "value": "true", + "flags": [] + }, + { + "name": "WinRTNoStdLib", + "switch": "ZW:nostdlib", + "comment": "No Standard WinRT Libraries", + "value": "true", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "nologo", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningAsError", + "switch": "WX-", + "comment": "Treat Warnings As Errors", + "value": "false", + "flags": [] + }, + { + "name": "TreatWarningAsError", + "switch": "WX", + "comment": "Treat Warnings As Errors", + "value": "true", + "flags": [] + }, + { + "name": "SDLCheck", + "switch": "sdl-", + "comment": "SDL checks", + "value": "false", + "flags": [] + }, + { + "name": "SDLCheck", + "switch": "sdl", + "comment": "SDL checks", + "value": "true", + "flags": [] + }, + { + "name": "MultiProcessorCompilation", + "switch": "MP", + "comment": "Multi-processor Compilation", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "IntrinsicFunctions", + "switch": "Oi", + "comment": "Enable Intrinsic Functions", + "value": "true", + "flags": [] + }, + { + "name": "OmitFramePointers", + "switch": "Oy-", + "comment": "Omit Frame Pointers", + "value": "false", + "flags": [] + }, + { + "name": "OmitFramePointers", + "switch": "Oy", + "comment": "Omit Frame Pointers", + "value": "true", + "flags": [] + }, + { + "name": "EnableFiberSafeOptimizations", + "switch": "GT", + "comment": "Enable Fiber-Safe Optimizations", + "value": "true", + "flags": [] + }, + { + "name": "WholeProgramOptimization", + "switch": "GL", + "comment": "Whole Program Optimization", + "value": "true", + "flags": [] + }, + { + "name": "UndefineAllPreprocessorDefinitions", + "switch": "u", + "comment": "Undefine All Preprocessor Definitions", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreStandardIncludePath", + "switch": "X", + "comment": "Ignore Standard Include Paths", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessToFile", + "switch": "P", + "comment": "Preprocess to a File", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessSuppressLineNumbers", + "switch": "EP", + "comment": "Preprocess Suppress Line Numbers", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessKeepComments", + "switch": "C", + "comment": "Keep Comments", + "value": "true", + "flags": [] + }, + { + "name": "StringPooling", + "switch": "GF-", + "comment": "Enable String Pooling", + "value": "false", + "flags": [] + }, + { + "name": "StringPooling", + "switch": "GF", + "comment": "Enable String Pooling", + "value": "true", + "flags": [] + }, + { + "name": "MinimalRebuild", + "switch": "Gm-", + "comment": "Enable Minimal Rebuild", + "value": "false", + "flags": [] + }, + { + "name": "MinimalRebuild", + "switch": "Gm", + "comment": "Enable Minimal Rebuild", + "value": "true", + "flags": [] + }, + { + "name": "SmallerTypeCheck", + "switch": "RTCc", + "comment": "Smaller Type Check", + "value": "true", + "flags": [] + }, + { + "name": "FunctionLevelLinking", + "switch": "Gy-", + "comment": "Enable Function-Level Linking", + "value": "false", + "flags": [] + }, + { + "name": "FunctionLevelLinking", + "switch": "Gy", + "comment": "Enable Function-Level Linking", + "value": "true", + "flags": [] + }, + { + "name": "EnableParallelCodeGeneration", + "switch": "Qpar-", + "comment": "Enable Parallel Code Generation", + "value": "false", + "flags": [] + }, + { + "name": "EnableParallelCodeGeneration", + "switch": "Qpar", + "comment": "Enable Parallel Code Generation", + "value": "true", + "flags": [] + }, + { + "name": "FloatingPointExceptions", + "switch": "fp:except-", + "comment": "Enable Floating Point Exceptions", + "value": "false", + "flags": [] + }, + { + "name": "FloatingPointExceptions", + "switch": "fp:except", + "comment": "Enable Floating Point Exceptions", + "value": "true", + "flags": [] + }, + { + "name": "CreateHotpatchableImage", + "switch": "hotpatch", + "comment": "Create Hotpatchable Image", + "value": "true", + "flags": [] + }, + { + "name": "DisableLanguageExtensions", + "switch": "Za", + "comment": "Disable Language Extensions", + "value": "true", + "flags": [] + }, + { + "name": "TreatWChar_tAsBuiltInType", + "switch": "Zc:wchar_t-", + "comment": "Treat WChar_t As Built in Type", + "value": "false", + "flags": [] + }, + { + "name": "TreatWChar_tAsBuiltInType", + "switch": "Zc:wchar_t", + "comment": "Treat WChar_t As Built in Type", + "value": "true", + "flags": [] + }, + { + "name": "ForceConformanceInForLoopScope", + "switch": "Zc:forScope-", + "comment": "Force Conformance in For Loop Scope", + "value": "false", + "flags": [] + }, + { + "name": "ForceConformanceInForLoopScope", + "switch": "Zc:forScope", + "comment": "Force Conformance in For Loop Scope", + "value": "true", + "flags": [] + }, + { + "name": "RuntimeTypeInfo", + "switch": "GR-", + "comment": "Enable Run-Time Type Information", + "value": "false", + "flags": [] + }, + { + "name": "RuntimeTypeInfo", + "switch": "GR", + "comment": "Enable Run-Time Type Information", + "value": "true", + "flags": [] + }, + { + "name": "OpenMPSupport", + "switch": "openmp-", + "comment": "Open MP Support", + "value": "false", + "flags": [] + }, + { + "name": "OpenMPSupport", + "switch": "openmp", + "comment": "Open MP Support", + "value": "true", + "flags": [] + }, + { + "name": "ExpandAttributedSource", + "switch": "Fx", + "comment": "Expand Attributed Source", + "value": "true", + "flags": [] + }, + { + "name": "UseUnicodeForAssemblerListing", + "switch": "FAu", + "comment": "Use Unicode For Assembler Listing", + "value": "true", + "flags": [] + }, + { + "name": "GenerateXMLDocumentationFiles", + "switch": "doc", + "comment": "Generate XML Documentation Files", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "BrowseInformation", + "switch": "FR", + "comment": "Enable Browse Information", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "ShowIncludes", + "switch": "showIncludes", + "comment": "Show Includes", + "value": "true", + "flags": [] + }, + { + "name": "EnablePREfast", + "switch": "analyze-", + "comment": "Enable Code Analysis", + "value": "false", + "flags": [] + }, + { + "name": "EnablePREfast", + "switch": "analyze", + "comment": "Enable Code Analysis", + "value": "true", + "flags": [] + }, + { + "name": "UseFullPaths", + "switch": "FC", + "comment": "Use Full Paths", + "value": "true", + "flags": [] + }, + { + "name": "OmitDefaultLibName", + "switch": "Zl", + "comment": "Omit Default Library Name", + "value": "true", + "flags": [] + }, + { + "name": "AdditionalIncludeDirectories", + "switch": "I", + "comment": "Additional Include Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalUsingDirectories", + "switch": "AI", + "comment": "Additional #using Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PreprocessorDefinitions", + "switch": "D", + "comment": "Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "UndefinePreprocessorDefinitions", + "switch": "U", + "comment": "Undefine Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "DisableSpecificWarnings", + "switch": "wd", + "comment": "Disable Specific Warnings", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ForcedIncludeFiles", + "switch": "FI", + "comment": "Forced Include File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ForcedUsingFiles", + "switch": "FU", + "comment": "Forced #using File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PREfastAdditionalOptions", + "switch": "analyze:", + "comment": "Additional Code Analysis Native options", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PREfastAdditionalPlugins", + "switch": "analyze:plugin", + "comment": "Additional Code Analysis Native plugins", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "TreatSpecificWarningsAsErrors", + "switch": "we", + "comment": "Treat Specific Warnings As Errors", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PreprocessOutputPath", + "switch": "Fi", + "comment": "Preprocess Output Path", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "PrecompiledHeaderFile", + "switch": "Yu", + "comment": "Precompiled Header File", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "PrecompiledHeaderFile", + "switch": "Yc", + "comment": "Precompiled Header File", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "PrecompiledHeaderOutputFile", + "switch": "Fp", + "comment": "Precompiled Header Output File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "AssemblerListingLocation", + "switch": "Fa", + "comment": "ASM List Location", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ObjectFileName", + "switch": "Fo", + "comment": "Object File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProgramDataBaseFileName", + "switch": "Fd", + "comment": "Program Database File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "XMLDocumentationFileName", + "switch": "doc", + "comment": "XML Documentation File Name", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "BrowseInformationFile", + "switch": "FR", + "comment": "Browse Information File", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "PREfastLog", + "switch": "analyze:log", + "comment": "Code Analysis Log", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProcessorNumber", + "switch": "MP", + "comment": "Number of processors", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v12_LIB.json b/Templates/MSBuild/FlagTables/v12_LIB.json new file mode 100644 index 0000000..58a238c --- /dev/null +++ b/Templates/MSBuild/FlagTables/v12_LIB.json @@ -0,0 +1,297 @@ +[ + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:PROMPT", + "comment": "PromptImmediately", + "value": "PromptImmediately", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:QUEUE", + "comment": "Queue For Next Login", + "value": "QueueForNextLogin", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:SEND", + "comment": "Send Error Report", + "value": "SendErrorReport", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:NONE", + "comment": "No Error Report", + "value": "NoErrorReport", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:ARM", + "comment": "MachineARM", + "value": "MachineARM", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:EBC", + "comment": "MachineEBC", + "value": "MachineEBC", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:IA64", + "comment": "MachineIA64", + "value": "MachineIA64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS", + "comment": "MachineMIPS", + "value": "MachineMIPS", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS16", + "comment": "MachineMIPS16", + "value": "MachineMIPS16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU", + "comment": "MachineMIPSFPU", + "value": "MachineMIPSFPU", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU16", + "comment": "MachineMIPSFPU16", + "value": "MachineMIPSFPU16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:SH4", + "comment": "MachineSH4", + "value": "MachineSH4", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:THUMB", + "comment": "MachineTHUMB", + "value": "MachineTHUMB", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X64", + "comment": "MachineX64", + "value": "MachineX64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X86", + "comment": "MachineX86", + "value": "MachineX86", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:CONSOLE", + "comment": "Console", + "value": "Console", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:WINDOWS", + "comment": "Windows", + "value": "Windows", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:NATIVE", + "comment": "Native", + "value": "Native", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_APPLICATION", + "comment": "EFI Application", + "value": "EFI Application", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", + "comment": "EFI Boot Service Driver", + "value": "EFI Boot Service Driver", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_ROM", + "comment": "EFI ROM", + "value": "EFI ROM", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_RUNTIME_DRIVER", + "comment": "EFI Runtime", + "value": "EFI Runtime", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:WINDOWSCE", + "comment": "WindowsCE", + "value": "WindowsCE", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:POSIX", + "comment": "POSIX", + "value": "POSIX", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "NOLOGO", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreAllDefaultLibraries", + "switch": "NODEFAULTLIB", + "comment": "Ignore All Default Libraries", + "value": "true", + "flags": [] + }, + { + "name": "TreatLibWarningAsErrors", + "switch": "WX:NO", + "comment": "Treat Lib Warning As Errors", + "value": "false", + "flags": [] + }, + { + "name": "TreatLibWarningAsErrors", + "switch": "WX", + "comment": "Treat Lib Warning As Errors", + "value": "true", + "flags": [] + }, + { + "name": "Verbose", + "switch": "VERBOSE", + "comment": "Verbose", + "value": "true", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG", + "comment": "Link Time Code Generation", + "value": "true", + "flags": [] + }, + { + "name": "AdditionalLibraryDirectories", + "switch": "LIBPATH:", + "comment": "Additional Library Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "IgnoreSpecificDefaultLibraries", + "switch": "NODEFAULTLIB:", + "comment": "Ignore Specific Default Libraries", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ExportNamedFunctions", + "switch": "EXPORT:", + "comment": "Export Named Functions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "RemoveObjects", + "switch": "REMOVE:", + "comment": "Remove Objects", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "OutputFile", + "switch": "OUT:", + "comment": "Output File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ModuleDefinitionFile", + "switch": "DEF:", + "comment": "Module Definition File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ForceSymbolReferences", + "switch": "INCLUDE:", + "comment": "Force Symbol References", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "DisplayLibrary", + "switch": "LIST:", + "comment": "Display Library to standard output", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "Name", + "switch": "NAME:", + "comment": "Name", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v12_Link.json b/Templates/MSBuild/FlagTables/v12_Link.json new file mode 100644 index 0000000..6829abb --- /dev/null +++ b/Templates/MSBuild/FlagTables/v12_Link.json @@ -0,0 +1,1291 @@ +[ + { + "name": "ShowProgress", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE", + "comment": "Display all progress messages", + "value": "LinkVerbose", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:Lib", + "comment": "For Libraries Searched", + "value": "LinkVerboseLib", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:ICF", + "comment": "About COMDAT folding during optimized linking", + "value": "LinkVerboseICF", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:REF", + "comment": "About data removed during optimized linking", + "value": "LinkVerboseREF", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:SAFESEH", + "comment": "About Modules incompatible with SEH", + "value": "LinkVerboseSAFESEH", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:CLR", + "comment": "About linker activity related to managed code", + "value": "LinkVerboseCLR", + "flags": [] + }, + { + "name": "ForceFileOutput", + "switch": "FORCE", + "comment": "Enabled", + "value": "Enabled", + "flags": [] + }, + { + "name": "ForceFileOutput", + "switch": "FORCE:MULTIPLE", + "comment": "Multiply Defined Symbol Only", + "value": "MultiplyDefinedSymbolOnly", + "flags": [] + }, + { + "name": "ForceFileOutput", + "switch": "FORCE:UNRESOLVED", + "comment": "Undefined Symbol Only", + "value": "UndefinedSymbolOnly", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN", + "comment": "Enabled", + "value": "Enabled", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN:5", + "comment": "X86 Image Only", + "value": "X86Image", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN:6", + "comment": "X64 Image Only", + "value": "X64Image", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN:16", + "comment": "Itanium Image Only", + "value": "ItaniumImage", + "flags": [] + }, + { + "name": "UACExecutionLevel", + "switch": "level='asInvoker'", + "comment": "asInvoker", + "value": "AsInvoker", + "flags": [] + }, + { + "name": "UACExecutionLevel", + "switch": "level='highestAvailable'", + "comment": "highestAvailable", + "value": "HighestAvailable", + "flags": [] + }, + { + "name": "UACExecutionLevel", + "switch": "level='requireAdministrator'", + "comment": "requireAdministrator", + "value": "RequireAdministrator", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:CONSOLE", + "comment": "Console", + "value": "Console", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:WINDOWS", + "comment": "Windows", + "value": "Windows", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:NATIVE", + "comment": "Native", + "value": "Native", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_APPLICATION", + "comment": "EFI Application", + "value": "EFI Application", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", + "comment": "EFI Boot Service Driver", + "value": "EFI Boot Service Driver", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_ROM", + "comment": "EFI ROM", + "value": "EFI ROM", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_RUNTIME_DRIVER", + "comment": "EFI Runtime", + "value": "EFI Runtime", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:POSIX", + "comment": "POSIX", + "value": "POSIX", + "flags": [] + }, + { + "name": "Driver", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "Driver", + "switch": "Driver", + "comment": "Driver", + "value": "Driver", + "flags": [] + }, + { + "name": "Driver", + "switch": "DRIVER:UPONLY", + "comment": "UP Only", + "value": "UpOnly", + "flags": [] + }, + { + "name": "Driver", + "switch": "DRIVER:WDM", + "comment": "WDM", + "value": "WDM", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG", + "comment": "Use Link Time Code Generation", + "value": "UseLinkTimeCodeGeneration", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:PGInstrument", + "comment": "Profile Guided Optimization - Instrument", + "value": "PGInstrument", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:PGOptimize", + "comment": "Profile Guided Optimization - Optimization", + "value": "PGOptimization", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:PGUpdate", + "comment": "Profile Guided Optimization - Update", + "value": "PGUpdate", + "flags": [] + }, + { + "name": "GenerateWindowsMetadata", + "switch": "WINMD", + "comment": "Yes", + "value": "true", + "flags": [] + }, + { + "name": "GenerateWindowsMetadata", + "switch": "WINMD:NO", + "comment": "No", + "value": "false", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA1", + "comment": "SHA1", + "value": "SHA1", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA256", + "comment": "SHA256", + "value": "SHA256", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA384", + "comment": "SHA384", + "value": "SHA384", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA512", + "comment": "SHA512", + "value": "SHA512", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:ARM", + "comment": "MachineARM", + "value": "MachineARM", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:EBC", + "comment": "MachineEBC", + "value": "MachineEBC", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:IA64", + "comment": "MachineIA64", + "value": "MachineIA64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS", + "comment": "MachineMIPS", + "value": "MachineMIPS", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS16", + "comment": "MachineMIPS16", + "value": "MachineMIPS16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU", + "comment": "MachineMIPSFPU", + "value": "MachineMIPSFPU", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU16", + "comment": "MachineMIPSFPU16", + "value": "MachineMIPSFPU16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:SH4", + "comment": "MachineSH4", + "value": "MachineSH4", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:THUMB", + "comment": "MachineTHUMB", + "value": "MachineTHUMB", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X64", + "comment": "MachineX64", + "value": "MachineX64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X86", + "comment": "MachineX86", + "value": "MachineX86", + "flags": [] + }, + { + "name": "CLRThreadAttribute", + "switch": "CLRTHREADATTRIBUTE:MTA", + "comment": "MTA threading attribute", + "value": "MTAThreadingAttribute", + "flags": [] + }, + { + "name": "CLRThreadAttribute", + "switch": "CLRTHREADATTRIBUTE:STA", + "comment": "STA threading attribute", + "value": "STAThreadingAttribute", + "flags": [] + }, + { + "name": "CLRThreadAttribute", + "switch": "CLRTHREADATTRIBUTE:NONE", + "comment": "Default threading attribute", + "value": "DefaultThreadingAttribute", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "CLRIMAGETYPE:IJW", + "comment": "Force IJW image", + "value": "ForceIJWImage", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "CLRIMAGETYPE:PURE", + "comment": "Force Pure IL Image", + "value": "ForcePureILImage", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "CLRIMAGETYPE:SAFE", + "comment": "Force Safe IL Image", + "value": "ForceSafeILImage", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "", + "comment": "Default image type", + "value": "Default", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA1", + "comment": "SHA1", + "value": "SHA1", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA256", + "comment": "SHA256", + "value": "SHA256", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA384", + "comment": "SHA384", + "value": "SHA384", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA512", + "comment": "SHA512", + "value": "SHA512", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:PROMPT", + "comment": "PromptImmediately", + "value": "PromptImmediately", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:QUEUE", + "comment": "Queue For Next Login", + "value": "QueueForNextLogin", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:SEND", + "comment": "Send Error Report", + "value": "SendErrorReport", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:NONE", + "comment": "No Error Report", + "value": "NoErrorReport", + "flags": [] + }, + { + "name": "CLRSupportLastError", + "switch": "CLRSupportLastError", + "comment": "Enabled", + "value": "Enabled", + "flags": [] + }, + { + "name": "CLRSupportLastError", + "switch": "CLRSupportLastError:NO", + "comment": "Disabled", + "value": "Disabled", + "flags": [] + }, + { + "name": "CLRSupportLastError", + "switch": "CLRSupportLastError:SYSTEMDLL", + "comment": "System Dlls Only", + "value": "SystemDlls", + "flags": [] + }, + { + "name": "LinkIncremental", + "switch": "INCREMENTAL:NO", + "comment": "Enable Incremental Linking", + "value": "false", + "flags": [] + }, + { + "name": "LinkIncremental", + "switch": "INCREMENTAL", + "comment": "Enable Incremental Linking", + "value": "true", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "NOLOGO", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "LinkStatus", + "switch": "LTCG:NOSTATUS", + "comment": "Link Status", + "value": "false", + "flags": [] + }, + { + "name": "LinkStatus", + "switch": "LTCG:STATUS", + "comment": "Link Status", + "value": "true", + "flags": [] + }, + { + "name": "PreventDllBinding", + "switch": "ALLOWBIND:NO", + "comment": "Prevent Dll Binding", + "value": "false", + "flags": [] + }, + { + "name": "PreventDllBinding", + "switch": "ALLOWBIND", + "comment": "Prevent Dll Binding", + "value": "true", + "flags": [] + }, + { + "name": "TreatLinkerWarningAsErrors", + "switch": "WX:NO", + "comment": "Treat Linker Warning As Errors", + "value": "false", + "flags": [] + }, + { + "name": "TreatLinkerWarningAsErrors", + "switch": "WX", + "comment": "Treat Linker Warning As Errors", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreAllDefaultLibraries", + "switch": "NODEFAULTLIB", + "comment": "Ignore All Default Libraries", + "value": "true", + "flags": [] + }, + { + "name": "GenerateManifest", + "switch": "MANIFEST:NO", + "comment": "Generate Manifest", + "value": "false", + "flags": [] + }, + { + "name": "GenerateManifest", + "switch": "MANIFEST", + "comment": "Generate Manifest", + "value": "true", + "flags": [] + }, + { + "name": "AllowIsolation", + "switch": "ALLOWISOLATION:NO", + "comment": "Allow Isolation", + "value": "false", + "flags": [] + }, + { + "name": "AllowIsolation", + "switch": "", + "comment": "Allow Isolation", + "value": "true", + "flags": [] + }, + { + "name": "EnableUAC", + "switch": "MANIFESTUAC:NO", + "comment": "Enable User Account Control (UAC)", + "value": "false", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "EnableUAC", + "switch": "MANIFESTUAC:", + "comment": "Enable User Account Control (UAC)", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "UACUIAccess", + "switch": "uiAccess='false'", + "comment": "UAC Bypass UI Protection", + "value": "false", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "UACUIAccess", + "switch": "MANIFESTUAC:", + "comment": "UAC Bypass UI Protection", + "value": "true", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "UACUIAccess", + "switch": "uiAccess='false'", + "comment": "UAC Bypass UI Protection", + "value": "false", + "flags": [] + }, + { + "name": "UACUIAccess", + "switch": "uiAccess='true'", + "comment": "UAC Bypass UI Protection", + "value": "true", + "flags": [] + }, + { + "name": "ManifestEmbed", + "switch": "manifest:embed", + "comment": "Embed Manifest", + "value": "true", + "flags": [] + }, + { + "name": "GenerateDebugInformation", + "switch": "DEBUG", + "comment": "Generate Debug Info", + "value": "true", + "flags": [] + }, + { + "name": "GenerateMapFile", + "switch": "MAP", + "comment": "Generate Map File", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "MapExports", + "switch": "MAPINFO:EXPORTS", + "comment": "Map Exports", + "value": "true", + "flags": [] + }, + { + "name": "AssemblyDebug", + "switch": "ASSEMBLYDEBUG:DISABLE", + "comment": "Debuggable Assembly", + "value": "false", + "flags": [] + }, + { + "name": "AssemblyDebug", + "switch": "ASSEMBLYDEBUG", + "comment": "Debuggable Assembly", + "value": "true", + "flags": [] + }, + { + "name": "LargeAddressAware", + "switch": "LARGEADDRESSAWARE:NO", + "comment": "Enable Large Addresses", + "value": "false", + "flags": [] + }, + { + "name": "LargeAddressAware", + "switch": "LARGEADDRESSAWARE", + "comment": "Enable Large Addresses", + "value": "true", + "flags": [] + }, + { + "name": "TerminalServerAware", + "switch": "TSAWARE:NO", + "comment": "Terminal Server", + "value": "false", + "flags": [] + }, + { + "name": "TerminalServerAware", + "switch": "TSAWARE", + "comment": "Terminal Server", + "value": "true", + "flags": [] + }, + { + "name": "SwapRunFromCD", + "switch": "SWAPRUN:CD", + "comment": "Swap Run From CD", + "value": "true", + "flags": [] + }, + { + "name": "SwapRunFromNET", + "switch": "SWAPRUN:NET", + "comment": "Swap Run From Network", + "value": "true", + "flags": [] + }, + { + "name": "OptimizeReferences", + "switch": "OPT:NOREF", + "comment": "References", + "value": "false", + "flags": [] + }, + { + "name": "OptimizeReferences", + "switch": "OPT:REF", + "comment": "References", + "value": "true", + "flags": [] + }, + { + "name": "EnableCOMDATFolding", + "switch": "OPT:NOICF", + "comment": "Enable COMDAT Folding", + "value": "false", + "flags": [] + }, + { + "name": "EnableCOMDATFolding", + "switch": "OPT:ICF", + "comment": "Enable COMDAT Folding", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreEmbeddedIDL", + "switch": "IGNOREIDL", + "comment": "Ignore Embedded IDL", + "value": "true", + "flags": [] + }, + { + "name": "AppContainer", + "switch": "APPCONTAINER", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "WindowsMetadataLinkDelaySign", + "switch": "WINMDDELAYSIGN:NO", + "comment": "Windows Metadata Delay Sign", + "value": "false", + "flags": [] + }, + { + "name": "WindowsMetadataLinkDelaySign", + "switch": "WINMDDELAYSIGN", + "comment": "Windows Metadata Delay Sign", + "value": "true", + "flags": [] + }, + { + "name": "NoEntryPoint", + "switch": "NOENTRY", + "comment": "No Entry Point", + "value": "true", + "flags": [] + }, + { + "name": "SetChecksum", + "switch": "RELEASE", + "comment": "Set Checksum", + "value": "true", + "flags": [] + }, + { + "name": "RandomizedBaseAddress", + "switch": "DYNAMICBASE:NO", + "comment": "Randomized Base Address", + "value": "false", + "flags": [] + }, + { + "name": "RandomizedBaseAddress", + "switch": "DYNAMICBASE", + "comment": "Randomized Base Address", + "value": "true", + "flags": [] + }, + { + "name": "FixedBaseAddress", + "switch": "FIXED:NO", + "comment": "Fixed Base Address", + "value": "false", + "flags": [] + }, + { + "name": "FixedBaseAddress", + "switch": "FIXED", + "comment": "Fixed Base Address", + "value": "true", + "flags": [] + }, + { + "name": "DataExecutionPrevention", + "switch": "NXCOMPAT:NO", + "comment": "Data Execution Prevention (DEP)", + "value": "false", + "flags": [] + }, + { + "name": "DataExecutionPrevention", + "switch": "NXCOMPAT", + "comment": "Data Execution Prevention (DEP)", + "value": "true", + "flags": [] + }, + { + "name": "TurnOffAssemblyGeneration", + "switch": "NOASSEMBLY", + "comment": "Turn Off Assembly Generation", + "value": "true", + "flags": [] + }, + { + "name": "SupportUnloadOfDelayLoadedDLL", + "switch": "DELAY:UNLOAD", + "comment": "Unload delay loaded DLL", + "value": "true", + "flags": [] + }, + { + "name": "SupportNobindOfDelayLoadedDLL", + "switch": "DELAY:NOBIND", + "comment": "Nobind delay loaded DLL", + "value": "true", + "flags": [] + }, + { + "name": "Profile", + "switch": "PROFILE", + "comment": "Profile", + "value": "true", + "flags": [] + }, + { + "name": "LinkDelaySign", + "switch": "DELAYSIGN:NO", + "comment": "Delay Sign", + "value": "false", + "flags": [] + }, + { + "name": "LinkDelaySign", + "switch": "DELAYSIGN", + "comment": "Delay Sign", + "value": "true", + "flags": [] + }, + { + "name": "CLRUnmanagedCodeCheck", + "switch": "CLRUNMANAGEDCODECHECK:NO", + "comment": "CLR Unmanaged Code Check", + "value": "false", + "flags": [] + }, + { + "name": "CLRUnmanagedCodeCheck", + "switch": "CLRUNMANAGEDCODECHECK", + "comment": "CLR Unmanaged Code Check", + "value": "true", + "flags": [] + }, + { + "name": "DetectOneDefinitionRule", + "switch": "ODR", + "comment": "Detect One Definition Rule violations", + "value": "true", + "flags": [] + }, + { + "name": "ImageHasSafeExceptionHandlers", + "switch": "SAFESEH:NO", + "comment": "Image Has Safe Exception Handlers", + "value": "false", + "flags": [] + }, + { + "name": "ImageHasSafeExceptionHandlers", + "switch": "SAFESEH", + "comment": "Image Has Safe Exception Handlers", + "value": "true", + "flags": [] + }, + { + "name": "LinkDLL", + "switch": "DLL", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AdditionalLibraryDirectories", + "switch": "LIBPATH:", + "comment": "Additional Library Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "IgnoreSpecificDefaultLibraries", + "switch": "NODEFAULTLIB:", + "comment": "Ignore Specific Default Libraries", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AddModuleNamesToAssembly", + "switch": "ASSEMBLYMODULE:", + "comment": "Add Module to Assembly", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "EmbedManagedResourceFile", + "switch": "ASSEMBLYRESOURCE:", + "comment": "Embed Managed Resource File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ForceSymbolReferences", + "switch": "INCLUDE:", + "comment": "Force Symbol References", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "DelayLoadDLLs", + "switch": "DELAYLOAD:", + "comment": "Delay Loaded Dlls", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AssemblyLinkResource", + "switch": "ASSEMBLYLINKRESOURCE:", + "comment": "Assembly Link Resource", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalManifestDependencies", + "switch": "MANIFESTDEPENDENCY:", + "comment": "Additional Manifest Dependencies", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ManifestInput", + "switch": "manifestinput:", + "comment": "Manifest Input", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "OutputFile", + "switch": "OUT:", + "comment": "Output File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "Version", + "switch": "VERSION:", + "comment": "Version", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "SpecifySectionAttributes", + "switch": "SECTION:", + "comment": "Specify Section Attributes", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MSDOSStubFileName", + "switch": "STUB:", + "comment": "MS-DOS Stub File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ModuleDefinitionFile", + "switch": "DEF:", + "comment": "Module Definition File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ManifestFile", + "switch": "ManifestFile:", + "comment": "Manifest File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProgramDatabaseFile", + "switch": "PDB:", + "comment": "Generate Program Database File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "StripPrivateSymbols", + "switch": "PDBSTRIPPED:", + "comment": "Strip Private Symbols", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MapFileName", + "switch": "MAP:", + "comment": "Map File Name", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "HeapReserveSize", + "switch": "HEAP:", + "comment": "Heap Reserve Size", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "HeapCommitSize", + "switch": "HEAP", + "comment": "Heap Commit Size", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "StackReserveSize", + "switch": "STACK:", + "comment": "Stack Reserve Size", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "StackCommitSize", + "switch": "STACK", + "comment": "Stack Commit Size", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "FunctionOrder", + "switch": "ORDER:@", + "comment": "Function Order", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProfileGuidedDatabase", + "switch": "PGD:", + "comment": "Profile Guided Database", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MidlCommandFile", + "switch": "MIDL:@", + "comment": "MIDL Commands", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MergedIDLBaseFileName", + "switch": "IDLOUT:", + "comment": "Merged IDL Base File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "TypeLibraryFile", + "switch": "TLBOUT:", + "comment": "Type Library", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "WindowsMetadataFile", + "switch": "WINMDFILE:", + "comment": "Windows Metadata File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "WindowsMetadataLinkKeyFile", + "switch": "WINMDKEYFILE:", + "comment": "Windows Metadata Key File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "WindowsMetadataKeyContainer", + "switch": "WINMDKEYCONTAINER:", + "comment": "Windows Metadata Key Container", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "EntryPointSymbol", + "switch": "ENTRY:", + "comment": "Entry Point", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "BaseAddress", + "switch": "BASE:", + "comment": "Base Address", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ImportLibrary", + "switch": "IMPLIB:", + "comment": "Import Library", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MergeSections", + "switch": "MERGE:", + "comment": "Merge Sections", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "LinkKeyFile", + "switch": "KEYFILE:", + "comment": "Key File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "KeyContainer", + "switch": "KEYCONTAINER:", + "comment": "Key Container", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "TypeLibraryResourceID", + "switch": "TLBID:", + "comment": "TypeLib Resource ID", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "SectionAlignment", + "switch": "ALIGN:", + "comment": "SectionAlignment", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v12_MASM.json b/Templates/MSBuild/FlagTables/v12_MASM.json new file mode 100644 index 0000000..51a48c8 --- /dev/null +++ b/Templates/MSBuild/FlagTables/v12_MASM.json @@ -0,0 +1,295 @@ +[ + { + "name": "PreserveIdentifierCase", + "switch": "", + "comment": "Default", + "value": "0", + "flags": [] + }, + { + "name": "PreserveIdentifierCase", + "switch": "Cp", + "comment": "Preserves Identifier Case (/Cp)", + "value": "1", + "flags": [] + }, + { + "name": "PreserveIdentifierCase", + "switch": "Cu", + "comment": "Maps all identifiers to upper case. (/Cu)", + "value": "2", + "flags": [] + }, + { + "name": "PreserveIdentifierCase", + "switch": "Cx", + "comment": "Preserves case in public and extern symbols. (/Cx)", + "value": "3", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W0", + "comment": "Warning Level 0 (/W0)", + "value": "0", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W1", + "comment": "Warning Level 1 (/W1)", + "value": "1", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W2", + "comment": "Warning Level 2 (/W2)", + "value": "2", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W3", + "comment": "Warning Level 3 (/W3)", + "value": "3", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "", + "comment": "Default", + "value": "0", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp1", + "comment": "One Byte Boundary (/Zp1)", + "value": "1", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp2", + "comment": "Two Byte Boundary (/Zp2)", + "value": "2", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp4", + "comment": "Four Byte Boundary (/Zp4)", + "value": "3", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp8", + "comment": "Eight Byte Boundary (/Zp8)", + "value": "4", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp16", + "comment": "Sixteen Byte Boundary (/Zp16)", + "value": "5", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "", + "comment": "Default", + "value": "0", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gd", + "comment": "Use C-style Calling Convention (/Gd)", + "value": "1", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gz", + "comment": "Use stdcall Calling Convention (/Gz)", + "value": "2", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gc", + "comment": "Use Pascal Calling Convention (/Gc)", + "value": "3", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:prompt", + "comment": "Prompt to send report immediately (/errorReport:prompt)", + "value": "0", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:queue", + "comment": "Prompt to send report at the next logon (/errorReport:queue)", + "value": "1", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:send", + "comment": "Automatically send report (/errorReport:send)", + "value": "2", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:none", + "comment": "Do not send report (/errorReport:none)", + "value": "3", + "flags": [] + }, + { + "name": "NoLogo", + "switch": "nologo", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "GeneratePreprocessedSourceListing", + "switch": "EP", + "comment": "Generate Preprocessed Source Listing", + "value": "true", + "flags": [] + }, + { + "name": "ListAllAvailableInformation", + "switch": "Sa", + "comment": "List All Available Information", + "value": "true", + "flags": [] + }, + { + "name": "UseSafeExceptionHandlers", + "switch": "safeseh", + "comment": "Use Safe Exception Handlers", + "value": "true", + "flags": [] + }, + { + "name": "AddFirstPassListing", + "switch": "Sf", + "comment": "Add First Pass Listing", + "value": "true", + "flags": [] + }, + { + "name": "EnableAssemblyGeneratedCodeListing", + "switch": "Sg", + "comment": "Enable Assembly Generated Code Listing", + "value": "true", + "flags": [] + }, + { + "name": "DisableSymbolTable", + "switch": "Sn", + "comment": "Disable Symbol Table", + "value": "true", + "flags": [] + }, + { + "name": "EnableFalseConditionalsInListing", + "switch": "Sx", + "comment": "Enable False Conditionals In Listing", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "WX", + "comment": "Treat Warnings As Errors", + "value": "true", + "flags": [] + }, + { + "name": "MakeAllSymbolsPublic", + "switch": "Zf", + "comment": "Make All Symbols Public", + "value": "true", + "flags": [] + }, + { + "name": "GenerateDebugInformation", + "switch": "Zi", + "comment": "Generate Debug Information", + "value": "true", + "flags": [] + }, + { + "name": "EnableMASM51Compatibility", + "switch": "Zm", + "comment": "Enable MASM 5.1 Compatibility", + "value": "true", + "flags": [] + }, + { + "name": "PerformSyntaxCheckOnly", + "switch": "Zs", + "comment": "Perform Syntax Check Only", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessorDefinitions", + "switch": "D\"[value]\"", + "comment": "Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "IncludePaths", + "switch": "I \"[value]\"", + "comment": "Include Paths", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "BrowseFile", + "switch": "FR\"[value]\"", + "comment": "Generate Browse Information File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ObjectFileName", + "switch": "Fo\"[value]\"", + "comment": "Object File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "AssembledCodeListingFile", + "switch": "Fl\"[value]\"", + "comment": "Assembled Code Listing File", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v12_RC.json b/Templates/MSBuild/FlagTables/v12_RC.json new file mode 100644 index 0000000..b8c0127 --- /dev/null +++ b/Templates/MSBuild/FlagTables/v12_RC.json @@ -0,0 +1,69 @@ +[ + { + "name": "IgnoreStandardIncludePath", + "switch": "X", + "comment": "Ignore Standard Include Paths", + "value": "true", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "v", + "comment": "Show Progress", + "value": "true", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "nologo", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "NullTerminateStrings", + "switch": "n", + "comment": "Null Terminate Strings", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessorDefinitions", + "switch": "D", + "comment": "Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "UndefinePreprocessorDefinitions", + "switch": "u", + "comment": "Undefine Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalIncludeDirectories", + "switch": "I", + "comment": "Additional Include Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ResourceOutputFileName", + "switch": "fo", + "comment": "Resource File Name", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v140_CL.json b/Templates/MSBuild/FlagTables/v140_CL.json new file mode 100644 index 0000000..1a81098 --- /dev/null +++ b/Templates/MSBuild/FlagTables/v140_CL.json @@ -0,0 +1,1124 @@ +[ + { + "name": "DebugInformationFormat", + "switch": "", + "comment": "None", + "value": "None", + "flags": [] + }, + { + "name": "DebugInformationFormat", + "switch": "Z7", + "comment": "C7 compatible", + "value": "OldStyle", + "flags": [] + }, + { + "name": "DebugInformationFormat", + "switch": "Zi", + "comment": "Program Database", + "value": "ProgramDatabase", + "flags": [] + }, + { + "name": "DebugInformationFormat", + "switch": "ZI", + "comment": "Program Database for Edit And Continue", + "value": "EditAndContinue", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "", + "comment": "No Common Language RunTime Support", + "value": "false", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr", + "comment": "Common Language RunTime Support", + "value": "true", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr:pure", + "comment": "Pure MSIL Common Language RunTime Support", + "value": "Pure", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr:safe", + "comment": "Safe MSIL Common Language RunTime Support", + "value": "Safe", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W0", + "comment": "Turn Off All Warnings", + "value": "TurnOffAllWarnings", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W1", + "comment": "Level1", + "value": "Level1", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W2", + "comment": "Level2", + "value": "Level2", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W3", + "comment": "Level3", + "value": "Level3", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W4", + "comment": "Level4", + "value": "Level4", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "Wall", + "comment": "EnableAllWarnings", + "value": "EnableAllWarnings", + "flags": [] + }, + { + "name": "Optimization", + "switch": "", + "comment": "Custom", + "value": "Custom", + "flags": [] + }, + { + "name": "Optimization", + "switch": "Od", + "comment": "Disabled", + "value": "Disabled", + "flags": [] + }, + { + "name": "Optimization", + "switch": "O1", + "comment": "Minimize Size", + "value": "MinSpace", + "flags": [] + }, + { + "name": "Optimization", + "switch": "O2", + "comment": "Maximize Speed", + "value": "MaxSpeed", + "flags": [] + }, + { + "name": "Optimization", + "switch": "Ox", + "comment": "Full Optimization", + "value": "Full", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "Ob0", + "comment": "Disabled", + "value": "Disabled", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "Ob1", + "comment": "Only __inline", + "value": "OnlyExplicitInline", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "Ob2", + "comment": "Any Suitable", + "value": "AnySuitable", + "flags": [] + }, + { + "name": "FavorSizeOrSpeed", + "switch": "Os", + "comment": "Favor small code", + "value": "Size", + "flags": [] + }, + { + "name": "FavorSizeOrSpeed", + "switch": "Ot", + "comment": "Favor fast code", + "value": "Speed", + "flags": [] + }, + { + "name": "FavorSizeOrSpeed", + "switch": "", + "comment": "Neither", + "value": "Neither", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "EHa", + "comment": "Yes with SEH Exceptions", + "value": "Async", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "EHsc", + "comment": "Yes", + "value": "Sync", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "EHs", + "comment": "Yes with Extern C functions", + "value": "SyncCThrow", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "", + "comment": "No", + "value": "false", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "RTCs", + "comment": "Stack Frames", + "value": "StackFrameRuntimeCheck", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "RTCu", + "comment": "Uninitialized variables", + "value": "UninitializedLocalUsageCheck", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "RTC1", + "comment": "Both (/RTC1, equiv. to /RTCsu)", + "value": "EnableFastChecks", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MT", + "comment": "Multi-threaded", + "value": "MultiThreaded", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MTd", + "comment": "Multi-threaded Debug", + "value": "MultiThreadedDebug", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MD", + "comment": "Multi-threaded DLL", + "value": "MultiThreadedDLL", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MDd", + "comment": "Multi-threaded Debug DLL", + "value": "MultiThreadedDebugDLL", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp1", + "comment": "1 Byte", + "value": "1Byte", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp2", + "comment": "2 Bytes", + "value": "2Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp4", + "comment": "4 Byte", + "value": "4Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp8", + "comment": "8 Bytes", + "value": "8Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp16", + "comment": "16 Bytes", + "value": "16Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "BufferSecurityCheck", + "switch": "GS-", + "comment": "Disable Security Check", + "value": "false", + "flags": [] + }, + { + "name": "BufferSecurityCheck", + "switch": "GS", + "comment": "Enable Security Check", + "value": "true", + "flags": [] + }, + { + "name": "ControlFlowGuard", + "switch": "guard:cf", + "comment": "Yes", + "value": "Guard", + "flags": [] + }, + { + "name": "ControlFlowGuard", + "switch": "", + "comment": "No", + "value": "false", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:SSE", + "comment": "Streaming SIMD Extensions", + "value": "StreamingSIMDExtensions", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:SSE2", + "comment": "Streaming SIMD Extensions 2", + "value": "StreamingSIMDExtensions2", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:AVX", + "comment": "Advanced Vector Extensions", + "value": "AdvancedVectorExtensions", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:AVX2", + "comment": "Advanced Vector Extensions 2", + "value": "AdvancedVectorExtensions2", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:IA32", + "comment": "No Enhanced Instructions", + "value": "NoExtensions", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "FloatingPointModel", + "switch": "fp:precise", + "comment": "Precise", + "value": "Precise", + "flags": [] + }, + { + "name": "FloatingPointModel", + "switch": "fp:strict", + "comment": "Strict", + "value": "Strict", + "flags": [] + }, + { + "name": "FloatingPointModel", + "switch": "fp:fast", + "comment": "Fast", + "value": "Fast", + "flags": [] + }, + { + "name": "PrecompiledHeader", + "switch": "Yc", + "comment": "Create", + "value": "Create", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "PrecompiledHeader", + "switch": "Yu", + "comment": "Use", + "value": "Use", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "PrecompiledHeader", + "switch": "", + "comment": "Not Using Precompiled Headers", + "value": "NotUsing", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "", + "comment": "No Listing", + "value": "NoListing", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FA", + "comment": "Assembly-Only Listing", + "value": "AssemblyCode", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FAc", + "comment": "Assembly With Machine Code", + "value": "AssemblyAndMachineCode", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FAs", + "comment": "Assembly With Source Code", + "value": "AssemblyAndSourceCode", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FAcs", + "comment": "Assembly, Machine Code and Source", + "value": "All", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gd", + "comment": "__cdecl", + "value": "Cdecl", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gr", + "comment": "__fastcall", + "value": "FastCall", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gz", + "comment": "__stdcall", + "value": "StdCall", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gv", + "comment": "__vectorcall", + "value": "VectorCall", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "TC", + "comment": "Compile as C Code", + "value": "CompileAsC", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "TP", + "comment": "Compile as C++ Code", + "value": "CompileAsCpp", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:none", + "comment": "Do Not Send Report", + "value": "None", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:prompt", + "comment": "Prompt Immediately", + "value": "Prompt", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:queue", + "comment": "Queue For Next Login", + "value": "Queue", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:send", + "comment": "Send Automatically", + "value": "Send", + "flags": [] + }, + { + "name": "CompileAsWinRT", + "switch": "ZW", + "comment": "Consume Windows Runtime Extension", + "value": "true", + "flags": [] + }, + { + "name": "WinRTNoStdLib", + "switch": "ZW:nostdlib", + "comment": "No Standard WinRT Libraries", + "value": "true", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "nologo", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningAsError", + "switch": "WX-", + "comment": "Treat Warnings As Errors", + "value": "false", + "flags": [] + }, + { + "name": "TreatWarningAsError", + "switch": "WX", + "comment": "Treat Warnings As Errors", + "value": "true", + "flags": [] + }, + { + "name": "SDLCheck", + "switch": "sdl-", + "comment": "SDL checks", + "value": "false", + "flags": [] + }, + { + "name": "SDLCheck", + "switch": "sdl", + "comment": "SDL checks", + "value": "true", + "flags": [] + }, + { + "name": "MultiProcessorCompilation", + "switch": "MP", + "comment": "Multi-processor Compilation", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "IntrinsicFunctions", + "switch": "Oi", + "comment": "Enable Intrinsic Functions", + "value": "true", + "flags": [] + }, + { + "name": "OmitFramePointers", + "switch": "Oy-", + "comment": "Omit Frame Pointers", + "value": "false", + "flags": [] + }, + { + "name": "OmitFramePointers", + "switch": "Oy", + "comment": "Omit Frame Pointers", + "value": "true", + "flags": [] + }, + { + "name": "EnableFiberSafeOptimizations", + "switch": "GT", + "comment": "Enable Fiber-Safe Optimizations", + "value": "true", + "flags": [] + }, + { + "name": "WholeProgramOptimization", + "switch": "GL", + "comment": "Whole Program Optimization", + "value": "true", + "flags": [] + }, + { + "name": "UndefineAllPreprocessorDefinitions", + "switch": "u", + "comment": "Undefine All Preprocessor Definitions", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreStandardIncludePath", + "switch": "X", + "comment": "Ignore Standard Include Paths", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessToFile", + "switch": "P", + "comment": "Preprocess to a File", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessSuppressLineNumbers", + "switch": "EP", + "comment": "Preprocess Suppress Line Numbers", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessKeepComments", + "switch": "C", + "comment": "Keep Comments", + "value": "true", + "flags": [] + }, + { + "name": "StringPooling", + "switch": "GF-", + "comment": "Enable String Pooling", + "value": "false", + "flags": [] + }, + { + "name": "StringPooling", + "switch": "GF", + "comment": "Enable String Pooling", + "value": "true", + "flags": [] + }, + { + "name": "MinimalRebuild", + "switch": "Gm-", + "comment": "Enable Minimal Rebuild", + "value": "false", + "flags": [] + }, + { + "name": "MinimalRebuild", + "switch": "Gm", + "comment": "Enable Minimal Rebuild", + "value": "true", + "flags": [] + }, + { + "name": "SmallerTypeCheck", + "switch": "RTCc", + "comment": "Smaller Type Check", + "value": "true", + "flags": [] + }, + { + "name": "FunctionLevelLinking", + "switch": "Gy-", + "comment": "Enable Function-Level Linking", + "value": "false", + "flags": [] + }, + { + "name": "FunctionLevelLinking", + "switch": "Gy", + "comment": "Enable Function-Level Linking", + "value": "true", + "flags": [] + }, + { + "name": "EnableParallelCodeGeneration", + "switch": "Qpar-", + "comment": "Enable Parallel Code Generation", + "value": "false", + "flags": [] + }, + { + "name": "EnableParallelCodeGeneration", + "switch": "Qpar", + "comment": "Enable Parallel Code Generation", + "value": "true", + "flags": [] + }, + { + "name": "FloatingPointExceptions", + "switch": "fp:except-", + "comment": "Enable Floating Point Exceptions", + "value": "false", + "flags": [] + }, + { + "name": "FloatingPointExceptions", + "switch": "fp:except", + "comment": "Enable Floating Point Exceptions", + "value": "true", + "flags": [] + }, + { + "name": "CreateHotpatchableImage", + "switch": "hotpatch", + "comment": "Create Hotpatchable Image", + "value": "true", + "flags": [] + }, + { + "name": "DisableLanguageExtensions", + "switch": "Za", + "comment": "Disable Language Extensions", + "value": "true", + "flags": [] + }, + { + "name": "TreatWChar_tAsBuiltInType", + "switch": "Zc:wchar_t-", + "comment": "Treat WChar_t As Built in Type", + "value": "false", + "flags": [] + }, + { + "name": "TreatWChar_tAsBuiltInType", + "switch": "Zc:wchar_t", + "comment": "Treat WChar_t As Built in Type", + "value": "true", + "flags": [] + }, + { + "name": "ForceConformanceInForLoopScope", + "switch": "Zc:forScope-", + "comment": "Force Conformance in For Loop Scope", + "value": "false", + "flags": [] + }, + { + "name": "ForceConformanceInForLoopScope", + "switch": "Zc:forScope", + "comment": "Force Conformance in For Loop Scope", + "value": "true", + "flags": [] + }, + { + "name": "RemoveUnreferencedCodeData", + "switch": "Zc:inline", + "comment": "Remove unreferenced code and data", + "value": "true", + "flags": [] + }, + { + "name": "EnforceTypeConversionRules", + "switch": "Zc:rvalueCast-", + "comment": "Enforce type conversion rules", + "value": "false", + "flags": [] + }, + { + "name": "EnforceTypeConversionRules", + "switch": "Zc:rvalueCast", + "comment": "Enforce type conversion rules", + "value": "true", + "flags": [] + }, + { + "name": "RuntimeTypeInfo", + "switch": "GR-", + "comment": "Enable Run-Time Type Information", + "value": "false", + "flags": [] + }, + { + "name": "RuntimeTypeInfo", + "switch": "GR", + "comment": "Enable Run-Time Type Information", + "value": "true", + "flags": [] + }, + { + "name": "OpenMPSupport", + "switch": "openmp-", + "comment": "Open MP Support", + "value": "false", + "flags": [] + }, + { + "name": "OpenMPSupport", + "switch": "openmp", + "comment": "Open MP Support", + "value": "true", + "flags": [] + }, + { + "name": "ExpandAttributedSource", + "switch": "Fx", + "comment": "Expand Attributed Source", + "value": "true", + "flags": [] + }, + { + "name": "UseUnicodeForAssemblerListing", + "switch": "FAu", + "comment": "Use Unicode For Assembler Listing", + "value": "true", + "flags": [] + }, + { + "name": "GenerateXMLDocumentationFiles", + "switch": "doc", + "comment": "Generate XML Documentation Files", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "BrowseInformation", + "switch": "FR", + "comment": "Enable Browse Information", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "ShowIncludes", + "switch": "showIncludes", + "comment": "Show Includes", + "value": "true", + "flags": [] + }, + { + "name": "EnablePREfast", + "switch": "analyze-", + "comment": "Enable Code Analysis", + "value": "false", + "flags": [] + }, + { + "name": "EnablePREfast", + "switch": "analyze", + "comment": "Enable Code Analysis", + "value": "true", + "flags": [] + }, + { + "name": "UseFullPaths", + "switch": "FC", + "comment": "Use Full Paths", + "value": "true", + "flags": [] + }, + { + "name": "OmitDefaultLibName", + "switch": "Zl", + "comment": "Omit Default Library Name", + "value": "true", + "flags": [] + }, + { + "name": "AdditionalIncludeDirectories", + "switch": "I", + "comment": "Additional Include Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalUsingDirectories", + "switch": "AI", + "comment": "Additional #using Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PreprocessorDefinitions", + "switch": "D", + "comment": "Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "UndefinePreprocessorDefinitions", + "switch": "U", + "comment": "Undefine Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "DisableSpecificWarnings", + "switch": "wd", + "comment": "Disable Specific Warnings", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ForcedIncludeFiles", + "switch": "FI", + "comment": "Forced Include File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ForcedUsingFiles", + "switch": "FU", + "comment": "Forced #using File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PREfastAdditionalOptions", + "switch": "analyze:", + "comment": "Additional Code Analysis Native options", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PREfastAdditionalPlugins", + "switch": "analyze:plugin", + "comment": "Additional Code Analysis Native plugins", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "TreatSpecificWarningsAsErrors", + "switch": "we", + "comment": "Treat Specific Warnings As Errors", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "WarningVersion", + "switch": "Wv:", + "comment": "Warning Version", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "PreprocessOutputPath", + "switch": "Fi", + "comment": "Preprocess Output Path", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "PrecompiledHeaderFile", + "switch": "Yu", + "comment": "Precompiled Header File", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "PrecompiledHeaderFile", + "switch": "Yc", + "comment": "Precompiled Header File", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "PrecompiledHeaderOutputFile", + "switch": "Fp", + "comment": "Precompiled Header Output File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "AssemblerListingLocation", + "switch": "Fa", + "comment": "ASM List Location", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ObjectFileName", + "switch": "Fo", + "comment": "Object File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProgramDataBaseFileName", + "switch": "Fd", + "comment": "Program Database File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "XMLDocumentationFileName", + "switch": "doc", + "comment": "XML Documentation File Name", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "BrowseInformationFile", + "switch": "FR", + "comment": "Browse Information File", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "PREfastLog", + "switch": "analyze:log", + "comment": "Code Analysis Log", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProcessorNumber", + "switch": "MP", + "comment": "Number of processors", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v140_Link.json b/Templates/MSBuild/FlagTables/v140_Link.json new file mode 100644 index 0000000..7ccc41b --- /dev/null +++ b/Templates/MSBuild/FlagTables/v140_Link.json @@ -0,0 +1,1329 @@ +[ + { + "name": "ShowProgress", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE", + "comment": "Display all progress messages", + "value": "LinkVerbose", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:Lib", + "comment": "For Libraries Searched", + "value": "LinkVerboseLib", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:ICF", + "comment": "About COMDAT folding during optimized linking", + "value": "LinkVerboseICF", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:REF", + "comment": "About data removed during optimized linking", + "value": "LinkVerboseREF", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:SAFESEH", + "comment": "About Modules incompatible with SEH", + "value": "LinkVerboseSAFESEH", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:CLR", + "comment": "About linker activity related to managed code", + "value": "LinkVerboseCLR", + "flags": [] + }, + { + "name": "ForceFileOutput", + "switch": "FORCE", + "comment": "Enabled", + "value": "Enabled", + "flags": [] + }, + { + "name": "ForceFileOutput", + "switch": "FORCE:MULTIPLE", + "comment": "Multiply Defined Symbol Only", + "value": "MultiplyDefinedSymbolOnly", + "flags": [] + }, + { + "name": "ForceFileOutput", + "switch": "FORCE:UNRESOLVED", + "comment": "Undefined Symbol Only", + "value": "UndefinedSymbolOnly", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN", + "comment": "Enabled", + "value": "Enabled", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN:5", + "comment": "X86 Image Only", + "value": "X86Image", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN:6", + "comment": "X64 Image Only", + "value": "X64Image", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN:16", + "comment": "Itanium Image Only", + "value": "ItaniumImage", + "flags": [] + }, + { + "name": "UACExecutionLevel", + "switch": "level='asInvoker'", + "comment": "asInvoker", + "value": "AsInvoker", + "flags": [] + }, + { + "name": "UACExecutionLevel", + "switch": "level='highestAvailable'", + "comment": "highestAvailable", + "value": "HighestAvailable", + "flags": [] + }, + { + "name": "UACExecutionLevel", + "switch": "level='requireAdministrator'", + "comment": "requireAdministrator", + "value": "RequireAdministrator", + "flags": [] + }, + { + "name": "GenerateDebugInformation", + "switch": "", + "comment": "No", + "value": "false", + "flags": [] + }, + { + "name": "GenerateDebugInformation", + "switch": "DEBUG", + "comment": "Optimize for debugging", + "value": "true", + "flags": [] + }, + { + "name": "GenerateDebugInformation", + "switch": "DEBUG:FASTLINK", + "comment": "Optimize for faster linking", + "value": "DebugFastLink", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:CONSOLE", + "comment": "Console", + "value": "Console", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:WINDOWS", + "comment": "Windows", + "value": "Windows", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:NATIVE", + "comment": "Native", + "value": "Native", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_APPLICATION", + "comment": "EFI Application", + "value": "EFI Application", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", + "comment": "EFI Boot Service Driver", + "value": "EFI Boot Service Driver", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_ROM", + "comment": "EFI ROM", + "value": "EFI ROM", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_RUNTIME_DRIVER", + "comment": "EFI Runtime", + "value": "EFI Runtime", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:POSIX", + "comment": "POSIX", + "value": "POSIX", + "flags": [] + }, + { + "name": "Driver", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "Driver", + "switch": "Driver", + "comment": "Driver", + "value": "Driver", + "flags": [] + }, + { + "name": "Driver", + "switch": "DRIVER:UPONLY", + "comment": "UP Only", + "value": "UpOnly", + "flags": [] + }, + { + "name": "Driver", + "switch": "DRIVER:WDM", + "comment": "WDM", + "value": "WDM", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:incremental", + "comment": "Use Fast Link Time Code Generation", + "value": "UseFastLinkTimeCodeGeneration", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG", + "comment": "Use Link Time Code Generation", + "value": "UseLinkTimeCodeGeneration", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:PGInstrument", + "comment": "Profile Guided Optimization - Instrument", + "value": "PGInstrument", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:PGOptimize", + "comment": "Profile Guided Optimization - Optimization", + "value": "PGOptimization", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:PGUpdate", + "comment": "Profile Guided Optimization - Update", + "value": "PGUpdate", + "flags": [] + }, + { + "name": "GenerateWindowsMetadata", + "switch": "WINMD", + "comment": "Yes", + "value": "true", + "flags": [] + }, + { + "name": "GenerateWindowsMetadata", + "switch": "WINMD:NO", + "comment": "No", + "value": "false", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA1", + "comment": "SHA1", + "value": "SHA1", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA256", + "comment": "SHA256", + "value": "SHA256", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA384", + "comment": "SHA384", + "value": "SHA384", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA512", + "comment": "SHA512", + "value": "SHA512", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:ARM", + "comment": "MachineARM", + "value": "MachineARM", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:EBC", + "comment": "MachineEBC", + "value": "MachineEBC", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:IA64", + "comment": "MachineIA64", + "value": "MachineIA64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS", + "comment": "MachineMIPS", + "value": "MachineMIPS", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS16", + "comment": "MachineMIPS16", + "value": "MachineMIPS16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU", + "comment": "MachineMIPSFPU", + "value": "MachineMIPSFPU", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU16", + "comment": "MachineMIPSFPU16", + "value": "MachineMIPSFPU16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:SH4", + "comment": "MachineSH4", + "value": "MachineSH4", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:THUMB", + "comment": "MachineTHUMB", + "value": "MachineTHUMB", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X64", + "comment": "MachineX64", + "value": "MachineX64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X86", + "comment": "MachineX86", + "value": "MachineX86", + "flags": [] + }, + { + "name": "CLRThreadAttribute", + "switch": "CLRTHREADATTRIBUTE:MTA", + "comment": "MTA threading attribute", + "value": "MTAThreadingAttribute", + "flags": [] + }, + { + "name": "CLRThreadAttribute", + "switch": "CLRTHREADATTRIBUTE:STA", + "comment": "STA threading attribute", + "value": "STAThreadingAttribute", + "flags": [] + }, + { + "name": "CLRThreadAttribute", + "switch": "CLRTHREADATTRIBUTE:NONE", + "comment": "Default threading attribute", + "value": "DefaultThreadingAttribute", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "CLRIMAGETYPE:IJW", + "comment": "Force IJW image", + "value": "ForceIJWImage", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "CLRIMAGETYPE:PURE", + "comment": "Force Pure IL Image", + "value": "ForcePureILImage", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "CLRIMAGETYPE:SAFE", + "comment": "Force Safe IL Image", + "value": "ForceSafeILImage", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "", + "comment": "Default image type", + "value": "Default", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA1", + "comment": "SHA1", + "value": "SHA1", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA256", + "comment": "SHA256", + "value": "SHA256", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA384", + "comment": "SHA384", + "value": "SHA384", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA512", + "comment": "SHA512", + "value": "SHA512", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:PROMPT", + "comment": "PromptImmediately", + "value": "PromptImmediately", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:QUEUE", + "comment": "Queue For Next Login", + "value": "QueueForNextLogin", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:SEND", + "comment": "Send Error Report", + "value": "SendErrorReport", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:NONE", + "comment": "No Error Report", + "value": "NoErrorReport", + "flags": [] + }, + { + "name": "CLRSupportLastError", + "switch": "CLRSupportLastError", + "comment": "Enabled", + "value": "Enabled", + "flags": [] + }, + { + "name": "CLRSupportLastError", + "switch": "CLRSupportLastError:NO", + "comment": "Disabled", + "value": "Disabled", + "flags": [] + }, + { + "name": "CLRSupportLastError", + "switch": "CLRSupportLastError:SYSTEMDLL", + "comment": "System Dlls Only", + "value": "SystemDlls", + "flags": [] + }, + { + "name": "LinkControlFlowGuard", + "switch": "guard:cf", + "comment": "Enable Security Check with Guard", + "value": "Guard", + "flags": [] + }, + { + "name": "LinkIncremental", + "switch": "INCREMENTAL:NO", + "comment": "Enable Incremental Linking", + "value": "false", + "flags": [] + }, + { + "name": "LinkIncremental", + "switch": "INCREMENTAL", + "comment": "Enable Incremental Linking", + "value": "true", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "NOLOGO", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "LinkStatus", + "switch": "LTCG:NOSTATUS", + "comment": "Link Status", + "value": "false", + "flags": [] + }, + { + "name": "LinkStatus", + "switch": "LTCG:STATUS", + "comment": "Link Status", + "value": "true", + "flags": [] + }, + { + "name": "PreventDllBinding", + "switch": "ALLOWBIND:NO", + "comment": "Prevent Dll Binding", + "value": "false", + "flags": [] + }, + { + "name": "PreventDllBinding", + "switch": "ALLOWBIND", + "comment": "Prevent Dll Binding", + "value": "true", + "flags": [] + }, + { + "name": "TreatLinkerWarningAsErrors", + "switch": "WX:NO", + "comment": "Treat Linker Warning As Errors", + "value": "false", + "flags": [] + }, + { + "name": "TreatLinkerWarningAsErrors", + "switch": "WX", + "comment": "Treat Linker Warning As Errors", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreAllDefaultLibraries", + "switch": "NODEFAULTLIB", + "comment": "Ignore All Default Libraries", + "value": "true", + "flags": [] + }, + { + "name": "GenerateManifest", + "switch": "MANIFEST:NO", + "comment": "Generate Manifest", + "value": "false", + "flags": [] + }, + { + "name": "GenerateManifest", + "switch": "MANIFEST", + "comment": "Generate Manifest", + "value": "true", + "flags": [] + }, + { + "name": "AllowIsolation", + "switch": "ALLOWISOLATION:NO", + "comment": "Allow Isolation", + "value": "false", + "flags": [] + }, + { + "name": "AllowIsolation", + "switch": "", + "comment": "Allow Isolation", + "value": "true", + "flags": [] + }, + { + "name": "EnableUAC", + "switch": "MANIFESTUAC:NO", + "comment": "Enable User Account Control (UAC)", + "value": "false", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "EnableUAC", + "switch": "MANIFESTUAC:", + "comment": "Enable User Account Control (UAC)", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "UACUIAccess", + "switch": "uiAccess='false'", + "comment": "UAC Bypass UI Protection", + "value": "false", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "UACUIAccess", + "switch": "MANIFESTUAC:", + "comment": "UAC Bypass UI Protection", + "value": "true", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "UACUIAccess", + "switch": "uiAccess='false'", + "comment": "UAC Bypass UI Protection", + "value": "false", + "flags": [] + }, + { + "name": "UACUIAccess", + "switch": "uiAccess='true'", + "comment": "UAC Bypass UI Protection", + "value": "true", + "flags": [] + }, + { + "name": "ManifestEmbed", + "switch": "manifest:embed", + "comment": "Embed Manifest", + "value": "true", + "flags": [] + }, + { + "name": "GenerateMapFile", + "switch": "MAP", + "comment": "Generate Map File", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "MapExports", + "switch": "MAPINFO:EXPORTS", + "comment": "Map Exports", + "value": "true", + "flags": [] + }, + { + "name": "AssemblyDebug", + "switch": "ASSEMBLYDEBUG:DISABLE", + "comment": "Debuggable Assembly", + "value": "false", + "flags": [] + }, + { + "name": "AssemblyDebug", + "switch": "ASSEMBLYDEBUG", + "comment": "Debuggable Assembly", + "value": "true", + "flags": [] + }, + { + "name": "LargeAddressAware", + "switch": "LARGEADDRESSAWARE:NO", + "comment": "Enable Large Addresses", + "value": "false", + "flags": [] + }, + { + "name": "LargeAddressAware", + "switch": "LARGEADDRESSAWARE", + "comment": "Enable Large Addresses", + "value": "true", + "flags": [] + }, + { + "name": "TerminalServerAware", + "switch": "TSAWARE:NO", + "comment": "Terminal Server", + "value": "false", + "flags": [] + }, + { + "name": "TerminalServerAware", + "switch": "TSAWARE", + "comment": "Terminal Server", + "value": "true", + "flags": [] + }, + { + "name": "SwapRunFromCD", + "switch": "SWAPRUN:CD", + "comment": "Swap Run From CD", + "value": "true", + "flags": [] + }, + { + "name": "SwapRunFromNET", + "switch": "SWAPRUN:NET", + "comment": "Swap Run From Network", + "value": "true", + "flags": [] + }, + { + "name": "OptimizeReferences", + "switch": "OPT:NOREF", + "comment": "References", + "value": "false", + "flags": [] + }, + { + "name": "OptimizeReferences", + "switch": "OPT:REF", + "comment": "References", + "value": "true", + "flags": [] + }, + { + "name": "EnableCOMDATFolding", + "switch": "OPT:NOICF", + "comment": "Enable COMDAT Folding", + "value": "false", + "flags": [] + }, + { + "name": "EnableCOMDATFolding", + "switch": "OPT:ICF", + "comment": "Enable COMDAT Folding", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreEmbeddedIDL", + "switch": "IGNOREIDL", + "comment": "Ignore Embedded IDL", + "value": "true", + "flags": [] + }, + { + "name": "AppContainer", + "switch": "APPCONTAINER", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "WindowsMetadataLinkDelaySign", + "switch": "WINMDDELAYSIGN:NO", + "comment": "Windows Metadata Delay Sign", + "value": "false", + "flags": [] + }, + { + "name": "WindowsMetadataLinkDelaySign", + "switch": "WINMDDELAYSIGN", + "comment": "Windows Metadata Delay Sign", + "value": "true", + "flags": [] + }, + { + "name": "NoEntryPoint", + "switch": "NOENTRY", + "comment": "No Entry Point", + "value": "true", + "flags": [] + }, + { + "name": "SetChecksum", + "switch": "RELEASE", + "comment": "Set Checksum", + "value": "true", + "flags": [] + }, + { + "name": "RandomizedBaseAddress", + "switch": "DYNAMICBASE:NO", + "comment": "Randomized Base Address", + "value": "false", + "flags": [] + }, + { + "name": "RandomizedBaseAddress", + "switch": "DYNAMICBASE", + "comment": "Randomized Base Address", + "value": "true", + "flags": [] + }, + { + "name": "FixedBaseAddress", + "switch": "FIXED:NO", + "comment": "Fixed Base Address", + "value": "false", + "flags": [] + }, + { + "name": "FixedBaseAddress", + "switch": "FIXED", + "comment": "Fixed Base Address", + "value": "true", + "flags": [] + }, + { + "name": "DataExecutionPrevention", + "switch": "NXCOMPAT:NO", + "comment": "Data Execution Prevention (DEP)", + "value": "false", + "flags": [] + }, + { + "name": "DataExecutionPrevention", + "switch": "NXCOMPAT", + "comment": "Data Execution Prevention (DEP)", + "value": "true", + "flags": [] + }, + { + "name": "TurnOffAssemblyGeneration", + "switch": "NOASSEMBLY", + "comment": "Turn Off Assembly Generation", + "value": "true", + "flags": [] + }, + { + "name": "SupportUnloadOfDelayLoadedDLL", + "switch": "DELAY:UNLOAD", + "comment": "Unload delay loaded DLL", + "value": "true", + "flags": [] + }, + { + "name": "SupportNobindOfDelayLoadedDLL", + "switch": "DELAY:NOBIND", + "comment": "Nobind delay loaded DLL", + "value": "true", + "flags": [] + }, + { + "name": "Profile", + "switch": "PROFILE", + "comment": "Profile", + "value": "true", + "flags": [] + }, + { + "name": "LinkDelaySign", + "switch": "DELAYSIGN:NO", + "comment": "Delay Sign", + "value": "false", + "flags": [] + }, + { + "name": "LinkDelaySign", + "switch": "DELAYSIGN", + "comment": "Delay Sign", + "value": "true", + "flags": [] + }, + { + "name": "CLRUnmanagedCodeCheck", + "switch": "CLRUNMANAGEDCODECHECK:NO", + "comment": "CLR Unmanaged Code Check", + "value": "false", + "flags": [] + }, + { + "name": "CLRUnmanagedCodeCheck", + "switch": "CLRUNMANAGEDCODECHECK", + "comment": "CLR Unmanaged Code Check", + "value": "true", + "flags": [] + }, + { + "name": "DetectOneDefinitionRule", + "switch": "ODR", + "comment": "Detect One Definition Rule violations", + "value": "true", + "flags": [] + }, + { + "name": "ImageHasSafeExceptionHandlers", + "switch": "SAFESEH:NO", + "comment": "Image Has Safe Exception Handlers", + "value": "false", + "flags": [] + }, + { + "name": "ImageHasSafeExceptionHandlers", + "switch": "SAFESEH", + "comment": "Image Has Safe Exception Handlers", + "value": "true", + "flags": [] + }, + { + "name": "LinkDLL", + "switch": "DLL", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AdditionalLibraryDirectories", + "switch": "LIBPATH:", + "comment": "Additional Library Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "Natvis", + "switch": "NATVIS:", + "comment": "Natvis files", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "IgnoreSpecificDefaultLibraries", + "switch": "NODEFAULTLIB:", + "comment": "Ignore Specific Default Libraries", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AddModuleNamesToAssembly", + "switch": "ASSEMBLYMODULE:", + "comment": "Add Module to Assembly", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "EmbedManagedResourceFile", + "switch": "ASSEMBLYRESOURCE:", + "comment": "Embed Managed Resource File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ForceSymbolReferences", + "switch": "INCLUDE:", + "comment": "Force Symbol References", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "DelayLoadDLLs", + "switch": "DELAYLOAD:", + "comment": "Delay Loaded Dlls", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AssemblyLinkResource", + "switch": "ASSEMBLYLINKRESOURCE:", + "comment": "Assembly Link Resource", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalManifestDependencies", + "switch": "MANIFESTDEPENDENCY:", + "comment": "Additional Manifest Dependencies", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ManifestInput", + "switch": "manifestinput:", + "comment": "Manifest Input", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "OutputFile", + "switch": "OUT:", + "comment": "Output File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "Version", + "switch": "VERSION:", + "comment": "Version", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "SpecifySectionAttributes", + "switch": "SECTION:", + "comment": "Specify Section Attributes", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MSDOSStubFileName", + "switch": "STUB:", + "comment": "MS-DOS Stub File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ModuleDefinitionFile", + "switch": "DEF:", + "comment": "Module Definition File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ManifestFile", + "switch": "ManifestFile:", + "comment": "Manifest File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProgramDatabaseFile", + "switch": "PDB:", + "comment": "Generate Program Database File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "StripPrivateSymbols", + "switch": "PDBSTRIPPED:", + "comment": "Strip Private Symbols", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MapFileName", + "switch": "MAP:", + "comment": "Map File Name", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "HeapReserveSize", + "switch": "HEAP:", + "comment": "Heap Reserve Size", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "HeapCommitSize", + "switch": "HEAP", + "comment": "Heap Commit Size", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "StackReserveSize", + "switch": "STACK:", + "comment": "Stack Reserve Size", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "StackCommitSize", + "switch": "STACK", + "comment": "Stack Commit Size", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "FunctionOrder", + "switch": "ORDER:@", + "comment": "Function Order", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProfileGuidedDatabase", + "switch": "PGD:", + "comment": "Profile Guided Database", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MidlCommandFile", + "switch": "MIDL:@", + "comment": "MIDL Commands", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MergedIDLBaseFileName", + "switch": "IDLOUT:", + "comment": "Merged IDL Base File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "TypeLibraryFile", + "switch": "TLBOUT:", + "comment": "Type Library", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "WindowsMetadataFile", + "switch": "WINMDFILE:", + "comment": "Windows Metadata File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "WindowsMetadataLinkKeyFile", + "switch": "WINMDKEYFILE:", + "comment": "Windows Metadata Key File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "WindowsMetadataKeyContainer", + "switch": "WINMDKEYCONTAINER:", + "comment": "Windows Metadata Key Container", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "EntryPointSymbol", + "switch": "ENTRY:", + "comment": "Entry Point", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "BaseAddress", + "switch": "BASE:", + "comment": "Base Address", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ImportLibrary", + "switch": "IMPLIB:", + "comment": "Import Library", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MergeSections", + "switch": "MERGE:", + "comment": "Merge Sections", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "LinkKeyFile", + "switch": "KEYFILE:", + "comment": "Key File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "KeyContainer", + "switch": "KEYCONTAINER:", + "comment": "Key Container", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "TypeLibraryResourceID", + "switch": "TLBID:", + "comment": "TypeLib Resource ID", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "SectionAlignment", + "switch": "ALIGN:", + "comment": "SectionAlignment", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v141_CL.json b/Templates/MSBuild/FlagTables/v141_CL.json new file mode 100644 index 0000000..c624603 --- /dev/null +++ b/Templates/MSBuild/FlagTables/v141_CL.json @@ -0,0 +1,1194 @@ +[ + { + "name": "DebugInformationFormat", + "switch": "", + "comment": "None", + "value": "None", + "flags": [] + }, + { + "name": "DebugInformationFormat", + "switch": "Z7", + "comment": "C7 compatible", + "value": "OldStyle", + "flags": [] + }, + { + "name": "DebugInformationFormat", + "switch": "Zi", + "comment": "Program Database", + "value": "ProgramDatabase", + "flags": [] + }, + { + "name": "DebugInformationFormat", + "switch": "ZI", + "comment": "Program Database for Edit And Continue", + "value": "EditAndContinue", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "", + "comment": "No Common Language RunTime Support", + "value": "false", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr", + "comment": "Common Language RunTime Support", + "value": "true", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr:pure", + "comment": "Pure MSIL Common Language RunTime Support", + "value": "Pure", + "flags": [] + }, + { + "name": "CompileAsManaged", + "switch": "clr:safe", + "comment": "Safe MSIL Common Language RunTime Support", + "value": "Safe", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W0", + "comment": "Turn Off All Warnings", + "value": "TurnOffAllWarnings", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W1", + "comment": "Level1", + "value": "Level1", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W2", + "comment": "Level2", + "value": "Level2", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W3", + "comment": "Level3", + "value": "Level3", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W4", + "comment": "Level4", + "value": "Level4", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "Wall", + "comment": "EnableAllWarnings", + "value": "EnableAllWarnings", + "flags": [] + }, + { + "name": "DiagnosticsFormat", + "switch": "diagnostics:caret", + "comment": "Caret", + "value": "Caret", + "flags": [] + }, + { + "name": "DiagnosticsFormat", + "switch": "diagnostics:column", + "comment": "Column Info", + "value": "Column", + "flags": [] + }, + { + "name": "DiagnosticsFormat", + "switch": "diagnostics:classic", + "comment": "Classic", + "value": "Classic", + "flags": [] + }, + { + "name": "Optimization", + "switch": "", + "comment": "Custom", + "value": "Custom", + "flags": [] + }, + { + "name": "Optimization", + "switch": "Od", + "comment": "Disabled", + "value": "Disabled", + "flags": [] + }, + { + "name": "Optimization", + "switch": "O1", + "comment": "Maximum Optimization (Favor Size)", + "value": "MinSpace", + "flags": [] + }, + { + "name": "Optimization", + "switch": "O2", + "comment": "Maximum Optimization (Favor Speed)", + "value": "MaxSpeed", + "flags": [] + }, + { + "name": "Optimization", + "switch": "Ox", + "comment": "Optimizations (Favor Speed)", + "value": "Full", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "Ob0", + "comment": "Disabled", + "value": "Disabled", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "Ob1", + "comment": "Only __inline", + "value": "OnlyExplicitInline", + "flags": [] + }, + { + "name": "InlineFunctionExpansion", + "switch": "Ob2", + "comment": "Any Suitable", + "value": "AnySuitable", + "flags": [] + }, + { + "name": "FavorSizeOrSpeed", + "switch": "Os", + "comment": "Favor small code", + "value": "Size", + "flags": [] + }, + { + "name": "FavorSizeOrSpeed", + "switch": "Ot", + "comment": "Favor fast code", + "value": "Speed", + "flags": [] + }, + { + "name": "FavorSizeOrSpeed", + "switch": "", + "comment": "Neither", + "value": "Neither", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "EHa", + "comment": "Yes with SEH Exceptions", + "value": "Async", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "EHsc", + "comment": "Yes", + "value": "Sync", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "EHs", + "comment": "Yes with Extern C functions", + "value": "SyncCThrow", + "flags": [] + }, + { + "name": "ExceptionHandling", + "switch": "", + "comment": "No", + "value": "false", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "RTCs", + "comment": "Stack Frames", + "value": "StackFrameRuntimeCheck", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "RTCu", + "comment": "Uninitialized variables", + "value": "UninitializedLocalUsageCheck", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "RTC1", + "comment": "Both (/RTC1, equiv. to /RTCsu)", + "value": "EnableFastChecks", + "flags": [] + }, + { + "name": "BasicRuntimeChecks", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MT", + "comment": "Multi-threaded", + "value": "MultiThreaded", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MTd", + "comment": "Multi-threaded Debug", + "value": "MultiThreadedDebug", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MD", + "comment": "Multi-threaded DLL", + "value": "MultiThreadedDLL", + "flags": [] + }, + { + "name": "RuntimeLibrary", + "switch": "MDd", + "comment": "Multi-threaded Debug DLL", + "value": "MultiThreadedDebugDLL", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp1", + "comment": "1 Byte", + "value": "1Byte", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp2", + "comment": "2 Bytes", + "value": "2Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp4", + "comment": "4 Byte", + "value": "4Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp8", + "comment": "8 Bytes", + "value": "8Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "Zp16", + "comment": "16 Bytes", + "value": "16Bytes", + "flags": [] + }, + { + "name": "StructMemberAlignment", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "BufferSecurityCheck", + "switch": "GS-", + "comment": "Disable Security Check", + "value": "false", + "flags": [] + }, + { + "name": "BufferSecurityCheck", + "switch": "GS", + "comment": "Enable Security Check", + "value": "true", + "flags": [] + }, + { + "name": "ControlFlowGuard", + "switch": "guard:cf", + "comment": "Yes", + "value": "Guard", + "flags": [] + }, + { + "name": "ControlFlowGuard", + "switch": "", + "comment": "No", + "value": "false", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:SSE", + "comment": "Streaming SIMD Extensions", + "value": "StreamingSIMDExtensions", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:SSE2", + "comment": "Streaming SIMD Extensions 2", + "value": "StreamingSIMDExtensions2", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:AVX", + "comment": "Advanced Vector Extensions", + "value": "AdvancedVectorExtensions", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:AVX2", + "comment": "Advanced Vector Extensions 2", + "value": "AdvancedVectorExtensions2", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "arch:IA32", + "comment": "No Enhanced Instructions", + "value": "NoExtensions", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "FloatingPointModel", + "switch": "fp:precise", + "comment": "Precise", + "value": "Precise", + "flags": [] + }, + { + "name": "FloatingPointModel", + "switch": "fp:strict", + "comment": "Strict", + "value": "Strict", + "flags": [] + }, + { + "name": "FloatingPointModel", + "switch": "fp:fast", + "comment": "Fast", + "value": "Fast", + "flags": [] + }, + { + "name": "SpectreMitigation", + "switch": "Qspectre", + "comment": "Enabled", + "value": "Spectre", + "flags": [] + }, + { + "name": "SpectreMitigation", + "switch": "", + "comment": "Disabled", + "value": "false", + "flags": [] + }, + { + "name": "LanguageStandard", + "switch": "std:c++14", + "comment": "ISO C++14 Standard", + "value": "stdcpp14", + "flags": [] + }, + { + "name": "LanguageStandard", + "switch": "std:c++17", + "comment": "ISO C++17 Standard", + "value": "stdcpp17", + "flags": [] + }, + { + "name": "LanguageStandard", + "switch": "std:c++latest", + "comment": "ISO C++ Latest Draft Standard", + "value": "stdcpplatest", + "flags": [] + }, + { + "name": "PrecompiledHeader", + "switch": "Yc", + "comment": "Create", + "value": "Create", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "PrecompiledHeader", + "switch": "Yu", + "comment": "Use", + "value": "Use", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "PrecompiledHeader", + "switch": "", + "comment": "Not Using Precompiled Headers", + "value": "NotUsing", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "", + "comment": "No Listing", + "value": "NoListing", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FA", + "comment": "Assembly-Only Listing", + "value": "AssemblyCode", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FAc", + "comment": "Assembly With Machine Code", + "value": "AssemblyAndMachineCode", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FAs", + "comment": "Assembly With Source Code", + "value": "AssemblyAndSourceCode", + "flags": [] + }, + { + "name": "AssemblerOutput", + "switch": "FAcs", + "comment": "Assembly, Machine Code and Source", + "value": "All", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gd", + "comment": "__cdecl", + "value": "Cdecl", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gr", + "comment": "__fastcall", + "value": "FastCall", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gz", + "comment": "__stdcall", + "value": "StdCall", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gv", + "comment": "__vectorcall", + "value": "VectorCall", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "TC", + "comment": "Compile as C Code", + "value": "CompileAsC", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "TP", + "comment": "Compile as C++ Code", + "value": "CompileAsCpp", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:none", + "comment": "Do Not Send Report", + "value": "None", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:prompt", + "comment": "Prompt Immediately", + "value": "Prompt", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:queue", + "comment": "Queue For Next Login", + "value": "Queue", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:send", + "comment": "Send Automatically", + "value": "Send", + "flags": [] + }, + { + "name": "CompileAsWinRT", + "switch": "ZW", + "comment": "Consume Windows Runtime Extension", + "value": "true", + "flags": [] + }, + { + "name": "WinRTNoStdLib", + "switch": "ZW:nostdlib", + "comment": "No Standard WinRT Libraries", + "value": "true", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "nologo", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningAsError", + "switch": "WX-", + "comment": "Treat Warnings As Errors", + "value": "false", + "flags": [] + }, + { + "name": "TreatWarningAsError", + "switch": "WX", + "comment": "Treat Warnings As Errors", + "value": "true", + "flags": [] + }, + { + "name": "SDLCheck", + "switch": "sdl-", + "comment": "SDL checks", + "value": "false", + "flags": [] + }, + { + "name": "SDLCheck", + "switch": "sdl", + "comment": "SDL checks", + "value": "true", + "flags": [] + }, + { + "name": "MultiProcessorCompilation", + "switch": "MP", + "comment": "Multi-processor Compilation", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "IntrinsicFunctions", + "switch": "Oi", + "comment": "Enable Intrinsic Functions", + "value": "true", + "flags": [] + }, + { + "name": "OmitFramePointers", + "switch": "Oy-", + "comment": "Omit Frame Pointers", + "value": "false", + "flags": [] + }, + { + "name": "OmitFramePointers", + "switch": "Oy", + "comment": "Omit Frame Pointers", + "value": "true", + "flags": [] + }, + { + "name": "EnableFiberSafeOptimizations", + "switch": "GT", + "comment": "Enable Fiber-Safe Optimizations", + "value": "true", + "flags": [] + }, + { + "name": "WholeProgramOptimization", + "switch": "GL", + "comment": "Whole Program Optimization", + "value": "true", + "flags": [] + }, + { + "name": "UndefineAllPreprocessorDefinitions", + "switch": "u", + "comment": "Undefine All Preprocessor Definitions", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreStandardIncludePath", + "switch": "X", + "comment": "Ignore Standard Include Paths", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessToFile", + "switch": "P", + "comment": "Preprocess to a File", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessSuppressLineNumbers", + "switch": "EP", + "comment": "Preprocess Suppress Line Numbers", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessKeepComments", + "switch": "C", + "comment": "Keep Comments", + "value": "true", + "flags": [] + }, + { + "name": "StringPooling", + "switch": "GF-", + "comment": "Enable String Pooling", + "value": "false", + "flags": [] + }, + { + "name": "StringPooling", + "switch": "GF", + "comment": "Enable String Pooling", + "value": "true", + "flags": [] + }, + { + "name": "MinimalRebuild", + "switch": "Gm-", + "comment": "Enable Minimal Rebuild", + "value": "false", + "flags": [] + }, + { + "name": "MinimalRebuild", + "switch": "Gm", + "comment": "Enable Minimal Rebuild", + "value": "true", + "flags": [] + }, + { + "name": "SmallerTypeCheck", + "switch": "RTCc", + "comment": "Smaller Type Check", + "value": "true", + "flags": [] + }, + { + "name": "FunctionLevelLinking", + "switch": "Gy-", + "comment": "Enable Function-Level Linking", + "value": "false", + "flags": [] + }, + { + "name": "FunctionLevelLinking", + "switch": "Gy", + "comment": "Enable Function-Level Linking", + "value": "true", + "flags": [] + }, + { + "name": "EnableParallelCodeGeneration", + "switch": "Qpar-", + "comment": "Enable Parallel Code Generation", + "value": "false", + "flags": [] + }, + { + "name": "EnableParallelCodeGeneration", + "switch": "Qpar", + "comment": "Enable Parallel Code Generation", + "value": "true", + "flags": [] + }, + { + "name": "FloatingPointExceptions", + "switch": "fp:except-", + "comment": "Enable Floating Point Exceptions", + "value": "false", + "flags": [] + }, + { + "name": "FloatingPointExceptions", + "switch": "fp:except", + "comment": "Enable Floating Point Exceptions", + "value": "true", + "flags": [] + }, + { + "name": "CreateHotpatchableImage", + "switch": "hotpatch", + "comment": "Create Hotpatchable Image", + "value": "true", + "flags": [] + }, + { + "name": "DisableLanguageExtensions", + "switch": "Za", + "comment": "Disable Language Extensions", + "value": "true", + "flags": [] + }, + { + "name": "ConformanceMode", + "switch": "permissive-", + "comment": "Conformance mode", + "value": "true", + "flags": [] + }, + { + "name": "TreatWChar_tAsBuiltInType", + "switch": "Zc:wchar_t-", + "comment": "Treat WChar_t As Built in Type", + "value": "false", + "flags": [] + }, + { + "name": "TreatWChar_tAsBuiltInType", + "switch": "Zc:wchar_t", + "comment": "Treat WChar_t As Built in Type", + "value": "true", + "flags": [] + }, + { + "name": "ForceConformanceInForLoopScope", + "switch": "Zc:forScope-", + "comment": "Force Conformance in For Loop Scope", + "value": "false", + "flags": [] + }, + { + "name": "ForceConformanceInForLoopScope", + "switch": "Zc:forScope", + "comment": "Force Conformance in For Loop Scope", + "value": "true", + "flags": [] + }, + { + "name": "RemoveUnreferencedCodeData", + "switch": "Zc:inline", + "comment": "Remove unreferenced code and data", + "value": "true", + "flags": [] + }, + { + "name": "EnforceTypeConversionRules", + "switch": "Zc:rvalueCast-", + "comment": "Enforce type conversion rules", + "value": "false", + "flags": [] + }, + { + "name": "EnforceTypeConversionRules", + "switch": "Zc:rvalueCast", + "comment": "Enforce type conversion rules", + "value": "true", + "flags": [] + }, + { + "name": "RuntimeTypeInfo", + "switch": "GR-", + "comment": "Enable Run-Time Type Information", + "value": "false", + "flags": [] + }, + { + "name": "RuntimeTypeInfo", + "switch": "GR", + "comment": "Enable Run-Time Type Information", + "value": "true", + "flags": [] + }, + { + "name": "OpenMPSupport", + "switch": "openmp-", + "comment": "Open MP Support", + "value": "false", + "flags": [] + }, + { + "name": "OpenMPSupport", + "switch": "openmp", + "comment": "Open MP Support", + "value": "true", + "flags": [] + }, + { + "name": "EnableModules", + "switch": "experimental:module", + "comment": "Enable C++ Modules (experimental)", + "value": "true", + "flags": [] + }, + { + "name": "ExpandAttributedSource", + "switch": "Fx", + "comment": "Expand Attributed Source", + "value": "true", + "flags": [] + }, + { + "name": "UseUnicodeForAssemblerListing", + "switch": "FAu", + "comment": "Use Unicode For Assembler Listing", + "value": "true", + "flags": [] + }, + { + "name": "GenerateXMLDocumentationFiles", + "switch": "doc", + "comment": "Generate XML Documentation Files", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "BrowseInformation", + "switch": "FR", + "comment": "Enable Browse Information", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "ShowIncludes", + "switch": "showIncludes", + "comment": "Show Includes", + "value": "true", + "flags": [] + }, + { + "name": "EnablePREfast", + "switch": "analyze-", + "comment": "Enable Code Analysis", + "value": "false", + "flags": [] + }, + { + "name": "EnablePREfast", + "switch": "analyze", + "comment": "Enable Code Analysis", + "value": "true", + "flags": [] + }, + { + "name": "UseFullPaths", + "switch": "FC", + "comment": "Use Full Paths", + "value": "true", + "flags": [] + }, + { + "name": "OmitDefaultLibName", + "switch": "Zl", + "comment": "Omit Default Library Name", + "value": "true", + "flags": [] + }, + { + "name": "AdditionalIncludeDirectories", + "switch": "I", + "comment": "Additional Include Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalUsingDirectories", + "switch": "AI", + "comment": "Additional #using Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PreprocessorDefinitions", + "switch": "D", + "comment": "Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "UndefinePreprocessorDefinitions", + "switch": "U", + "comment": "Undefine Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "DisableSpecificWarnings", + "switch": "wd", + "comment": "Disable Specific Warnings", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ForcedIncludeFiles", + "switch": "FI", + "comment": "Forced Include File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ForcedUsingFiles", + "switch": "FU", + "comment": "Forced #using File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PREfastAdditionalOptions", + "switch": "analyze:", + "comment": "Additional Code Analysis Native options", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "PREfastAdditionalPlugins", + "switch": "analyze:plugin", + "comment": "Additional Code Analysis Native plugins", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "TreatSpecificWarningsAsErrors", + "switch": "we", + "comment": "Treat Specific Warnings As Errors", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "WarningVersion", + "switch": "Wv:", + "comment": "Warning Version", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "PreprocessOutputPath", + "switch": "Fi", + "comment": "Preprocess Output Path", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "PrecompiledHeaderFile", + "switch": "Yu", + "comment": "Precompiled Header File", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "PrecompiledHeaderFile", + "switch": "Yc", + "comment": "Precompiled Header File", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "PrecompiledHeaderOutputFile", + "switch": "Fp", + "comment": "Precompiled Header Output File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "AssemblerListingLocation", + "switch": "Fa", + "comment": "ASM List Location", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ObjectFileName", + "switch": "Fo", + "comment": "Object File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProgramDataBaseFileName", + "switch": "Fd", + "comment": "Program Database File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "XMLDocumentationFileName", + "switch": "doc", + "comment": "XML Documentation File Name", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "BrowseInformationFile", + "switch": "FR", + "comment": "Browse Information File", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "PREfastLog", + "switch": "analyze:log", + "comment": "Code Analysis Log", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProcessorNumber", + "switch": "MP", + "comment": "Number of processors", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v141_Link.json b/Templates/MSBuild/FlagTables/v141_Link.json new file mode 100644 index 0000000..acdb5ac --- /dev/null +++ b/Templates/MSBuild/FlagTables/v141_Link.json @@ -0,0 +1,1343 @@ +[ + { + "name": "ShowProgress", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE", + "comment": "Display all progress messages", + "value": "LinkVerbose", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:Lib", + "comment": "For Libraries Searched", + "value": "LinkVerboseLib", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:ICF", + "comment": "About COMDAT folding during optimized linking", + "value": "LinkVerboseICF", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:REF", + "comment": "About data removed during optimized linking", + "value": "LinkVerboseREF", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:SAFESEH", + "comment": "About Modules incompatible with SEH", + "value": "LinkVerboseSAFESEH", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "VERBOSE:CLR", + "comment": "About linker activity related to managed code", + "value": "LinkVerboseCLR", + "flags": [] + }, + { + "name": "ForceFileOutput", + "switch": "FORCE", + "comment": "Enabled", + "value": "Enabled", + "flags": [] + }, + { + "name": "ForceFileOutput", + "switch": "FORCE:MULTIPLE", + "comment": "Multiply Defined Symbol Only", + "value": "MultiplyDefinedSymbolOnly", + "flags": [] + }, + { + "name": "ForceFileOutput", + "switch": "FORCE:UNRESOLVED", + "comment": "Undefined Symbol Only", + "value": "UndefinedSymbolOnly", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN", + "comment": "Enabled", + "value": "Enabled", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN:5", + "comment": "X86 Image Only", + "value": "X86Image", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN:6", + "comment": "X64 Image Only", + "value": "X64Image", + "flags": [] + }, + { + "name": "CreateHotPatchableImage", + "switch": "FUNCTIONPADMIN:16", + "comment": "Itanium Image Only", + "value": "ItaniumImage", + "flags": [] + }, + { + "name": "UACExecutionLevel", + "switch": "level='asInvoker'", + "comment": "asInvoker", + "value": "AsInvoker", + "flags": [] + }, + { + "name": "UACExecutionLevel", + "switch": "level='highestAvailable'", + "comment": "highestAvailable", + "value": "HighestAvailable", + "flags": [] + }, + { + "name": "UACExecutionLevel", + "switch": "level='requireAdministrator'", + "comment": "requireAdministrator", + "value": "RequireAdministrator", + "flags": [] + }, + { + "name": "GenerateDebugInformation", + "switch": "", + "comment": "No", + "value": "false", + "flags": [] + }, + { + "name": "GenerateDebugInformation", + "switch": "DEBUG", + "comment": "Generate Debug Information", + "value": "true", + "flags": [] + }, + { + "name": "GenerateDebugInformation", + "switch": "DEBUG:FASTLINK", + "comment": "Generate Debug Information optimized for faster links", + "value": "DebugFastLink", + "flags": [] + }, + { + "name": "GenerateDebugInformation", + "switch": "DEBUG:FULL", + "comment": "Generate Debug Information optimized for sharing and publishing", + "value": "DebugFull", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:CONSOLE", + "comment": "Console", + "value": "Console", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:WINDOWS", + "comment": "Windows", + "value": "Windows", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:NATIVE", + "comment": "Native", + "value": "Native", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_APPLICATION", + "comment": "EFI Application", + "value": "EFI Application", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", + "comment": "EFI Boot Service Driver", + "value": "EFI Boot Service Driver", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_ROM", + "comment": "EFI ROM", + "value": "EFI ROM", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_RUNTIME_DRIVER", + "comment": "EFI Runtime", + "value": "EFI Runtime", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:POSIX", + "comment": "POSIX", + "value": "POSIX", + "flags": [] + }, + { + "name": "Driver", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "Driver", + "switch": "Driver", + "comment": "Driver", + "value": "Driver", + "flags": [] + }, + { + "name": "Driver", + "switch": "DRIVER:UPONLY", + "comment": "UP Only", + "value": "UpOnly", + "flags": [] + }, + { + "name": "Driver", + "switch": "DRIVER:WDM", + "comment": "WDM", + "value": "WDM", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "", + "comment": "Default", + "value": "Default", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:incremental", + "comment": "Use Fast Link Time Code Generation", + "value": "UseFastLinkTimeCodeGeneration", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG", + "comment": "Use Link Time Code Generation", + "value": "UseLinkTimeCodeGeneration", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:PGInstrument", + "comment": "Profile Guided Optimization - Instrument", + "value": "PGInstrument", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:PGOptimize", + "comment": "Profile Guided Optimization - Optimization", + "value": "PGOptimization", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG:PGUpdate", + "comment": "Profile Guided Optimization - Update", + "value": "PGUpdate", + "flags": [] + }, + { + "name": "GenerateWindowsMetadata", + "switch": "WINMD", + "comment": "Yes", + "value": "true", + "flags": [] + }, + { + "name": "GenerateWindowsMetadata", + "switch": "WINMD:NO", + "comment": "No", + "value": "false", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA1", + "comment": "SHA1", + "value": "SHA1", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA256", + "comment": "SHA256", + "value": "SHA256", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA384", + "comment": "SHA384", + "value": "SHA384", + "flags": [] + }, + { + "name": "WindowsMetadataSignHash", + "switch": "WINMDSIGNHASH:SHA512", + "comment": "SHA512", + "value": "SHA512", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "", + "comment": "Not Set", + "value": "NotSet", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:ARM", + "comment": "MachineARM", + "value": "MachineARM", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:ARM64", + "comment": "MachineARM64", + "value": "MachineARM64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:EBC", + "comment": "MachineEBC", + "value": "MachineEBC", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:IA64", + "comment": "MachineIA64", + "value": "MachineIA64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS", + "comment": "MachineMIPS", + "value": "MachineMIPS", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS16", + "comment": "MachineMIPS16", + "value": "MachineMIPS16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU", + "comment": "MachineMIPSFPU", + "value": "MachineMIPSFPU", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU16", + "comment": "MachineMIPSFPU16", + "value": "MachineMIPSFPU16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:SH4", + "comment": "MachineSH4", + "value": "MachineSH4", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:THUMB", + "comment": "MachineTHUMB", + "value": "MachineTHUMB", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X64", + "comment": "MachineX64", + "value": "MachineX64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X86", + "comment": "MachineX86", + "value": "MachineX86", + "flags": [] + }, + { + "name": "CLRThreadAttribute", + "switch": "CLRTHREADATTRIBUTE:MTA", + "comment": "MTA threading attribute", + "value": "MTAThreadingAttribute", + "flags": [] + }, + { + "name": "CLRThreadAttribute", + "switch": "CLRTHREADATTRIBUTE:STA", + "comment": "STA threading attribute", + "value": "STAThreadingAttribute", + "flags": [] + }, + { + "name": "CLRThreadAttribute", + "switch": "CLRTHREADATTRIBUTE:NONE", + "comment": "Default threading attribute", + "value": "DefaultThreadingAttribute", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "CLRIMAGETYPE:IJW", + "comment": "Force IJW image", + "value": "ForceIJWImage", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "CLRIMAGETYPE:PURE", + "comment": "Force Pure IL Image", + "value": "ForcePureILImage", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "CLRIMAGETYPE:SAFE", + "comment": "Force Safe IL Image", + "value": "ForceSafeILImage", + "flags": [] + }, + { + "name": "CLRImageType", + "switch": "", + "comment": "Default image type", + "value": "Default", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA1", + "comment": "SHA1", + "value": "SHA1", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA256", + "comment": "SHA256", + "value": "SHA256", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA384", + "comment": "SHA384", + "value": "SHA384", + "flags": [] + }, + { + "name": "SignHash", + "switch": "CLRSIGNHASH:SHA512", + "comment": "SHA512", + "value": "SHA512", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:PROMPT", + "comment": "PromptImmediately", + "value": "PromptImmediately", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:QUEUE", + "comment": "Queue For Next Login", + "value": "QueueForNextLogin", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:SEND", + "comment": "Send Error Report", + "value": "SendErrorReport", + "flags": [] + }, + { + "name": "LinkErrorReporting", + "switch": "ERRORREPORT:NONE", + "comment": "No Error Report", + "value": "NoErrorReport", + "flags": [] + }, + { + "name": "CLRSupportLastError", + "switch": "CLRSupportLastError", + "comment": "Enabled", + "value": "Enabled", + "flags": [] + }, + { + "name": "CLRSupportLastError", + "switch": "CLRSupportLastError:NO", + "comment": "Disabled", + "value": "Disabled", + "flags": [] + }, + { + "name": "CLRSupportLastError", + "switch": "CLRSupportLastError:SYSTEMDLL", + "comment": "System Dlls Only", + "value": "SystemDlls", + "flags": [] + }, + { + "name": "LinkControlFlowGuard", + "switch": "guard:cf", + "comment": "Enable Security Check with Guard", + "value": "Guard", + "flags": [] + }, + { + "name": "LinkIncremental", + "switch": "INCREMENTAL:NO", + "comment": "Enable Incremental Linking", + "value": "false", + "flags": [] + }, + { + "name": "LinkIncremental", + "switch": "INCREMENTAL", + "comment": "Enable Incremental Linking", + "value": "true", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "NOLOGO", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "LinkStatus", + "switch": "LTCG:NOSTATUS", + "comment": "Link Status", + "value": "false", + "flags": [] + }, + { + "name": "LinkStatus", + "switch": "LTCG:STATUS", + "comment": "Link Status", + "value": "true", + "flags": [] + }, + { + "name": "PreventDllBinding", + "switch": "ALLOWBIND:NO", + "comment": "Prevent Dll Binding", + "value": "false", + "flags": [] + }, + { + "name": "PreventDllBinding", + "switch": "ALLOWBIND", + "comment": "Prevent Dll Binding", + "value": "true", + "flags": [] + }, + { + "name": "TreatLinkerWarningAsErrors", + "switch": "WX:NO", + "comment": "Treat Linker Warning As Errors", + "value": "false", + "flags": [] + }, + { + "name": "TreatLinkerWarningAsErrors", + "switch": "WX", + "comment": "Treat Linker Warning As Errors", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreAllDefaultLibraries", + "switch": "NODEFAULTLIB", + "comment": "Ignore All Default Libraries", + "value": "true", + "flags": [] + }, + { + "name": "GenerateManifest", + "switch": "MANIFEST:NO", + "comment": "Generate Manifest", + "value": "false", + "flags": [] + }, + { + "name": "GenerateManifest", + "switch": "MANIFEST", + "comment": "Generate Manifest", + "value": "true", + "flags": [] + }, + { + "name": "AllowIsolation", + "switch": "ALLOWISOLATION:NO", + "comment": "Allow Isolation", + "value": "false", + "flags": [] + }, + { + "name": "AllowIsolation", + "switch": "", + "comment": "Allow Isolation", + "value": "true", + "flags": [] + }, + { + "name": "EnableUAC", + "switch": "MANIFESTUAC:NO", + "comment": "Enable User Account Control (UAC)", + "value": "false", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "EnableUAC", + "switch": "MANIFESTUAC:", + "comment": "Enable User Account Control (UAC)", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "UACUIAccess", + "switch": "uiAccess='false'", + "comment": "UAC Bypass UI Protection", + "value": "false", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "UACUIAccess", + "switch": "MANIFESTUAC:", + "comment": "UAC Bypass UI Protection", + "value": "true", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "UACUIAccess", + "switch": "uiAccess='false'", + "comment": "UAC Bypass UI Protection", + "value": "false", + "flags": [] + }, + { + "name": "UACUIAccess", + "switch": "uiAccess='true'", + "comment": "UAC Bypass UI Protection", + "value": "true", + "flags": [] + }, + { + "name": "ManifestEmbed", + "switch": "manifest:embed", + "comment": "Embed Manifest", + "value": "true", + "flags": [] + }, + { + "name": "GenerateMapFile", + "switch": "MAP", + "comment": "Generate Map File", + "value": "true", + "flags": [ + "UserValue", + "UserIgnored", + "Continue" + ] + }, + { + "name": "MapExports", + "switch": "MAPINFO:EXPORTS", + "comment": "Map Exports", + "value": "true", + "flags": [] + }, + { + "name": "AssemblyDebug", + "switch": "ASSEMBLYDEBUG:DISABLE", + "comment": "Debuggable Assembly", + "value": "false", + "flags": [] + }, + { + "name": "AssemblyDebug", + "switch": "ASSEMBLYDEBUG", + "comment": "Debuggable Assembly", + "value": "true", + "flags": [] + }, + { + "name": "LargeAddressAware", + "switch": "LARGEADDRESSAWARE:NO", + "comment": "Enable Large Addresses", + "value": "false", + "flags": [] + }, + { + "name": "LargeAddressAware", + "switch": "LARGEADDRESSAWARE", + "comment": "Enable Large Addresses", + "value": "true", + "flags": [] + }, + { + "name": "TerminalServerAware", + "switch": "TSAWARE:NO", + "comment": "Terminal Server", + "value": "false", + "flags": [] + }, + { + "name": "TerminalServerAware", + "switch": "TSAWARE", + "comment": "Terminal Server", + "value": "true", + "flags": [] + }, + { + "name": "SwapRunFromCD", + "switch": "SWAPRUN:CD", + "comment": "Swap Run From CD", + "value": "true", + "flags": [] + }, + { + "name": "SwapRunFromNET", + "switch": "SWAPRUN:NET", + "comment": "Swap Run From Network", + "value": "true", + "flags": [] + }, + { + "name": "OptimizeReferences", + "switch": "OPT:NOREF", + "comment": "References", + "value": "false", + "flags": [] + }, + { + "name": "OptimizeReferences", + "switch": "OPT:REF", + "comment": "References", + "value": "true", + "flags": [] + }, + { + "name": "EnableCOMDATFolding", + "switch": "OPT:NOICF", + "comment": "Enable COMDAT Folding", + "value": "false", + "flags": [] + }, + { + "name": "EnableCOMDATFolding", + "switch": "OPT:ICF", + "comment": "Enable COMDAT Folding", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreEmbeddedIDL", + "switch": "IGNOREIDL", + "comment": "Ignore Embedded IDL", + "value": "true", + "flags": [] + }, + { + "name": "AppContainer", + "switch": "APPCONTAINER", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "WindowsMetadataLinkDelaySign", + "switch": "WINMDDELAYSIGN:NO", + "comment": "Windows Metadata Delay Sign", + "value": "false", + "flags": [] + }, + { + "name": "WindowsMetadataLinkDelaySign", + "switch": "WINMDDELAYSIGN", + "comment": "Windows Metadata Delay Sign", + "value": "true", + "flags": [] + }, + { + "name": "NoEntryPoint", + "switch": "NOENTRY", + "comment": "No Entry Point", + "value": "true", + "flags": [] + }, + { + "name": "SetChecksum", + "switch": "RELEASE", + "comment": "Set Checksum", + "value": "true", + "flags": [] + }, + { + "name": "RandomizedBaseAddress", + "switch": "DYNAMICBASE:NO", + "comment": "Randomized Base Address", + "value": "false", + "flags": [] + }, + { + "name": "RandomizedBaseAddress", + "switch": "DYNAMICBASE", + "comment": "Randomized Base Address", + "value": "true", + "flags": [] + }, + { + "name": "FixedBaseAddress", + "switch": "FIXED:NO", + "comment": "Fixed Base Address", + "value": "false", + "flags": [] + }, + { + "name": "FixedBaseAddress", + "switch": "FIXED", + "comment": "Fixed Base Address", + "value": "true", + "flags": [] + }, + { + "name": "DataExecutionPrevention", + "switch": "NXCOMPAT:NO", + "comment": "Data Execution Prevention (DEP)", + "value": "false", + "flags": [] + }, + { + "name": "DataExecutionPrevention", + "switch": "NXCOMPAT", + "comment": "Data Execution Prevention (DEP)", + "value": "true", + "flags": [] + }, + { + "name": "TurnOffAssemblyGeneration", + "switch": "NOASSEMBLY", + "comment": "Turn Off Assembly Generation", + "value": "true", + "flags": [] + }, + { + "name": "SupportUnloadOfDelayLoadedDLL", + "switch": "DELAY:UNLOAD", + "comment": "Unload delay loaded DLL", + "value": "true", + "flags": [] + }, + { + "name": "SupportNobindOfDelayLoadedDLL", + "switch": "DELAY:NOBIND", + "comment": "Nobind delay loaded DLL", + "value": "true", + "flags": [] + }, + { + "name": "Profile", + "switch": "PROFILE", + "comment": "Profile", + "value": "true", + "flags": [] + }, + { + "name": "LinkDelaySign", + "switch": "DELAYSIGN:NO", + "comment": "Delay Sign", + "value": "false", + "flags": [] + }, + { + "name": "LinkDelaySign", + "switch": "DELAYSIGN", + "comment": "Delay Sign", + "value": "true", + "flags": [] + }, + { + "name": "CLRUnmanagedCodeCheck", + "switch": "CLRUNMANAGEDCODECHECK:NO", + "comment": "CLR Unmanaged Code Check", + "value": "false", + "flags": [] + }, + { + "name": "CLRUnmanagedCodeCheck", + "switch": "CLRUNMANAGEDCODECHECK", + "comment": "CLR Unmanaged Code Check", + "value": "true", + "flags": [] + }, + { + "name": "DetectOneDefinitionRule", + "switch": "ODR", + "comment": "Detect One Definition Rule violations", + "value": "true", + "flags": [] + }, + { + "name": "ImageHasSafeExceptionHandlers", + "switch": "SAFESEH:NO", + "comment": "Image Has Safe Exception Handlers", + "value": "false", + "flags": [] + }, + { + "name": "ImageHasSafeExceptionHandlers", + "switch": "SAFESEH", + "comment": "Image Has Safe Exception Handlers", + "value": "true", + "flags": [] + }, + { + "name": "LinkDLL", + "switch": "DLL", + "comment": "", + "value": "true", + "flags": [] + }, + { + "name": "AdditionalLibraryDirectories", + "switch": "LIBPATH:", + "comment": "Additional Library Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "Natvis", + "switch": "NATVIS:", + "comment": "Natvis files", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "IgnoreSpecificDefaultLibraries", + "switch": "NODEFAULTLIB:", + "comment": "Ignore Specific Default Libraries", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AddModuleNamesToAssembly", + "switch": "ASSEMBLYMODULE:", + "comment": "Add Module to Assembly", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "EmbedManagedResourceFile", + "switch": "ASSEMBLYRESOURCE:", + "comment": "Embed Managed Resource File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ForceSymbolReferences", + "switch": "INCLUDE:", + "comment": "Force Symbol References", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "DelayLoadDLLs", + "switch": "DELAYLOAD:", + "comment": "Delay Loaded Dlls", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AssemblyLinkResource", + "switch": "ASSEMBLYLINKRESOURCE:", + "comment": "Assembly Link Resource", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalManifestDependencies", + "switch": "MANIFESTDEPENDENCY:", + "comment": "Additional Manifest Dependencies", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ManifestInput", + "switch": "manifestinput:", + "comment": "Manifest Input", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "OutputFile", + "switch": "OUT:", + "comment": "Output File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "Version", + "switch": "VERSION:", + "comment": "Version", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "SpecifySectionAttributes", + "switch": "SECTION:", + "comment": "Specify Section Attributes", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MSDOSStubFileName", + "switch": "STUB:", + "comment": "MS-DOS Stub File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ModuleDefinitionFile", + "switch": "DEF:", + "comment": "Module Definition File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ManifestFile", + "switch": "ManifestFile:", + "comment": "Manifest File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProgramDatabaseFile", + "switch": "PDB:", + "comment": "Generate Program Database File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "StripPrivateSymbols", + "switch": "PDBSTRIPPED:", + "comment": "Strip Private Symbols", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MapFileName", + "switch": "MAP:", + "comment": "Map File Name", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "HeapReserveSize", + "switch": "HEAP:", + "comment": "Heap Reserve Size", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "HeapCommitSize", + "switch": "HEAP", + "comment": "Heap Commit Size", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "StackReserveSize", + "switch": "STACK:", + "comment": "Stack Reserve Size", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "StackCommitSize", + "switch": "STACK", + "comment": "Stack Commit Size", + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] + }, + { + "name": "FunctionOrder", + "switch": "ORDER:@", + "comment": "Function Order", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ProfileGuidedDatabase", + "switch": "PGD:", + "comment": "Profile Guided Database", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MidlCommandFile", + "switch": "MIDL:@", + "comment": "MIDL Commands", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MergedIDLBaseFileName", + "switch": "IDLOUT:", + "comment": "Merged IDL Base File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "TypeLibraryFile", + "switch": "TLBOUT:", + "comment": "Type Library", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "WindowsMetadataFile", + "switch": "WINMDFILE:", + "comment": "Windows Metadata File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "WindowsMetadataLinkKeyFile", + "switch": "WINMDKEYFILE:", + "comment": "Windows Metadata Key File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "WindowsMetadataKeyContainer", + "switch": "WINMDKEYCONTAINER:", + "comment": "Windows Metadata Key Container", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "EntryPointSymbol", + "switch": "ENTRY:", + "comment": "Entry Point", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "BaseAddress", + "switch": "BASE:", + "comment": "Base Address", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ImportLibrary", + "switch": "IMPLIB:", + "comment": "Import Library", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "MergeSections", + "switch": "MERGE:", + "comment": "Merge Sections", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "LinkKeyFile", + "switch": "KEYFILE:", + "comment": "Key File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "KeyContainer", + "switch": "KEYCONTAINER:", + "comment": "Key Container", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "TypeLibraryResourceID", + "switch": "TLBID:", + "comment": "TypeLib Resource ID", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "SectionAlignment", + "switch": "ALIGN:", + "comment": "SectionAlignment", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v14_LIB.json b/Templates/MSBuild/FlagTables/v14_LIB.json new file mode 100644 index 0000000..58a238c --- /dev/null +++ b/Templates/MSBuild/FlagTables/v14_LIB.json @@ -0,0 +1,297 @@ +[ + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:PROMPT", + "comment": "PromptImmediately", + "value": "PromptImmediately", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:QUEUE", + "comment": "Queue For Next Login", + "value": "QueueForNextLogin", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:SEND", + "comment": "Send Error Report", + "value": "SendErrorReport", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "ERRORREPORT:NONE", + "comment": "No Error Report", + "value": "NoErrorReport", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:ARM", + "comment": "MachineARM", + "value": "MachineARM", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:EBC", + "comment": "MachineEBC", + "value": "MachineEBC", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:IA64", + "comment": "MachineIA64", + "value": "MachineIA64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS", + "comment": "MachineMIPS", + "value": "MachineMIPS", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPS16", + "comment": "MachineMIPS16", + "value": "MachineMIPS16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU", + "comment": "MachineMIPSFPU", + "value": "MachineMIPSFPU", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:MIPSFPU16", + "comment": "MachineMIPSFPU16", + "value": "MachineMIPSFPU16", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:SH4", + "comment": "MachineSH4", + "value": "MachineSH4", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:THUMB", + "comment": "MachineTHUMB", + "value": "MachineTHUMB", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X64", + "comment": "MachineX64", + "value": "MachineX64", + "flags": [] + }, + { + "name": "TargetMachine", + "switch": "MACHINE:X86", + "comment": "MachineX86", + "value": "MachineX86", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:CONSOLE", + "comment": "Console", + "value": "Console", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:WINDOWS", + "comment": "Windows", + "value": "Windows", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:NATIVE", + "comment": "Native", + "value": "Native", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_APPLICATION", + "comment": "EFI Application", + "value": "EFI Application", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", + "comment": "EFI Boot Service Driver", + "value": "EFI Boot Service Driver", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_ROM", + "comment": "EFI ROM", + "value": "EFI ROM", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:EFI_RUNTIME_DRIVER", + "comment": "EFI Runtime", + "value": "EFI Runtime", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:WINDOWSCE", + "comment": "WindowsCE", + "value": "WindowsCE", + "flags": [] + }, + { + "name": "SubSystem", + "switch": "SUBSYSTEM:POSIX", + "comment": "POSIX", + "value": "POSIX", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "NOLOGO", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "IgnoreAllDefaultLibraries", + "switch": "NODEFAULTLIB", + "comment": "Ignore All Default Libraries", + "value": "true", + "flags": [] + }, + { + "name": "TreatLibWarningAsErrors", + "switch": "WX:NO", + "comment": "Treat Lib Warning As Errors", + "value": "false", + "flags": [] + }, + { + "name": "TreatLibWarningAsErrors", + "switch": "WX", + "comment": "Treat Lib Warning As Errors", + "value": "true", + "flags": [] + }, + { + "name": "Verbose", + "switch": "VERBOSE", + "comment": "Verbose", + "value": "true", + "flags": [] + }, + { + "name": "LinkTimeCodeGeneration", + "switch": "LTCG", + "comment": "Link Time Code Generation", + "value": "true", + "flags": [] + }, + { + "name": "AdditionalLibraryDirectories", + "switch": "LIBPATH:", + "comment": "Additional Library Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "IgnoreSpecificDefaultLibraries", + "switch": "NODEFAULTLIB:", + "comment": "Ignore Specific Default Libraries", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ExportNamedFunctions", + "switch": "EXPORT:", + "comment": "Export Named Functions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "RemoveObjects", + "switch": "REMOVE:", + "comment": "Remove Objects", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "OutputFile", + "switch": "OUT:", + "comment": "Output File", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ModuleDefinitionFile", + "switch": "DEF:", + "comment": "Module Definition File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ForceSymbolReferences", + "switch": "INCLUDE:", + "comment": "Force Symbol References", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "DisplayLibrary", + "switch": "LIST:", + "comment": "Display Library to standard output", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "Name", + "switch": "NAME:", + "comment": "Name", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v14_MASM.json b/Templates/MSBuild/FlagTables/v14_MASM.json new file mode 100644 index 0000000..51a48c8 --- /dev/null +++ b/Templates/MSBuild/FlagTables/v14_MASM.json @@ -0,0 +1,295 @@ +[ + { + "name": "PreserveIdentifierCase", + "switch": "", + "comment": "Default", + "value": "0", + "flags": [] + }, + { + "name": "PreserveIdentifierCase", + "switch": "Cp", + "comment": "Preserves Identifier Case (/Cp)", + "value": "1", + "flags": [] + }, + { + "name": "PreserveIdentifierCase", + "switch": "Cu", + "comment": "Maps all identifiers to upper case. (/Cu)", + "value": "2", + "flags": [] + }, + { + "name": "PreserveIdentifierCase", + "switch": "Cx", + "comment": "Preserves case in public and extern symbols. (/Cx)", + "value": "3", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W0", + "comment": "Warning Level 0 (/W0)", + "value": "0", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W1", + "comment": "Warning Level 1 (/W1)", + "value": "1", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W2", + "comment": "Warning Level 2 (/W2)", + "value": "2", + "flags": [] + }, + { + "name": "WarningLevel", + "switch": "W3", + "comment": "Warning Level 3 (/W3)", + "value": "3", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "", + "comment": "Default", + "value": "0", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp1", + "comment": "One Byte Boundary (/Zp1)", + "value": "1", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp2", + "comment": "Two Byte Boundary (/Zp2)", + "value": "2", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp4", + "comment": "Four Byte Boundary (/Zp4)", + "value": "3", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp8", + "comment": "Eight Byte Boundary (/Zp8)", + "value": "4", + "flags": [] + }, + { + "name": "PackAlignmentBoundary", + "switch": "Zp16", + "comment": "Sixteen Byte Boundary (/Zp16)", + "value": "5", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "", + "comment": "Default", + "value": "0", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gd", + "comment": "Use C-style Calling Convention (/Gd)", + "value": "1", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gz", + "comment": "Use stdcall Calling Convention (/Gz)", + "value": "2", + "flags": [] + }, + { + "name": "CallingConvention", + "switch": "Gc", + "comment": "Use Pascal Calling Convention (/Gc)", + "value": "3", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:prompt", + "comment": "Prompt to send report immediately (/errorReport:prompt)", + "value": "0", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:queue", + "comment": "Prompt to send report at the next logon (/errorReport:queue)", + "value": "1", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:send", + "comment": "Automatically send report (/errorReport:send)", + "value": "2", + "flags": [] + }, + { + "name": "ErrorReporting", + "switch": "errorReport:none", + "comment": "Do not send report (/errorReport:none)", + "value": "3", + "flags": [] + }, + { + "name": "NoLogo", + "switch": "nologo", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "GeneratePreprocessedSourceListing", + "switch": "EP", + "comment": "Generate Preprocessed Source Listing", + "value": "true", + "flags": [] + }, + { + "name": "ListAllAvailableInformation", + "switch": "Sa", + "comment": "List All Available Information", + "value": "true", + "flags": [] + }, + { + "name": "UseSafeExceptionHandlers", + "switch": "safeseh", + "comment": "Use Safe Exception Handlers", + "value": "true", + "flags": [] + }, + { + "name": "AddFirstPassListing", + "switch": "Sf", + "comment": "Add First Pass Listing", + "value": "true", + "flags": [] + }, + { + "name": "EnableAssemblyGeneratedCodeListing", + "switch": "Sg", + "comment": "Enable Assembly Generated Code Listing", + "value": "true", + "flags": [] + }, + { + "name": "DisableSymbolTable", + "switch": "Sn", + "comment": "Disable Symbol Table", + "value": "true", + "flags": [] + }, + { + "name": "EnableFalseConditionalsInListing", + "switch": "Sx", + "comment": "Enable False Conditionals In Listing", + "value": "true", + "flags": [] + }, + { + "name": "TreatWarningsAsErrors", + "switch": "WX", + "comment": "Treat Warnings As Errors", + "value": "true", + "flags": [] + }, + { + "name": "MakeAllSymbolsPublic", + "switch": "Zf", + "comment": "Make All Symbols Public", + "value": "true", + "flags": [] + }, + { + "name": "GenerateDebugInformation", + "switch": "Zi", + "comment": "Generate Debug Information", + "value": "true", + "flags": [] + }, + { + "name": "EnableMASM51Compatibility", + "switch": "Zm", + "comment": "Enable MASM 5.1 Compatibility", + "value": "true", + "flags": [] + }, + { + "name": "PerformSyntaxCheckOnly", + "switch": "Zs", + "comment": "Perform Syntax Check Only", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessorDefinitions", + "switch": "D\"[value]\"", + "comment": "Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "IncludePaths", + "switch": "I \"[value]\"", + "comment": "Include Paths", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "BrowseFile", + "switch": "FR\"[value]\"", + "comment": "Generate Browse Information File", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ObjectFileName", + "switch": "Fo\"[value]\"", + "comment": "Object File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "AssembledCodeListingFile", + "switch": "Fl\"[value]\"", + "comment": "Assembled Code Listing File", + "value": "", + "flags": [ + "UserValue" + ] + } +] diff --git a/Templates/MSBuild/FlagTables/v14_RC.json b/Templates/MSBuild/FlagTables/v14_RC.json new file mode 100644 index 0000000..b8c0127 --- /dev/null +++ b/Templates/MSBuild/FlagTables/v14_RC.json @@ -0,0 +1,69 @@ +[ + { + "name": "IgnoreStandardIncludePath", + "switch": "X", + "comment": "Ignore Standard Include Paths", + "value": "true", + "flags": [] + }, + { + "name": "ShowProgress", + "switch": "v", + "comment": "Show Progress", + "value": "true", + "flags": [] + }, + { + "name": "SuppressStartupBanner", + "switch": "nologo", + "comment": "Suppress Startup Banner", + "value": "true", + "flags": [] + }, + { + "name": "NullTerminateStrings", + "switch": "n", + "comment": "Null Terminate Strings", + "value": "true", + "flags": [] + }, + { + "name": "PreprocessorDefinitions", + "switch": "D", + "comment": "Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "UndefinePreprocessorDefinitions", + "switch": "u", + "comment": "Undefine Preprocessor Definitions", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalIncludeDirectories", + "switch": "I", + "comment": "Additional Include Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ResourceOutputFileName", + "switch": "fo", + "comment": "Resource File Name", + "value": "", + "flags": [ + "UserValue" + ] + } +] https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8279302110ee6eb09a16e33b3bf8f8ad4ee13b73 commit 8279302110ee6eb09a16e33b3bf8f8ad4ee13b73 Author: Stephan Szabo AuthorDate: Tue Nov 20 10:09:57 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:25 2018 -0800 Convert cmIDEFlagTable to use owned strings Convert from char* to std::string in flag tables. Change termination condition from nullptr to empty string in command flag. Update tables to store empty strings. diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx index 21121f2..0b6c149 100644 --- a/Source/cmGlobalVisualStudio7Generator.cxx +++ b/Source/cmGlobalVisualStudio7Generator.cxx @@ -37,7 +37,7 @@ static cmVS7FlagTable cmVS7ExtraFlagTable[] = { // and have EHa passed on the command line by leaving out the table // entry. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; cmGlobalVisualStudio7Generator::cmGlobalVisualStudio7Generator( diff --git a/Source/cmGlobalVisualStudio8Generator.cxx b/Source/cmGlobalVisualStudio8Generator.cxx index b155d9c..097d7e2 100644 --- a/Source/cmGlobalVisualStudio8Generator.cxx +++ b/Source/cmGlobalVisualStudio8Generator.cxx @@ -362,7 +362,7 @@ static cmVS7FlagTable cmVS8ExtraFlagTable[] = { { "TreatWChar_tAsBuiltInType", "Zc:wchar_t-", "wchar_t is not a built-in type", "false", 0 }, - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; cmIDEFlagTable const* cmGlobalVisualStudio8Generator::GetExtraFlagTableVS8() { diff --git a/Source/cmIDEFlagTable.h b/Source/cmIDEFlagTable.h index 152e293..28d5d53 100644 --- a/Source/cmIDEFlagTable.h +++ b/Source/cmIDEFlagTable.h @@ -3,13 +3,15 @@ #ifndef cmIDEFlagTable_h #define cmIDEFlagTable_h +#include + // This is a table mapping XML tag IDE names to command line options struct cmIDEFlagTable { - const char* IDEName; // name used in the IDE xml file - const char* commandFlag; // command line flag - const char* comment; // comment - const char* value; // string value + std::string IDEName; // name used in the IDE xml file + std::string commandFlag; // command line flag + std::string comment; // comment + std::string value; // string value unsigned int special; // flags for special handling requests enum { diff --git a/Source/cmIDEOptions.cxx b/Source/cmIDEOptions.cxx index f996788..ee0c782 100644 --- a/Source/cmIDEOptions.cxx +++ b/Source/cmIDEOptions.cxx @@ -97,24 +97,24 @@ bool cmIDEOptions::CheckFlagTable(cmIDEFlagTable const* table, { const char* pf = flag.c_str() + 1; // Look for an entry in the flag table matching this flag. - for (cmIDEFlagTable const* entry = table; entry->IDEName; ++entry) { + for (cmIDEFlagTable const* entry = table; !entry->IDEName.empty(); ++entry) { bool entry_found = false; if (entry->special & cmIDEFlagTable::UserValue) { // This flag table entry accepts a user-specified value. If // the entry specifies UserRequired we must match only if a // non-empty value is given. - int n = static_cast(strlen(entry->commandFlag)); - if ((strncmp(pf, entry->commandFlag, n) == 0 || + int n = static_cast(entry->commandFlag.length()); + if ((strncmp(pf, entry->commandFlag.c_str(), n) == 0 || (entry->special & cmIDEFlagTable::CaseInsensitive && - cmsysString_strncasecmp(pf, entry->commandFlag, n))) && + cmsysString_strncasecmp(pf, entry->commandFlag.c_str(), n))) && (!(entry->special & cmIDEFlagTable::UserRequired) || static_cast(strlen(pf)) > n)) { this->FlagMapUpdate(entry, std::string(pf + n)); entry_found = true; } - } else if (strcmp(pf, entry->commandFlag) == 0 || + } else if (strcmp(pf, entry->commandFlag.c_str()) == 0 || (entry->special & cmIDEFlagTable::CaseInsensitive && - cmsysString_strcasecmp(pf, entry->commandFlag) == 0)) { + cmsysString_strcasecmp(pf, entry->commandFlag.c_str()) == 0)) { if (entry->special & cmIDEFlagTable::UserFollowing) { // This flag expects a value in the following argument. this->DoingFollowing = entry; diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index 7630691..fee9dd6 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -362,7 +362,7 @@ cmVS7FlagTable cmLocalVisualStudio7GeneratorFortranFlagTable[] = { { "EnableRecursion", "recursive", "", "true", 0 }, { "ReentrantCode", "reentrancy", "", "true", 0 }, // done up to Language - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; // fill the table here currently the comment field is not used for // anything other than documentation NOTE: Make sure the longer @@ -472,7 +472,7 @@ cmVS7FlagTable cmLocalVisualStudio7GeneratorFlagTable[] = { { "WarnAsError", "WX", "Treat warnings as errors", "true", 0 }, { "BrowseInformation", "FR", "Generate browse information", "1", 0 }, { "StringPooling", "GF", "Enable StringPooling", "true", 0 }, - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; cmVS7FlagTable cmLocalVisualStudio7GeneratorLinkFlagTable[] = { @@ -537,7 +537,7 @@ cmVS7FlagTable cmLocalVisualStudio7GeneratorLinkFlagTable[] = { { "ModuleDefinitionFile", "DEF:", "add an export def file", "", cmVS7FlagTable::UserValue }, { "GenerateMapFile", "MAP", "enable generation of map file", "true", 0 }, - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; cmVS7FlagTable cmLocalVisualStudio7GeneratorFortranLinkFlagTable[] = { @@ -545,7 +545,7 @@ cmVS7FlagTable cmLocalVisualStudio7GeneratorFortranLinkFlagTable[] = { "linkIncrementalNo", 0 }, { "LinkIncremental", "INCREMENTAL:YES", "link incremental", "linkIncrementalYes", 0 }, - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; // Helper class to write build event elements. diff --git a/Source/cmVS10CLFlagTable.h b/Source/cmVS10CLFlagTable.h index df4d58c..f707afc 100644 --- a/Source/cmVS10CLFlagTable.h +++ b/Source/cmVS10CLFlagTable.h @@ -201,5 +201,5 @@ static cmVS7FlagTable cmVS10CLFlagTable[] = { // Skip [XMLDocumentationFileName] - no command line Switch. // Skip [BrowseInformationFile] - no command line Switch. // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS10CSharpFlagTable.h b/Source/cmVS10CSharpFlagTable.h index 6ac7a76..40c21e8 100644 --- a/Source/cmVS10CSharpFlagTable.h +++ b/Source/cmVS10CSharpFlagTable.h @@ -117,5 +117,5 @@ static cmVS7FlagTable cmVS10CSharpFlagTable[] = { { "ErrorReport", "errorreport:queue", "Queue For Next Login", "queue", 0 }, { "ErrorReport", "errorreport:send", "Send Automatically", "send", 0 }, - { 0, 0, 0, 0, 0 }, + { "", "", "", "", 0 }, }; diff --git a/Source/cmVS10CudaFlagTable.h b/Source/cmVS10CudaFlagTable.h index 2b57e08..858b97b 100644 --- a/Source/cmVS10CudaFlagTable.h +++ b/Source/cmVS10CudaFlagTable.h @@ -50,5 +50,5 @@ static cmVS7FlagTable cmVS10CudaFlagTable[] = { { "MaxRegCount", "maxrregcount=", "", "", cmVS7FlagTable::UserValue }, { "MaxRegCount", "maxrregcount", "", "", cmVS7FlagTable::UserFollowing }, - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS10CudaHostFlagTable.h b/Source/cmVS10CudaHostFlagTable.h index 5b61066..b4b73c7 100644 --- a/Source/cmVS10CudaHostFlagTable.h +++ b/Source/cmVS10CudaHostFlagTable.h @@ -31,5 +31,5 @@ static cmVS7FlagTable cmVS10CudaHostFlagTable[] = { { "Warning", "W4", "Level 4", "W4", 0 }, { "Warning", "Wall", "Enable All Warnings", "Wall", 0 }, - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS10LibFlagTable.h b/Source/cmVS10LibFlagTable.h index be4f475..bb08a1c 100644 --- a/Source/cmVS10LibFlagTable.h +++ b/Source/cmVS10LibFlagTable.h @@ -72,5 +72,5 @@ static cmVS7FlagTable cmVS10LibFlagTable[] = { { "Name", "NAME:", "Name", "", cmVS7FlagTable::UserValue }, // Skip [TrackerLogDirectory] - no command line Switch. // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS10LinkFlagTable.h b/Source/cmVS10LinkFlagTable.h index 8f5b59b..5ae93d9 100644 --- a/Source/cmVS10LinkFlagTable.h +++ b/Source/cmVS10LinkFlagTable.h @@ -243,5 +243,5 @@ static cmVS7FlagTable cmVS10LinkFlagTable[] = { { "KeyContainer", "KEYCONTAINER:", "Key Container", "", cmVS7FlagTable::UserValue }, // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS10MASMFlagTable.h b/Source/cmVS10MASMFlagTable.h index 0a45245..3a72a78 100644 --- a/Source/cmVS10MASMFlagTable.h +++ b/Source/cmVS10MASMFlagTable.h @@ -72,5 +72,5 @@ static cmVS7FlagTable cmVS10MASMFlagTable[] = { // Skip [CommandLineTemplate] - no command line Switch. // Skip [ExecutionDescription] - no command line Switch. // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS10NASMFlagTable.h b/Source/cmVS10NASMFlagTable.h index b91af92..b5f3f6f 100644 --- a/Source/cmVS10NASMFlagTable.h +++ b/Source/cmVS10NASMFlagTable.h @@ -46,5 +46,5 @@ static cmVS7FlagTable cmVS10NASMFlagTable[] = { // Skip [CommandLineTemplate] - no command line Switch. // Skip [ExecutionDescription] - no command line Switch. // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS10RCFlagTable.h b/Source/cmVS10RCFlagTable.h index 6e2b834..347fdab 100644 --- a/Source/cmVS10RCFlagTable.h +++ b/Source/cmVS10RCFlagTable.h @@ -3,5 +3,5 @@ static cmVS7FlagTable cmVS10RCFlagTable[] = { { "NullTerminateStrings", "n", "", "true", 0 }, { "SuppressStartupBanner", "nologo", "", "true", 0 }, - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS11CLFlagTable.h b/Source/cmVS11CLFlagTable.h index d156938..10f901d 100644 --- a/Source/cmVS11CLFlagTable.h +++ b/Source/cmVS11CLFlagTable.h @@ -216,5 +216,5 @@ static cmVS7FlagTable cmVS11CLFlagTable[] = { // Skip [XMLDocumentationFileName] - no command line Switch. // Skip [BrowseInformationFile] - no command line Switch. // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS11CSharpFlagTable.h b/Source/cmVS11CSharpFlagTable.h index 18b804a..1b10e7d 100644 --- a/Source/cmVS11CSharpFlagTable.h +++ b/Source/cmVS11CSharpFlagTable.h @@ -117,5 +117,5 @@ static cmVS7FlagTable cmVS11CSharpFlagTable[] = { { "ErrorReport", "errorreport:queue", "Queue For Next Login", "queue", 0 }, { "ErrorReport", "errorreport:send", "Send Automatically", "send", 0 }, - { 0, 0, 0, 0, 0 }, + { "", "", "", "", 0 }, }; diff --git a/Source/cmVS11LibFlagTable.h b/Source/cmVS11LibFlagTable.h index 15c8ddd..afadf37 100644 --- a/Source/cmVS11LibFlagTable.h +++ b/Source/cmVS11LibFlagTable.h @@ -72,5 +72,5 @@ static cmVS7FlagTable cmVS11LibFlagTable[] = { { "Name", "NAME:", "Name", "", cmVS7FlagTable::UserValue }, // Skip [AdditionalOptions] - no command line Switch. // Skip [TrackerLogDirectory] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS11LinkFlagTable.h b/Source/cmVS11LinkFlagTable.h index 53f1139..4dea670 100644 --- a/Source/cmVS11LinkFlagTable.h +++ b/Source/cmVS11LinkFlagTable.h @@ -268,5 +268,5 @@ static cmVS7FlagTable cmVS11LinkFlagTable[] = { { "KeyContainer", "KEYCONTAINER:", "Key Container", "", cmVS7FlagTable::UserValue }, // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS11MASMFlagTable.h b/Source/cmVS11MASMFlagTable.h index fdf8239..fc0443c 100644 --- a/Source/cmVS11MASMFlagTable.h +++ b/Source/cmVS11MASMFlagTable.h @@ -72,5 +72,5 @@ static cmVS7FlagTable cmVS11MASMFlagTable[] = { // Skip [CommandLineTemplate] - no command line Switch. // Skip [ExecutionDescription] - no command line Switch. // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS11RCFlagTable.h b/Source/cmVS11RCFlagTable.h index 4997fe1..f71604c 100644 --- a/Source/cmVS11RCFlagTable.h +++ b/Source/cmVS11RCFlagTable.h @@ -3,5 +3,5 @@ static cmVS7FlagTable cmVS11RCFlagTable[] = { { "NullTerminateStrings", "n", "", "true", 0 }, { "SuppressStartupBanner", "nologo", "", "true", 0 }, - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS12CLFlagTable.h b/Source/cmVS12CLFlagTable.h index a4f2518..5cac77c 100644 --- a/Source/cmVS12CLFlagTable.h +++ b/Source/cmVS12CLFlagTable.h @@ -218,5 +218,5 @@ static cmVS7FlagTable cmVS12CLFlagTable[] = { // Skip [XMLDocumentationFileName] - no command line Switch. // Skip [BrowseInformationFile] - no command line Switch. // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS12CSharpFlagTable.h b/Source/cmVS12CSharpFlagTable.h index 0370499..d407696 100644 --- a/Source/cmVS12CSharpFlagTable.h +++ b/Source/cmVS12CSharpFlagTable.h @@ -117,5 +117,5 @@ static cmVS7FlagTable cmVS12CSharpFlagTable[] = { { "ErrorReport", "errorreport:queue", "Queue For Next Login", "queue", 0 }, { "ErrorReport", "errorreport:send", "Send Automatically", "send", 0 }, - { 0, 0, 0, 0, 0 }, + { "", "", "", "", 0 }, }; diff --git a/Source/cmVS12LibFlagTable.h b/Source/cmVS12LibFlagTable.h index 2229b97..d40eb5c 100644 --- a/Source/cmVS12LibFlagTable.h +++ b/Source/cmVS12LibFlagTable.h @@ -72,5 +72,5 @@ static cmVS7FlagTable cmVS12LibFlagTable[] = { { "Name", "NAME:", "Name", "", cmVS7FlagTable::UserValue }, // Skip [AdditionalOptions] - no command line Switch. // Skip [TrackerLogDirectory] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS12LinkFlagTable.h b/Source/cmVS12LinkFlagTable.h index ddc3ea1..7656e51 100644 --- a/Source/cmVS12LinkFlagTable.h +++ b/Source/cmVS12LinkFlagTable.h @@ -268,5 +268,5 @@ static cmVS7FlagTable cmVS12LinkFlagTable[] = { { "KeyContainer", "KEYCONTAINER:", "Key Container", "", cmVS7FlagTable::UserValue }, // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS12MASMFlagTable.h b/Source/cmVS12MASMFlagTable.h index acc0d48..6c3ff90 100644 --- a/Source/cmVS12MASMFlagTable.h +++ b/Source/cmVS12MASMFlagTable.h @@ -72,5 +72,5 @@ static cmVS7FlagTable cmVS12MASMFlagTable[] = { // Skip [CommandLineTemplate] - no command line Switch. // Skip [ExecutionDescription] - no command line Switch. // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS12RCFlagTable.h b/Source/cmVS12RCFlagTable.h index a650f85..5931431 100644 --- a/Source/cmVS12RCFlagTable.h +++ b/Source/cmVS12RCFlagTable.h @@ -3,5 +3,5 @@ static cmVS7FlagTable cmVS12RCFlagTable[] = { { "NullTerminateStrings", "n", "", "true", 0 }, { "SuppressStartupBanner", "nologo", "", "true", 0 }, - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS140CLFlagTable.h b/Source/cmVS140CLFlagTable.h index 2b89042..25ac14b 100644 --- a/Source/cmVS140CLFlagTable.h +++ b/Source/cmVS140CLFlagTable.h @@ -236,5 +236,5 @@ static cmVS7FlagTable cmVS140CLFlagTable[] = { // Skip [XMLDocumentationFileName] - no command line Switch. // Skip [BrowseInformationFile] - no command line Switch. // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS140CSharpFlagTable.h b/Source/cmVS140CSharpFlagTable.h index f695f45..c651d67 100644 --- a/Source/cmVS140CSharpFlagTable.h +++ b/Source/cmVS140CSharpFlagTable.h @@ -117,5 +117,5 @@ static cmVS7FlagTable cmVS140CSharpFlagTable[] = { { "ErrorReport", "errorreport:queue", "Queue For Next Login", "queue", 0 }, { "ErrorReport", "errorreport:send", "Send Automatically", "send", 0 }, - { 0, 0, 0, 0, 0 }, + { "", "", "", "", 0 }, }; diff --git a/Source/cmVS140LinkFlagTable.h b/Source/cmVS140LinkFlagTable.h index fe03153..bf1ee7a 100644 --- a/Source/cmVS140LinkFlagTable.h +++ b/Source/cmVS140LinkFlagTable.h @@ -281,5 +281,5 @@ static cmVS7FlagTable cmVS140LinkFlagTable[] = { { "KeyContainer", "KEYCONTAINER:", "Key Container", "", cmVS7FlagTable::UserValue }, // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS141CLFlagTable.h b/Source/cmVS141CLFlagTable.h index 7d219be..1f564f8 100644 --- a/Source/cmVS141CLFlagTable.h +++ b/Source/cmVS141CLFlagTable.h @@ -256,5 +256,5 @@ static cmVS7FlagTable cmVS141CLFlagTable[] = { // Skip [XMLDocumentationFileName] - no command line Switch. // Skip [BrowseInformationFile] - no command line Switch. // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS141CSharpFlagTable.h b/Source/cmVS141CSharpFlagTable.h index 1f84097..7688dba 100644 --- a/Source/cmVS141CSharpFlagTable.h +++ b/Source/cmVS141CSharpFlagTable.h @@ -122,5 +122,5 @@ static cmVS7FlagTable cmVS141CSharpFlagTable[] = { { "ErrorReport", "errorreport:queue", "Queue For Next Login", "queue", 0 }, { "ErrorReport", "errorreport:send", "Send Automatically", "send", 0 }, - { 0, 0, 0, 0, 0 }, + { "", "", "", "", 0 }, }; diff --git a/Source/cmVS141LinkFlagTable.h b/Source/cmVS141LinkFlagTable.h index 7e56c8e..9ee3334 100644 --- a/Source/cmVS141LinkFlagTable.h +++ b/Source/cmVS141LinkFlagTable.h @@ -283,5 +283,5 @@ static cmVS7FlagTable cmVS141LinkFlagTable[] = { { "KeyContainer", "KEYCONTAINER:", "Key Container", "", cmVS7FlagTable::UserValue }, // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS14LibFlagTable.h b/Source/cmVS14LibFlagTable.h index adce075..0cac898 100644 --- a/Source/cmVS14LibFlagTable.h +++ b/Source/cmVS14LibFlagTable.h @@ -73,5 +73,5 @@ static cmVS7FlagTable cmVS14LibFlagTable[] = { { "Name", "NAME:", "Name", "", cmVS7FlagTable::UserValue }, // Skip [AdditionalOptions] - no command line Switch. // Skip [TrackerLogDirectory] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS14MASMFlagTable.h b/Source/cmVS14MASMFlagTable.h index 82ec9f1..8af1ef6 100644 --- a/Source/cmVS14MASMFlagTable.h +++ b/Source/cmVS14MASMFlagTable.h @@ -72,5 +72,5 @@ static cmVS7FlagTable cmVS14MASMFlagTable[] = { // Skip [CommandLineTemplate] - no command line Switch. // Skip [ExecutionDescription] - no command line Switch. // Skip [AdditionalOptions] - no command line Switch. - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; diff --git a/Source/cmVS14RCFlagTable.h b/Source/cmVS14RCFlagTable.h index 5dc8d5a..1720276 100644 --- a/Source/cmVS14RCFlagTable.h +++ b/Source/cmVS14RCFlagTable.h @@ -3,5 +3,5 @@ static cmVS7FlagTable cmVS14RCFlagTable[] = { { "NullTerminateStrings", "n", "", "true", 0 }, { "SuppressStartupBanner", "nologo", "", "true", 0 }, - { 0, 0, 0, 0, 0 } + { "", "", "", "", 0 } }; https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=139b39985f26d4517072d49715c3dfd50a0d7001 commit 139b39985f26d4517072d49715c3dfd50a0d7001 Author: Stephan Szabo AuthorDate: Wed Nov 28 07:31:16 2018 -0800 Commit: Stephan Szabo CommitDate: Wed Nov 28 07:43:24 2018 -0800 Update XML->JSON generation script Update generation script to write a newline to generated json. Update generation script to remove / or - at start of switches in xml Update generation script to put separators on switch as in headers diff --git a/Source/cmConvertMSBuildXMLToJSON.py b/Source/cmConvertMSBuildXMLToJSON.py index 92569e7..02074ba 100644 --- a/Source/cmConvertMSBuildXMLToJSON.py +++ b/Source/cmConvertMSBuildXMLToJSON.py @@ -96,7 +96,6 @@ def read_msbuild_json(path, values=[]): return values - def main(): """Script entrypoint.""" # Parse the arguments @@ -213,6 +212,14 @@ def __find_and_remove_value(list, compare): return found +def __normalize_switch(switch, separator): + new = switch + if switch.startswith("/") or switch.startswith("-"): + new = switch[1:] + if new and separator: + new = new + separator + return new + ########################################################################################### # private xml functions def __convert(root, tag, values, func): @@ -257,6 +264,8 @@ def __convert_bool(node): reverse_switch = __get_attribute(node, 'ReverseSwitch') if reverse_switch: + __with_argument(node, converted) + converted_reverse = copy.deepcopy(converted) converted_reverse['switch'] = reverse_switch @@ -303,7 +312,11 @@ def __convert_node(node, default_value='', default_flags=vsflags()): converted = {} converted['name'] = name - converted['switch'] = __get_attribute(node, 'Switch') + + switch = __get_attribute(node, 'Switch') + separator = __get_attribute(node, 'Separator') + converted['switch'] = __normalize_switch(switch, separator) + converted['comment'] = __get_attribute(node, 'DisplayName') converted['value'] = default_value @@ -435,7 +448,7 @@ def __write_json_file(path, values): with open(path, 'w') as f: json.dump(sorted_values, f, indent=2, separators=(',', ': ')) - + f.write("\n") ########################################################################################### # private list helpers ----------------------------------------------------------------------- Summary of changes: CMakeLists.txt | 26 +- Copyright.txt | 2 + Help/manual/cmake-modules.7.rst | 1 + Help/manual/ctest.1.rst | 17 +- Help/module/FindOctave.rst | 1 + Help/release/dev/FindOctave.rst | 4 + Help/release/dev/submit-method.rst | 6 + Help/variable/CTEST_SCP_COMMAND.rst | 3 +- Help/variable/CTEST_TRIGGER_SITE.rst | 3 +- Modules/CTest.cmake | 3 - Modules/DartConfiguration.tcl.in | 5 - Modules/FindOctave.cmake | 167 +++ Source/CMakeLists.txt | 3 +- Source/CPack/cmCPackFreeBSDGenerator.cxx | 45 +- Source/CTest/cmCTestHandlerCommand.cxx | 13 +- Source/CTest/cmCTestSubmitCommand.cxx | 15 - Source/CTest/cmCTestSubmitHandler.cxx | 726 +---------- Source/CTest/cmCTestSubmitHandler.h | 23 - Source/cmCTest.cxx | 16 - Source/cmCTest.h | 7 - Source/cmConvertMSBuildXMLToJSON.py | 19 +- Source/cmCurl.cxx | 2 - Source/cmGlobalVisualStudio10Generator.cxx | 179 ++- Source/cmGlobalVisualStudio10Generator.h | 21 +- Source/cmGlobalVisualStudio11Generator.cxx | 18 +- Source/cmGlobalVisualStudio12Generator.cxx | 18 +- Source/cmGlobalVisualStudio14Generator.cxx | 18 +- Source/cmGlobalVisualStudio15Generator.cxx | 9 +- Source/cmGlobalVisualStudio7Generator.cxx | 2 +- Source/cmGlobalVisualStudio8Generator.cxx | 2 +- Source/cmIDEFlagTable.h | 10 +- Source/cmIDEOptions.cxx | 12 +- Source/cmLocalVisualStudio7Generator.cxx | 8 +- Source/cmVS10CLFlagTable.h | 205 --- Source/cmVS10CSharpFlagTable.h | 121 -- Source/cmVS10CudaFlagTable.h | 54 - Source/cmVS10CudaHostFlagTable.h | 35 - Source/cmVS10LibFlagTable.h | 76 -- Source/cmVS10LinkFlagTable.h | 247 ---- Source/cmVS10MASMFlagTable.h | 76 -- Source/cmVS10NASMFlagTable.h | 50 - Source/cmVS10RCFlagTable.h | 7 - Source/cmVS11CLFlagTable.h | 220 ---- Source/cmVS11CSharpFlagTable.h | 121 -- Source/cmVS11LibFlagTable.h | 76 -- Source/cmVS11LinkFlagTable.h | 272 ---- Source/cmVS11MASMFlagTable.h | 76 -- Source/cmVS11RCFlagTable.h | 7 - Source/cmVS12CLFlagTable.h | 222 ---- Source/cmVS12CSharpFlagTable.h | 121 -- Source/cmVS12LibFlagTable.h | 76 -- Source/cmVS12LinkFlagTable.h | 272 ---- Source/cmVS12MASMFlagTable.h | 76 -- Source/cmVS12RCFlagTable.h | 7 - Source/cmVS140CLFlagTable.h | 240 ---- Source/cmVS140CSharpFlagTable.h | 121 -- Source/cmVS140LinkFlagTable.h | 285 ----- Source/cmVS141CLFlagTable.h | 260 ---- Source/cmVS141CSharpFlagTable.h | 126 -- Source/cmVS141LinkFlagTable.h | 287 ----- Source/cmVS14LibFlagTable.h | 77 -- Source/cmVS14MASMFlagTable.h | 76 -- Source/cmVS14RCFlagTable.h | 7 - Source/cmVisualStudio10ToolsetOptions.cxx | 124 +- Source/cmVisualStudio10ToolsetOptions.h | 32 +- Templates/MSBuild/FlagTables/v10_CL.json | 981 +++++++++++++++ Templates/MSBuild/FlagTables/v10_CSharp.json | 570 +++++++++ Templates/MSBuild/FlagTables/v10_Cuda.json | 224 ++++ Templates/MSBuild/FlagTables/v10_CudaHost.json | 149 +++ Templates/MSBuild/FlagTables/v10_LIB.json | 297 +++++ Templates/MSBuild/FlagTables/v10_Link.json | 1137 +++++++++++++++++ Templates/MSBuild/FlagTables/v10_MASM.json | 295 +++++ Templates/MSBuild/FlagTables/v10_NASM.json | 201 +++ Templates/MSBuild/FlagTables/v10_RC.json | 69 + Templates/MSBuild/FlagTables/v11_CL.json | 1063 ++++++++++++++++ Templates/MSBuild/FlagTables/v11_CSharp.json | 570 +++++++++ Templates/MSBuild/FlagTables/v11_LIB.json | 297 +++++ Templates/MSBuild/FlagTables/v11_Link.json | 1272 +++++++++++++++++++ Templates/MSBuild/FlagTables/v11_MASM.json | 295 +++++ Templates/MSBuild/FlagTables/v11_RC.json | 69 + Templates/MSBuild/FlagTables/v12_CL.json | 1077 ++++++++++++++++ Templates/MSBuild/FlagTables/v12_CSharp.json | 570 +++++++++ Templates/MSBuild/FlagTables/v12_LIB.json | 297 +++++ Templates/MSBuild/FlagTables/v12_Link.json | 1272 +++++++++++++++++++ Templates/MSBuild/FlagTables/v12_MASM.json | 295 +++++ Templates/MSBuild/FlagTables/v12_RC.json | 69 + Templates/MSBuild/FlagTables/v140_CL.json | 1184 ++++++++++++++++++ Templates/MSBuild/FlagTables/v140_CSharp.json | 570 +++++++++ Templates/MSBuild/FlagTables/v140_Link.json | 1316 +++++++++++++++++++ Templates/MSBuild/FlagTables/v141_CL.json | 1261 +++++++++++++++++++ Templates/MSBuild/FlagTables/v141_CSharp.json | 570 +++++++++ Templates/MSBuild/FlagTables/v141_Link.json | 1323 ++++++++++++++++++++ Templates/MSBuild/FlagTables/v14_LIB.json | 304 +++++ Templates/MSBuild/FlagTables/v14_MASM.json | 295 +++++ Templates/MSBuild/FlagTables/v14_RC.json | 69 + Tests/CMakeLists.txt | 4 + Tests/CTestTestBadExe/CTestConfig.cmake | 2 - Tests/CTestTestBadGenerator/CTestConfig.cmake | 2 - Tests/CTestTestCostSerial/CTestConfig.cmake | 2 - Tests/CTestTestCrash/CTestConfig.cmake | 2 - Tests/CTestTestCycle/CTestConfig.cmake | 2 - Tests/CTestTestDepends/CTestConfig.cmake | 2 - Tests/CTestTestFailure/CTestConfig.cmake | 2 - .../CTestConfig.cmake | 2 - .../CTestConfig.cmake | 2 - .../launcher_linker_test_project/CTestConfig.cmake | 2 - Tests/CTestTestParallel/CTestConfig.cmake | 2 - Tests/CTestTestResourceLock/CTestConfig.cmake | 2 - Tests/CTestTestScheduler/CTestConfig.cmake | 2 - Tests/CTestTestSkipReturnCode/CTestConfig.cmake | 2 - Tests/CTestTestStopTime/CTestConfig.cmake | 2 - Tests/CTestTestSubdir/CTestConfig.cmake | 2 - Tests/CTestTestTimeout/CTestConfig.cmake | 2 - Tests/CTestTestUpload/CTestConfig.cmake | 2 - Tests/CTestTestVerboseOutput/CTestConfig.cmake | 2 - Tests/CTestTestZeroTimeout/CTestConfig.cmake | 2 - Tests/FindOctave/CMakeLists.txt | 10 + Tests/FindOctave/Test/CMakeLists.txt | 20 + Tests/FindOctave/Test/main.cpp | 18 + Tests/FindOctave/Test/testtrue.m | 1 + Tests/RunCMake/ctest_memcheck/CTestConfig.cmake.in | 2 - Tests/RunCMake/ctest_submit/FailDrop-cp-result.txt | 1 - Tests/RunCMake/ctest_submit/FailDrop-cp-stderr.txt | 3 - Tests/RunCMake/ctest_submit/FailDrop-cp-stdout.txt | 1 - .../RunCMake/ctest_submit/FailDrop-ftp-result.txt | 1 - .../RunCMake/ctest_submit/FailDrop-ftp-stderr.txt | 2 - .../RunCMake/ctest_submit/FailDrop-ftp-stdout.txt | 3 - .../RunCMake/ctest_submit/FailDrop-scp-result.txt | 1 - .../RunCMake/ctest_submit/FailDrop-scp-stderr.txt | 1 - .../RunCMake/ctest_submit/FailDrop-scp-stdout.txt | 1 - .../ctest_submit/FailDrop-xmlrpc-result.txt | 1 - .../ctest_submit/FailDrop-xmlrpc-stderr.txt | 1 - .../ctest_submit/FailDrop-xmlrpc-stdout.txt | 1 - Tests/RunCMake/ctest_submit/RunCMakeTest.cmake | 4 - Utilities/IWYU/mapping.imp | 3 - Utilities/cmThirdParty.h.in | 1 - Utilities/cm_xmlrpc.h | 13 - 137 files changed, 18509 insertions(+), 5041 deletions(-) create mode 100644 Help/module/FindOctave.rst create mode 100644 Help/release/dev/FindOctave.rst create mode 100644 Help/release/dev/submit-method.rst create mode 100644 Modules/FindOctave.cmake delete mode 100644 Source/cmVS10CLFlagTable.h delete mode 100644 Source/cmVS10CSharpFlagTable.h delete mode 100644 Source/cmVS10CudaFlagTable.h delete mode 100644 Source/cmVS10CudaHostFlagTable.h delete mode 100644 Source/cmVS10LibFlagTable.h delete mode 100644 Source/cmVS10LinkFlagTable.h delete mode 100644 Source/cmVS10MASMFlagTable.h delete mode 100644 Source/cmVS10NASMFlagTable.h delete mode 100644 Source/cmVS10RCFlagTable.h delete mode 100644 Source/cmVS11CLFlagTable.h delete mode 100644 Source/cmVS11CSharpFlagTable.h delete mode 100644 Source/cmVS11LibFlagTable.h delete mode 100644 Source/cmVS11LinkFlagTable.h delete mode 100644 Source/cmVS11MASMFlagTable.h delete mode 100644 Source/cmVS11RCFlagTable.h delete mode 100644 Source/cmVS12CLFlagTable.h delete mode 100644 Source/cmVS12CSharpFlagTable.h delete mode 100644 Source/cmVS12LibFlagTable.h delete mode 100644 Source/cmVS12LinkFlagTable.h delete mode 100644 Source/cmVS12MASMFlagTable.h delete mode 100644 Source/cmVS12RCFlagTable.h delete mode 100644 Source/cmVS140CLFlagTable.h delete mode 100644 Source/cmVS140CSharpFlagTable.h delete mode 100644 Source/cmVS140LinkFlagTable.h delete mode 100644 Source/cmVS141CLFlagTable.h delete mode 100644 Source/cmVS141CSharpFlagTable.h delete mode 100644 Source/cmVS141LinkFlagTable.h delete mode 100644 Source/cmVS14LibFlagTable.h delete mode 100644 Source/cmVS14MASMFlagTable.h delete mode 100644 Source/cmVS14RCFlagTable.h create mode 100644 Templates/MSBuild/FlagTables/v10_CL.json create mode 100644 Templates/MSBuild/FlagTables/v10_CSharp.json create mode 100644 Templates/MSBuild/FlagTables/v10_Cuda.json create mode 100644 Templates/MSBuild/FlagTables/v10_CudaHost.json create mode 100644 Templates/MSBuild/FlagTables/v10_LIB.json create mode 100644 Templates/MSBuild/FlagTables/v10_Link.json create mode 100644 Templates/MSBuild/FlagTables/v10_MASM.json create mode 100644 Templates/MSBuild/FlagTables/v10_NASM.json create mode 100644 Templates/MSBuild/FlagTables/v10_RC.json create mode 100644 Templates/MSBuild/FlagTables/v11_CL.json create mode 100644 Templates/MSBuild/FlagTables/v11_CSharp.json create mode 100644 Templates/MSBuild/FlagTables/v11_LIB.json create mode 100644 Templates/MSBuild/FlagTables/v11_Link.json create mode 100644 Templates/MSBuild/FlagTables/v11_MASM.json create mode 100644 Templates/MSBuild/FlagTables/v11_RC.json create mode 100644 Templates/MSBuild/FlagTables/v12_CL.json create mode 100644 Templates/MSBuild/FlagTables/v12_CSharp.json create mode 100644 Templates/MSBuild/FlagTables/v12_LIB.json create mode 100644 Templates/MSBuild/FlagTables/v12_Link.json create mode 100644 Templates/MSBuild/FlagTables/v12_MASM.json create mode 100644 Templates/MSBuild/FlagTables/v12_RC.json create mode 100644 Templates/MSBuild/FlagTables/v140_CL.json create mode 100644 Templates/MSBuild/FlagTables/v140_CSharp.json create mode 100644 Templates/MSBuild/FlagTables/v140_Link.json create mode 100644 Templates/MSBuild/FlagTables/v141_CL.json create mode 100644 Templates/MSBuild/FlagTables/v141_CSharp.json create mode 100644 Templates/MSBuild/FlagTables/v141_Link.json create mode 100644 Templates/MSBuild/FlagTables/v14_LIB.json create mode 100644 Templates/MSBuild/FlagTables/v14_MASM.json create mode 100644 Templates/MSBuild/FlagTables/v14_RC.json create mode 100644 Tests/FindOctave/CMakeLists.txt create mode 100644 Tests/FindOctave/Test/CMakeLists.txt create mode 100644 Tests/FindOctave/Test/main.cpp create mode 100644 Tests/FindOctave/Test/testtrue.m delete mode 100644 Tests/RunCMake/ctest_submit/FailDrop-cp-result.txt delete mode 100644 Tests/RunCMake/ctest_submit/FailDrop-cp-stderr.txt delete mode 100644 Tests/RunCMake/ctest_submit/FailDrop-cp-stdout.txt delete mode 100644 Tests/RunCMake/ctest_submit/FailDrop-ftp-result.txt delete mode 100644 Tests/RunCMake/ctest_submit/FailDrop-ftp-stderr.txt delete mode 100644 Tests/RunCMake/ctest_submit/FailDrop-ftp-stdout.txt delete mode 100644 Tests/RunCMake/ctest_submit/FailDrop-scp-result.txt delete mode 100644 Tests/RunCMake/ctest_submit/FailDrop-scp-stderr.txt delete mode 100644 Tests/RunCMake/ctest_submit/FailDrop-scp-stdout.txt delete mode 100644 Tests/RunCMake/ctest_submit/FailDrop-xmlrpc-result.txt delete mode 100644 Tests/RunCMake/ctest_submit/FailDrop-xmlrpc-stderr.txt delete mode 100644 Tests/RunCMake/ctest_submit/FailDrop-xmlrpc-stdout.txt delete mode 100644 Utilities/cm_xmlrpc.h hooks/post-receive -- CMake From kwrobot at kitware.com Sat Dec 8 00:03:05 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Sat, 8 Dec 2018 00:03:05 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-655-g0021d03 Message-ID: <20181208050305.A01FB125B3E@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via 0021d0315392d18ca4ad65f210404e1c217ee9a2 (commit) from 99a224e3ee0b6a770c388313a7b32746a95514e8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0021d0315392d18ca4ad65f210404e1c217ee9a2 commit 0021d0315392d18ca4ad65f210404e1c217ee9a2 Author: Kitware Robot AuthorDate: Sat Dec 8 00:01:05 2018 -0500 Commit: Kitware Robot CommitDate: Sat Dec 8 00:01:05 2018 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 85cbbca..1e972dc 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 13) -set(CMake_VERSION_PATCH 20181207) +set(CMake_VERSION_PATCH 20181208) #set(CMake_VERSION_RC 1) ----------------------------------------------------------------------- Summary of changes: Source/CMakeVersion.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake From kwrobot at kitware.com Sun Dec 9 00:03:05 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Sun, 9 Dec 2018 00:03:05 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-656-gdd8c575 Message-ID: <20181209050305.168501277C4@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via dd8c575932b0b1462c3f4f1cbbab1a5fb1526036 (commit) from 0021d0315392d18ca4ad65f210404e1c217ee9a2 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dd8c575932b0b1462c3f4f1cbbab1a5fb1526036 commit dd8c575932b0b1462c3f4f1cbbab1a5fb1526036 Author: Kitware Robot AuthorDate: Sun Dec 9 00:01:03 2018 -0500 Commit: Kitware Robot CommitDate: Sun Dec 9 00:01:03 2018 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 1e972dc..2a1cc73 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 13) -set(CMake_VERSION_PATCH 20181208) +set(CMake_VERSION_PATCH 20181209) #set(CMake_VERSION_RC 1) ----------------------------------------------------------------------- Summary of changes: Source/CMakeVersion.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake From kwrobot at kitware.com Mon Dec 10 00:03:04 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Mon, 10 Dec 2018 00:03:04 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-657-g4b513c0 Message-ID: <20181210050304.4FC54127881@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via 4b513c0ca31d5a90b283b794397e40168070e400 (commit) from dd8c575932b0b1462c3f4f1cbbab1a5fb1526036 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4b513c0ca31d5a90b283b794397e40168070e400 commit 4b513c0ca31d5a90b283b794397e40168070e400 Author: Kitware Robot AuthorDate: Mon Dec 10 00:01:04 2018 -0500 Commit: Kitware Robot CommitDate: Mon Dec 10 00:01:04 2018 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 2a1cc73..7e2e6c5 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 13) -set(CMake_VERSION_PATCH 20181209) +set(CMake_VERSION_PATCH 20181210) #set(CMake_VERSION_RC 1) ----------------------------------------------------------------------- Summary of changes: Source/CMakeVersion.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake From kwrobot at kitware.com Mon Dec 10 08:23:06 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Mon, 10 Dec 2018 08:23:06 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-671-g45c5958 Message-ID: <20181210132306.6E2D112561C@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via 45c5958e36cf55b00338b3f69cd48f43c51a03e0 (commit) via 0bfe96a8c35aae2744efad664444ac5a963d74d3 (commit) via e1db7aac307e85154c1abd91afbdf61b65780caf (commit) via d99e1cca20a58abce5c300dbfef98e1180e3c7bf (commit) via 5f3b067bee1b30b6d74ef48f31e9e2bbb27cd27a (commit) via 0f9533e61b775255cf380c97c72dea1c7845e56b (commit) via 3b4e86f26dddbdfd2cd172274ae7c1340f1eba29 (commit) via 0becea2d6061e8fa49c5f6a00757efacdd93421a (commit) via e5a4007a3b4aefeb3d814adb75835adc6111e238 (commit) via 4be7f38d57bdf94a600edace627be8e14f331250 (commit) via 187481d4d988f45e05f2f7a6e89df89cd64ecfe9 (commit) via 4a3ae1710ecefedef8c345cd00599b335bc164d2 (commit) via 31840e363f61c10770a3d22467396c05e7d3d422 (commit) via 98a39be6cfb7b229ff78f7045c6d5bcd6b6c7509 (commit) from 4b513c0ca31d5a90b283b794397e40168070e400 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=45c5958e36cf55b00338b3f69cd48f43c51a03e0 commit 45c5958e36cf55b00338b3f69cd48f43c51a03e0 Merge: 0bfe96a 0f9533e Author: Brad King AuthorDate: Mon Dec 10 13:21:59 2018 +0000 Commit: Kitware Robot CommitDate: Mon Dec 10 08:22:20 2018 -0500 Merge topic 'cuda-arch-turing' 0f9533e61b CUDA: Add CUDA 10 (Turing) detection Acked-by: Kitware Robot Reviewed-by: Henry Schreiner Merge-request: !2702 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0bfe96a8c35aae2744efad664444ac5a963d74d3 commit 0bfe96a8c35aae2744efad664444ac5a963d74d3 Merge: e1db7aa 31840e3 Author: Brad King AuthorDate: Mon Dec 10 13:21:33 2018 +0000 Commit: Kitware Robot CommitDate: Mon Dec 10 08:21:40 2018 -0500 Merge topic 'file-read_symlink' 31840e363f file: Fix formatting of error in SIZE sub-command 98a39be6cf file: Add READ_SYMLINK sub-command Acked-by: Kitware Robot Merge-request: !2705 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e1db7aac307e85154c1abd91afbdf61b65780caf commit e1db7aac307e85154c1abd91afbdf61b65780caf Merge: d99e1cc 3b4e86f Author: Brad King AuthorDate: Mon Dec 10 08:20:10 2018 -0500 Commit: Brad King CommitDate: Mon Dec 10 08:20:10 2018 -0500 Merge branch 'release-3.13' https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d99e1cca20a58abce5c300dbfef98e1180e3c7bf commit d99e1cca20a58abce5c300dbfef98e1180e3c7bf Merge: 5f3b067 4a3ae17 Author: Brad King AuthorDate: Mon Dec 10 13:16:29 2018 +0000 Commit: Kitware Robot CommitDate: Mon Dec 10 08:17:06 2018 -0500 Merge topic 'cpack-status-callback' 4a3ae1710e CPack/External: Fix status messages of staging scripts Acked-by: Kitware Robot Merge-request: !2696 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5f3b067bee1b30b6d74ef48f31e9e2bbb27cd27a commit 5f3b067bee1b30b6d74ef48f31e9e2bbb27cd27a Merge: 4b513c0 e5a4007 Author: Brad King AuthorDate: Mon Dec 10 13:16:12 2018 +0000 Commit: Kitware Robot CommitDate: Mon Dec 10 08:16:20 2018 -0500 Merge topic 'autogen_revert_implicit_includes' e5a4007a3b Merge branch 'backport-autogen_revert_implicit_includes' 4be7f38d57 Autogen: Revert passing compiler implicit includes to moc 187481d4d9 Autogen: Revert passing compiler implicit includes to moc Acked-by: Kitware Robot Merge-request: !2709 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0f9533e61b775255cf380c97c72dea1c7845e56b commit 0f9533e61b775255cf380c97c72dea1c7845e56b Author: Anton Chernov AuthorDate: Wed Dec 5 11:37:37 2018 +0100 Commit: Brad King CommitDate: Fri Dec 7 08:51:57 2018 -0500 CUDA: Add CUDA 10 (Turing) detection diff --git a/Modules/FindCUDA/select_compute_arch.cmake b/Modules/FindCUDA/select_compute_arch.cmake index 1baf051..7ddb709 100644 --- a/Modules/FindCUDA/select_compute_arch.cmake +++ b/Modules/FindCUDA/select_compute_arch.cmake @@ -5,9 +5,9 @@ # - "Auto" detects local machine GPU compute arch at runtime. # - "Common" and "All" cover common and entire subsets of architectures # ARCH_AND_PTX : NAME | NUM.NUM | NUM.NUM(NUM.NUM) | NUM.NUM+PTX -# NAME: Fermi Kepler Maxwell Kepler+Tegra Kepler+Tesla Maxwell+Tegra Pascal +# NAME: Fermi Kepler Maxwell Kepler+Tegra Kepler+Tesla Maxwell+Tegra Pascal Volta Turing # NUM: Any number. Only those pairs are currently accepted by NVCC though: -# 2.0 2.1 3.0 3.2 3.5 3.7 5.0 5.2 5.3 6.0 6.2 +# 2.0 2.1 3.0 3.2 3.5 3.7 5.0 5.2 5.3 6.0 6.2 7.0 7.2 7.5 # Returns LIST of flags to be added to CUDA_NVCC_FLAGS in ${out_variable} # Additionally, sets ${out_variable}_readable to the resulting numeric list # Example: @@ -63,12 +63,23 @@ endif () if(CUDA_VERSION VERSION_GREATER_EQUAL "9.0") list(APPEND CUDA_KNOWN_GPU_ARCHITECTURES "Volta") list(APPEND CUDA_COMMON_GPU_ARCHITECTURES "7.0" "7.0+PTX") + list(APPEND CUDA_ALL_GPU_ARCHITECTURES "7.0" "7.0+PTX" "7.2" "7.2+PTX") if(CUDA_VERSION VERSION_LESS "10.0") set(CUDA_LIMIT_GPU_ARCHITECTURE "8.0") endif() endif() +if(CUDA_VERSION VERSION_GREATER_EQUAL "10.0") + list(APPEND CUDA_KNOWN_GPU_ARCHITECTURES "Turing") + list(APPEND CUDA_COMMON_GPU_ARCHITECTURES "7.5" "7.5+PTX") + list(APPEND CUDA_ALL_GPU_ARCHITECTURES "7.5" "7.5+PTX") + + if(CUDA_VERSION VERSION_LESS "11.0") + set(CUDA_LIMIT_GPU_ARCHITECTURE "9.0") + endif() +endif() + ################################################################################################ # A function for automatic detection of GPUs installed (if autodetection is enabled) # Usage: @@ -200,6 +211,9 @@ function(CUDA_SELECT_NVCC_ARCH_FLAGS out_variable) elseif(${arch_name} STREQUAL "Volta") set(arch_bin 7.0 7.0) set(arch_ptx 7.0) + elseif(${arch_name} STREQUAL "Turing") + set(arch_bin 7.5) + set(arch_ptx 7.5) else() message(SEND_ERROR "Unknown CUDA Architecture Name ${arch_name} in CUDA_SELECT_NVCC_ARCH_FLAGS") endif() https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e5a4007a3b4aefeb3d814adb75835adc6111e238 commit e5a4007a3b4aefeb3d814adb75835adc6111e238 Merge: 4be7f38 187481d Author: Brad King AuthorDate: Fri Dec 7 08:02:25 2018 -0500 Commit: Brad King CommitDate: Fri Dec 7 08:02:25 2018 -0500 Merge branch 'backport-autogen_revert_implicit_includes' https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4be7f38d57bdf94a600edace627be8e14f331250 commit 4be7f38d57bdf94a600edace627be8e14f331250 Author: Sebastian Holtermann AuthorDate: Thu Dec 6 18:42:40 2018 +0100 Commit: Brad King CommitDate: Fri Dec 7 08:01:02 2018 -0500 Autogen: Revert passing compiler implicit includes to moc Passing an incomplete list of compiler include directories causes a regression in the KIO project (and probably others). We need to disable it until the complete list is available (see #16291). Fixes: #18669 Issue: #18041 diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx index d4819a3..9dfd9db 100644 --- a/Source/cmQtAutoGenInitializer.cxx +++ b/Source/cmQtAutoGenInitializer.cxx @@ -489,10 +489,13 @@ bool cmQtAutoGenInitializer::InitMoc() // Moc includes { - bool const appendImplicit = (this->QtVersion.Major == 5); + // We need to disable this until we have all implicit includes available. + // See issue #18669. + // bool const appendImplicit = (this->QtVersion.Major == 5); + auto GetIncludeDirs = - [this, localGen, - appendImplicit](std::string const& cfg) -> std::vector { + [this, localGen](std::string const& cfg) -> std::vector { + bool const appendImplicit = false; // Get the include dirs for this target, without stripping the implicit // include dirs off, see // https://gitlab.kitware.com/cmake/cmake/issues/13667 diff --git a/Tests/QtAutogen/Tests.cmake b/Tests/QtAutogen/Tests.cmake index 096d5e3..c53fb4f 100644 --- a/Tests/QtAutogen/Tests.cmake +++ b/Tests/QtAutogen/Tests.cmake @@ -39,7 +39,8 @@ endif() # Qt5 only tests if(QT_TEST_VERSION GREATER 4) ADD_AUTOGEN_TEST(MocMacroName mocMacroName) - ADD_AUTOGEN_TEST(MocOsMacros) + # Disabled for issue #18669 + #ADD_AUTOGEN_TEST(MocOsMacros) ADD_AUTOGEN_TEST(RerunMocPlugin) if(APPLE) ADD_AUTOGEN_TEST(MacOsFW) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=31840e363f61c10770a3d22467396c05e7d3d422 commit 31840e363f61c10770a3d22467396c05e7d3d422 Author: Kyle Edwards AuthorDate: Thu Dec 6 10:28:16 2018 -0500 Commit: Kyle Edwards CommitDate: Thu Dec 6 10:28:16 2018 -0500 file: Fix formatting of error in SIZE sub-command diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx index 7fc717d..fb8e8d3 100644 --- a/Source/cmFileCommand.cxx +++ b/Source/cmFileCommand.cxx @@ -3630,7 +3630,7 @@ bool cmFileCommand::HandleSizeCommand(std::vector const& args) if (!cmSystemTools::FileExists(filename, true)) { std::ostringstream e; - e << "SIZE requested of path that is not readable " << filename; + e << "SIZE requested of path that is not readable:\n " << filename; this->SetError(e.str()); return false; } diff --git a/Tests/RunCMake/file/SIZE-error-does-not-exist-stderr.txt b/Tests/RunCMake/file/SIZE-error-does-not-exist-stderr.txt index b797a41..842cf89 100644 --- a/Tests/RunCMake/file/SIZE-error-does-not-exist-stderr.txt +++ b/Tests/RunCMake/file/SIZE-error-does-not-exist-stderr.txt @@ -1,5 +1,6 @@ ^CMake Error at SIZE-error-does-not-exist.cmake:[0-9]+ \(file\): - file SIZE requested of path that is not readable - /a/file/that/does-not-exist + file SIZE requested of path that is not readable: + + .*/Tests/RunCMake/file/SIZE-error-does-not-exist-build/does-not-exist Call Stack \(most recent call first\): CMakeLists.txt:[0-9]+ \(include\) diff --git a/Tests/RunCMake/file/SIZE-error-does-not-exist.cmake b/Tests/RunCMake/file/SIZE-error-does-not-exist.cmake index edcc222..ebac737 100644 --- a/Tests/RunCMake/file/SIZE-error-does-not-exist.cmake +++ b/Tests/RunCMake/file/SIZE-error-does-not-exist.cmake @@ -1,3 +1,3 @@ -set(file "/a/file/that/does-not-exist") +set(file "${CMAKE_CURRENT_BINARY_DIR}/does-not-exist") file(SIZE "${file}" CALCULATED_SIZE) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=98a39be6cfb7b229ff78f7045c6d5bcd6b6c7509 commit 98a39be6cfb7b229ff78f7045c6d5bcd6b6c7509 Author: Kyle Edwards AuthorDate: Wed Dec 5 15:27:08 2018 -0500 Commit: Kyle Edwards CommitDate: Thu Dec 6 10:11:51 2018 -0500 file: Add READ_SYMLINK sub-command diff --git a/Help/command/file.rst b/Help/command/file.rst index 26a9ae2..6e2a6dd 100644 --- a/Help/command/file.rst +++ b/Help/command/file.rst @@ -26,6 +26,7 @@ Synopsis file(`MAKE_DIRECTORY`_ [...]) file({`COPY`_ | `INSTALL`_} ... DESTINATION [...]) file(`SIZE`_ ) + file(`READ_SYMLINK`_ ) `Path Conversion`_ file(`RELATIVE_PATH`_ ) @@ -344,6 +345,29 @@ Determine the file size of the ```` and put the result in ```` variable. Requires that ```` is a valid path pointing to a file and is readable. +.. _READ_SYMLINK: + +.. code-block:: cmake + + file(READ_SYMLINK ) + +Read the symlink at ```` and put the result in ````. +Requires that ```` is a valid path pointing to a symlink. If +```` does not exist, or is not a symlink, an error is thrown. + +Note that this command returns the raw symlink path and does not resolve +relative symlinks. If you want to resolve the relative symlink yourself, you +could do something like this: + +.. code-block:: cmake + + set(filename "/path/to/foo.sym") + file(READ_SYMLINK "${filename}" result) + if(NOT IS_ABSOLUTE "${result}") + get_filename_component(dir "${filename}" DIRECTORY) + set(result "${dir}/${result}") + endif() + Path Conversion ^^^^^^^^^^^^^^^ diff --git a/Help/release/dev/file-read_symlink.rst b/Help/release/dev/file-read_symlink.rst new file mode 100644 index 0000000..718802e --- /dev/null +++ b/Help/release/dev/file-read_symlink.rst @@ -0,0 +1,5 @@ +file-read_symlink +----------------- + +* The :command:`file` command learned a new sub-command, ``READ_SYMLINK``, + which can be used to determine the path that a symlink points to. diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx index 73ff5a1..7fc717d 100644 --- a/Source/cmFileCommand.cxx +++ b/Source/cmFileCommand.cxx @@ -180,6 +180,9 @@ bool cmFileCommand::InitialPass(std::vector const& args, if (subCommand == "SIZE") { return this->HandleSizeCommand(args); } + if (subCommand == "READ_SYMLINK") { + return this->HandleReadSymlinkCommand(args); + } std::string e = "does not recognize sub-command " + subCommand; this->SetError(e); @@ -3638,3 +3641,30 @@ bool cmFileCommand::HandleSizeCommand(std::vector const& args) return true; } + +bool cmFileCommand::HandleReadSymlinkCommand( + std::vector const& args) +{ + if (args.size() != 3) { + std::ostringstream e; + e << args[0] << " requires a file name and output variable"; + this->SetError(e.str()); + return false; + } + + const std::string& filename = args[1]; + const std::string& outputVariable = args[2]; + + std::string result; + if (!cmSystemTools::ReadSymlink(filename, result)) { + std::ostringstream e; + e << "READ_SYMLINK requested of path that is not a symlink:\n " + << filename; + this->SetError(e.str()); + return false; + } + + this->Makefile->AddDefinition(outputVariable, result.c_str()); + + return true; +} diff --git a/Source/cmFileCommand.h b/Source/cmFileCommand.h index 01e007d..fe05c98 100644 --- a/Source/cmFileCommand.h +++ b/Source/cmFileCommand.h @@ -60,6 +60,7 @@ protected: bool HandleGenerateCommand(std::vector const& args); bool HandleLockCommand(std::vector const& args); bool HandleSizeCommand(std::vector const& args); + bool HandleReadSymlinkCommand(std::vector const& args); private: void AddEvaluationFile(const std::string& inputName, diff --git a/Tests/RunCMake/file/READ_SYMLINK-noexist-result.txt b/Tests/RunCMake/file/READ_SYMLINK-noexist-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/file/READ_SYMLINK-noexist-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/file/READ_SYMLINK-noexist-stderr.txt b/Tests/RunCMake/file/READ_SYMLINK-noexist-stderr.txt new file mode 100644 index 0000000..32b3e85 --- /dev/null +++ b/Tests/RunCMake/file/READ_SYMLINK-noexist-stderr.txt @@ -0,0 +1,6 @@ +^CMake Error at READ_SYMLINK-noexist\.cmake:[0-9]+ \(file\): + file READ_SYMLINK requested of path that is not a symlink: + + .*/Tests/RunCMake/file/READ_SYMLINK-noexist-build/rel\.sym +Call Stack \(most recent call first\): + CMakeLists\.txt:[0-9]+ \(include\)$ diff --git a/Tests/RunCMake/file/READ_SYMLINK-noexist.cmake b/Tests/RunCMake/file/READ_SYMLINK-noexist.cmake new file mode 100644 index 0000000..9e57e4b --- /dev/null +++ b/Tests/RunCMake/file/READ_SYMLINK-noexist.cmake @@ -0,0 +1 @@ +file(READ_SYMLINK "${CMAKE_CURRENT_BINARY_DIR}/rel.sym" result) diff --git a/Tests/RunCMake/file/READ_SYMLINK-notsymlink-result.txt b/Tests/RunCMake/file/READ_SYMLINK-notsymlink-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/file/READ_SYMLINK-notsymlink-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/file/READ_SYMLINK-notsymlink-stderr.txt b/Tests/RunCMake/file/READ_SYMLINK-notsymlink-stderr.txt new file mode 100644 index 0000000..63e32ed --- /dev/null +++ b/Tests/RunCMake/file/READ_SYMLINK-notsymlink-stderr.txt @@ -0,0 +1,6 @@ +^CMake Error at READ_SYMLINK-notsymlink\.cmake:[0-9]+ \(file\): + file READ_SYMLINK requested of path that is not a symlink: + + .*/Tests/RunCMake/file/READ_SYMLINK-notsymlink-build/rel\.sym +Call Stack \(most recent call first\): + CMakeLists\.txt:[0-9]+ \(include\)$ diff --git a/Tests/RunCMake/file/READ_SYMLINK-notsymlink.cmake b/Tests/RunCMake/file/READ_SYMLINK-notsymlink.cmake new file mode 100644 index 0000000..a9798b6 --- /dev/null +++ b/Tests/RunCMake/file/READ_SYMLINK-notsymlink.cmake @@ -0,0 +1,2 @@ +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/rel.sym" "") +file(READ_SYMLINK "${CMAKE_CURRENT_BINARY_DIR}/rel.sym" result) diff --git a/Tests/RunCMake/file/READ_SYMLINK.cmake b/Tests/RunCMake/file/READ_SYMLINK.cmake new file mode 100644 index 0000000..865a2e9 --- /dev/null +++ b/Tests/RunCMake/file/READ_SYMLINK.cmake @@ -0,0 +1,13 @@ +execute_process(COMMAND + ${CMAKE_COMMAND} -E create_symlink "test.txt" "${CMAKE_CURRENT_BINARY_DIR}/rel.sym") +file(READ_SYMLINK "${CMAKE_CURRENT_BINARY_DIR}/rel.sym" result) +if(NOT result STREQUAL "test.txt") + message(SEND_ERROR "Relative symlink is \"${result}\", should be \"test.txt\"") +endif() + +execute_process(COMMAND + ${CMAKE_COMMAND} -E create_symlink "${CMAKE_CURRENT_BINARY_DIR}/test.txt" "${CMAKE_CURRENT_BINARY_DIR}/abs.sym") +file(READ_SYMLINK "${CMAKE_CURRENT_BINARY_DIR}/abs.sym" result) +if(NOT result MATCHES "^.*/Tests/RunCMake/file/READ_SYMLINK-build/test\\.txt$") + message(SEND_ERROR "Absolute symlink is \"${result}\", should be \"*/Tests/RunCMake/file/READ_SYMLINK-build/test.txt\"") +endif() diff --git a/Tests/RunCMake/file/RunCMakeTest.cmake b/Tests/RunCMake/file/RunCMakeTest.cmake index b9d76bf..b872824 100644 --- a/Tests/RunCMake/file/RunCMakeTest.cmake +++ b/Tests/RunCMake/file/RunCMakeTest.cmake @@ -55,6 +55,9 @@ run_cmake_command(GLOB-error-CONFIGURE_DEPENDS-SCRIPT_MODE ${CMAKE_COMMAND} -P if(NOT WIN32 OR CYGWIN) run_cmake(GLOB_RECURSE-cyclic-recursion) run_cmake(INSTALL-SYMLINK) + run_cmake(READ_SYMLINK) + run_cmake(READ_SYMLINK-noexist) + run_cmake(READ_SYMLINK-notsymlink) endif() if(RunCMake_GENERATOR STREQUAL "Ninja") ----------------------------------------------------------------------- Summary of changes: Help/command/file.rst | 24 ++++++++++++++++ Help/release/3.13.rst | 13 +++++++++ Help/release/dev/file-read_symlink.rst | 5 ++++ Modules/FindCUDA/select_compute_arch.cmake | 18 ++++++++++-- Source/CPack/cpack.cxx | 10 +++++++ Source/cmFileCommand.cxx | 32 +++++++++++++++++++++- Source/cmFileCommand.h | 1 + Source/cmQtAutoGenInitializer.cxx | 9 ++++-- Tests/QtAutogen/Tests.cmake | 3 +- .../CPack/tests/EXTERNAL/create_package.cmake | 2 ++ .../tests/EXTERNAL/stage_and_package-stdout.txt | 1 + .../READ_SYMLINK-noexist-result.txt} | 0 .../RunCMake/file/READ_SYMLINK-noexist-stderr.txt | 6 ++++ Tests/RunCMake/file/READ_SYMLINK-noexist.cmake | 1 + .../READ_SYMLINK-notsymlink-result.txt} | 0 .../file/READ_SYMLINK-notsymlink-stderr.txt | 6 ++++ Tests/RunCMake/file/READ_SYMLINK-notsymlink.cmake | 2 ++ Tests/RunCMake/file/READ_SYMLINK.cmake | 13 +++++++++ Tests/RunCMake/file/RunCMakeTest.cmake | 3 ++ .../file/SIZE-error-does-not-exist-stderr.txt | 5 ++-- .../RunCMake/file/SIZE-error-does-not-exist.cmake | 2 +- 21 files changed, 146 insertions(+), 10 deletions(-) create mode 100644 Help/release/dev/file-read_symlink.rst create mode 100644 Tests/RunCMake/CPack/tests/EXTERNAL/stage_and_package-stdout.txt copy Tests/RunCMake/{while/MissingArgument-result.txt => file/READ_SYMLINK-noexist-result.txt} (100%) create mode 100644 Tests/RunCMake/file/READ_SYMLINK-noexist-stderr.txt create mode 100644 Tests/RunCMake/file/READ_SYMLINK-noexist.cmake copy Tests/RunCMake/{while/MissingArgument-result.txt => file/READ_SYMLINK-notsymlink-result.txt} (100%) create mode 100644 Tests/RunCMake/file/READ_SYMLINK-notsymlink-stderr.txt create mode 100644 Tests/RunCMake/file/READ_SYMLINK-notsymlink.cmake create mode 100644 Tests/RunCMake/file/READ_SYMLINK.cmake hooks/post-receive -- CMake From kwrobot at kitware.com Mon Dec 10 08:23:06 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Mon, 10 Dec 2018 08:23:06 -0500 (EST) Subject: [Cmake-commits] CMake branch, release, updated. v3.13.1-6-g3b4e86f Message-ID: <20181210132306.93C06126156@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, release has been updated via 3b4e86f26dddbdfd2cd172274ae7c1340f1eba29 (commit) via 0becea2d6061e8fa49c5f6a00757efacdd93421a (commit) via 187481d4d988f45e05f2f7a6e89df89cd64ecfe9 (commit) via 4a3ae1710ecefedef8c345cd00599b335bc164d2 (commit) from 45c95a3327cbb7f0b1ab61e6d656c1130f34a684 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: Help/release/3.13.rst | 13 +++++++++++++ Source/CPack/cpack.cxx | 10 ++++++++++ Source/cmQtAutoGenInitializer.cxx | 10 +++++++--- Tests/QtAutogen/CommonTests.cmake | 7 ++++--- Tests/RunCMake/CPack/tests/EXTERNAL/create_package.cmake | 2 ++ .../CPack/tests/EXTERNAL/stage_and_package-stdout.txt | 1 + 6 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 Tests/RunCMake/CPack/tests/EXTERNAL/stage_and_package-stdout.txt hooks/post-receive -- CMake From kwrobot at kitware.com Mon Dec 10 08:33:07 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Mon, 10 Dec 2018 08:33:07 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-680-g0f7cca1 Message-ID: <20181210133307.9D77A127AB2@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via 0f7cca1dae77550487c2175de8ac2032b8582a55 (commit) via 2e2455cbd3ff429181d147374bbc3810acb98a97 (commit) via d3983f7fc62eb35d08ab69ecdddff47953d86dab (commit) via 7630eb1975417ae49e00c58afcea71104a62ea55 (commit) via dff28141dcddd90b0bb95740d66b8f698cc8da6a (commit) via 7b3d4799f8c03162d537e65effd3dd8d56fc3386 (commit) via cfd808ff19bbd407dc230458e8a9369412244487 (commit) via 2c3f2dfa5a6cdb272ce63aa4d8bba842e0134f42 (commit) via 2295040e85321911d65bd36704560725d9c2ad27 (commit) from 45c5958e36cf55b00338b3f69cd48f43c51a03e0 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0f7cca1dae77550487c2175de8ac2032b8582a55 commit 0f7cca1dae77550487c2175de8ac2032b8582a55 Merge: 2e2455c 7630eb1 Author: Brad King AuthorDate: Mon Dec 10 13:25:56 2018 +0000 Commit: Kitware Robot CommitDate: Mon Dec 10 08:26:05 2018 -0500 Merge topic 'autogen-cleanups' 7630eb1975 cmQtAutoGenInitializer: Reduce code duplication Acked-by: Kitware Robot Acked-by: Tobias Hunger Merge-request: !2689 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2e2455cbd3ff429181d147374bbc3810acb98a97 commit 2e2455cbd3ff429181d147374bbc3810acb98a97 Merge: d3983f7 cfd808f Author: Brad King AuthorDate: Mon Dec 10 13:24:56 2018 +0000 Commit: Kitware Robot CommitDate: Mon Dec 10 08:25:03 2018 -0500 Merge topic 'ninja-win-long-commands' cfd808ff19 cmLocalNinjaGenerator: Prevent echoing of lines in ninja generated batch files 2c3f2dfa5a cmLocalNinjaGenerator: Report line of failure in ninja generated batch file 2295040e85 cmLocalNinjaGenerator: Propagate failures from batch file back to ninja Acked-by: Kitware Robot Merge-request: !2701 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d3983f7fc62eb35d08ab69ecdddff47953d86dab commit d3983f7fc62eb35d08ab69ecdddff47953d86dab Merge: 45c5958 dff2814 Author: Brad King AuthorDate: Mon Dec 10 13:23:34 2018 +0000 Commit: Kitware Robot CommitDate: Mon Dec 10 08:23:42 2018 -0500 Merge topic 'SWIG' dff28141dc UseSWIG: add management of SWIG option -module 7b3d4799f8 Help: update policy 0078 documentation Acked-by: Kitware Robot Merge-request: !2669 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7630eb1975417ae49e00c58afcea71104a62ea55 commit 7630eb1975417ae49e00c58afcea71104a62ea55 Author: Tobias Hunger AuthorDate: Wed Nov 28 15:04:33 2018 +0100 Commit: Brad King CommitDate: Fri Dec 7 13:44:33 2018 -0500 cmQtAutoGenInitializer: Reduce code duplication Do not repeat the code used to find uic/rcc and moc exectuables. diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx index d4819a3..32e4a4f 100644 --- a/Source/cmQtAutoGenInitializer.cxx +++ b/Source/cmQtAutoGenInitializer.cxx @@ -35,9 +35,22 @@ #include #include #include +#include #include #include +std::string GetQtExecutableTargetName( + const cmQtAutoGen::IntegerVersion& qtVersion, std::string const& executable) +{ + if (qtVersion.Major == 5) { + return ("Qt5::" + executable); + } + if (qtVersion.Major == 4) { + return ("Qt4::" + executable); + } + return (""); +} + static std::size_t GetParallelCPUCount() { static std::size_t count = 0; @@ -544,11 +557,7 @@ bool cmQtAutoGenInitializer::InitMoc() } // Moc executable - if (!GetMocExecutable()) { - return false; - } - - return true; + return GetMocExecutable(); } bool cmQtAutoGenInitializer::InitUic() @@ -625,19 +634,12 @@ bool cmQtAutoGenInitializer::InitUic() } // Uic executable - if (!GetUicExecutable()) { - return false; - } - - return true; + return GetUicExecutable(); } bool cmQtAutoGenInitializer::InitRcc() { - if (!GetRccExecutable()) { - return false; - } - return true; + return GetRccExecutable(); } bool cmQtAutoGenInitializer::InitScanFiles() @@ -1409,199 +1411,109 @@ cmQtAutoGenInitializer::IntegerVersion cmQtAutoGenInitializer::GetQtVersion( return cmQtAutoGenInitializer::IntegerVersion(); } -bool cmQtAutoGenInitializer::GetMocExecutable() +std::pair GetQtExecutable( + const cmQtAutoGen::IntegerVersion& qtVersion, cmGeneratorTarget* target, + const std::string& executable, bool ignoreMissingTarget, std::string* output) { std::string err; + std::string result; - // Find moc executable + // Find executable { - std::string targetName; - if (this->QtVersion.Major == 5) { - targetName = "Qt5::moc"; - } else if (this->QtVersion.Major == 4) { - targetName = "Qt4::moc"; + const std::string targetName = + GetQtExecutableTargetName(qtVersion, executable); + if (targetName.empty()) { + err = "The AUTOMOC, AUTOUIC and AUTORCC feature "; + err += "supports only Qt 4 and Qt 5"; } else { - err = "The AUTOMOC feature supports only Qt 4 and Qt 5"; - } - if (!targetName.empty()) { - cmLocalGenerator* localGen = this->Target->GetLocalGenerator(); + cmLocalGenerator* localGen = target->GetLocalGenerator(); cmGeneratorTarget* tgt = localGen->FindGeneratorTargetToUse(targetName); if (tgt != nullptr) { - this->Moc.Executable = tgt->ImportedGetLocation(""); + result = tgt->ImportedGetLocation(""); } else { + if (ignoreMissingTarget) { + return std::make_pair(true, ""); + } + err = "Could not find target " + targetName; } } } - // Test moc command + // Test executable if (err.empty()) { - if (cmSystemTools::FileExists(this->Moc.Executable, true)) { + if (cmSystemTools::FileExists(result, true)) { std::vector command; - command.push_back(this->Moc.Executable); + command.push_back(result); command.push_back("-h"); std::string stdOut; std::string stdErr; int retVal = 0; - bool result = cmSystemTools::RunSingleCommand( + const bool runResult = cmSystemTools::RunSingleCommand( command, &stdOut, &stdErr, &retVal, nullptr, cmSystemTools::OUTPUT_NONE, cmDuration::zero(), cmProcessOutput::Auto); - if (!result) { - err = "The moc test command failed: "; - err += QuotedCommand(command); + if (!runResult) { + err = "Test of \"" + executable + "\" binary "; + err += cmQtAutoGen::Quoted(result) + " failed: "; + err += cmQtAutoGen::QuotedCommand(command); + } else { + if (output != nullptr) { + *output = stdOut; + } } } else { - err = "The moc executable "; - err += Quoted(this->Moc.Executable); + err = "The \"" + executable + "\" binary "; + err += cmQtAutoGen::Quoted(result); err += " does not exist"; } } // Print error if (!err.empty()) { - std::string msg = "AutoMoc ("; - msg += this->Target->GetName(); + std::string msg = "AutoGen ("; + msg += target->GetName(); msg += "): "; msg += err; cmSystemTools::Error(msg.c_str()); - return false; + return std::make_pair(false, ""); } - return true; + return std::make_pair(true, result); } -bool cmQtAutoGenInitializer::GetUicExecutable() +bool cmQtAutoGenInitializer::GetMocExecutable() { - std::string err; - - // Find uic executable - { - std::string targetName; - if (this->QtVersion.Major == 5) { - targetName = "Qt5::uic"; - } else if (this->QtVersion.Major == 4) { - targetName = "Qt4::uic"; - } else { - err = "The AUTOUIC feature supports only Qt 4 and Qt 5"; - } - if (!targetName.empty()) { - cmLocalGenerator* localGen = this->Target->GetLocalGenerator(); - cmGeneratorTarget* tgt = localGen->FindGeneratorTargetToUse(targetName); - if (tgt != nullptr) { - this->Uic.Executable = tgt->ImportedGetLocation(""); - } else { - if (this->QtVersion.Major == 5) { - // Project does not use Qt5Widgets, but has AUTOUIC ON anyway - } else { - err = "Could not find target " + targetName; - } - } - } - } - - // Test uic command - if (err.empty() && !this->Uic.Executable.empty()) { - if (cmSystemTools::FileExists(this->Uic.Executable, true)) { - std::vector command; - command.push_back(this->Uic.Executable); - command.push_back("-h"); - std::string stdOut; - std::string stdErr; - int retVal = 0; - bool result = cmSystemTools::RunSingleCommand( - command, &stdOut, &stdErr, &retVal, nullptr, - cmSystemTools::OUTPUT_NONE, cmDuration::zero(), cmProcessOutput::Auto); - if (!result) { - err = "The uic test command failed: "; - err += QuotedCommand(command); - } - } else { - err = "The uic executable "; - err += Quoted(this->Uic.Executable); - err += " does not exist"; - } - } - - // Print error - if (!err.empty()) { - std::string msg = "AutoUic ("; - msg += this->Target->GetName(); - msg += "): "; - msg += err; - cmSystemTools::Error(msg.c_str()); - return false; - } + const auto result = + GetQtExecutable(this->QtVersion, this->Target, "moc", false, nullptr); + this->Moc.Executable = result.second; + return result.first; +} - return true; +bool cmQtAutoGenInitializer::GetUicExecutable() +{ + const auto result = + GetQtExecutable(this->QtVersion, this->Target, "uic", true, nullptr); + this->Uic.Executable = result.second; + return result.first; } bool cmQtAutoGenInitializer::GetRccExecutable() { - std::string err; - - // Find rcc executable - { - std::string targetName; - if (this->QtVersion.Major == 5) { - targetName = "Qt5::rcc"; - } else if (this->QtVersion.Major == 4) { - targetName = "Qt4::rcc"; - } else { - err = "The AUTORCC feature supports only Qt 4 and Qt 5"; - } - if (!targetName.empty()) { - cmLocalGenerator* localGen = this->Target->GetLocalGenerator(); - cmGeneratorTarget* tgt = localGen->FindGeneratorTargetToUse(targetName); - if (tgt != nullptr) { - this->Rcc.Executable = tgt->ImportedGetLocation(""); - } else { - err = "Could not find target " + targetName; - } - } + std::string stdOut; + const auto result = + GetQtExecutable(this->QtVersion, this->Target, "rcc", false, &stdOut); + this->Rcc.Executable = result.second; + if (!result.first) { + return false; } - // Test rcc command - if (err.empty()) { - if (cmSystemTools::FileExists(this->Rcc.Executable, true)) { - std::vector command; - command.push_back(this->Rcc.Executable); - command.push_back("-h"); - std::string stdOut; - std::string stdErr; - int retVal = 0; - bool result = cmSystemTools::RunSingleCommand( - command, &stdOut, &stdErr, &retVal, nullptr, - cmSystemTools::OUTPUT_NONE, cmDuration::zero(), cmProcessOutput::Auto); - if (result) { - // Detect if rcc supports (-)-list - if (this->QtVersion.Major == 5) { - if (stdOut.find("--list") != std::string::npos) { - this->Rcc.ListOptions.push_back("--list"); - } else { - this->Rcc.ListOptions.push_back("-list"); - } - } - } else { - err = "The rcc test command failed: "; - err += QuotedCommand(command); - } + if (this->QtVersion.Major == 5) { + if (stdOut.find("--list") != std::string::npos) { + this->Rcc.ListOptions.push_back("--list"); } else { - err = "The rcc executable "; - err += Quoted(this->Rcc.Executable); - err += " does not exist"; + this->Rcc.ListOptions.push_back("-list"); } } - - // Print error - if (!err.empty()) { - std::string msg = "AutoRcc ("; - msg += this->Target->GetName(); - msg += "): "; - msg += err; - cmSystemTools::Error(msg.c_str()); - return false; - } - return true; } https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dff28141dcddd90b0bb95740d66b8f698cc8da6a commit dff28141dcddd90b0bb95740d66b8f698cc8da6a Author: Marc Chevrier AuthorDate: Tue Nov 27 15:10:32 2018 +0100 Commit: Marc Chevrier CommitDate: Fri Dec 7 18:51:57 2018 +0100 UseSWIG: add management of SWIG option -module When file property SWIG_MODULE_NAME is specified, provide option -module to SWIG compiler. Fixes: #18374 diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst index 044a06e..ed61ae0 100644 --- a/Help/manual/cmake-policies.7.rst +++ b/Help/manual/cmake-policies.7.rst @@ -57,6 +57,7 @@ Policies Introduced by CMake 3.14 .. toctree:: :maxdepth: 1 + CMP0086: UseSWIG honors SWIG_MODULE_NAME via -module flag. CMP0085: IN_LIST generator expression handles empty list items. CMP0084: The FindQt module does not exist for find_package(). CMP0083: Add PIE options when linking executable. diff --git a/Help/policy/CMP0086.rst b/Help/policy/CMP0086.rst new file mode 100644 index 0000000..4a9e8b8 --- /dev/null +++ b/Help/policy/CMP0086.rst @@ -0,0 +1,20 @@ +CMP0086 +------- + +:module:`UseSWIG` honors ``SWIG_MODULE_NAME`` via ``-module`` flag. + +Starting with CMake 3.14, :module:`UseSWIG` passes option +``-module `` to ``SWIG`` compiler if the file property +``SWIG_MODULE_NAME`` is specified. This policy provides compatibility with +projects that expect the legacy behavior. + +The ``OLD`` behavior for this policy is to never pass ``-module`` option. +The ``NEW`` behavior is to pass ``-module`` option to ``SWIG`` compiler if +``SWIG_MODULE_NAME`` is specified. + +This policy was introduced in CMake version 3.14. CMake version +|release| warns when the policy is not set and uses ``OLD`` behavior. +Use the :command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` +explicitly. + +.. include:: DEPRECATED.txt diff --git a/Help/release/dev/UseSWIG-CMP0086.rst b/Help/release/dev/UseSWIG-CMP0086.rst new file mode 100644 index 0000000..d6fd0d1 --- /dev/null +++ b/Help/release/dev/UseSWIG-CMP0086.rst @@ -0,0 +1,6 @@ +UseSWIG-CMP0086 +--------------- + +* The :module:`UseSWIG` module passes option ``-module `` to + ``SWIG`` compiler if the file property ``SWIG_MODULE_NAME`` is defined. + See policy :policy:`CMP0086`. diff --git a/Modules/UseSWIG.cmake b/Modules/UseSWIG.cmake index d9a0389..a3d6d9e 100644 --- a/Modules/UseSWIG.cmake +++ b/Modules/UseSWIG.cmake @@ -142,6 +142,11 @@ ensure generated files will receive the required settings. set_property(SOURCE mymod.i PROPERTY SWIG_MODULE_NAME mymod_realname) + .. note:: + + If policy :policy:`CMP0086` is set to ``NEW``, ``-module `` + is passed to ``SWIG`` compiler. + Target library properties can be set to apply same configuration to all SWIG input files. @@ -220,12 +225,19 @@ as well as ``SWIG``: #]=======================================================================] cmake_policy(GET CMP0078 target_name_policy) +cmake_policy(GET CMP0086 module_name_policy) + cmake_policy (VERSION 3.12) if (target_name_policy) # respect user choice regarding CMP0078 policy cmake_policy(SET CMP0078 ${target_name_policy}) endif() +if (module_name_policy) + # respect user choice regarding CMP0086 policy + cmake_policy(SET CMP0086 ${module_name_policy}) +endif() unset(target_name_policy) +unset(module_name_policy) set(SWIG_CXX_EXTENSION "cxx") set(SWIG_EXTRA_LIBRARIES "") @@ -426,6 +438,19 @@ function(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile) list (APPEND swig_special_flags "-c++") endif() + cmake_policy(GET CMP0086 module_name_policy) + if (module_name_policy STREQUAL "NEW") + get_source_file_property(module_name "${infile}" SWIG_MODULE_NAME) + if (module_name) + list (APPEND swig_special_flags "-module" "${module_name}") + endif() + else() + if (NOT module_name_policy) + cmake_policy(GET_WARNING CMP0086 _cmp0086_warning) + message(AUTHOR_WARNING "${_cmp0086_warning}\n") + endif() + endif() + set (swig_extra_flags) if(SWIG_MODULE_${name}_LANGUAGE STREQUAL "CSHARP") if(NOT ("-dllimport" IN_LIST swig_source_file_flags OR "-dllimport" IN_LIST SWIG_MODULE_${name}_EXTRA_FLAGS)) diff --git a/Source/cmPolicies.h b/Source/cmPolicies.h index 9985d63..7674877 100644 --- a/Source/cmPolicies.h +++ b/Source/cmPolicies.h @@ -251,7 +251,10 @@ class cmMakefile; "The FindQt module does not exist for find_package().", 3, 14, 0, \ cmPolicies::WARN) \ SELECT(POLICY, CMP0085, "$ handles empty list items.", 3, 14, \ - 0, cmPolicies::WARN) + 0, cmPolicies::WARN) \ + SELECT(POLICY, CMP0086, \ + "UseSWIG honors SWIG_MODULE_NAME via -module flag.", 3, 14, 0, \ + cmPolicies::WARN) #define CM_SELECT_ID(F, A1, A2, A3, A4, A5, A6) F(A1) #define CM_FOR_EACH_POLICY_ID(POLICY) \ diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index b044757..5ff2538 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -159,7 +159,7 @@ add_RunCMake_test(FindBoost) add_RunCMake_test(FindLua) add_RunCMake_test(FindOpenGL) if(CMake_TEST_UseSWIG) - add_RunCMake_test(UseSWIG) + add_RunCMake_test(UseSWIG -DCMake_TEST_FindPython=${CMake_TEST_FindPython}) endif() if(NOT CMAKE_C_COMPILER_ID MATCHES "Watcom") add_RunCMake_test(GenerateExportHeader) diff --git a/Tests/RunCMake/UseSWIG/CMP0078-WARN-stderr.txt b/Tests/RunCMake/UseSWIG/CMP0078-WARN-stderr.txt index f0ed577..d89d174 100644 --- a/Tests/RunCMake/UseSWIG/CMP0078-WARN-stderr.txt +++ b/Tests/RunCMake/UseSWIG/CMP0078-WARN-stderr.txt @@ -4,7 +4,7 @@ CMake Warning \(dev\) at .*/Modules/UseSWIG\.cmake:[0-9]+ \(message\): command to set the policy and suppress this warning\. Call Stack \(most recent call first\): - CMP0078-common\.cmake:6 \(swig_add_library\) + CMP0078-common\.cmake:8 \(swig_add_library\) CMP0078-WARN\.cmake:1 \(include\) CMakeLists\.txt:3 \(include\) This warning is for project developers. Use -Wno-dev to suppress it.$ diff --git a/Tests/RunCMake/UseSWIG/CMP0078-common.cmake b/Tests/RunCMake/UseSWIG/CMP0078-common.cmake index 6cf39dc..b13796b 100644 --- a/Tests/RunCMake/UseSWIG/CMP0078-common.cmake +++ b/Tests/RunCMake/UseSWIG/CMP0078-common.cmake @@ -1,4 +1,6 @@ +cmake_policy(SET CMP0086 NEW) + set(SWIG_EXECUTABLE "swig") set(SWIG_DIR "/swig") include(UseSWIG) diff --git a/Tests/RunCMake/UseSWIG/CMP0086-NEW-nuild-check.cmake b/Tests/RunCMake/UseSWIG/CMP0086-NEW-nuild-check.cmake new file mode 100644 index 0000000..ea8b2cd --- /dev/null +++ b/Tests/RunCMake/UseSWIG/CMP0086-NEW-nuild-check.cmake @@ -0,0 +1,4 @@ + +if (NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/new_example.py") + set (RunCMake_TEST_FAILED "Not found expected file: '${RunCMake_TEST_BINARY_DIR}/new_example.py'.") +endif() diff --git a/Tests/RunCMake/UseSWIG/CMP0086-NEW.cmake b/Tests/RunCMake/UseSWIG/CMP0086-NEW.cmake new file mode 100644 index 0000000..b54338d --- /dev/null +++ b/Tests/RunCMake/UseSWIG/CMP0086-NEW.cmake @@ -0,0 +1,2 @@ +cmake_policy(SET CMP0086 NEW) +include(CMP0086-common.cmake) diff --git a/Tests/RunCMake/UseSWIG/CMP0086-OLD-build-check.cmake b/Tests/RunCMake/UseSWIG/CMP0086-OLD-build-check.cmake new file mode 100644 index 0000000..96b5295 --- /dev/null +++ b/Tests/RunCMake/UseSWIG/CMP0086-OLD-build-check.cmake @@ -0,0 +1,4 @@ + +if (NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/example.py") + set (RunCMake_TEST_FAILED "Not found expected file: '${RunCMake_TEST_BINARY_DIR}/example.py'.") +endif() diff --git a/Tests/RunCMake/UseSWIG/CMP0086-OLD.cmake b/Tests/RunCMake/UseSWIG/CMP0086-OLD.cmake new file mode 100644 index 0000000..6a63d4c --- /dev/null +++ b/Tests/RunCMake/UseSWIG/CMP0086-OLD.cmake @@ -0,0 +1,2 @@ +cmake_policy(SET CMP0086 OLD) +include(CMP0086-common.cmake) diff --git a/Tests/RunCMake/UseSWIG/CMP0086-WARN-stderr.txt b/Tests/RunCMake/UseSWIG/CMP0086-WARN-stderr.txt new file mode 100644 index 0000000..af41021 --- /dev/null +++ b/Tests/RunCMake/UseSWIG/CMP0086-WARN-stderr.txt @@ -0,0 +1,11 @@ +CMake Warning \(dev\) at .*/Modules/UseSWIG.cmake:[0-9]+ \(message\): + Policy CMP0086 is not set: UseSWIG honors SWIG_MODULE_NAME via -module + flag. Run "cmake --help-policy CMP0086" for policy details\. Use the + cmake_policy command to set the policy and suppress this warning\. + +Call Stack \(most recent call first\): + .*/Modules/UseSWIG.cmake:[0-9]+ \(SWIG_ADD_SOURCE_TO_MODULE\) + CMP0086-common\.cmake:[0-9]+ \(swig_add_library\) + CMP0086-WARN\.cmake:1 \(include\) + CMakeLists\.txt:3 \(include\) +This warning is for project developers\. Use -Wno-dev to suppress it\.$ diff --git a/Tests/RunCMake/UseSWIG/CMP0086-WARN.cmake b/Tests/RunCMake/UseSWIG/CMP0086-WARN.cmake new file mode 100644 index 0000000..69c2d9d --- /dev/null +++ b/Tests/RunCMake/UseSWIG/CMP0086-WARN.cmake @@ -0,0 +1 @@ +include(CMP0086-common.cmake) diff --git a/Tests/RunCMake/UseSWIG/CMP0086-common.cmake b/Tests/RunCMake/UseSWIG/CMP0086-common.cmake new file mode 100644 index 0000000..c02592a --- /dev/null +++ b/Tests/RunCMake/UseSWIG/CMP0086-common.cmake @@ -0,0 +1,11 @@ + +cmake_policy(SET CMP0078 NEW) + +find_package(Python REQUIRED COMPONENTS Development) +find_package (SWIG REQUIRED) +include(UseSWIG) + +set_property (SOURCE example.i PROPERTY SWIG_MODULE_NAME "new_example") + +swig_add_library(example LANGUAGE python TYPE MODULE SOURCES example.i) +target_link_libraries(example PRIVATE Python::Python) diff --git a/Tests/RunCMake/UseSWIG/RunCMakeTest.cmake b/Tests/RunCMake/UseSWIG/RunCMakeTest.cmake index b96622a..6acf719 100644 --- a/Tests/RunCMake/UseSWIG/RunCMakeTest.cmake +++ b/Tests/RunCMake/UseSWIG/RunCMakeTest.cmake @@ -3,3 +3,23 @@ include(RunCMake) run_cmake(CMP0078-WARN) run_cmake(CMP0078-OLD) run_cmake(CMP0078-NEW) + +run_cmake(CMP0086-WARN) + +if (CMake_TEST_FindPython) + + macro(run_cmake_target test subtest target) + set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${test}-build) + set(RunCMake_TEST_NO_CLEAN 1) + run_cmake_command(${test}-${subtest} ${CMAKE_COMMAND} --build . --target ${target} ${ARGN}) + + unset(RunCMake_TEST_BINARY_DIR) + unset(RunCMake_TEST_NO_CLEAN) + endmacro() + + run_cmake(CMP0086-OLD) + run_cmake_target(CMP0086-OLD build example) + run_cmake(CMP0086-NEW) + run_cmake_target(CMP0086-NEW build example) + +endif() diff --git a/Tests/UseSWIG/CMakeLists.txt b/Tests/UseSWIG/CMakeLists.txt index 4c3d901..f79cda6 100644 --- a/Tests/UseSWIG/CMakeLists.txt +++ b/Tests/UseSWIG/CMakeLists.txt @@ -96,6 +96,18 @@ add_test(NAME UseSWIG.UseTargetINCLUDE_DIRECTORIES COMMAND "${CMake_SOURCE_DIR}/Tests/UseSWIG/UseTargetINCLUDE_DIRECTORIES" "${CMake_BINARY_DIR}/Tests/UseSWIG/UseTargetINCLUDE_DIRECTORIES" ${build_generator_args} - --build-project TestModuleVersion2 + --build-project TestUseTargetINCLUDE_DIRECTORIES --build-options ${build_options} ) + + +add_test(NAME UseSWIG.ModuleName COMMAND + ${CMAKE_CTEST_COMMAND} -C $ + --build-and-test + "${CMake_SOURCE_DIR}/Tests/UseSWIG/ModuleName" + "${CMake_BINARY_DIR}/Tests/UseSWIG/ModuleName" + ${build_generator_args} + --build-project TestModuleName + --build-options ${build_options} + --test-command ${CMAKE_CTEST_COMMAND} -V -C $ + ) diff --git a/Tests/UseSWIG/ModuleName/CMakeLists.txt b/Tests/UseSWIG/ModuleName/CMakeLists.txt new file mode 100644 index 0000000..de63883 --- /dev/null +++ b/Tests/UseSWIG/ModuleName/CMakeLists.txt @@ -0,0 +1,42 @@ +cmake_minimum_required(VERSION 3.1...3.14) + +project(TestModuleName CXX) + +include(CTest) + +find_package(SWIG REQUIRED) +cmake_policy(SET CMP0086 NEW) +include(${SWIG_USE_FILE}) + +find_package(Python2 REQUIRED COMPONENTS Interpreter Development) + +# Path separator +if (WIN32) + set (PS "$") +else() + set (PS ":") +endif() + +unset(CMAKE_SWIG_FLAGS) + +set_property(SOURCE "example.i" PROPERTY CPLUSPLUS ON) +set_property(SOURCE "example.i" PROPERTY COMPILE_OPTIONS -includeall) +set_property(SOURCE "example.i" PROPERTY SWIG_MODULE_NAME new_example) + +swig_add_library(example1 + LANGUAGE python + OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/example1" + SOURCES example.i ../example.cxx) +set_target_properties (example1 PROPERTIES + INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/.." + SWIG_USE_TARGET_INCLUDE_DIRECTORIES TRUE + OUTPUT_NAME new_example + LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/example1" + ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/example1" + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/example1") +target_link_libraries(example1 PRIVATE Python2::Python) + + +add_test (NAME ModuleName.example1 + COMMAND "${CMAKE_COMMAND}" -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}/Python2${PS}$" + "${Python2_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/runme.py") diff --git a/Tests/UseSWIG/ModuleName/example.i b/Tests/UseSWIG/ModuleName/example.i new file mode 100644 index 0000000..fbdf724 --- /dev/null +++ b/Tests/UseSWIG/ModuleName/example.i @@ -0,0 +1,9 @@ +/* File : example.i */ +%module example + +%{ +#include "example.h" +%} + +/* Let's just grab the original header file here */ +%include "example.h" diff --git a/Tests/UseSWIG/ModuleName/runme.py b/Tests/UseSWIG/ModuleName/runme.py new file mode 100644 index 0000000..c37e4a7 --- /dev/null +++ b/Tests/UseSWIG/ModuleName/runme.py @@ -0,0 +1,52 @@ +# file: runme.py + +# This file illustrates the shadow-class C++ interface generated +# by SWIG. + +from __future__ import print_function + +import new_example + +# ----- Object creation ----- + +print ("Creating some objects:") +c = new_example.Circle(10) +print (" Created circle", c) +s = new_example.Square(10) +print (" Created square", s) + +# ----- Access a static member ----- + +print ("\nA total of", new_example.cvar.Shape_nshapes,"shapes were created") + +# ----- Member data access ----- + +# Set the location of the object + +c.x = 20 +c.y = 30 + +s.x = -10 +s.y = 5 + +print ("\nHere is their current position:") +print (" Circle = (%f, %f)" % (c.x,c.y)) +print (" Square = (%f, %f)" % (s.x,s.y)) + +# ----- Call some methods ----- + +print ("\nHere are some properties of the shapes:") +for o in [c,s]: + print (" ", o) + print (" area = ", o.area()) + print (" perimeter = ", o.perimeter()) + +print ("\nGuess I'll clean up now") + +# Note: this invokes the virtual destructor +del c +del s + +s = 3 +print (new_example.cvar.Shape_nshapes,"shapes remain") +print ("Goodbye") https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7b3d4799f8c03162d537e65effd3dd8d56fc3386 commit 7b3d4799f8c03162d537e65effd3dd8d56fc3386 Author: Marc Chevrier AuthorDate: Wed Nov 28 11:45:09 2018 +0100 Commit: Marc Chevrier CommitDate: Fri Dec 7 10:56:37 2018 +0100 Help: update policy 0078 documentation diff --git a/Help/policy/CMP0078.rst b/Help/policy/CMP0078.rst index 54cdc9c..2e97934 100644 --- a/Help/policy/CMP0078.rst +++ b/Help/policy/CMP0078.rst @@ -1,6 +1,8 @@ CMP0078 ------- +:module:`UseSWIG` generates standard target names. + Starting with CMake 3.13, :module:`UseSWIG` generates now standard target names. This policy provides compatibility with projects that expect the legacy behavior. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cfd808ff19bbd407dc230458e8a9369412244487 commit cfd808ff19bbd407dc230458e8a9369412244487 Author: Mark O'Neill AuthorDate: Tue Dec 4 12:37:06 2018 +0000 Commit: Mark O'Neill CommitDate: Thu Dec 6 16:53:07 2018 +0000 cmLocalNinjaGenerator: Prevent echoing of lines in ninja generated batch files diff --git a/Source/cmLocalNinjaGenerator.cxx b/Source/cmLocalNinjaGenerator.cxx index c88432b..a8647b1 100644 --- a/Source/cmLocalNinjaGenerator.cxx +++ b/Source/cmLocalNinjaGenerator.cxx @@ -319,6 +319,7 @@ std::string cmLocalNinjaGenerator::WriteCommandScript( cmsys::ofstream script(scriptPath.c_str()); #ifdef _WIN32 + script << "@echo off\n"; int line = 1; #else script << "set -e\n\n"; https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2c3f2dfa5a6cdb272ce63aa4d8bba842e0134f42 commit 2c3f2dfa5a6cdb272ce63aa4d8bba842e0134f42 Author: Mark O'Neill AuthorDate: Tue Dec 4 12:35:35 2018 +0000 Commit: Mark O'Neill CommitDate: Thu Dec 6 16:53:06 2018 +0000 cmLocalNinjaGenerator: Report line of failure in ninja generated batch file Fixes: 18676 diff --git a/Source/cmLocalNinjaGenerator.cxx b/Source/cmLocalNinjaGenerator.cxx index ecea4ea..c88432b 100644 --- a/Source/cmLocalNinjaGenerator.cxx +++ b/Source/cmLocalNinjaGenerator.cxx @@ -318,7 +318,9 @@ std::string cmLocalNinjaGenerator::WriteCommandScript( cmsys::ofstream script(scriptPath.c_str()); -#ifndef _WIN32 +#ifdef _WIN32 + int line = 1; +#else script << "set -e\n\n"; #endif @@ -329,12 +331,22 @@ std::string cmLocalNinjaGenerator::WriteCommandScript( // for the raw shell script. cmSystemTools::ReplaceString(cmd, "$$", "$"); #ifdef _WIN32 - script << cmd << " || exit /b 1" << '\n'; + script << cmd << " || (set FAIL_LINE=" << ++line << "& goto :ABORT)" + << '\n'; #else script << cmd << '\n'; #endif } +#ifdef _WIN32 + script << "goto :EOF\n\n" + ":ABORT\n" + "set ERROR_CODE=%ERRORLEVEL%\n" + "echo Batch file failed at line %FAIL_LINE% " + "with errorcode %ERRORLEVEL%\n" + "exit /b %ERROR_CODE%"; +#endif + return scriptPath; } https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2295040e85321911d65bd36704560725d9c2ad27 commit 2295040e85321911d65bd36704560725d9c2ad27 Author: Mark O'Neill AuthorDate: Tue Dec 4 12:21:42 2018 +0000 Commit: Mark O'Neill CommitDate: Thu Dec 6 16:01:24 2018 +0000 cmLocalNinjaGenerator: Propagate failures from batch file back to ninja Fixes: #18676 diff --git a/Source/cmLocalNinjaGenerator.cxx b/Source/cmLocalNinjaGenerator.cxx index 8a07516..ecea4ea 100644 --- a/Source/cmLocalNinjaGenerator.cxx +++ b/Source/cmLocalNinjaGenerator.cxx @@ -329,7 +329,7 @@ std::string cmLocalNinjaGenerator::WriteCommandScript( // for the raw shell script. cmSystemTools::ReplaceString(cmd, "$$", "$"); #ifdef _WIN32 - script << cmd << " || exit /b" << '\n'; + script << cmd << " || exit /b 1" << '\n'; #else script << cmd << '\n'; #endif ----------------------------------------------------------------------- Summary of changes: Help/manual/cmake-policies.7.rst | 1 + Help/policy/CMP0078.rst | 2 + Help/policy/CMP0086.rst | 20 ++ Help/release/dev/UseSWIG-CMP0086.rst | 6 + Modules/UseSWIG.cmake | 25 +++ Source/cmLocalNinjaGenerator.cxx | 17 +- Source/cmPolicies.h | 5 +- Source/cmQtAutoGenInitializer.cxx | 232 +++++++-------------- Tests/RunCMake/CMakeLists.txt | 2 +- Tests/RunCMake/UseSWIG/CMP0078-WARN-stderr.txt | 2 +- Tests/RunCMake/UseSWIG/CMP0078-common.cmake | 2 + .../RunCMake/UseSWIG/CMP0086-NEW-nuild-check.cmake | 4 + Tests/RunCMake/UseSWIG/CMP0086-NEW.cmake | 2 + .../RunCMake/UseSWIG/CMP0086-OLD-build-check.cmake | 4 + Tests/RunCMake/UseSWIG/CMP0086-OLD.cmake | 2 + Tests/RunCMake/UseSWIG/CMP0086-WARN-stderr.txt | 11 + Tests/RunCMake/UseSWIG/CMP0086-WARN.cmake | 1 + Tests/RunCMake/UseSWIG/CMP0086-common.cmake | 11 + Tests/RunCMake/UseSWIG/RunCMakeTest.cmake | 20 ++ Tests/UseSWIG/CMakeLists.txt | 14 +- Tests/UseSWIG/ModuleName/CMakeLists.txt | 42 ++++ Tests/UseSWIG/{ => ModuleName}/example.i | 0 Tests/UseSWIG/{ => ModuleName}/runme.py | 10 +- 23 files changed, 264 insertions(+), 171 deletions(-) create mode 100644 Help/policy/CMP0086.rst create mode 100644 Help/release/dev/UseSWIG-CMP0086.rst create mode 100644 Tests/RunCMake/UseSWIG/CMP0086-NEW-nuild-check.cmake create mode 100644 Tests/RunCMake/UseSWIG/CMP0086-NEW.cmake create mode 100644 Tests/RunCMake/UseSWIG/CMP0086-OLD-build-check.cmake create mode 100644 Tests/RunCMake/UseSWIG/CMP0086-OLD.cmake create mode 100644 Tests/RunCMake/UseSWIG/CMP0086-WARN-stderr.txt create mode 100644 Tests/RunCMake/UseSWIG/CMP0086-WARN.cmake create mode 100644 Tests/RunCMake/UseSWIG/CMP0086-common.cmake create mode 100644 Tests/UseSWIG/ModuleName/CMakeLists.txt copy Tests/UseSWIG/{ => ModuleName}/example.i (100%) copy Tests/UseSWIG/{ => ModuleName}/runme.py (81%) hooks/post-receive -- CMake From kwrobot at kitware.com Mon Dec 10 09:23:03 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Mon, 10 Dec 2018 09:23:03 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-684-g8c7367e Message-ID: <20181210142304.027E5125B5C@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via 8c7367e3f0e5e104630857561b4730a0b32253f9 (commit) via a2f9167c5d02a1cec6213d67bd877bf6d5fac89a (commit) via 78e72efc9c5590a14cce0e1c6ca431eb55e1533b (commit) via 7a5a8eb0c5c9419fbac55610f4cb4aa7ec18e504 (commit) from 0f7cca1dae77550487c2175de8ac2032b8582a55 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8c7367e3f0e5e104630857561b4730a0b32253f9 commit 8c7367e3f0e5e104630857561b4730a0b32253f9 Merge: a2f9167 78e72ef Author: Brad King AuthorDate: Mon Dec 10 09:21:47 2018 -0500 Commit: Brad King CommitDate: Mon Dec 10 09:21:47 2018 -0500 Merge branch 'release-3.13' https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a2f9167c5d02a1cec6213d67bd877bf6d5fac89a commit a2f9167c5d02a1cec6213d67bd877bf6d5fac89a Merge: 0f7cca1 7a5a8eb Author: Brad King AuthorDate: Mon Dec 10 14:21:20 2018 +0000 Commit: Kitware Robot CommitDate: Mon Dec 10 09:21:26 2018 -0500 Merge topic 'cuda-arch-turing' 7a5a8eb0c5 CUDA: Add CUDA 10 (Turing) detection Acked-by: Kitware Robot Merge-request: !2724 ----------------------------------------------------------------------- Summary of changes: hooks/post-receive -- CMake From kwrobot at kitware.com Mon Dec 10 09:23:04 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Mon, 10 Dec 2018 09:23:04 -0500 (EST) Subject: [Cmake-commits] CMake branch, release, updated. v3.13.1-8-g78e72ef Message-ID: <20181210142304.0D0B212561C@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, release has been updated via 78e72efc9c5590a14cce0e1c6ca431eb55e1533b (commit) via 7a5a8eb0c5c9419fbac55610f4cb4aa7ec18e504 (commit) from 3b4e86f26dddbdfd2cd172274ae7c1340f1eba29 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: Modules/FindCUDA/select_compute_arch.cmake | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) hooks/post-receive -- CMake From kwrobot at kitware.com Tue Dec 11 00:03:04 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Tue, 11 Dec 2018 00:03:04 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-685-gcb995dd Message-ID: <20181211050304.F349310EEA9@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via cb995ddea2d633310b270e99d020fe490fff5ec7 (commit) from 8c7367e3f0e5e104630857561b4730a0b32253f9 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cb995ddea2d633310b270e99d020fe490fff5ec7 commit cb995ddea2d633310b270e99d020fe490fff5ec7 Author: Kitware Robot AuthorDate: Tue Dec 11 00:01:07 2018 -0500 Commit: Kitware Robot CommitDate: Tue Dec 11 00:01:07 2018 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 7e2e6c5..229c73f 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 13) -set(CMake_VERSION_PATCH 20181210) +set(CMake_VERSION_PATCH 20181211) #set(CMake_VERSION_RC 1) ----------------------------------------------------------------------- Summary of changes: Source/CMakeVersion.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake From kwrobot at kitware.com Wed Dec 12 00:03:05 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Wed, 12 Dec 2018 00:03:05 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-686-gc337b2a Message-ID: <20181212050305.974C31277D3@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via c337b2a0b455942eb747d22c0cd71e60db54989d (commit) from cb995ddea2d633310b270e99d020fe490fff5ec7 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c337b2a0b455942eb747d22c0cd71e60db54989d commit c337b2a0b455942eb747d22c0cd71e60db54989d Author: Kitware Robot AuthorDate: Wed Dec 12 00:01:03 2018 -0500 Commit: Kitware Robot CommitDate: Wed Dec 12 00:01:03 2018 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 229c73f..7abab01 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 13) -set(CMake_VERSION_PATCH 20181211) +set(CMake_VERSION_PATCH 20181212) #set(CMake_VERSION_RC 1) ----------------------------------------------------------------------- Summary of changes: Source/CMakeVersion.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake From kwrobot at kitware.com Wed Dec 12 08:23:05 2018 From: kwrobot at kitware.com (Kitware Robot) Date: Wed, 12 Dec 2018 08:23:05 -0500 (EST) Subject: [Cmake-commits] CMake branch, master, updated. v3.13.1-691-gabccf48 Message-ID: <20181212132305.38C6F11DF29@public.kitware.com> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via abccf484e3c13395520fea544885e139fc79475e (commit) via ed5087e32c517bac158f541fa7ea916c670ec915 (commit) via 3e0eb3307f2fd4c70fdb6eb4cd0ab44196107c89 (commit) via 33f08eec18b440eac1f24f6f18b971c6203307bd (commit) via 87e810f223bad6fb889e7ae4ad08be98461bf6e2 (commit) from c337b2a0b455942eb747d22c0cd71e60db54989d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=abccf484e3c13395520fea544885e139fc79475e commit abccf484e3c13395520fea544885e139fc79475e Merge: ed5087e 3e0eb33 Author: Brad King AuthorDate: Wed Dec 12 13:20:30 2018 +0000 Commit: Kitware Robot CommitDate: Wed Dec 12 08:20:43 2018 -0500 Merge topic 'default-test-timeout' 3e0eb3307f Help: clarify documentation of ctest --timeout Acked-by: Kitware Robot Merge-request: !2721 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ed5087e32c517bac158f541fa7ea916c670ec915 commit ed5087e32c517bac158f541fa7ea916c670ec915 Merge: c337b2a 33f08ee Author: Brad King AuthorDate: Wed Dec 12 13:19:42 2018 +0000 Commit: Kitware Robot CommitDate: Wed Dec 12 08:19:49 2018 -0500 Merge topic 'output-converter-simplify' 33f08eec18 cmOutputConverter: Moved ContainedInDirectory to cmStateDirectory 87e810f223 cmOutputConverter: Moved ForceToRelativePath to cmSystem Acked-by: Kitware Robot Merge-request: !2665 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3e0eb3307f2fd4c70fdb6eb4cd0ab44196107c89 commit 3e0eb3307f2fd4c70fdb6eb4cd0ab44196107c89 Author: Regina Pfeifer AuthorDate: Sun Dec 9 22:10:31 2018 +0100 Commit: Regina Pfeifer CommitDate: Sun Dec 9 22:10:31 2018 +0100 Help: clarify documentation of ctest --timeout diff --git a/Help/manual/ctest.1.rst b/Help/manual/ctest.1.rst index 110b08f..1ef20ab 100644 --- a/Help/manual/ctest.1.rst +++ b/Help/manual/ctest.1.rst @@ -313,10 +313,11 @@ See `Build and Test Mode`_. Do not use. ``--timeout `` - Set a global timeout on all tests. + Set the default test timeout. - This option will set a global timeout on all tests that do not - already have a timeout set on them. + This option effectively sets a timeout on all tests that do not + already have a timeout set on them via the :prop_test:`TIMEOUT` + property. ``--stop-time