Check_ipo_supported возвращает false в Windows при использовании clang++, предоставляемого MSYS2 [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Check_ipo_supported возвращает false в Windows при использовании clang++, предоставляемого MSYS2 [закрыто]

Сообщение Anonymous »

В Windows использование функции check_ipo_supported CMake дает true для msvc и g++, установленного из MSYS2, но не для clang++.
Это ошибка? (Я мог найти аналогичную неподтвержденную проблему 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)
и любой файл main.cpp, например:

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»