cmake_minimum_required(VERSION 3.16) project(device-inventory VERSION 1.0.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # Compiler warnings if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU") add_compile_options(-Wall -Wextra -Wpedantic) endif() # Server executable add_executable(inventory-server src/server/main.cpp src/server/database.cpp src/server/server.cpp src/server/hooks/dns_updater_hook.cpp ) target_include_directories(inventory-server PRIVATE src) target_link_libraries(inventory-server PRIVATE pthread) # Client executable add_executable(inventory-cli src/client/main.cpp src/client/client.cpp src/client/discovery.cpp ) target_include_directories(inventory-cli PRIVATE src) install(TARGETS inventory-server inventory-cli RUNTIME DESTINATION bin )