mkdir -p /app/study/cpp/ch2
cd /app/study/cpp/ch2
cat <<'EOF' > /app/study/cpp/ch2/main.cpp
#include <iostream>
// std(standard) 표준 라이브러리의
// cout(console out stream) 콘솔 출력 스트림 객체에 문자열을 전달
int main() { std::cout << "Hello, CMake!\n"; }
EOF
# cmake 버전 확인
cmake --version
cat <<'EOF' > /app/study/cpp/ch2/CMakeLists.txt
# 타 환경에서 빌드할 수 있는 최소 버전 명을 기입
cmake_minimum_required(VERSION 3.21.4)
# 프로젝트 이름 지정
project(ch2)
# 생성할 실행 파일 명 및 빌드 대상 소스 파일을 지정
add_executable(${PROJECT_NAME} main.cpp)
# 생성된 실행 파일 install 명령어 시 bin폴더에 설치하도록 설정
# bin 폴더는 /usr/local/bin 을 의미
install(TARGETS ${PROJECT_NAME} DESTINATION bin)
EOF
# cmake 옵션 확인
cmake
mkdir -p /app/study/cpp/ch2/build
# 아래 명령어와 같이 상대 경로로 지정해도 빌드 가능
# cd /app/study/cpp/ch2;cmake -B build
# cd /app/study/cpp/ch2/build;cmake -S ../ -B .
cmake -S /app/study/cpp/ch2 -B /app/study/cpp/ch2/build
# 생성된 build 파일을 확인
ls /app/study/cpp/ch2/build
cd /app/study/cpp/ch2/build
# 생성된 Makefile 빌드
make
# 생성된 build 파일을 확인
ls /app/study/cpp/ch2/build
/app/study/cpp/ch2/build/ch2
# 프로젝트 시스템 내 설치
make install
# 실행 확인
ch2