Skip to main content

CMakeBook

CMake する備忘録。

https://cmake.org/

# project
cmake_minimum_required(VERSION 3.20.0)
project(hello VERSION 0.1.0)

set(CMAKE_CXX_STANDARD 17)
# for compile_commands.json
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
# for build/.gitignore
if(NOT PROJECT_SOURCE_DIR STREQUAL PROJECT_BINARY_DIR)
file(
GENERATE
OUTPUT .gitignore
CONTENT "*")
endif()

# target
add_executable(${PROJECT_NAME} main.cpp)

CMake のコマンド(関数名)に大文字小文字の区別はない

set(hoge x)

# 同じ

SET(hoge x)

引数(定数)の大文字小文字の区別はある

# Win32 はだめ
ADD_EXECUTABLE(hello WIN32 ${SRC})

# Private はだめ
TARGET_LINK_LIBRARIES(EXE_NAME PRIVATE LIB_NAME)