언어 정리/빌드툴(catkin_make,make,cmake)4 CMake CMakeLists.txt 설명 gcc 노가다가 싫어서 Makefile을 작성했는데 코드 수정할 때마다 Makefile의 의존성 업데이트가 싫어서 만든 CMakeLists.txt ! CMakeLists.txt 는 Makefile과 다르게 추상화된 빌드 툴이기 때문에 맨처음에 Build Step을 잘 구상해 놓고, *.c *.cpp 소스파일만 등록해주면 의존성 업데이트를 할 필요가 없다! 이유는 CMake는 소스파일 내부까지 들여다보고 분석해서 의존성 정보를 스스로 파악하기 때문 기존의 Makefile *.h -> *.c -> *.o -> app.out ( binery 파일 , 실행파일, 코드암호화 파일 ) CMakeLists.txt *.c -> app.out ( binery 파일 , 실행파일, 코드암호화 파일 ) ##.h와 .o부분은 .. 2023. 1. 2. Make Makefile 설명 및 문법 참고 : https://www.tuwlab.com/ece/27193 [Make 튜토리얼] Makefile 예제와 작성 방법 및 기본 패턴 - ECE - TUWLAB 리눅스 환경에서 소스코드를 다운받아서 수동으로 프로그램 설치를 해 보신 분들은 다음 세 줄의 명령어에 매우 익숙할 것입니다. ./configure make sudo make install 근래에는 make 외에 다른 빌드툴들이 www.tuwlab.com Make 파일 생긴 이유 부터 : 원래는 gcc -c -o main.o main.c gcc -c -o foo.o foo.c gcc -c -o bar.o bar.c -c 옵션으로 컴파일을 해서 .o (object)파일을 만들고 gcc -o app.out main.o foo.o bar.o .o(o.. 2023. 1. 2. make -> cmake -> catkin_make gcc 로 일일히 치는게 힘들어서 Make (Makefile) 생기고 소스코드를 수정해서 makefile 유지/보수 하는게 힘들어서 CMake (CMakeLists.txt) 생김 ros1에서 주로 쓰는 catkin_make 는 CMake 랑 Make 두개를 혼용한 빌더 2023. 1. 2. CMakeLists 문법 with catkin_make 참고 : https://runebook.dev/ko/docs/cmake/command/execute_process CMake - execute_process 하나 이상의 자식 프로세스를 실행하십시오. 하나 이상의 자식 프로세스를 실행하십시오. 주어진 하나 이상의 명령 시퀀스를 실행합니다. 명령은 파이프 라인으로 동시에 실행되며 각 프로세스의 표준 출력은 다음 프로세스의 표준 입력으 runebook.dev https://cmake.org/cmake/help/latest/command/find_package.html find_package — CMake 3.25.1 Documentation Note The Using Dependencies Guide provides a high-level introducti.. 2022. 12. 31. 이전 1 다음