cmake_minimum_required(VERSION 3.10)
project(ManySources)
include("../AutogenGuiTest.cmake")

# Test AUTOMOC and AUTOUIC on many source files to stress the concurrent
# parsing and processing framework.

set(CSD ${CMAKE_CURRENT_SOURCE_DIR})
set(CBD ${CMAKE_CURRENT_BINARY_DIR})

set(SRCS main.cpp)
set(MAIN_INCLUDES "\n// Item includes\n")
set(MAIN_ITEMS "\n// Items\n")

set(NUM 24)
foreach(III RANGE 1 ${NUM})
  configure_file(${CSD}/object.h.in ${CBD}/object_${III}.h)
  configure_file(${CSD}/item.h.in ${CBD}/item_${III}.h)
  configure_file(${CSD}/item.cpp.in ${CBD}/item_${III}.cpp)
  configure_file(${CSD}/view.ui.in ${CBD}/view_${III}.ui)
  configure_file(${CSD}/data.qrc.in ${CBD}/data_${III}.qrc)

  list(APPEND SRCS ${CBD}/item_${III}.cpp)
  list(APPEND SRCS ${CBD}/data_${III}.qrc)

  string(APPEND MAIN_INCLUDES "#include \"item_${III}.h\"\n")
  string(APPEND MAIN_ITEMS "Item_${III} item_${III};\n")
  string(APPEND MAIN_ITEMS "item_${III}.TheSlot();\n")
endforeach()

configure_file(${CSD}/main.cpp.in ${CBD}/main.cpp)

add_executable(manySources ${SRCS} ${CBD}/main.cpp)
target_link_libraries(manySources ${QT_LIBRARIES})
set_target_properties(manySources PROPERTIES AUTOMOC 1 AUTOUIC 1 AUTORCC 1)
