CMAKE_SYSTEM_PROCESSOR кажется пустым. Какова лучшая стратегия для ОС, независимая от этого? - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь установить несколько флагов CXX в зависимости от типа процессора.

IF(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64")
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DAMD64")
ELSE()
    STRING(FIND ${CMAKE_SYSTEM_PROCESSOR} "86" 86_res)
    IF(${86_res} EQUAL -1)
        SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DIA32")
    ENDIF()
    STRING(FIND ${CMAKE_SYSTEM_PROCESSOR} "arm" arm_res)
    IF(${arm_res} EQUAL -1)
        SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DARM")
    ENDIF()
ENDIF()

Но по какой-то причине CMAKE_SYSTEM_PROCESSOR пуст и не может выполнить сравнение STREQUAL. Почему это пусто?

Сейчас я установил это, запустив

EXEC_PROGRAM(uname ARGS -p OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR)

Но это не сработает в Windows, поэтому я не уверен, что мне здесь делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...