CMake 설치
sudo apt-get install -y cmake
VSCode Plugin
CMake 프로젝트 생성
프로젝트 구성
파일 작성
cmake_minimum_required(VERSION 3.0.0)
project(cmake_test LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_subdirectory(modules)
add_executable(cmake_test main.cpp)
add_executable(exec_module1 examples/exec_module1.cpp)
target_link_libraries(exec_module1 PRIVATE
module1)
- modules
- module1
- include/module1/ClassMat.hpp
#ifndef HELLO_CMAKE_CLASSMAT_HPP
#define HELLO_CMAKE_CLASSMAT_HPP
#include "opencv2/opencv.hpp"
class ClassMat
{
public:
ClassMat() = default;
private:
cv::Mat cv_mat_;
};
#endif
src/ClassMat.cpp#include "module1/ClassMat.hpp"
CMakeLists.txtcmake_minimum_required(VERSION 3.0.0)
project(module1 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(MODULE1_SOURCE_FILES
src/ClassMat.cpp
)
add_library(module1
${MODULE1_SOURCE_FILES}
)
find_package(OpenCV REQUIRED)
if (OpenCV_FOUND)
message(STATUS "OpenCV Found! - ${OpenCV_DIR}")
endif()
target_include_directories(module1 PUBLIC
include
${OpenCV_INCLUDE_DIRS}
)
target_link_libraries(module1 PRIVATE
${OpenCV_LIBS})
CMakeLists.txtadd_subdirectory(module1)
- examples/exec_module1.cpp
#include "module1/ClassMat.hpp"
#include <iostream>
int main()
{
const auto instance = ClassMat();
std::cout << "success!!" << std::endl;
return 0;
}
CMake 빌드
- 결과창을 확인하며 정상적으로 진행되는지 확인한다
빌드 파일 실행
- 결과창을 확인하며 정상적으로 진행되는지 확인한다