Это ошибка? (Я мог найти аналогичную неподтвержденную проблему CMake: https://gitlab.kitware.com/cmake/cmake/-/issues/21635).
MRE можно достичь с помощью следующего CMakeLists.txt:
Код: Выделить всё
cmake_minimum_required(VERSION 3.10)
project(checkipo)
add_executable(checkipo main.cpp)
include(CheckIPOSupported)
check_ipo_supported(RESULT IPO_SUPPORTED)
if(IPO_SUPPORTED)
message("IPO SUPPORTED")
else()
message(WARNING "IPO NOT SUPPORTED")
endif()
target_compile_options(checkipo PRIVATE -std=c++20 -Wall -Wextra -pedantic -Wshadow -O3)
Код: Выделить всё
int main() {}
Код: Выделить всё
CMake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang++ -G "MinGW Makefiles" -B "./build"
IPO НЕ ПОДДЕРЖИВАЕТСЯ
Пока:
Код: Выделить всё
CMake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++ -G "MinGW Makefiles" -B "./build"
IPO ПОДДЕРЖИВАЕТСЯ
В обоих случаях переменная RESULT кажется пустой.>
Подробнее здесь: https://stackoverflow.com/questions/798 ... ed-by-msys
Мобильная версия