본문 바로가기
반응형

cmake6

STM32 CMake 프로젝트 템플릿화 STM32 CMake 프로젝트 템플릿화1. 현업에서 바로 적용 가능한 **STM32 + CMake + Ninja + VSCode** 기반 템플릿을 소개2. CubeMX로 생성한 코드에 이 템플릿을 입히면, 즉시 빌드/업로드/디버깅 가능한 환경을 만들 수 있음1. 디렉토리 구조 (템플릿 예시)stm32-cmake-template/├── CMakeLists.txt├── toolchain-arm-none-eabi.cmake├── .vscode/│ ├── c_cpp_properties.json # 인텔리센스/컴파일러 경로 자동 완성│ └── tasks.json # 빌드&업로드 통합 태스크├── Core/│ ├── Inc/│ └── Src/├── Drivers/├── Mi.. 2025. 7. 15.
CMake + Ninja로 STM32 프로젝트 빌드 성능 비교 CMake + Ninja로 STM32 프로젝트 빌드 성능 비교1. CMake로 STM32(arm-none-eabi) 프로젝트를 관리할 때2. 빌드 툴로 Make와 Ninja 중 무엇을 쓸지 고민되는 경우가 많음3. 두 방식의 실제 속도와 사용성을 실전 로그와 함께 비교🛠️ 테스트 환경 및 세팅프로젝트: STM32F746 + FreeRTOS + C++ (core, drivers, middlewares 포함)Toolchain: arm-gnu-toolchain-14.3 (Darwin/arm64)CMake: toolchain 파일 사용Build 시스템:Unix Makefiles (cmake .. && cmake --build .)Ninja (cmake -G Ninja .. && ninja)테스트 명령어:vsr.. 2025. 7. 14.
임베디드 빌드 시스템 (Makefile, CMake, Ninja) 임베디드 빌드 시스템: Makefile, CMake, Ninja의 현업 트렌드임베디드 소프트웨어 개발에서는 Makefile, CMake, Ninja 세 가지 빌드 시스템이 가장 널리 쓰임각 빌드 시스템은 개발 환경, 프로젝트 규모, 협업 방식 등에 따라 선택이 달라지지만, 최근 트렌드의 큰 흐름이 있음이 문서에서는 임베디드에서의 각 도구의 역할, 장단점, 그리고 현업에서의 주력 사용 양상을 정리함📝 Makefile: 임베디드의 오리지널 표준Makefile은 임베디드, 리눅스, C/C++ 기반 개발에서 가장 오래된 빌드 자동화 표준GNU Make 등으로 실행간단하고 직접적원하는 빌드 과정, 타깃, 의존성을 수동으로 명확하게 정의강점소규모, 레거시, 커스터마이즈가 필요한 임베디드 프로젝트에서 활용도가 높음.. 2025. 7. 13.
CMake vs Makefile CMake와 Makefile의 차이점과 선택 기준CMake와 Makefile은 모두 소프트웨어 개발에서 반복적인 빌드 작업을 자동화하는 데 사용됨CMake는 빌드 스크립트를 자동으로 생성해주는 “메타 빌드 시스템”, Makefile은 빌드 과정을 직접 정의하는 “전통적인 빌드 스크립트”프로젝트 규모, 협업 환경, 지원하는 플랫폼/IDE 등에 따라 두 도구의 선택이 달라질 수 있음아래에서는 CMake와 Makefile의 개념, 특징, 주요 사용 사례, 그리고 장단점을 비교📝 CMake vs Makefile의 기본 개념CMakeCMake는 크로스 플랫폼 빌드 자동화 도구 생성기사용자가 작성한 CMakeLists.txt를 바탕으로, 각 운영체제와 IDE에 맞는 빌드 파일(예: Makefile, Visual .. 2025. 7. 12.
CMake 정리 CMake란 무엇이며, 왜 사용하는가?CMake는 다양한 플랫폼에서 사용할 수 있는 빌드 자동화 도구 생성기(Build System Generator)직접 소스를 빌드하지 않고, 각 환경에 맞는 빌드 스크립트(Makefile, Visual Studio Project 등)를 자동으로 만들어줌C/C++ 프로젝트를 비롯한 여러 언어에서 널리 쓰이며, 크로스 플랫폼(Windows, Linux, macOS) 개발 환경에 매우 유리아래에서는 CMake가 무엇인지, 그리고 왜 개발에서 자주 사용되는지 살펴봄📝 CMake의 기본 개념1. CMake는 소스코드 빌드를 자동화하기 위한 도구2. 프로그래머가 직접 Makefile이나 프로젝트 파일을 일일이 작성하는 대신, CMake 설정 파일(CMakeLists.txt)만.. 2025. 7. 11.
Build System 정리 언어별 빌드 시스템, 요즘 주류 트렌드빌드 시스템은 소프트웨어 개발에서 코드 컴파일·테스트·배포 등의 작업을 자동화하는 핵심 도구Makefile, CMake 외에도 언어와 환경에 따라 다양한 빌드 도구가 존재최근 현업에서는 협업·대형 프로젝트·크로스플랫폼 지원 등으로 인해 새로운 도구들이 많이 사용됨아래에서는 대표적인 빌드 시스템의 종류와 최근 현업 트렌드를 정리함📝 대표적인 빌드 시스템 종류C/C++ 계열CMake크로스플랫폼 빌드 자동화의 표준.다양한 OS/IDE 지원, 대형 오픈소스 및 기업 프로젝트에서 많이 사용Makefile(GNU Make)전통적 빌드 자동화, 리눅스/임베디드/소규모 프로젝트에서 여전히 널리 사용Ninja빌드 속도가 매우 빠름.보통 CMake의 백엔드 빌드 도구로 많이 쓰임(c.. 2025. 7. 9.
반응형