সিএমকে ডিরেক্টরি তৈরি করা হচ্ছে


143

সিএমকে, আমি একটি ডিরেক্টরি তৈরি করতে চাই যদি এটি ইতিমধ্যে বিদ্যমান না থাকে। কিভাবে আমি এটি করতে পারব?

উত্তর:


250

আপনি কখন ডিরেক্টরিটি তৈরি করতে চান?

বিল্ড সিস্টেম জেনারেশনে

সিএমকে বিল্ড সিস্টেম উত্পন্ন করার সময় একটি ডিরেক্টরি তৈরি করতে,

file(MAKE_DIRECTORY ${directory})

বিল্ড টাইম এ

ইন add_custom_command()কমান্ড (যা উত্পন্ন বিল্ড সিস্টেমের জন্য একটি কাস্টম বিল্ড নিয়ম যোগ করে), এবং add_custom_target()কমান্ড (যা কোন আউটপুট একটি টার্গেট যোগ তাই এটি সবসময় নির্মাণ করা হবে), আপনি বিল্ড সময়ে সঞ্চালনের জন্য কমান্ড উল্লেখ করুন। কমান্ডটি কার্যকর করে একটি ডিরেক্টরি তৈরি করুন ${CMAKE_COMMAND} -E make_directory। উদাহরণ স্বরূপ:

add_custom_target(build-time-make-directory ALL
    COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})

ইনস্টল করার সময়

ইনস্টল করার সময় একটি ডিরেক্টরি তৈরি করতে,

install(DIRECTORY DESTINATION ${directory})

সুচিন্ট এবং দ্রুত। এখনই লক্ষ্য হিট! ধন্যবাদ।
ট্রুথহোল্ডার

25

ইনস্টল করার সময় একটি ডিরেক্টরি তৈরি করতে,

install(DIRECTORY DESTINATION ${directory})

এগুলি উভয়ই কনফিগার করার সময় চলবে:

file(MAKE_DIRECTORY ${directory})
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})

বিল্ড চলাকালীন তৈরি করতে, একটি কাস্টম লক্ষ্য ব্যবহার করুন:

add_custom_target(mytargetname ALL COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})

10

চীন হুয়াংয়ের জবাব ছাড়াও, আপনি বিল্ড টাইমে এগুলিও করতে পারেন add_custom_command:

add_custom_command(TARGET ${target_name} PRE_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})

আপনার ডিরেক্টরিটি PRE_BUILD| এর সাথে তৈরি করা হলে আপনি সেই মুহুর্তটিও পরিবর্তন করতে পারেন PRE_LINK| POST_BUILDপ্যারামিটার।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.