Tôi đang cố gắng vượt qua biên dịch bzip2 trong Linux bằng cách sử dụng lệnh ExternalProject_Add(...)
của CMake.Truyền tham số với dấu cách tới CMake ExternalProject_Add BUILD_COMMAND
Tuy nhiên, để biên dịch libbzip chéo, bạn phải sửa đổi một số macro Makefile để thực thi bản dựng. Dưới đây là cross hiện tại của tôi biên dịch biến:
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)
Biến này sau đó được sử dụng cho việc xây dựng lệnh
set(bzlib_BUILD make ${bzlib_CROSS} PREFIX=${DEPENDENCY_DIR})
CMake sai lầm vì nó đang cố gắng để vượt qua -O2, -g, vv để make
, trong đó tất nhiên không làm việc, nhưng khi tôi cố gắng thêm dấu ngoặc kép quanh biến CFLAGS
nó nói
cc1: error: unrecognized command line option '-Wall -Winline -O2 -g -I/long/path/here/include'
có thể thiết lập một macro Makefile với không gian trong bằng cách sử dụng số BUILD_COMMAND
của CMake? Cảm ơn!
Nội tuyến "CFLAGS = -Wall -Winline -O2 -g -I $ {bzlib_MINGW_SRC}/include" với dấu ngoặc kép xung quanh toàn bộ nội dung cũng sẽ tương đương với cấu trúc bạn đã đến ... – DLRdave
Điều cần biết! CMake thật tuyệt vời =) – mevatron