2022-05-13 20:32:18 +02:00
|
|
|
cmake_minimum_required(VERSION 3.22)
|
2022-04-16 22:40:58 +02:00
|
|
|
|
2025-05-29 10:54:03 +02:00
|
|
|
if (DEFINED MO2_DEFINED)
|
2022-04-16 22:40:58 +02:00
|
|
|
return()
|
|
|
|
|
endif()
|
|
|
|
|
|
2025-05-29 10:54:03 +02:00
|
|
|
option(MO2_INSTALL_IS_BIN
|
|
|
|
|
"if set, CMAKE_INSTALL_PREFIX is assumed to point to bin rather than one level below")
|
|
|
|
|
|
|
|
|
|
if (MO2_INSTALL_IS_BIN)
|
|
|
|
|
set(MO2_INSTALL_BIN ".")
|
|
|
|
|
else()
|
|
|
|
|
set(MO2_INSTALL_BIN "bin")
|
|
|
|
|
endif()
|
|
|
|
|
|
2022-04-17 17:39:15 +02:00
|
|
|
include(${CMAKE_CURRENT_LIST_DIR}/mo2_utils.cmake)
|
2025-05-29 10:54:03 +02:00
|
|
|
include(${CMAKE_CURRENT_LIST_DIR}/mo2_versions.cmake)
|
2022-04-16 22:40:58 +02:00
|
|
|
|
2025-05-29 10:54:03 +02:00
|
|
|
# this makes VS install everything when building solution
|
2022-04-16 22:40:58 +02:00
|
|
|
set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1)
|
|
|
|
|
|
2025-05-29 10:54:03 +02:00
|
|
|
# this find Python globally rather than virtual environments, even when one is active
|
|
|
|
|
set(Python_FIND_VIRTUALENV STANDARD)
|
|
|
|
|
|
|
|
|
|
# this set the imported location of targets for missing configurations - this silents
|
|
|
|
|
# many CMP0111 warnings from CMake
|
|
|
|
|
set(CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL MinSizeRel RelWithDebInfo Release None)
|
|
|
|
|
set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO RelWithDebInfo Release MinSizeRel None)
|
|
|
|
|
set(CMAKE_MAP_IMPORTED_CONFIG_RELEASE Release RelWithDebInfo MinSizeRel None)
|
|
|
|
|
|
|
|
|
|
# allow setting folder property on targets for better organization in VS
|
2022-04-16 22:40:58 +02:00
|
|
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
2025-05-29 10:54:03 +02:00
|
|
|
|
|
|
|
|
# put code generated by Qt in a autogen group in VS
|
2022-04-16 22:40:58 +02:00
|
|
|
set_property(GLOBAL PROPERTY AUTOGEN_SOURCE_GROUP autogen)
|
|
|
|
|
set_property(GLOBAL PROPERTY AUTOMOC_SOURCE_GROUP autogen)
|
|
|
|
|
set_property(GLOBAL PROPERTY AUTORCC_SOURCE_GROUP autogen)
|
|
|
|
|
|
2025-05-29 10:54:03 +02:00
|
|
|
# put targets generated by Qt into a autogen folder (this is not the same as the above)
|
|
|
|
|
set(QT_TARGETS_FOLDER 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)
|