5
私はLinuxでCMakeのExternalProject_Add(...)
コマンドを利用してbzip2をクロスコンパイルしようとしています。スペースを持つパラメータをCMakeに渡すExternalProject_Add BUILD_COMMAND
しかし、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)
この変数は、ビルドコマンドのために使用されていることがmake
になど、-g、-O2を渡そうとしている
set(bzlib_BUILD make ${bzlib_CROSS} PREFIX=${DEPENDENCY_DIR})
CMakeのエラーので、もちろん、これは動作しませんが、私はCFLAGS
変数の前後に引用符を追加しようとすると、それは
cc1: error: unrecognized command line option '-Wall -Winline -O2 -g -I/long/path/here/include'
を言うことは、それは内のスペースでMakefileのマクロを設定することが可能ですそれはCMakeのBUILD_COMMAND
を使っていますか?ありがとう!
全体を二重引用符で囲んだ "CFLAGS = -Wall -Winline -O2 -g -I $ {bzlib_MINGW_SRC}/include"は、あなたが到着したコンストラクトと同等です。 – DLRdave
お役立ち情報CMakeは素晴らしいです=) – mevatron