enable_language(CXX)

set(QtX Qt${with_qt_version})

find_package(${QtX} REQUIRED COMPONENTS Core)

set(CMAKE_AUTOMOC ON)

add_library(simple_lib SHARED simple_lib.cpp)
add_executable(app_with_qt app.cpp app_qt.cpp)
target_link_libraries(app_with_qt PRIVATE simple_lib ${QtX}::Core)

if(${QtX}Widgets_DIR)
  find_package(${QtX} REQUIRED COMPONENTS Widgets)
  if(with_qt_version STREQUAL 5)
    qt5_wrap_ui(_headers MyWindow.ui)
  else()
    qt_wrap_ui(_headers MyWindow.ui)
  endif()
  add_executable(app_with_widget app.cpp MyWindow.cpp ${_headers})
  target_link_libraries(app_with_widget PRIVATE ${QtX}::Widgets)
  target_include_directories(app_with_widget PRIVATE "${CMAKE_BINARY_DIR}")
endif()

add_subdirectory(QtSubDir1)
add_subdirectory(QtSubDir2)
add_subdirectory(QtSubDir3)