Files
dota_factory/CMakeLists.txt
2026-04-19 13:40:37 +02:00

66 lines
1.9 KiB
CMake

cmake_minimum_required(VERSION 3.14.4)
message(STATUS "Using CMake ${CMAKE_VERSION}")
include(cmake/add_files.cmake)
include(cmake/create_source_groups.cmake)
# Project ----------------------------------------------------------------------
project(DotaFactory)
set(CMAKE_BUILD_TYPE_INIT "Release")
# Qt ---------------------------------------------------------------------------
find_package(Qt5 COMPONENTS Widgets Network Multimedia Charts REQUIRED)
if(Qt5Widgets_FOUND)
message(STATUS "Found Qt ${Qt5Widgets_VERSION_STRING}")
# FIX: Qt was built with -reduce-relocations
if (Qt5_POSITION_INDEPENDENT_CODE)
SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
endif()
# Setup ---------------------------------------------------------------------------
get_filename_component(QT_BINARY_DIR "${QT_MOC_EXECUTABLE}" PATH)
set(QT_PLUGINS_DIR "${QT_BINARY_DIR}/../plugins")
function(COPY_QT_BINARIES TARGET_DIR IS_DEBUG)
set(SUFFIX "")
if (IS_DEBUG)
set(SUFFIX "d")
endif()
set(CONFIGURATION "Release")
if (IS_DEBUG)
set(CONFIGURATION "Debug")
endif()
if(CMAKE_CL_64)
set(BITS "64")
else()
set(BITS "32")
endif()
configure_file("${QT_BINARY_DIR}/Qt5Charts${SUFFIX}.dll" "${TARGET_DIR}/Qt5Charts${SUFFIX}.dll" COPYONLY)
configure_file("${QT_BINARY_DIR}/Qt5Core${SUFFIX}.dll" "${TARGET_DIR}/Qt5Core${SUFFIX}.dll" COPYONLY)
configure_file("${QT_BINARY_DIR}/Qt5Gui${SUFFIX}.dll" "${TARGET_DIR}/Qt5Gui${SUFFIX}.dll" COPYONLY)
configure_file("${QT_BINARY_DIR}/Qt5Network${SUFFIX}.dll" "${TARGET_DIR}/Qt5Network${SUFFIX}.dll" COPYONLY)
configure_file("${QT_BINARY_DIR}/Qt5Widgets${SUFFIX}.dll" "${TARGET_DIR}/Qt5Widgets${SUFFIX}.dll" COPYONLY)
configure_file("${QT_BINARY_DIR}/Qt5Multimedia${SUFFIX}.dll" "${TARGET_DIR}/Qt5Multimedia${SUFFIX}.dll" COPYONLY)
endfunction(COPY_QT_BINARIES)
# Src ----------------------------------------------------------------------
find_package(OpenGL REQUIRED)
add_subdirectory(src)