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()