cmake_minimum_required(VERSION "4.2.0") project("cabinet" LANGUAGES CXX VERSION "1.0.0" ) set(CMAKE_CXX_STANDARD "23") set(CMAKE_CXX_STANDARD_REQUIRED YES) set(CMAKE_CXX_EXTENSIONS NO) set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON) find_package("PkgConfig") pkg_check_modules("magic" REQUIRED IMPORTED_TARGET GLOBAL "libmagic" ) add_library("core" STATIC) add_library("cabinet::core" ALIAS "core") target_sources("core" PRIVATE "cabinet/magic.cpp" ) target_include_directories("core" PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" ) target_link_libraries("core" PUBLIC "PkgConfig::magic" ) add_executable("cabinet") add_executable("cabinet::app" ALIAS "cabinet") target_sources("cabinet" PRIVATE "cabinet/main.cpp" ) target_link_libraries("cabinet" PRIVATE "cabinet::core" )