aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobot-ya-builder <robot-ya-builder@yandex-team.com>2023-03-15 06:54:51 +0300
committerrobot-ya-builder <robot-ya-builder@yandex-team.com>2023-03-15 06:54:51 +0300
commit1ec3adf206dbb2fddd197edaf5e2b08e6ec28b79 (patch)
tree841789cadefdb8b140c90b6462141208a84b6921
parent870e6e6108a92143ce551f4b924da26de4803358 (diff)
downloadydb-1ec3adf206dbb2fddd197edaf5e2b08e6ec28b79.tar.gz
External build system generator release 19
Update tools: yexport
-rw-r--r--cmake/common.cmake2
-rw-r--r--cmake/global_flags.compiler.msvc.cmake37
2 files changed, 34 insertions, 5 deletions
diff --git a/cmake/common.cmake b/cmake/common.cmake
index 4b44e40f978..d1affcabbb4 100644
--- a/cmake/common.cmake
+++ b/cmake/common.cmake
@@ -6,7 +6,7 @@ add_compile_definitions(CATBOOST_OPENSOURCE=yes)
# assumes ToolName is always both the binary and the target name
function(get_built_tool_path OutBinPath OutDependency SrcPath ToolName)
- if (MSVC)
+ if (CMAKE_GENERATOR MATCHES "Visual.Studio.*")
set(BinPath "${TOOLS_ROOT}/${SrcPath}/\$(Configuration)/${ToolName}${CMAKE_EXECUTABLE_SUFFIX}")
else()
set(BinPath "${TOOLS_ROOT}/${SrcPath}/${ToolName}${CMAKE_EXECUTABLE_SUFFIX}")
diff --git a/cmake/global_flags.compiler.msvc.cmake b/cmake/global_flags.compiler.msvc.cmake
index b32761b7f36..34cc3ff437b 100644
--- a/cmake/global_flags.compiler.msvc.cmake
+++ b/cmake/global_flags.compiler.msvc.cmake
@@ -41,8 +41,6 @@ set(_WARNS_DISABLED
)
set (_MSVC_COMMON_C_CXX_FLAGS " \
- /DARCADIA_ROOT=$(SolutionDir.Replace('\\','/')).. \
- /DARCADIA_BUILD_ROOT=$(SolutionDir.Replace('\\','/'))$(Configuration) \
/DWIN32 \
/D_WIN32 \
/D_WINDOWS \
@@ -67,11 +65,42 @@ set (_MSVC_COMMON_C_CXX_FLAGS " \
/permissive- \
/D_WIN32_WINNT=0x0601 \
/D_MBCS \
- /DY_UCRT_INCLUDE=\"$(UniversalCRT_IncludePath.Split(';')[0].Replace('\\','/'))\" \
- /DY_MSVC_INCLUDE=\"$(VC_VC_IncludePath.Split(';')[0].Replace('\\','/'))\" \
/MP \
")
+if (CMAKE_GENERATOR MATCHES "Visual.Studio.*")
+ string(APPEND _MSVC_COMMON_C_CXX_FLAGS "\
+ /DY_UCRT_INCLUDE=\"$(UniversalCRT_IncludePath.Split(';')[0].Replace('\\','/'))\" \
+ /DY_MSVC_INCLUDE=\"$(VC_VC_IncludePath.Split(';')[0].Replace('\\','/'))\" \
+ ")
+else()
+ set(UCRT_INCLUDE_FOUND false)
+ foreach(INCLUDE_PATH $ENV{INCLUDE})
+ if (INCLUDE_PATH MATCHES ".*\\\\Windows Kits\\\\[0-9]+\\\\include\\\\[0-9\\.]+\\\\ucrt$")
+ message(VERBOSE "Found Y_UCRT_INCLUDE path \"${INCLUDE_PATH}\"")
+ string(APPEND _MSVC_COMMON_C_CXX_FLAGS " /DY_UCRT_INCLUDE=\"${INCLUDE_PATH}\"")
+ set(UCRT_INCLUDE_FOUND true)
+ break()
+ endif()
+ endforeach()
+ if (NOT UCRT_INCLUDE_FOUND)
+ message(FATAL_ERROR "UniversalCRT include path not found, please add it to the standard INCLUDE environment variable (most likely by calling vcvars64.bat)")
+ endif()
+
+ set(MSVC_INCLUDE_FOUND false)
+ foreach(INCLUDE_PATH $ENV{INCLUDE})
+ if (INCLUDE_PATH MATCHES ".*VC\\\\Tools\\\\MSVC\\\\[0-9\\.]+\\\\include$")
+ message(VERBOSE "Found Y_MSVC_INCLUDE path \"${INCLUDE_PATH}\"")
+ string(APPEND _MSVC_COMMON_C_CXX_FLAGS " /DY_MSVC_INCLUDE=\"${INCLUDE_PATH}\"")
+ set(MSVC_INCLUDE_FOUND true)
+ break()
+ endif()
+ endforeach()
+ if (NOT MSVC_INCLUDE_FOUND)
+ message(FATAL_ERROR "MSVC include path not found, please add it to the standard INCLUDE environment variable (most likely by calling vcvars64.bat)")
+ endif()
+endif()
+
foreach(WARN ${_WARNS_AS_ERROR})
string(APPEND _MSVC_COMMON_C_CXX_FLAGS " /we${WARN}")
endforeach()