ฉันมีโปรเจ็กต์เล็ก ๆ ที่มี Makefile ซึ่งฉันพยายามจะแปลงเป็น CMake ส่วนใหญ่เพียงเพื่อรับประสบการณ์กับ CMake สำหรับวัตถุประสงค์ของตัวอย่างนี้โครงการมีไฟล์ต้นฉบับ (C ++ แม้ว่าฉันไม่คิดว่าภาษามีความเกี่ยวข้องเป็นพิเศษ) และไฟล์ไลบรารีแบบคงที่ซึ่งฉันได้คัดลอกมาจากที่อื่น สมมติเพื่อประโยชน์ในการโต้แย้งว่าซอร์สโค้ดไปยังไลบรารีไม่พร้อมใช้งาน ฉันมีเพียงไฟล์. a และส่วนหัวที่เกี่ยวข้อง
Makefile ทำด้วยมือของฉันมีกฎการสร้างนี้:
main: main.o libbingitup.a
g++ -o main main.o libbingitup.a
ซึ่งใช้งานได้ดี ฉันจะบอกให้ CMake สร้างสิ่งนี้ได้อย่างไร ไม่ใช่ makefile ที่แน่นอน แต่เป็นสิ่งที่มีคำสั่งเชื่อมโยงที่เทียบเท่า ฉันได้ลองวิธีที่ชัดเจน แต่ไร้เดียงสาเช่น
add_executable(main main.cpp libbingitup.a)
หรือ
add_executable(main main.cpp)
target_link_libraries(main libbingitup.a)
ตลอดจนสิ่งต่างๆที่มีlink_directories(.)
หรือadd_library(bingitup STATIC IMPORTED)
อื่น ๆ แต่ยังไม่มีอะไรที่ส่งผลให้การเชื่อมโยงประสบความสำเร็จ ฉันควรทำอย่างไร
รายละเอียดเวอร์ชัน: CMake 2.8.7 บน Linux (Kubuntu 12.04) พร้อม GCC 4.6.3