| include(RunCMake) |
| |
| if(CMAKE_C_COMPILER_ID STREQUAL "MSVC" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 19.27) |
| run_cmake(LanguageStandard) |
| endif() |
| |
| run_cmake(CustomCommandGenex) |
| if(NOT RunCMake_GENERATOR MATCHES "^Visual Studio 1[1-5] ") |
| run_cmake(CustomCommandParallel) |
| run_cmake(CustomCommandParallelDisable) |
| endif() |
| run_cmake_with_options(VsCharacterSet -DSET_CHARSET=MultiByte) |
| run_cmake_with_options(VsCharacterSet -DSET_CHARSET=Unicode) |
| run_cmake_with_options(VsCharacterSet -DSET_CHARSET=NotSet) |
| run_cmake(VsCsharpSourceGroup) |
| run_cmake(VsCSharpCompilerOpts) |
| run_cmake(ExplicitCMakeLists) |
| run_cmake(InterfaceLibSources) |
| run_cmake(NoImpLib) |
| run_cmake(RuntimeLibrary) |
| run_cmake(SourceGroupCMakeLists) |
| run_cmake(SourceGroupTreeCMakeLists) |
| run_cmake(SourceGroupFileSet) |
| run_cmake(SourceGroupFileSetGenex) |
| run_cmake(VsConfigurationType) |
| run_cmake(VsTargetsFileReferences) |
| run_cmake(VsCustomProps) |
| run_cmake(VsDebuggerWorkingDir) |
| run_cmake(VsDebuggerCommand) |
| run_cmake(VsDebuggerCommandArguments) |
| run_cmake(VsDebuggerEnvironment) |
| run_cmake(VsCSharpCustomTags) |
| run_cmake(VsCSharpDocumentationFile) |
| run_cmake(VsCSharpReferenceProps) |
| run_cmake(VsCSharpWithoutSources) |
| run_cmake(VsCSharpDeployFiles) |
| run_cmake(VSCSharpDefines) |
| run_cmake(VsDefaultFlags) |
| run_cmake(VsSdkDirectories) |
| run_cmake(VsGlobals) |
| run_cmake(VsProjectImport) |
| run_cmake(VsPackageReferences) |
| run_cmake(VsDpiAware) |
| run_cmake(VsDpiAwareBadParam) |
| run_cmake(VsForceInclude) |
| run_cmake(VsPrecompileHeaders) |
| run_cmake(VsPrecompileHeadersShort) |
| run_cmake(VsSettings) |
| run_cmake(VsSourceSettingsTool) |
| run_cmake(VsPlatformToolset) |
| run_cmake(VsControlFlowGuardLinkSetting) |
| run_cmake(VsToolOverride) |
| run_cmake(VsImageVersion) |
| |
| run_cmake(VsWinRTByDefault) |
| |
| block() |
| set(RunCMake_GENERATOR_TOOLSET "VCTargetsPath=$(VCTargetsPath)") |
| run_cmake(VsVCTargetsPath) |
| endblock() |
| |
| if(CMAKE_C_COMPILER_ID STREQUAL "MSVC" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 19.05) |
| run_cmake(VsJustMyCode) |
| endif() |
| |
| if(CMAKE_C_COMPILER_ID STREQUAL "MSVC" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 19.20) |
| run_cmake(VsSpectreMitigation) |
| endif() |
| |
| # Visual Studio 2017 has toolset version 141 |
| if (RunCMake_GENERATOR MATCHES "Visual Studio 1[0-4] 201[0-5]" OR |
| (RunCMake_GENERATOR_TOOLSET MATCHES "^v([0-9]+)" AND CMAKE_MATCH_1 LESS 141)) |
| run_cmake(UnityBuildPre2017) |
| else() |
| run_cmake(UnityBuildNative) |
| run_cmake(UnityBuildNativeShort) |
| run_cmake(UnityBuildNativeGrouped) |
| run_cmake(UnityBuildNativeGroupedShort) |
| |
| function(run_UnityBuildPCH suffix) |
| set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/UnityBuildPCH${suffix}-build) |
| run_cmake(UnityBuildPCH${suffix}) |
| set(RunCMake_TEST_NO_CLEAN 1) |
| set(vcxproj "${RunCMake_TEST_BINARY_DIR}/UnityBuildPCH.vcxproj") |
| if(EXISTS "${vcxproj}") |
| file(STRINGS ${vcxproj} vcxproj_strings REGEX "ClCompile[^\n]*UnityBuildPCH\\.c") |
| endif() |
| if(vcxproj_strings MATCHES "Include=\"([^\"]+)\"") |
| set(src "${CMAKE_MATCH_1}") |
| run_cmake_command(UnityBuildPCH${suffix}-build ${CMAKE_COMMAND} --build . --config Debug --target UnityBuildPCH -- -t:ClCompile -p:SelectedFiles=${src}) |
| endif() |
| endfunction() |
| run_UnityBuildPCH("") |
| run_UnityBuildPCH(Short) |
| endif() |
| |
| run_cmake(VsDotnetStartupObject) |
| run_cmake(VsDotnetTargetFramework) |
| run_cmake(VsDotnetTargetFrameworkVersion) |
| run_cmake(VsNoCompileBatching) |
| run_cmake(DebugInformationFormat) |
| run_cmake(VsCLREmpty) |
| run_cmake(VsCLRPure) |
| run_cmake(VsCLRSafe) |
| run_cmake(VsFrameworkReference) |
| |
| if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 19.20) |
| run_cmake(VsCLRNetcore) |
| endif() |
| |
| run_cmake(NoImpLibShort) |
| run_cmake(RuntimeLibraryShort) |