project(barcoder)
cmake_minimum_required(VERSION 3.1)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_BUILD_TYPE Release)
add_definitions(-Wall)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Core REQUIRED)
find_package(Qt5Gui REQUIRED)
find_library(LDMTX dmtx REQUIRED)
find_library(LQRENCODE qrencode REQUIRED)

add_compile_definitions(
        VERSION_MAJOR=1
        VERSION_MINOR=1
        VERSION_BUILD=1
        #Target version
        VERSION="${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_BUILD}"
        VERSION_S="${VERSION}"
        QT_DEPRECATED_WARNINGS
        QT_DISABLE_DEPRECATED_BEFORE=0x050000
)

set(DESKTOP_FILE barcoder.desktop)
set(ICON_FILE barcoder.png)

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/qqrencode)

set(barcoder_SRCS
        main.cpp
        mainwindow.cpp
        3rdparty/qqrencode/qqrencode.cpp
        )

set(barcoder_UIS
        mainwindow.ui
        )
QT5_WRAP_UI(UIS ${barcoder_UIS})

set(barcoder_MOCS
        mainwindow.h
        )
QT5_WRAP_CPP(MOCS ${barcoder_MOCS})

add_executable(barcoder ${barcoder_SRCS} ${UIS} ${MOCS})
target_link_libraries(barcoder Qt5::Core Qt5::Gui Qt5::Widgets dmtx qrencode)

# installation
if (HAIKU)
    install(TARGETS barcoder RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX})
elseif (APPLE)
    SET_TARGET_PROPERTIES(barcoder PROPERTIES MACOSX_BUNDLE TRUE)
    INSTALL(TARGETS barcoder DESTINATION ${CMAKE_INSTALL_PREFIX})
elseif (UNIX)
    install(TARGETS barcoder RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
    install(FILES ${DESKTOP_FILE} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/applications")
    install(FILES ${ICON_FILE} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps")
endif ()
