Files
cd/CMakeLists.txt
2024-07-30 14:18:39 +03:00

89 lines
2.2 KiB
CMake

cmake_minimum_required(VERSION 3.0)
cmake_policy(SET CMP0017 NEW) # need include() with .cmake
project(CD)
set(CD_MAJOR 1)
set(CD_MINOR 1)
set(CD_REVISION 1)
set(CD_SUFFIX )
set(CD_COMPANY SHS)
set(CD_DOMAIN org.SHS)
if ("x${CMAKE_MODULE_PATH}" STREQUAL "x")
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
endif()
find_package(PIP 4.0 REQUIRED)
find_package(QAD)
include(SHSTKMacros)
shstk_begin_project(CD)
if(QAD_FOUND)
include(QtWraps)
include(SHSTKQtMacros)
shstk_qt_founded(QtVersions)
foreach(_v ${_QT_VERSIONS_})
#message("Qt ${_v} -> ${QtVersions}")
option(Qt${_v} "Build for Qt${_v}" ON)
endforeach()
option(UTILS "Build various utils" ${_plugins_default_})
macro(cd_library NAME _MODULES _LIBS)
shstk_qad_project(cd_${NAME} FALSE "CD" "${_MODULES}" "${_LIBS}" ${ARGN})
shstk_qad_install("cd" FALSE cd_${NAME} "${out_HDR}" "out_QM")
endmacro()
macro(cd_application NAME _MODULES _LIBS)
shstk_qad_project(${NAME} TRUE "CD" "${_MODULES}" "${_LIBS}" ${ARGN})
shstk_qad_install("cd" TRUE ${NAME} "" "out_QM")
endmacro()
macro(cd_plugin NAME _MODULES _LIBS)
shstk_qad_plugin(cd_${NAME} "${_MODULES}" "cd_${NAME};${_LIBS}")
endmacro()
set(_qt_libs cd_core)
set(_qt_plugs)
set(_qt_apps )
endif()
shstk_install(cd FALSE "" "${CD_VERSION_FILE}")
file(GLOB CMAKES "cmake/*.cmake" "cmake/*.in")
install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules)
add_subdirectory(libs)
if (UTILS AND QAD_FOUND)
add_subdirectory(utils)
endif()
shstk_is_parent_exists(_pe)
if (_pe)
set(CD_MODULES "cd_core" PARENT_SCOPE)
endif()
message("----------CD-----------")
message(" Build for ${QtVersions}")
message(" Version: ${CD_VERSION} ")
message(" Linkage: ${CD_LIB_TYPE_MSG}")
message(" Type : ${CD_BUILD_TYPE}")
if (NOT LOCAL)
message(" Install: \"${CMAKE_INSTALL_PREFIX}\"")
else()
if(NOT PIP_FREERTOS)
message(" Install: local \"bin\", \"lib\" and \"include\"")
endif()
endif()
message("")
print_list("${_qt_libs}" " Libraries:" " * ")
if (NOT "x${_qt_plugs}" STREQUAL "x")
message("")
print_list("${_qt_plugs}" " Plugins:" " * ")
endif()
if (NOT "x${_qt_apps}" STREQUAL "x")
message("")
print_list("${_qt_apps}" " Applications:" " * ")
endif()
message("-----------------------")
shstk_copy_to_parent()