
cmake_minimum_required(VERSION 3.16)

project(demoapp)

find_package( ic4 CONFIG REQUIRED )

set(QT_REQUIRED_TOP_LEVEL ${PROJECT_IS_TOP_LEVEL})

include( ../common/setup_qt.cmake )

add_executable(barcode-ic4-demo
    "main.cpp"
    "mainwindow.h"
    "mainwindow.cpp"
)

set_target_properties(barcode-ic4-demo PROPERTIES CXX_STANDARD 17 )
target_link_libraries(barcode-ic4-demo PRIVATE ic4::core )
target_link_libraries(barcode-ic4-demo PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Core )
target_include_directories(barcode-ic4-demo PRIVATE ${CMAKE_CURRENT_LIST_DIR} )


if (WIN32)
    target_link_libraries(barcode-ic4-demo PRIVATE "${CMAKE_SOURCE_DIR}/../../bin/x64/ic_barcode.lib" )
else()
    target_link_libraries(barcode-ic4-demo  PRIVATE ic_barcode)
endif()

target_include_directories(barcode-ic4-demo PRIVATE "../../../include/ic_barcode" )

if (WIN32)
    set_target_properties(barcode-ic4-demo PROPERTIES WIN32_EXECUTABLE ON )

    ic4_copy_runtime_to_target(barcode-ic4-demo)

    # Adds a POST_BUILD call to windeployqt.exe 
    add_windeployqt_custom_command(barcode-ic4-demo) 

    # Adds a POST_BUILD call to windeployqt.exe 
    add_custom_command(TARGET barcode-ic4-demo
                   POST_BUILD
                   COMMAND ${CMAKE_COMMAND} -E copy_if_different
                           "${CMAKE_SOURCE_DIR}/../../bin/x64/ic_barcode.dll"
                           "$<TARGET_FILE_DIR:barcode-ic4-demo>/ic_barcode.dll"
    )
endif()



