87 lines
2.1 KiB
CMake
87 lines
2.1 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 0)
|
|
set(cd_REVISION 0)
|
|
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 REQUIRED)
|
|
|
|
include(SHSTKMacros)
|
|
include(QtWraps)
|
|
shstk_begin_project(cd CD)
|
|
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_qt_project(cd_${NAME} FALSE "cd" "${_MODULES}" "${_LIBS}" ${ARGN})
|
|
shstk_qt_install("cd" FALSE cd_${NAME} "${out_HDR}" "out_QM")
|
|
endmacro()
|
|
|
|
macro(cd_application NAME _MODULES _LIBS)
|
|
shstk_qt_project(${NAME} TRUE "cd" "${_MODULES}" "${_LIBS}" ${ARGN})
|
|
shstk_qt_install("cd" TRUE ${NAME} "" "out_QM")
|
|
endmacro()
|
|
|
|
macro(cd_plugin NAME _MODULES _LIBS)
|
|
shstk_qt_plugin(cd_${NAME} "${_MODULES}" "cd_${NAME};${_LIBS}")
|
|
endmacro()
|
|
|
|
shstk_install(cd FALSE "" "${cd_VERSION_FILE}")
|
|
file(GLOB CMAKES "cmake/*.cmake" "cmake/*.in")
|
|
install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules)
|
|
|
|
set(_qt_libs cd_core)
|
|
set(_qt_plugs)
|
|
set(_qt_apps )
|
|
|
|
add_subdirectory(libs)
|
|
if (UTILS)
|
|
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()
|