Merge pull request 'cmake refactoring' (#30) from cmake_refactor into master

Reviewed-on: https://git.shs.tools/SHS/qad/pulls/30
This commit was merged in pull request #30.
This commit is contained in:
2022-08-08 16:42:52 +03:00
4 changed files with 29 additions and 31 deletions

View File

@@ -1,13 +1,13 @@
cmake_minimum_required(VERSION 3.0) cmake_minimum_required(VERSION 3.0)
cmake_policy(SET CMP0017 NEW) # need include() with .cmake cmake_policy(SET CMP0017 NEW) # need include() with .cmake
cmake_policy(SET CMP0072 NEW) # FindOpenGL prefers GLVND by default cmake_policy(SET CMP0072 NEW) # FindOpenGL prefers GLVND by default
project(qad) project(QAD)
set(qad_MAJOR 2) set(QAD_MAJOR 2)
set(qad_MINOR 8) set(QAD_MINOR 8)
set(qad_REVISION 1) set(QAD_REVISION 1)
set(qad_SUFFIX ) set(QAD_SUFFIX )
set(qad_COMPANY SHS) set(QAD_COMPANY SHS)
set(qad_DOMAIN org.SHS) set(QAD_DOMAIN org.SHS)
if ("x${CMAKE_MODULE_PATH}" STREQUAL "x") if ("x${CMAKE_MODULE_PATH}" STREQUAL "x")
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
@@ -15,7 +15,7 @@ endif()
include(SHSTKMacros) include(SHSTKMacros)
include(QtWraps) include(QtWraps)
shstk_begin_project(qad QAD) shstk_begin_project(QAD)
include(SHSTKQtMacros) include(SHSTKQtMacros)
shstk_qt_founded(QtVersions) shstk_qt_founded(QtVersions)
@@ -34,12 +34,12 @@ option(DESIGNER_PLUGINS "Build Qt designer plugins" ${_plugins_default_})
option(HAS_GL "Build with OpenGL" ${_plugins_default_}) option(HAS_GL "Build with OpenGL" ${_plugins_default_})
macro(qad_library NAME _MODULES _LIBS) macro(qad_library NAME _MODULES _LIBS)
shstk_qad_project(qad_${NAME} FALSE "qad" "${_MODULES}" "${_LIBS}" ${ARGN}) shstk_qad_project(qad_${NAME} FALSE "QAD" "${_MODULES}" "${_LIBS}" ${ARGN})
shstk_qad_install("qad" FALSE qad_${NAME} "${out_HDR}" "out_QM") shstk_qad_install("qad" FALSE qad_${NAME} "${out_HDR}" "out_QM")
endmacro() endmacro()
macro(qad_application NAME _MODULES _LIBS) macro(qad_application NAME _MODULES _LIBS)
shstk_qad_project(${NAME} TRUE "qad" "${_MODULES}" "${_LIBS}" ${ARGN}) shstk_qad_project(${NAME} TRUE "QAD" "${_MODULES}" "${_LIBS}" ${ARGN})
shstk_qad_install("qad" TRUE ${NAME} "" "out_QM") shstk_qad_install("qad" TRUE ${NAME} "" "out_QM")
endmacro() endmacro()
@@ -47,7 +47,7 @@ macro(qad_plugin NAME _MODULES _LIBS)
shstk_qad_plugin(qad_${NAME} "${_MODULES}" "qad_${NAME};${_LIBS}") shstk_qad_plugin(qad_${NAME} "${_MODULES}" "qad_${NAME};${_LIBS}")
endmacro() endmacro()
shstk_install(qad FALSE "" "${qad_VERSION_FILE}") shstk_install(qad FALSE "" "${QAD_VERSION_FILE}")
file(GLOB CMAKES "cmake/*.cmake" "cmake/*.in") file(GLOB CMAKES "cmake/*.cmake" "cmake/*.in")
install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules) install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules)
@@ -58,9 +58,9 @@ endif()
message("----------QAD----------") message("----------QAD----------")
message(" Build for ${QtVersions}") message(" Build for ${QtVersions}")
message(" Version: ${qad_VERSION} ") message(" Version: ${QAD_VERSION} ")
message(" Linkage: ${qad_LIB_TYPE_MSG}") message(" Linkage: ${QAD_LIB_TYPE_MSG}")
message(" Type : ${qad_BUILD_TYPE}") message(" Type : ${QAD_BUILD_TYPE}")
if (NOT LOCAL) if (NOT LOCAL)
message(" Install: \"${CMAKE_INSTALL_PREFIX}\"") message(" Install: \"${CMAKE_INSTALL_PREFIX}\"")
else() else()

View File

@@ -19,7 +19,7 @@ These targets include directories and dependencies
cmake_policy(SET CMP0011 NEW) # don`t affect includer policies cmake_policy(SET CMP0011 NEW) # don`t affect includer policies
cmake_policy(SET CMP0020 NEW) # Automatically link Qt executables to qtmain target on Windows cmake_policy(SET CMP0020 NEW) # Automatically link Qt executables to qtmain target on Windows
if(NOT BUILDING_qad) if(NOT BUILDING_QAD)
find_package(PIP QUIET) find_package(PIP QUIET)
include(QtWraps) include(QtWraps)
include(SHSTKMacros) include(SHSTKMacros)
@@ -27,19 +27,17 @@ endif()
shstk_is_parent_exists(hasParent PARENT_DIRECTORY) shstk_is_parent_exists(hasParent PARENT_DIRECTORY)
shstk_set_find_dirs(qad QAD) shstk_set_find_dirs(QAD)
set(_SEARCH_DIR ${qad_LIBDIR})
qad_find_qt(Core QUIET) qad_find_qt(Core QUIET)
if(NOT SOME_QT_FOUND) if(NOT SOME_QT_FOUND)
message(WARNING "No qt found, please install qt") message(WARNING "No Qt found, please install Qt")
set(QAD_FOUND OFF CACHE BOOL "") set(QAD_FOUND OFF CACHE BOOL "")
return() return()
endif() endif()
if (NOT BUILDING_qad) if (NOT BUILDING_QAD)
list(APPEND _SEARCH_DIR $ENV{SMSDK_DIR}/lib) shstk_find_header(QAD "qad_version.h" ${QAD_INCDIR})
shstk_find_header(qad QAD "qad_version.h" "")
endif() endif()
if(QAD_FIND_VERSION VERSION_GREATER QAD_VERSION) if(QAD_FIND_VERSION VERSION_GREATER QAD_VERSION)
@@ -47,7 +45,7 @@ if(QAD_FIND_VERSION VERSION_GREATER QAD_VERSION)
endif() endif()
set(__libs "utils;widgets;application;blockview;graphic;sql_table;touch_widgets;doc") set(__libs "utils;widgets;application;blockview;graphic;sql_table;touch_widgets;doc")
if (PIP_FOUND OR BUILDING_pip) if (PIP_FOUND OR BUILDING_PIP)
list(APPEND __libs "piqt;piqt_utils") list(APPEND __libs "piqt;piqt_utils")
endif() endif()
@@ -76,12 +74,12 @@ set(__deps_sql_table "QAD::Widgets")
set(__deps_piqt "QAD::Widgets;PIP") set(__deps_piqt "QAD::Widgets;PIP")
set(__deps_piqt_utils "QAD::Blockview;QAD::PIQt") set(__deps_piqt_utils "QAD::Blockview;QAD::PIQt")
#message("find QAD ${BUILDING_qad}") #message("find QAD ${BUILDING_QAD}")
if (BUILDING_qad) if (BUILDING_QAD)
if (NOT SET_TARGETS_qad) if (NOT SET_TARGETS_QAD)
set(SET_TARGETS_qad ON CACHE BOOL "") set(SET_TARGETS_QAD ON CACHE BOOL "")
#message("create aliases") #message("create aliases")
foreach(_l ${__libs}) foreach(_l ${__libs})
foreach(_v ${_QT_VERSIONS_}) foreach(_v ${_QT_VERSIONS_})
@@ -104,7 +102,7 @@ else()
foreach(_l ${__libs}) foreach(_l ${__libs})
foreach(_v ${_QT_VERSIONS_}) foreach(_v ${_QT_VERSIONS_})
set(_m ${__module_${_l}}) set(_m ${__module_${_l}})
find_library(QAD_LIBRARY_${_l}${_v} qad_${_l}${_v} HINTS ${_SEARCH_DIR}) find_library(QAD_LIBRARY_${_l}${_v} qad_${_l}${_v} HINTS ${QAD_LIBDIR})
#message("found ${_l}${_v} = ${QAD_LIBRARY_${_l}${_v}}") #message("found ${_l}${_v} = ${QAD_LIBRARY_${_l}${_v}}")
if((NOT TARGET QAD::${_m}${_v}) AND QAD_LIBRARY_${_l}${_v}) if((NOT TARGET QAD::${_m}${_v}) AND QAD_LIBRARY_${_l}${_v})
#message("imported QAD::${_m}${_v} = ${QAD_LIBRARY_${_l}${_v}}") #message("imported QAD::${_m}${_v} = ${QAD_LIBRARY_${_l}${_v}}")
@@ -120,7 +118,7 @@ else()
endforeach() endforeach()
set_target_properties(QAD::${_m}${_v} PROPERTIES set_target_properties(QAD::${_m}${_v} PROPERTIES
IMPORTED_LOCATION "${QAD_LIBRARY_${_l}${_v}}" IMPORTED_LOCATION "${QAD_LIBRARY_${_l}${_v}}"
INTERFACE_INCLUDE_DIRECTORIES "${qad_INCLUDES}" INTERFACE_INCLUDE_DIRECTORIES "${QAD_INCLUDES}"
INTERFACE_LINK_LIBRARIES "${_deps}") INTERFACE_LINK_LIBRARIES "${_deps}")
endif() endif()
endforeach() endforeach()

View File

@@ -1,8 +1,8 @@
find_package(PIP) find_package(PIP)
if (PIP_FOUND AND BUILDING_pip) if (PIP_FOUND AND BUILDING_PIP)
project(piqt_utils) project(piqt_utils)
pip_code_model(CCM "${pip_ROOT_SRC}/libs/main/io_devices/piiodevice.h" "${pip_ROOT_SRC}/libs/main/io_utils/pipacketextractor.h" OPTIONS "-DPIP_EXPORT" "-Es" ABSOLUTE) pip_code_model(CCM "${PIP_ROOT_SRC}/libs/main/io_devices/piiodevice.h" "${PIP_ROOT_SRC}/libs/main/io_utils/pipacketextractor.h" OPTIONS "-DPIP_EXPORT" "-Es" ABSOLUTE)
qad_library(piqt_utils "Gui" "qad_blockview;qad_piqt" ${CCM}) qad_library(piqt_utils "Gui" "qad_blockview;qad_piqt" ${CCM})
foreach(_v ${_QT_VERSIONS_}) foreach(_v ${_QT_VERSIONS_})

View File

@@ -1,6 +1,6 @@
if (((DEFINED QGLVIEW) AND QGLVIEW) OR (NOT DEFINED QGLVIEW)) if (((DEFINED QGLVIEW) AND QGLVIEW) OR (NOT DEFINED QGLVIEW))
find_package(OpenGL REQUIRED) find_package(OpenGL REQUIRED)
shstk_qad_project(qglview FALSE "qad" "Gui;OpenGL;OpenGLWidgets;Xml" "qad_widgets;qad_utils;${OPENGL_LIBRARIES}") shstk_qad_project(qglview FALSE "QAD" "Gui;OpenGL;OpenGLWidgets;Xml" "qad_widgets;qad_utils;${OPENGL_LIBRARIES}")
shstk_qad_install("qad" FALSE qglview "${out_HDR}" "${out_QM}") shstk_qad_install("qad" FALSE qglview "${out_HDR}" "${out_QM}")
qad_sources(test_SRC DIR "qglview_test") qad_sources(test_SRC DIR "qglview_test")