Files
cd/CMakeLists.txt
2020-09-05 01:22:09 +03:00

77 lines
1.9 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}")
if (NOT LOCAL)
file(GLOB CMAKES "cmake/*.cmake" "cmake/*.in")
install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules)
endif()
set(_qt_libs cd_core)
set(_qt_plugs)
set(_qt_apps )
add_subdirectory(libs)
if (UTILS)
add_subdirectory(utils)
endif()
message("----------CD-----------")
message(" Build for ${QtVersions}")
message(" Linkage: ${cd_LIB_TYPE_MSG}")
message(" Type : ${cd_BUILD_TYPE}")
message(" Install: \"${CMAKE_INSTALL_PREFIX}\"")
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()