cmake_minimum_required(VERSION 3.20) project(NerbusWallet VERSION 0.2.1 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Qt6 6.2 REQUIRED COMPONENTS Widgets Network Svg) if(WIN32) add_library(sodium SHARED IMPORTED) set_target_properties(sodium PROPERTIES IMPORTED_IMPLIB "${CMAKE_CURRENT_SOURCE_DIR}/vendor/sodium/lib/libsodium.lib" IMPORTED_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/vendor/sodium/bin/libsodium.dll" INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/vendor/sodium/include") else() find_package(PkgConfig REQUIRED) pkg_check_modules(SODIUM REQUIRED IMPORTED_TARGET libsodium) add_library(sodium ALIAS PkgConfig::SODIUM) endif() qt_add_executable(nerbus-qt WIN32 wallet_app.cpp wallet_store.cpp wallet_store.h) target_link_libraries(nerbus-qt PRIVATE Qt6::Widgets Qt6::Network Qt6::Svg sodium) if(MSVC) target_compile_options(nerbus-qt PRIVATE /utf-8 /W4) endif() if(WIN32) add_custom_command(TARGET nerbus-qt POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $ $) endif() install(TARGETS nerbus-qt RUNTIME DESTINATION .)