Я пытаюсь кросс-компилировать bzip2 в Linux, используя команду CMake ExternalProject_Add(...)
.
Однако для кросс-компиляции libbzip вы должны изменить некоторые макросы Makefile для выполнения сборки. Вот моя текущая переменная кросс-компиляции:
set(bzlib_CROSS CC=${CROSS_PREFIX}gcc AR=${CROSS_PREFIX}ar RANLIB=${CROSS_PREFIX}ranlib LDFLAGS=-L${bzlib_MINGW_SRC}/lib CFLAGS=-Wall -Winline -O2 -g -I${bzlib_MINGW_SRC}/include)
Эта переменная затем используется для команды построения
set(bzlib_BUILD make ${bzlib_CROSS} PREFIX=${DEPENDENCY_DIR})
Ошибки CMake, потому что он пытается передать -O2, -g и т. Д. В make
, что, конечно, не работает, но когда я пытаюсь добавить кавычки вокруг переменной CFLAGS
, он говорит
cc1: error: unrecognized command line option '-Wall -Winline -O2 -g -I/long/path/here/include'
Можно ли установить макрос Makefile с пробелами в нем, используя BUILD_COMMAND
в CMake? Спасибо!