cmake_minimum_required(VERSION 3.15)

project(Qt6 NONE)

include(ExternalProject)
include(ProcessorCount)
ProcessorCount(N)

add_custom_target(Qt6)

ExternalProject_Add(Qt6-ext
  SOURCE_DIR          "${CMAKE_CURRENT_SOURCE_DIR}"
  BINARY_DIR          "${CMAKE_BINARY_DIR}/qt/qt"
  CONFIGURE_COMMAND   ${CMAKE_COMMAND} -E env CXXFLAGS="-DAURORA" MAKEFLAGS="-j${N} -O V=1 VERBOSE=1"
                      "${CMAKE_CURRENT_SOURCE_DIR}/qt5/configure"
                      --disable-static
                      -prefix ${QT_PREFIX}
                      -platform linux-g++/
                      -$<IF:$<CONFIG:Debug>,debug,release>
                      -opensource
                      -confirm-license
                      -nomake examples
                      -nomake tests
                      -skip qtactiveqt
                      -skip qtcanvas3d
                      -skip qtcharts
                      -skip qtcoap
                      -skip qtdatavis3d
                      -skip qtdoc
                      -skip qtfeedback
                      -skip qtgamepad
                      -skip qtgraphs
                      -skip qtgrpc
                      -skip qthttpsserver
                      -skip qtlanguageserver
                      -skip qtlottie
                      -skip qtmqtt
                      -skip qtopcua
                      -skip qtpim
                      -skip qtqa
                      -skip qtquick3dphysics
                      -skip qtquickeffectmaker
                      -skip qtquicktimeline
                      -skip qtremoteobjects
                      -skip qtrepotools
                      -skip qtscript
                      -skip qtscxml
                      -skip qtsensors
                      -skip qtserialbus
                      -skip qtserialport
                      -skip qtspeech
                      -skip qtsystems
                      -skip qttranslations
                      -skip qtwebchannel
                      -skip qtwebengine
                      -skip qtwebglplugin
                      -skip qtwebsockets
                      -skip qtwebview
                      -no-feature-egl-extension-platform-wayland
                      -no-feature-linux_v4l
                      --
                      -DQ_OS_AURORA=ON
                      -D_FILE_OFFSET_BITS=64
                      -DQT_IGNORE_MIN_CMAKE_VERSION_FOR_SBOM=ON
  BUILD_COMMAND       ${CMAKE_COMMAND} --build .
  INSTALL_COMMAND     ${CMAKE_COMMAND} --install . --prefix ${DEPLOYROOT}/opt/qt6/
  TEST_COMMAND        ""
)
