Thursday, 28 August 2025

cmake learn

 

cmake learn

  1. cmake_minimum_required(VERSION 3.16) set minimum version for CMake, kei features haru naya CMake ko version ma matrai hunxa josle garda version specify garnu parxa.
  2. project(VoiceAssistant yo chai project ko name set garaxa, project anusar rakhnu parxa yo nam chai.
  3. set(CMAKE_CXX_STANDARD 17 yesle chai program lai or system lai jun C++ version chainxa tei set garxa.
  4. find_package(PkgConfig REQUIRED find_package(CURL REQUIRED yo duita line le chai CMake lai installed libraries haru kaha xa herna vanxa. aba yeha chai CURL vetena vane build fail hunxa tesari aru dependency pani rakhna milyo instead of CURL.
  5. include_directories(${CMAKE_SOURCE_DIR}/external) yo line le chai headers file .h/.hpp files haru kaha xa vanerw specify gardinxa, {CMAKE_SOURCE_DIR} vaneko chai project ko root ho.
  6. set(main.cpp audio_manager.cpp transcriber.cpp llm_client.cpp voice_assistant.cpp yo line le chai sabai source files haru list garxa, dherai files haru specify garnu thauna files haru lai module anusar group garnu parxa.
  7. add_executable(voice_assistant${sources}) yo line le chai kun chai program build garne ho vanerw define garxa, vaneko binary file ko name specify garinxa, ${SOURCES} le chai sabai cpp files haru mathi lekheko kura haru include garxa.
  8. target_link_libraries)voice_assistant CURL::libcurl pthread asound yo line le chai sabai external libraries haru include garxa use garan ko lagi, libcurl chai httprequest ko lagi, pthread multithreading ko lagi ani asound chai ALSA audio Linux ma. yesko thauma aru libraries haru ni huna sakyo jun chainxa like whisper.cpp.

No comments:

Post a Comment