2022-05-13 20:32:18 +02:00
|
|
|
cmake_minimum_required(VERSION 3.22)
|
2022-04-16 22:40:58 +02:00
|
|
|
|
|
|
|
|
if (DEFINED MO2_INCLUDED)
|
|
|
|
|
return()
|
|
|
|
|
endif()
|
|
|
|
|
|
2022-04-17 17:39:15 +02:00
|
|
|
include(${CMAKE_CURRENT_LIST_DIR}/mo2_utils.cmake)
|
2022-04-16 22:40:58 +02:00
|
|
|
|
|
|
|
|
# setup path for find_package(), etc.
|
|
|
|
|
mo2_required_variable(NAME BOOST_ROOT TYPE PATH)
|
|
|
|
|
mo2_required_variable(NAME QT_ROOT TYPE PATH)
|
|
|
|
|
mo2_required_variable(NAME PYTHON_ROOT TYPE PATH)
|
|
|
|
|
mo2_required_variable(NAME CMAKE_INSTALL_PREFIX TYPE PATH)
|
|
|
|
|
|
|
|
|
|
get_filename_component(MO2_BUILD_PATH "${CMAKE_CURRENT_LIST_DIR}/../.." REALPATH)
|
|
|
|
|
get_filename_component(MO2_SUPER_PATH "${MO2_BUILD_PATH}/modorganizer_super" REALPATH)
|
|
|
|
|
get_filename_component(MO2_UIBASE_PATH "${MO2_SUPER_PATH}/uibase" REALPATH)
|
|
|
|
|
get_filename_component(MO2_INSTALL_PATH "${MO2_SUPER_PATH}/../../install" REALPATH)
|
|
|
|
|
get_filename_component(MO2_INSTALL_LIBS_PATH "${MO2_INSTALL_PATH}/libs" REALPATH)
|
|
|
|
|
|
|
|
|
|
list(APPEND CMAKE_PREFIX_PATH
|
|
|
|
|
${QT_ROOT}/lib/cmake
|
|
|
|
|
${BOOST_ROOT}/build
|
|
|
|
|
${MO2_BUILD_PATH}/googletest/build/lib/cmake/GTest)
|
|
|
|
|
|
2022-04-19 22:45:32 +02:00
|
|
|
# find Qt major version and set QT_DEFAULT_MAJOR_VERSION to avoid issues
|
|
|
|
|
# when including LinguistTools without a QtCore
|
|
|
|
|
mo2_find_qt_version(QT_VERSION)
|
|
|
|
|
string(REPLACE "." ";" QT_VERSION_LIST ${QT_VERSION})
|
|
|
|
|
list(GET QT_VERSION_LIST 0 QT_MAJOR_VERSION)
|
|
|
|
|
|
2022-04-17 17:39:15 +02:00
|
|
|
# we add the Qt DLL to the paths for some tools
|
2022-04-16 22:40:58 +02:00
|
|
|
set(ENV{PATH} "${QT_ROOT}/bin;$ENV{PATH}")
|
|
|
|
|
|
2022-04-17 17:39:15 +02:00
|
|
|
# custom property, used to keep track of the type of target
|
2022-05-13 20:32:18 +02:00
|
|
|
define_property(
|
|
|
|
|
TARGET PROPERTY MO2_TARGET_TYPE INHERITED
|
|
|
|
|
BRIEF_DOCS "Target type for MO2 C++ target."
|
|
|
|
|
FULL_DOCS "Automatically set when using mo2_configure_XXX functions.")
|
2022-04-16 22:40:58 +02:00
|
|
|
|
|
|
|
|
set(Boost_USE_STATIC_RUNTIME OFF)
|
2022-04-17 17:39:15 +02:00
|
|
|
set(Boost_USE_STATIC_LIBS ON)
|
2022-04-16 22:40:58 +02:00
|
|
|
set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1)
|
|
|
|
|
|
|
|
|
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
|
|
|
|
set_property(GLOBAL PROPERTY AUTOGEN_SOURCE_GROUP autogen)
|
|
|
|
|
set_property(GLOBAL PROPERTY AUTOMOC_SOURCE_GROUP autogen)
|
|
|
|
|
set_property(GLOBAL PROPERTY AUTORCC_SOURCE_GROUP autogen)
|
|
|
|
|
|
2022-04-17 17:39:15 +02:00
|
|
|
include(${CMAKE_CURRENT_LIST_DIR}/mo2_cpp.cmake)
|
|
|
|
|
include(${CMAKE_CURRENT_LIST_DIR}/mo2_python.cmake)
|
|
|
|
|
|
2022-04-16 22:40:58 +02:00
|
|
|
# mark as included
|
|
|
|
|
set(MO2_DEFINED true)
|