กำลังส่งตัวเลือกการสร้างไปยังโปรเจ็กต์ qbs

ฉันมีโครงการ qbs ที่มีการพึ่งพาไลบรารีภายนอก ทันทีที่ฉันไม่ต้องการระบุการพึ่งพานี้ภายในไฟล์ต้นฉบับของโปรเจ็กต์ ฉันอยากจะเพิ่มมันเป็นอาร์กิวเมนต์ของคำสั่งคอนโซลบิลด์

ตัวอย่างเช่น เมื่อใช้ qmake ฉันสามารถระบุอาร์กิวเมนต์คอนโซล qmake เพิ่มเติมได้ เช่น qmake.exe MyProject.pro MYDEFINE="random text" และในไฟล์โปรเจ็กต์ ฉันสามารถใช้อาร์กิวเมนต์นี้ภายในไฟล์ .pro เป็น $$MYDEFINE

จะใช้ฟังก์ชันที่คล้ายกันกับ qbs ได้อย่างไร


person Andrei R.    schedule 21.04.2016    source แหล่งที่มา
comment
บางทีคุณอาจกำหนดผลิตภัณฑ์ต่างๆ ที่มีตัวเลือกที่คุณต้องการได้ และจากบรรทัดคำสั่ง คุณสามารถตัดสินใจได้ว่าจะสร้างผลิตภัณฑ์ใด จากเอกสารประกอบ: qbs -f /path/to/project.qbs --products productname qbs.architecture:x86_64   -  person 0rko    schedule 30.04.2016
comment
@ 0rko ดูเหมือนว่าจะเป็นวิธีแก้ปัญหาที่เป็นไปได้ แต่ไม่สะดวกสำหรับกรณีเฉพาะ เนื่องจากใช้ svn ฉันต้องการหลีกเลี่ยงการสร้างไฟล์เพิ่มเติมหรือแก้ไขไฟล์ในเครื่อง (เหมือนที่ทำเสร็จแล้วตอนนี้)   -  person Andrei R.    schedule 03.05.2016


คำตอบ (1)


กำหนดคุณสมบัติในโครงการ เช่น:

Project {
     property path myCustomLibPath: "unknown-path"

     Product {
          name: "Awesome Program 3000"

          Depends { name: "cpp" }
          cpp.libraryPaths: [project.myCustomLibPath]

     }
}

จากนั้นตั้งค่าใน args บรรทัดคำสั่ง:

qbs build -f /path/to/project.qbs debug project.myCustomLibPath:/path/to/my/lib

สิ่งนี้ยังใช้งานได้ผ่านผู้สร้าง qt

person vpicaver    schedule 13.05.2016