2011-11-19 39 views
6

Tôi biết rằng cho đến gần đây không thể chọn bất kỳ trình biên dịch cụ thể nào cho các dự án xcode được tạo ra bởi CMake (nó luôn luôn chọn trình biên dịch mặc định xcodes). Dù sao bài đăng này: http://cmake.3232098.n2.nabble.com/CMake-2-8-1-available-for-download-td4752230.html khiến tôi tin rằng có thể với một lá cờ cụ thể là CMAKE_XCODE_ATTRIBUTE_ bây giờ.- Unfortunatelly Tôi không thể tìm thấy lá cờ nào thay đổi trình biên dịch xcodes, cũng như danh sách tất cả cờ xcode được CMake hỗ trợ.CMake, chọn trình biên dịch Xcode

Tôi đang sử dụng Xcode 4.2 và CMake 2.8.6 và tôi muốn có thể chuyển đổi giữa LLVM 3.0 và LLVM GCC 4.2 từ bên trong CMake.

Như tôi đã nói một danh sách liệt kê tất cả các cờ xcode mà tôi có thể thay đổi từ bên trong CMake sẽ là tuyệt vời!

Cảm ơn

EDIT:

với CMake 2.8.6, nếu bạn muốn tạo ra một dự án xcode mà không mặc định Clang/LLVM 3.0, sử dụng như sau:

set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42") 

Trả lời

4

Có vẻ như CMake chỉ minh bạch đặt bất kỳ thuộc tính nào bạn đặt trong tệp Dự án XCode - vì vậy nó hỗ trợ bất kỳ và tất cả các thuộc tính mà bạn thích.

Bằng cách kiểm tra một trong các tệp dự án XCode của tôi, thuộc tính bạn muốn có vẻ là GCC_VERSION và đây là các giá trị có thể chấp nhận được (mã XCode của tôi là 4.0.2, gcc v4.2).

GCC_VERSION = com.apple.compilers.llvm.clang.1_0; 
GCC_VERSION = 4.2 
GCC_VERSION = com.apple.compilers.llvmgcc42 

tài liệu CMake của tôi dường như gợi ý mà bạn muốn thiết lập XCODE_ATTRIBUTE_X không CMAKE_XCODE_ATTRIBUTE_X, quá.

+0

cảm ơn, có vẻ thực sự hứa hẹn, tôi sẽ thử điều đó một chút! – moka

+1

tuyệt vời, tính năng này hoạt động, nhưng chỉ với tiền tố CMAKE_XCODE_ATTRIBUTE, tức là CMAKE_XCODE_ATTRIBUTE_GCC_VERSION. ty! – moka

+0

Tuyệt vời, tôi đã chỉnh sửa một cách thích hợp. – James

Các vấn đề liên quan