CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
PROJECT(addressbook)
FIND_PACKAGE(tracelib 1.2.0 REQUIRED)

FIND_PACKAGE(Qt5 COMPONENTS Widgets Gui Core REQUIRED)

INCLUDE_DIRECTORIES(${Qt5Widgets_INCLUDE_DIRS} ${TRACELIB_INCLUDE_DIR})

SET(ADDRESSBOOK_SOURCES
  main.cpp
  dialog.cpp
  mainwindow.cpp)

SET(ADDRESSBOOK_MOCABLES
  dialog.h
  lineedit.h
  mainwindow.h)

SET(ADDRESSBOOK_RESOURCES
  addressbook.qrc)

SET(ADDRESSBOOK_TS
  ${CMAKE_CURRENT_BINARY_DIR}/addressbook.ts)

QT5_WRAP_CPP(ADDRESSBOOK_MOC_SOURCES ${ADDRESSBOOK_MOCABLES})
QT5_ADD_RESOURCES(ADDRESSBOOK_QRC_SOURCES ${ADDRESSBOOK_RESOURCES})
QT5_CREATE_TRANSLATION(ADDRESSBOOK_QM ${ADDRESSBOOK_SOURCES} ${ADDRESSBOOK_RESOURCES} ${ADDRESSBOOK_TS})

ADD_EXECUTABLE(addressbook WIN32 MACOSX_BUNDLE ${ADDRESSBOOK_SOURCES} ${ADDRESSBOOK_MOC_SOURCES}
                           ${ADDRESSBOOK_QRC_SOURCES} ${ADDRESSBOOK_QM} )
TARGET_LINK_LIBRARIES(addressbook Qt5::Gui Qt5::Widgets ${TRACELIB_LIBRARIES})
IF(MSVC)
    ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE)
ENDIF(MSVC)

CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/tracelib.xml
        ${CMAKE_CURRENT_BINARY_DIR}/tracelib.xml
        COPYONLY)

# No installation as this is just a sample app
# INSTALL(TARGETS addressbook RUNTIME DESTINATION examples/addressbook
#                            LIBRARY DESTINATION lib
#                            ARCHIVE DESTINATION lib COMPONENT devel)
# INSTALL(FILES tracelib.xml MyAddresses.adr DESTINATION examples/addressbook)

