참고한 것들
TL;DR (Make)
make
에서는 dry run option 인-n
을 사용하면 된다.
make -n
TL;DR (CMake)
- 우선
-DCMAKE_VERBOSE_MAKEFILE=ON
를 넣어서cmake
를 해준다.- 보통
cmake
를 쓸 때build
디렉토리를 만들어 그 안으로 들어가 사용하기 때문에, 저${PROJECT_ROOT}
에..
를 넣어주면 된다.
- 보통
Tip
CMakeLists.txt
에 넣으려면?set(CMAKE_VERBOSE_MAKEFILE ON)
cmake -DCMAKE_VERBOSE_MAKEFILE=ON ${PROJECT_ROOT}
- 그리고 빌드를 하면
- 보통
${BUILD_DIR}
는.
를 넣어주면 된다.
- 보통
cmake --build ${BUILD_DIR}
- 빌드를 하면서 그동안 표시되지 않았던 build command 들이 전부 표시된다.
다른 방법
- 위 방법이 낫기는 하지만, 다음과 같이 할 수도 있다.
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
를 넣어서cmake
를 하면 된다.
Tip
CMakeLists.txt
에 넣으려면?set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ${PROJECT_ROOT}
compile_commands.json
라는 파일이 만들어진다.- 그리고 그 안에는 각 파일에 대한 compile option 들이 JSON 으로 다음과 같이 명시되어 있다.
[
{
"directory": "/path/to/directory",
"command": "/usr/bin/cc -O3 -DNDEBUG -std=gnu99 -Wall -Wextra -Wpedantic -Wmissing-prototypes -Werror -o /path/to/obj_file.c.o -c /path/to/source_file.c",
"file": "/path/to/source_file.c",
"output": "/path/to/obj_file.c.o"
},
...
]