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부분은 명시하지 않아서 자동 진행함. |
결론 CMakeLists.txt 를 통해서 추상적으로 또는 직관적으로 Makefile을 작성해주는 것이다.
따라서 1."$ cmake CMakeLists.txt" 로 Makefile 작성 후 2."$ make"로 빌드 하는 과정 이다.
$ cmake CMakeLists.txt를 맨처음 명령어를 진행한 후 부터는, CMakeLists.txt를 수정한다면 $ make 만으로 cmake로 makefile업데이트 후 make 작업을 자동 진행하는 수순으로 간다.
'언어 정리 > 빌드툴(catkin_make,make,cmake)' 카테고리의 다른 글
Make Makefile 설명 및 문법 (1) | 2023.01.02 |
---|---|
make -> cmake -> catkin_make (1) | 2023.01.02 |
CMakeLists 문법 with catkin_make (0) | 2022.12.31 |
댓글