budget/CMakeLists.txt

48 lines
1.1 KiB
CMake

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)
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)
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)