Я хочу определить, вызывается ли CMakeLists.txt
в среде / оболочке MSYS2:
$ uname
MSYS_NT-10.0-18363
из здесь Я пытался:
cmake_minimum_required(VERSION 3.10)
project(test_cmake)
if(MSYS) # yes I have also tried MSYS2 with the same result!
message("This is MSYS")
else()
message("This is not MSYS")
endif()
, который возвращает одинаковый результат This is not MSYS
как в Windows cmd, так и в оболочке MSYS2. Я на самом деле не удивлен, потому что MSYS2 и MSYS - два разных зверя! Также из здесь я пробовал:
message(${CMAKE_SYSTEM_NAME})
, который в cmd и MSYS2 возвращает Windows
! Буду признателен, если вы поможете мне узнать, как я могу определить, выполняется ли команда cmake
из оболочки MSYS2. Спасибо за вашу поддержку заранее.
PS1. В качестве личной заметки для себя это и это кажутся хорошими источниками для изучения.
PS2 Как ни странно, команда
message(${CMAKE_HOST_SYSTEM_NAME})
также возвращает Windows
, в то время как на моем MSYS2, согласно docuemntation , она должна вернуть результат uname -s
!