← Home

šŸ”§

⌘K
šŸ¤–
Claude Code AI Tools
šŸ¤—
Hugging Face AI Tools
🦜
LangChain AI Tools
🧠
Keras AI Tools
šŸ¦™
Ollama AI Tools
šŸ
Python Programming Languages
🟨
JavaScript Programming Languages
šŸ”·
TypeScript Programming Languages
āš›ļø
React Programming Languages
🐹
Go Programming Languages
šŸ¦€
Rust Programming Languages
šŸ“Š
MATLAB Programming Languages
šŸ—„ļø
SQL Programming Languages
āš™ļø
C/C++ Programming Languages
ā˜•
Java Programming Languages
🟣
C# Programming Languages
šŸŽ
Swift Programming Languages
🟠
Kotlin Programming Languages
ā–²
Next.js Programming Languages
šŸ’š
Vue.js Programming Languages
šŸ”„
Svelte Programming Languages
šŸŽØ
Tailwind CSS Programming Languages
šŸ’š
Node.js Programming Languages
🌐
HTML Programming Languages
šŸŽØ
CSS/SCSS Programming Languages
🐘
PHP Programming Languages
šŸ’Ž
Ruby Programming Languages
šŸ”“
Scala Programming Languages
šŸ“Š
R Programming Languages
šŸŽÆ
Dart Programming Languages
šŸ’§
Elixir Programming Languages
šŸŒ™
Lua Programming Languages
🐪
Perl Programming Languages
šŸ…°ļø
Angular Programming Languages
šŸš‚
Express.js Programming Languages
🐱
NestJS Programming Languages
šŸ›¤ļø
Ruby on Rails Programming Languages
ā—¼ļø
GraphQL Programming Languages
🟪
Haskell Programming Languages
šŸ’š
Nuxt.js Programming Languages
šŸ”·
SolidJS Programming Languages
⚔
htmx Programming Languages
šŸ’»
VS Code Development Tools
🧠
PyCharm Development Tools
šŸ““
Jupyter Development Tools
🧠
IntelliJ IDEA Development Tools
šŸ’š
Neovim Development Tools
šŸ”®
Emacs Development Tools
šŸ”€
Git DevOps & CLI
🐳
Docker DevOps & CLI
ā˜øļø
Kubernetes DevOps & CLI
ā˜ļø
AWS CLI DevOps & CLI
šŸ”„
GitHub Actions DevOps & CLI
🐧
Linux Commands DevOps & CLI
šŸ’»
Bash Scripting DevOps & CLI
🌐
Nginx DevOps & CLI
šŸ“
Vim DevOps & CLI
šŸ”Ø
Makefile DevOps & CLI
🧪
Pytest DevOps & CLI
🪟
Windows DevOps & CLI
šŸ“¦
Package Managers DevOps & CLI
šŸŽ
macOS DevOps & CLI
šŸ—ļø
Terraform DevOps & CLI
šŸ”§
Ansible DevOps & CLI
āŽˆ
Helm DevOps & CLI
šŸ”Ø
Jenkins DevOps & CLI
šŸ”„
Prometheus DevOps & CLI
šŸ“Š
Grafana DevOps & CLI
šŸ’»
Zsh DevOps & CLI
🐟
Fish Shell DevOps & CLI
šŸ’™
PowerShell DevOps & CLI
šŸ”„
Argo CD DevOps & CLI
šŸ”€
Traefik DevOps & CLI
ā˜ļø
Azure CLI DevOps & CLI
ā˜ļø
Google Cloud CLI DevOps & CLI
šŸ“Ÿ
tmux DevOps & CLI
šŸ”§
jq DevOps & CLI
āœ‚ļø
sed DevOps & CLI
šŸ“Š
awk DevOps & CLI
🌊
Apache Airflow DevOps & CLI
šŸ”¢
NumPy Databases & Data
🐼
Pandas Databases & Data
šŸ”„
PyTorch Databases & Data
🧠
TensorFlow Databases & Data
šŸ“ˆ
Matplotlib Databases & Data
🐘
PostgreSQL Databases & Data
🐬
MySQL Databases & Data
šŸƒ
MongoDB Databases & Data
šŸ”“
Redis Databases & Data
šŸ”
Elasticsearch Databases & Data
šŸ¤–
Scikit-learn Databases & Data
šŸ‘ļø
OpenCV Databases & Data
⚔
Apache Spark Databases & Data
🪶
SQLite Databases & Data
⚔
Supabase Databases & Data
šŸ”µ
Neo4j Databases & Data
šŸ“Ø
Apache Kafka Databases & Data
🐰
RabbitMQ Databases & Data
šŸ”¤
Regex Utilities
šŸ“
Markdown Utilities
šŸ“„
LaTeX Utilities
šŸ”
SSH & GPG Utilities
🌐
curl & HTTP Utilities
šŸ“œ
reStructuredText Utilities
šŸš€
Postman Utilities
šŸŽ¬
FFmpeg Utilities
šŸ–¼ļø
ImageMagick Utilities
šŸ”
ripgrep Utilities
šŸ”
fzf Utilities
šŸ“—
Microsoft Excel Office Applications
šŸ“˜
Microsoft Word Office Applications
šŸ“™
Microsoft PowerPoint Office Applications
šŸ“
Hancom Hangul Hancom Office
šŸ“½ļø
Hancom Hanshow Hancom Office
šŸ“Š
Hancom Hancell Hancom Office
šŸ“„
Google Docs Google Workspace
šŸ“Š
Google Sheets Google Workspace
šŸ“½ļø
Google Slides Google Workspace
šŸ”Œ
Cadence Virtuoso EDA & Hardware
āš™ļø
Synopsys EDA EDA & Hardware
šŸ’Ž
Verilog & VHDL EDA & Hardware
⚔
LTSpice EDA & Hardware
šŸ”§
KiCad EDA & Hardware
šŸ“
Notion Productivity
šŸ’Ž
Obsidian Productivity
šŸ’¬
Slack Productivity
šŸŽ®
Discord Productivity
šŸŽØ
Figma Design Tools
šŸ“˜
Confluence Atlassian
šŸ“‹
Jira Atlassian
šŸƒ
Jest Testing
⚔
Vitest Testing
šŸŽ­
Playwright Testing
🌲
Cypress Testing
🌐
Selenium Testing
šŸ’™
Flutter Mobile Development
šŸ“±
React Native Mobile Development
šŸŽ
SwiftUI Mobile Development
šŸ“±
Expo Mobile Development
šŸ
Django Web Frameworks
⚔
FastAPI Web Frameworks
šŸŒ¶ļø
Flask Web Frameworks
šŸƒ
Spring Boot Web Frameworks
šŸø
Gin Web Frameworks
⚔
Vite Build Tools
šŸ“¦
Webpack Build Tools
⚔
esbuild Build Tools
🐘
Gradle Build Tools
🪶
Maven Build Tools
šŸ”§
CMake Build Tools
šŸŽ®
Unity Game Development
šŸ¤–
Godot Game Development
šŸ”Œ
Arduino Embedded & IoT
šŸ”
Nmap Security
šŸ•
Datadog Monitoring
šŸ“–
Swagger/OpenAPI Documentation
No results found
EN KO

Basics

Commands

cmake -B build Configure build
cmake --build build Build project
cmake --build build --target install Install
cmake -B build -DCMAKE_BUILD_TYPE=Release Release build
cmake -B build -G "Ninja" Use Ninja
cmake -B build -G "Visual Studio 17 2022" Use VS
ctest --test-dir build Run tests
cmake --install build --prefix /usr/local Install with prefix

CMakeLists.txt

Basic Project

Minimal setup
cmake_minimum_required(VERSION 3.20)
project(MyProject VERSION 1.0.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_executable(myapp
    src/main.cpp
    src/utils.cpp
)

target_include_directories(myapp PRIVATE
    ${CMAKE_SOURCE_DIR}/include
)
Library
# Static library
add_library(mylib STATIC
    src/lib.cpp
)

# Shared library
add_library(mylib_shared SHARED
    src/lib.cpp
)

# Header-only
add_library(mylib_header INTERFACE)

target_include_directories(mylib PUBLIC
    $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
    $<INSTALL_INTERFACE:include>
)

# Link library
target_link_libraries(myapp PRIVATE mylib)

Dependencies

Finding Packages

find_package
# Find installed package
find_package(OpenSSL REQUIRED)
find_package(Boost 1.80 REQUIRED COMPONENTS filesystem system)
find_package(Threads REQUIRED)

target_link_libraries(myapp PRIVATE
    OpenSSL::SSL
    OpenSSL::Crypto
    Boost::filesystem
    Threads::Threads
)
FetchContent
include(FetchContent)

FetchContent_Declare(
    googletest
    GIT_REPOSITORY https://github.com/google/googletest.git
    GIT_TAG v1.14.0
)

FetchContent_Declare(
    json
    URL https://github.com/nlohmann/json/releases/download/v3.11.2/json.tar.xz
)

FetchContent_MakeAvailable(googletest json)

target_link_libraries(myapp PRIVATE
    GTest::gtest_main
    nlohmann_json::nlohmann_json
)

Variables & Options

Configuration

Variables
# Set variable
set(MY_VAR "value")
set(MY_LIST "a" "b" "c")

# Cache variable (user-configurable)
set(MY_OPTION "default" CACHE STRING "Description")

# Option (boolean)
option(ENABLE_TESTS "Build tests" ON)

# Conditional
if(ENABLE_TESTS)
    enable_testing()
    add_subdirectory(tests)
endif()

# Environment variable
set(ENV{PATH} "$ENV{PATH}:/new/path")
Built-in variables
# Paths
${CMAKE_SOURCE_DIR}          # Root source
${CMAKE_BINARY_DIR}          # Build directory
${CMAKE_CURRENT_SOURCE_DIR}  # Current CMakeLists.txt dir
${PROJECT_SOURCE_DIR}        # Project root

# System
${CMAKE_SYSTEM_NAME}         # Linux, Windows, Darwin
${CMAKE_CXX_COMPILER_ID}     # GNU, Clang, MSVC

# Build type
${CMAKE_BUILD_TYPE}          # Debug, Release, etc.

# Compiler flags
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")

Testing

CTest

Add tests
enable_testing()

add_executable(test_main
    tests/test_main.cpp
)

target_link_libraries(test_main PRIVATE
    mylib
    GTest::gtest_main
)

include(GoogleTest)
gtest_discover_tests(test_main)

# Or manual test
add_test(NAME MyTest COMMAND test_main)
add_test(NAME ScriptTest COMMAND ${CMAKE_SOURCE_DIR}/test.sh)

Install & Export

Installation

Install targets
install(TARGETS mylib myapp
    EXPORT MyProjectTargets
    LIBRARY DESTINATION lib
    ARCHIVE DESTINATION lib
    RUNTIME DESTINATION bin
    INCLUDES DESTINATION include
)

install(DIRECTORY include/
    DESTINATION include
)

install(FILES ${CMAKE_BINARY_DIR}/config.h
    DESTINATION include
)

# Export for find_package
install(EXPORT MyProjectTargets
    FILE MyProjectTargets.cmake
    NAMESPACE MyProject::
    DESTINATION lib/cmake/MyProject
)