CMake Part2 - Commands & Vars

1. project 초기 설정 CMAKE_MINIMUM_REQUIRED [용법] cmake_minimum_required(VERSION major.minor[.patch[.tweak]][FATAL_ERROR]) 만약 어떤 오픈소스 라이브러리가 cmake 3.0 버전 이상으로 작성 되었고, 현재 나의 빌드환경은 cmake 2.8버전 미만이라면 빌드 시, 다음의 에러가 출력된다 -> CMake 3.0 or higher is required. You are running version 2.8.12.2 이 커맨드는 반드시 CMakeListst.txt 작성시 맨 처음에 선언 해 놓아야 정상적인 버전 호환 에러를 출력할 수 있다. # Bad example project(foo) cmake_minimum_required(VERSION 3.0) message("Using CMake version ${CMAKE_VERSION}") PROJECT [용법]...

January 20, 2020 · 4 min · 843 words · ralpioxxcs

CMake Part1 - Overview

CMake? cmake란 cross platform 기반의 프로젝트 전체 빌드 프로세스를 관리해주는 유용한 툴이다. 직접 빌드를 수행하지는 않지만 지정된 OS에 맞는 Make파일 혹은 **솔루션(sln)**파일의 생성을 도와주어 소스코드 빌드를 편리하게 해준다. Cmake의 장점 (root) |- foo.cpp |- CMakeLists.txt foo.cpp 라는 소스코드가 하나 있다고 가정하자. 이 소스코드를 각각의 다른 OS에서 빌드할 때, 윈도우즈라면 Visual Studio를, OSX라면 Xcode, Linux라면 Makefile을 이용할것이다. Cmake는 이런 귀찮은 과정을 CMakeLists.txt라는 프로젝트를 정의하는 파일을 하나 만듦으로써, 각 OS에 맞는 Build tool을 파악해 build command만 입력하면 될수 있도록 해준다....

January 19, 2020 · 1 min · 186 words · ralpioxxcs

Hugo Content Management [4] - Shortcodes

Shortcode Hugo는 다양한 shortcode 플러그인들을 제공하고 있다. markdown이 제공하는 편리한 문법들로도 충분하지만, code snippet이나 유튜브 영상등을 추가할 때 유용하게 사용할 수 있다. Shotcode 사용하기 shortcode는 { {< shortcodename parameters >} } 의 용법으로 간단하게 사용할 수 있다. shortcodename : 사용할 shortcode의 이름 (ex. highlight, figure..) parameter : 사용할 shortcode가 어떻게 정의되었느냐에 따라 달라짐 Built-in Shortcodes figure figure는 마크다운이 제공하는 이미지관련 문법보다 더 다양한 기능을 제공한다. parameter를 통해 첨부할 이미지의 title, caption, link등을 지정할 수 있다....

December 30, 2019 · 1 min · 129 words · ralpioxxcs

Hugo Content Management [3] - Front Matter

Front Matter? front matter란 작성하고자 하는 컨텐츠(파일)의 제목, 날짜, 작성자 등의 기본적인 속성들을 나타내는 meta-data 형식이다. Formats Hugo는 다음 3가지의 마크업 언어를 지원한다. TOML : +++ YAML : --- JSON : {, } 을 이용해 front matter의 시작과 끝을 지정한다. 예를들어, a.md라는 새로운 파일을 만들었다면 --- title: "this is title!" date: 2019-12-27T13:39:03+09:00 draft: true --- this is the markdown file 이렇게 파일의 시작 부분에 front matter를 설정해주면, 위처럼 front matter에 설정한대로, title과 date가 입력이된것을 볼수있다....

December 30, 2019 · 1 min · 123 words · ralpioxxcs

Hugo Content Management [2] - Page Bundle

Hugo에서는 Page Bundles이라는 개념을 사용해 컨텐츠를 관리한다. Page Bundles에는 2가지 종류가 있다. Leaf Bundle Branch Bundle Left Bundle left bundle은 단독 페이지를 구성하는데 사용되고, index.md 파일을 포함하는 폴더로 구성된다. 3 of Leaf Bundle Example content/ ├── project │ ├── index.md ├── posts │ ├── my-post │ │ ├── content1.md │ │ ├── content2.md │ | ├── image1.png │ | └── index.md │ └── study │ ├── first.md │ └── second.md │ └── index....

December 30, 2019 · 2 min · 254 words · ralpioxxcs