Cmake неверный числовой аргумент '/Wextra'

Windows XP Pro 32bit

Версия Visual Studio 2008 VC Express.

Я установил cmake и создал CMakeLists.txt, и я хочу кросс-платформу для Linux/windows.

Все работает нормально для работы в Linux. Поэтому я скопировал исходную директорию, поскольку я делаю это из исходного кода на свою машину Windows XP.

Я использовал cmake-GUI для настройки/генерации файлов решений. Все в порядке.

Однако, когда я открыл файл решения и выбрал сборку из меню, я получил следующую ошибку.

cl : Command line error D8021 : invalid numeric argument '/Wextra'

Не уверен, где начать искать эту ошибку. Если кто-то может указать мне в правильном направлении.

Большое спасибо за любые предложения,

Ответ 1

Ваш CMakeLists.txt определяет флаг компиляции -Wextra для GCC, а затем CMake попытался использовать это в cl (компилятор Microsoft). Исправьте CMakeLists.txt, чтобы он тестировал компилятор перед установкой предупреждающих флагов, т.е.

# Set default compile flags for GCC
if(CMAKE_COMPILER_IS_GNUCXX)
    message(STATUS "GCC detected, adding compile flags")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98 -pedantic -Wall -Wextra")
endif(CMAKE_COMPILER_IS_GNUCXX)