cmake_minimum_required(VERSION 3.17) project(budget) set(CMAKE_CXX_STANDARD 20) set(SOURCES src/main.cpp src/optHandlers/mainOptHandler.cpp src/optHandlers/operation.cpp src/optHandlers/accountOperation.cpp src/optHandlers/createOperation.cpp src/optHandlers/earnOperation.cpp src/optHandlers/paymentOperation.cpp src/database.cpp src/utilities.cpp src/models/money.cpp) set(HEADERS src/optHandlers/mainOptHandler.h src/optHandlers/operation.h src/optHandlers/accountOperation.h src/optHandlers/createOperation.h src/optHandlers/earnOperation.h src/optHandlers/paymentOperation.h src/database.h src/exceptions/helpRequested.h src/exceptions/badValue.h src/utilities.h src/sqliteDb.h src/main.h src/models/account.h src/models/transaction.h src/models/earning.h src/models/payment.h src/models/money.h) add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS}) IF (CMAKE_BUILD_TYPE STREQUAL "Debug") add_compile_definitions(DEBUG=1) ELSE () add_compile_definitions(DEBUG=0) ENDIF () message(STATUS "Build type is " ${CMAKE_BUILD_TYPE}) install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin) add_custom_target(uninstall COMMAND xargs rm -v < install_manifest.txt) target_link_libraries(${PROJECT_NAME} sqlite3)