Cmake: ข้ามสร้างระบบบิลด์จาก Linux ได้หรือไม่

เป็นไปได้ไหมที่จะสร้างระบบบิลด์บนแพลตฟอร์มหนึ่งไปยังอีกแพลตฟอร์มหนึ่งโดยใช้ cmake ตัวอย่างเช่น และในกรณีที่ฉันสนใจมากที่สุด เป็นไปได้ไหมที่จะสร้างชุดของไฟล์โซลูชัน Visual Studio หรือไฟล์ Makefiles mingw32-make หรือไฟล์ nmake สำหรับโปรเจ็กต์จาก Linux

ความตั้งใจคือการสร้างสิ่งที่คล้ายคลึงกับสิ่งที่เป้าหมาย make dist สร้างขึ้นในการผลิตรถยนต์ อย่างไรก็ตาม ฉันไม่ต้องการให้มันทำมากเท่ากับ make dist เช่น ฉันแค่ต้องการสร้างไฟล์โซลูชันเหมือนกับว่าฉันใช้ cmake ใน Windows

จากนั้นผู้ใช้จะสามารถสร้างแพ็คเกจโดยใช้ระบบบิลด์ที่สร้างขึ้นบนเครื่องของตนเองได้

ถ้าเป็นไปได้ฉันจะทำอย่างไร? Cmake ไม่รายงานตัวสร้างที่ใช้ Windows ว่าพร้อมใช้งานบน Linux


person crobar    schedule 19.06.2015    source แหล่งที่มา


คำตอบ (1)


หลังจากการวิจัยเพิ่มเติม ฉันเชื่อว่าคำตอบสำหรับคำถามของฉันคือไม่ เหตุผลก็คือไฟล์ makefiles และไฟล์โซลูชัน ฯลฯ ที่สร้างโดย cmake ขึ้นอยู่กับตัว cmake เอง ซึ่งเป็นเส้นทางที่ฮาร์ดโค้ดลงในไฟล์

วิธีแก้ปัญหาหนึ่งสำหรับ windows อาจรวมกลุ่มไฟล์ปฏิบัติการ cmake เข้ากับไฟล์ของคุณและแทนที่คำจำกัดความของ CMAKE_COMMAND (ตัวอย่าง) ที่เพิ่มใน makefiles ด้วยพา ธ ไปยัง cmake เวอร์ชันรวมของคุณอย่างใด นี่เป็นเพียงข้อเสนอแนะ ฉันไม่ได้ลองหรือค้นคว้ามากนัก หากคุณเป็นเช่นนั้น โปรดโพสต์กระบวนการดังกล่าวเป็นความคิดเห็นหรือคำตอบที่นี่

person crobar    schedule 22.06.2015