সিএমকে কমান্ড লাইন বিকল্প যুক্ত করা হচ্ছে


111

আমি সিএমকে ব্যবহার করে একটি বৃহত লাইব্রেরি তৈরি করছি এবং আমি চাই যে ব্যবহারকারীরা আমার বিল্ড প্রক্রিয়াটির কিছু অংশ বেছে বেছে সক্ষম / অক্ষম করতে সক্ষম হবেন।

আমি কীভাবে আমার সিএমকে বিল্ডে কমান্ড-লাইন বিকল্পগুলি যুক্ত করতে পারি, যেমন ব্যবহারকারীরা যাতে কিছু টাইপ করতে পারে cmake --build-partone --nobuild-parttwo --dothis=true --dothat=false ..?

দৃশ্যত অপশন কীওয়ার্ডটি ভেরিয়েবল তৈরি করবে যা সিএমকে জিইউআই থেকে সেট করা যেতে পারে, তবে কমান্ড লাইন থেকে কীভাবে এটি করা যায় তা আমি বুঝতে পারি না।


এটি আপনার প্রশ্নের জন্য ধন্যবাদ যেমন এটি আমার প্রশ্নের উত্তর উত্তর প্রদানের সাথে সাথে cmake বিকল্পের সাথে সম্পর্কিত। সুতরাং, আমি এখন এটি
জিইউআইয়ের

উত্তর:


161

হ্যাঁ, আপনার optionকমান্ডটি ব্যবহার করা উচিত । আপনি কমান্ড লাইন থেকে এই পদ্ধতিতে বিকল্প সেট করতে পারেন:

//CMakeLists.txt
option(MyOption "MyOption" OFF)

//Command line
cmake -DMyOption=ON MyProjectFolder

নোট যে -DMyOptionপথ আগে আসতে হবে।


5
... এবং cmake MyProjectFolder -DMyOption(বা অফ) বিকল্পটি চালু করে না
mabraham

মাইপ্রজেক্টফোল্ডারের আগে -DMyOption রাখুন এবং চেষ্টা করে দেখুন?
আপডেটগ্লিউ

11
ব্যবহারের -DMyOption=ONবা -DMyOption=OFFচালু বা বন্ধ করতে।
kvanberendonck

আমি কেবল লক্ষ্য করেছি যে আমি যখন একটি তৃতীয় পক্ষের মডিউল তৈরির চেষ্টা করছিলাম যে সিএমকেলিস্টস-এ "সেট (নাম ব্লেব্লাহ)" দিয়ে আইটেমগুলি সেট করা হয়েছে
cmake

13

একটু সংশোধন:

আপনার যদি পাস করার জন্য অন্যান্য ভেরিয়েবল থাকে তবে এর প্রকারটি নির্দেশ করার জন্য এটি প্রস্তাবিত হয়:

//CMakeLists.txt
option(MyOption "MyOption" OFF)

//Command line
cmake -DMyOption:BOOL=ON MyProjectFolder -D...
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.