2010-02-02 35 views
89

Có ai có thể cung cấp (các) liên kết đến hướng dẫn CMake tốt hay không, ngoại trừ số tiền rất đắt và khó nhận được official one?Hướng dẫn sử dụng CMake

Đặc biệt thú vị khi sử dụng CMake cho dự án Fortran nhưng sẽ biết ơn đối với mọi hướng dẫn hay.

Cập nhật.

Điều tôi đã tìm thấy là CMake articles in Kitware Public Wiki. Fortran example hoàn toàn vô dụng. = (. Ngoài ra, trong khi chờ đợi câu trả lời tôi đang chơi với SCons Trông đẹp =.)

+0

Ý của bạn là "hoàn toàn vô dụng"? Có một số hướng dẫn hay được liên kết trong Hướng dẫn -> Giới thiệu cơ bản. Tôi đã thêm một vài người trong số họ. Điều gì đang thiếu trong họ khiến họ vô dụng? Bạn đang tìm kiếm một chi tiết hoặc kỹ thuật cụ thể? – mloskot

+1

Như tôi đã nói tôi "đặc biệt thú vị khi sử dụng CMake cho các dự án Fortran". Tôi muốn xem một số loại hướng dẫn từng bước. – Wildcat

+0

Aand Tôi nghĩ Bill là một bộ hẹn giờ SO hợp lý! Điều gì heck: D – mlvljr

Trả lời

157

Đầu tiên, tôi khuyên bạn nên một bài giảng rất tốt giới thiệu về CMake và các công cụ liên quan bởi Bill Hoffman có sẵn trên YouTube:

CMake/CPack/CTest/CDash Open Source Tools to Build Test and Deploy C++ Software

Tiếp theo, hãy xem tổng quan nhanh và cảm nhận CMake scripting, nhanh chóng và đơn giản examples và cũng có một chút hương vị của CMake syntax, vì vậy nó sẽ giúp bạn đọc tập lệnh CMake.

Bây giờ, bạn có thể ngay lập tức tham gia vào số điện thoại Tutorial có sẵn trong CV CMake. Đó là không nói, nhưng mã số tài liệu hướng dẫn được sử dụng trong cuốn sách làm chủ của CMake. Chắc chắn, bạn sẽ cần phải tham khảo manual để tìm hiểu chi tiết về các macro khác nhau.

Sau khi bạn nắm bắt các nền tảng của CMake, bạn có thể bắt đầu đào sâu vào các kỹ thuật nâng cao hơn cũng như đọc các tệp CMakeLists.txt hiện có để xem cách người khác tấn công các tập lệnh CMake.

Để biết các ví dụ thực tế với tính năng đi bộ toàn diện, hãy kiểm tra recently announced nhiều phần tutorial from Wigner GPU Lab tại GitHub.

Ngoài ra còn có, một chút ngày, Bruno Abinader của hai phần hướng dẫn với lời bình luận tốt:

I can also recommend Empirical approach to CMAKE

Tôi cũng thấy KDE documentations for CMake scripting rất hữu ích . Nó bao gồm một giới thiệu rất tốt Development/Tutorials/CMake. Tuy nhiên, một số tính năng cụ thể của KDE và macro tùy chỉnh có thể hơi đáng lo ngại.

Tôi nghĩ đó là một tài liệu khá tốt để bắt đầu. Ngoài ra, đừng quên về danh sách gửi thư của CMake với Cộng đồng rất hữu ích.

Tutorial from "Mastering CMake" now online! - Bill Hoffman vừa công bố trên danh sách gửi thư. Dưới đây là CMake Tutorial Now on the Web

Learning CMake (PDF) - hướng dẫn bằng văn bản của Pau Garcia i Quiles

CMake: Getting Started - toàn diện hướng dẫn từ Wiki của dự án MASH.

Đây là video từ hội thảo trên web được ghi lại vào tháng 3 năm 2012 - Introduction to CMake, rất được khuyến nghị.

The Ultimate Guide to Modern CMake bởi Rico Huijbers - dành riêng cho các dự án C/C++, giải thích các mục tiêu được nhập/xuất và tệp cấu hình dự án.

Đây là kho Git với CMake tutorial presentation được chuẩn bị bởi Eric Noulard có sẵn ở các định dạng có thể in khác nhau.

Dưới đây là 50 trang PDF với Learning CMake bởi Pau Garcia i Quiles.

phát triển Fortran, nhưng không chỉ có thể tìm thấy hai bài viết này hữu ích:

Cuối cùng, có Awesome CMake dự án duy trì danh sách được sắp xếp về tuyệt vời CMake tập lệnh, mô-đun, ví dụ và các mục khác.

Vui lòng báo cáo mọi liên kết bị hỏng trong các nhận xét bên dưới.

+2

Cảm ơn rất nhiều cho các liên kết. – Wildcat

+3

Có gì mới phát hành ở mặt trận này không? Tôi đang cố gắng nắm bắt công cụ này, nhưng tôi phải nói rằng KitWare thực sự nên đặt một số nỗ lực nhiều hơn vào tài liệu. Mua một cuốn sách với giá $ 59 có thể là tốt nếu bạn là một công ty, nhưng tôi thì không. "Hướng dẫn sử dụng CMake miễn phí" chỉ tạo ra nhiều câu hỏi hơn là câu trả lời. – Skurmedel

+0

@Skurmedel Tôi không biết bất kỳ cập nhật nào. Bạn có thể thử hỏi trên [email protected] ml – mloskot

12

Fortran phải khá giống với C/C++. Chỉ cần thêm tệp .f hoặc .f90 thay vì tệp .c hoặc .cxx, cũng bao gồm Fortran trong cuộc gọi dự án. CMake 2.8 có sự hỗ trợ tốt nhất cho phiên bản Fortake của CMake. CMake có một số hỗ trợ Fortran rất tốt. Nó có thể phân tích mã nguồn và yêu cầu xây dựng dựa trên việc tạo tệp .mod được yêu cầu sẽ xảy ra trong quá trình xây dựng Fortran. Nếu bạn có câu hỏi cụ thể về Fortran hoặc trình biên dịch không hoạt động, danh sách gửi thư của CMake sẽ là nơi cần thực hiện.

Something như thế này:

project(testf C CXX Fortran) 

add_library(hello STATIC hello.f) 
add_library(world ${_SHARED} world.f world.def) 
add_executable(testf testf.f) 
target_link_libraries(testf hello world) 

Đó là từ thử nghiệm Fortran trong CMake: http://public.kitware.com/cgi-bin/viewcvs.cgi/Tests/Fortran/?root=CMake (không có sẵn nữa)

CMake cũng có một mô-đun để xác định C/Fortran liên kết:

http://public.kitware.com/cgi-bin/viewcvs.cgi/Modules/FortranCInterface.cmake?revision=1.19.2.2&root=CMake&view=markup

5

Chỉ cần thông báo cho bạn biết rằng tôi đã chuyển blog của mình sang máy chủ lưu trữ mới (http://brunoabinader.com) và hướng dẫn của CMake cũng đã được di chuyển (post link). Tôi dự định sẽ tiếp tục loạt bài hướng dẫn xử lý các chủ đề như quốc tế hóa (i18n), tài liệu (doxygen, qdoc), tích hợp kiểm tra đơn vị, chế độ gỡ lỗi/phát hành, hỗ trợ đa nền tảng và các nền tảng khác.

+3

Trang web đó dường như đã chết. – kynan

+1

Đã sửa lỗi! Cảm ơn thông báo :) – brunoabinader

+2

Các liên kết này lại bị chết. – bames53

2

Đối với bản thân CMake, những tài liệu tham khảo được liệt kê ở trên trả lời khá bao hàm mọi thứ bạn có thể tìm thấy.

Từ kinh nghiệm của tôi, thực hành là điều tốt nhất bạn có thể làm và tài liệu chính thức trong trang web của họ luôn là tài nguyên tốt nhất để tham khảo.

Phần khó học CMake là khi bạn muốn làm một số điều đặc biệt mà CMake không cung cấp trực tiếp, và bạn phải tìm ra cách để làm cho nó hoạt động.

Có một số dự án mã nguồn mở đã được xuất xưởng với CMake, như Curl và Boost, nếu bạn muốn xem CMake thực sự được sử dụng như thế nào trong dự án thực sự siêu phức tạp. Đó luôn là nơi tốt để bắt đầu.

Nhân tiện, vấn đề của SCon là sự phụ thuộc vào Python và đối với chúng tôi, chúng tôi cần xây dựng trên AIX/Solaris/Linux (CentOS & RedHat)/HP-UX. Vì vậy, bạn có thể không muốn Python, đặc biệt là các phiên bản thấp hơn không hoạt động đúng với CMake.

5

Làm thế nào về điều này:

cmake_minimum_required (VERSION 2.6) 
project (hello) 
enable_language (Fortran) 
add_executable (hello hello.for) 

Có một .Đối-file như thế này:

Program heyDEM 
    write (*,*) 'Hello heyDEM!' 
    End Program heyDEM 

Nó là rất cơ bản nhưng cần giúp đỡ như một giới thiệu

+1

+1 cho 'enable_language (Fortran)', đó là điều duy nhất tôi cần để làm cho nó hoạt động. – Stefan

+0

Dự án lệnh() và enable_language() có thể được kết hợp như dự án (chào Fortran), mặc dù hai tùy chọn không giống nhau (xem man cmakecommands). – AstroFloyd

0

Đây là cách tôi đã thành công một thời gian trước:

PROJECT(FORTRAN_APP CXX Fortran) 
SET(APP_NAME MyApp) 
ADD_EXECUTABLE(${APP_NAME} main.cpp test1.F test2.f test3.f90) 
SET_TARGET_PROPERTIES(${APP_NAME} PROPERTIES LINKER_LANGUAGE CXX) 

Tham chiếu: CMake mailing list

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