폴더를 나눠서, 하위 폴더에 있는 소스를 포함하여 exe 생성하는 cmake 예제입니다.
파일 구조
Root (folder)
+ CMakeLists.txt
+ main.cpp
+ src (folder)
- CMakeLists.txt
- test.h
- test.cpp
Root 폴더의 CMakeLists.txt
# CMake 프로그램의 최소 버전
cmake_minimum_required(VERSION 3.11)
# 프로젝트 정보
project(
myproject
VERSION 0.1
DESCRIPTION "myproject sample"
LANGUAGES CXX)
# C++11 설정
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
# 확인할 디렉토리 추가 - 해당 디렉토리에 CMakeLists.txt를 읽고 실행함
# add_subdirectory(<소스 디렉토리명> [binary_dir] [EXCLUDE_FROM_ALL] [SYSTEM])
add_subdirectory(src)
# 빌드 최종 결과물로 생성할 실행파일 추가 - 실행파일명은 프로젝트이름인 myproejct를 사용함
# ADD_EXECUTABLE ( <실행_파일명> <소스_파일> <소스_파일> ... )
add_executable(${PROJECT_NAME} main.cpp)
# Target 링크시 포함할 라이브러리 목록 지정
# TARGET_LINK_LIBRARIES ( <Target_이름> <라이브러리> <라이브러리> ... )
target_link_libraries(${PROJECT_NAME} test)
Root 폴더 하위에 있는 src 폴더의 CMakeLists.txt
# 빌드 최종 결과물로 생성할 라이브러리 추가 - 정적 라이브러리 test 를 만듦
# ADD_LIBRARY ( <라이브러리_이름> [STATIC|SHARED|MODULE] <소스_파일> <소스_파일> ... )
add_library(test STATIC test.h test.cpp)
참고
'IT 소프트웨어 (툴) > 개발툴' 카테고리의 다른 글
[CMake] CentOS 7에 CMake 최신버전 설치 (0) | 2023.08.03 |
---|---|
[개발툴] Visual Studio와 Visual Studio Code(VS Code)의 비교 (0) | 2023.07.03 |