work with QGL*

This commit is contained in:
2020-08-21 20:16:02 +03:00
parent e4340a7215
commit aa009c36b0
9 changed files with 73 additions and 190 deletions

View File

@@ -11,13 +11,40 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" "${PIP_CMAKE_MODULE_PATH}" "
set(LIBPROJECT 1)
include(GenerateExportHeader)
include(SDKMacros)
include(QADMacros)
include(DeployMacros)
if(NOT DEFINED BUILD_NUMBER)
set(BUILD_NUMBER 9999)
endif()
if("x${BUILD_NUMBER}" STREQUAL "x")
set(BUILD_NUMBER 0)
endif()
if(STATIC_LIB)
set(QAD_LIB_TYPE STATIC)
add_definitions(-DQAD_STATIC_DEFINE)
else()
set(QAD_LIB_TYPE SHARED)
endif()
set(_QAD_MAJOR 1)
set(_QAD_MINOR 7)
set(_QAD_REVISION 0)
set(_QAD_SUFFIX )
set(_QAD_COMPANY SHS)
set(_QAD_DOMAIN org.SHS)
set(QAD_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/qad/qad_version.h")
set_version(QAD
MAJOR "${_QAD_MAJOR}"
MINOR "${_QAD_MINOR}"
REVISION "${_QAD_REVISION}"
BUILD "${BUILD_NUMBER}"
SUFFIX "${_QAD_SUFFIX}"
OUTPUT "${QAD_VERSION_FILE}")
set_deploy_property(QAD ${QAD_LIB_TYPE}
FULLNAME "${_QAD_DOMAIN}.*"
COMPANY "${_QAD_COMPANY}")
include_directories(${CMAKE_CURRENT_BINARY_DIR}/pip)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/qad)
include_directories(${CMAKE_CURRENT_BINARY_DIR}/piqt)

View File

@@ -1,23 +1,9 @@
cmake_minimum_required(VERSION 3.0)
cmake_policy(SET CMP0017 NEW) # need include() with .cmake
project(qad)
set(_QAD_MAJOR 1)
set(_QAD_MINOR 7)
set(_QAD_REVISION 0)
set(_QAD_SUFFIX )
set(_QAD_COMPANY SHS)
set(_QAD_DOMAIN org.SHS)
include(QADMacros)
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
if(STATIC_LIB)
set(QAD_LIB_TYPE STATIC)
add_definitions(-DQAD_STATIC_DEFINE)
else()
set(QAD_LIB_TYPE SHARED)
endif()
if (NOT DEFINED ANDROID_PLATFORM)
find_package(OpenGL REQUIRED)
endif()
@@ -30,17 +16,6 @@ endif()
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/qad_version.h")
file(REMOVE "${CMAKE_CURRENT_SOURCE_DIR}/qad_version.h")
endif()
set(QAD_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/qad_version.h")
set_version(QAD
MAJOR "${_QAD_MAJOR}"
MINOR "${_QAD_MINOR}"
REVISION "${_QAD_REVISION}"
BUILD "${BUILD_NUMBER}"
SUFFIX "${_QAD_SUFFIX}"
OUTPUT "${QAD_VERSION_FILE}")
set_deploy_property(QAD ${QAD_LIB_TYPE}
FULLNAME "${_QAD_DOMAIN}.*"
COMPANY "${_QAD_COMPANY}")
message(STATUS "Building QAD version ${QAD_VERSION} (${QAD_LIB_TYPE})")

View File

@@ -4,10 +4,21 @@ macro(_qt_install _TARGET IS_APP _DIR _HDR_VAR _QM_FILES)
endmacro()
macro(qad_plugin NAME _MODULES _LIBS)
macro(_qt_export_header NAME)
qt_get_target(${NAME} _some_target)
qt_get_target(${NAME} _targets)
foreach(_t ${_targets})
set_target_properties(${_t} PROPERTIES DEFINE_SYMBOL ${NAME}_EXPORTS)
endforeach()
set_target_properties(${_some_target} PROPERTIES DEFINE_SYMBOL ${NAME}_EXPORTS)
generate_export_header(${_some_target} BASE_NAME "${NAME}")
endmacro()
macro(_qt_plugin NAME _MODULES _LIBS)
if (NOT STATIC_LIB)
if(DESIGNER_PLUGINS)
set(PROJ_NAME qad_${NAME}_plugin)
set(PROJ_NAME ${NAME}_plugin)
include_directories("..")
add_definitions(-DQT_PLUGIN)
add_definitions(-DQT_NO_DEBUG)
@@ -17,7 +28,7 @@ macro(qad_plugin NAME _MODULES _LIBS)
qt_sources(SRC)
qt_wrap(${SRC} CPPS out_CPP QMS out_QM)
qt_add_library(${PROJ_NAME} SHARED out_CPP)
qt_target_link_libraries(${PROJ_NAME} ${_LIBS} qad_${NAME} ${_${NAME}_PLUGIN_LIBS})
qt_target_link_libraries(${PROJ_NAME} ${_LIBS} ${_${NAME}_PLUGIN_LIBS})
if (WIN32)
qt_install(TARGETS ${PROJ_NAME} RUNTIME DESTINATION QtPlugins/designer)
else()
@@ -55,13 +66,7 @@ macro(_qt_project NAME IS_APP DOMAIN _MODULES _LIBS)
if(NOT STATIC_LIB)
qt_target_compile_definitions(${PROJ_NAME} PRIVATE ${DOMAIN}_SHARED_DEFINE)
endif()
qt_get_target(${PROJ_NAME} _some_target)
qt_get_target(${PROJ_NAME} _targets)
foreach(_t ${_targets})
set_target_properties(${_t} PROPERTIES DEFINE_SYMBOL ${PROJ_NAME}_EXPORTS)
endforeach()
set_target_properties(${_some_target} PROPERTIES DEFINE_SYMBOL ${PROJ_NAME}_EXPORTS)
generate_export_header(${_some_target} BASE_NAME "${PROJ_NAME}")
_qt_export_header(${PROJ_NAME})
list(APPEND out_HDR "${CMAKE_CURRENT_BINARY_DIR}/${PROJ_NAME}_export.h")
endif()
qt_target_link_libraries(${PROJ_NAME} ${_LIBS})
@@ -85,3 +90,8 @@ macro(qad_application NAME _MODULES _LIBS)
_qt_project(${NAME} TRUE "QAD" "${_MODULES}" "${_LIBS}")
_qt_install(${NAME} TRUE "qad" "" "out_QM")
endmacro()
macro(qad_plugin NAME _MODULES _LIBS)
_qt_plugin(qad_${NAME} "${_MODULES}" "qad_${NAME};${_LIBS}")
endmacro()

View File

@@ -17,9 +17,11 @@ else()
endif()
find_library(MARKDOWN_LIBRARY markdown)
if (MARKDOWN_LIBRARY)
if(_mkd_header_found)
qad_library(doc "Core" "${MARKDOWN_LIBRARY}")
else()
qad_library(doc "Core" "${MARKDOWN_LIBRARY}")
if(NOT _mkd_header_found)
message(STATUS "Found markdown library, but *.h missing!")
endif()
else()
add_definitions("-DNO_MARKDOWN")
qad_library(doc "Core" "")
endif()

View File

@@ -1,5 +1,6 @@
#include "markdown.h"
#include <QDebug>
#ifndef NO_MARKDOWN
extern "C" {
#include MARKDOWN_HEADER
}
@@ -77,3 +78,10 @@ QString md2html(const QByteArray & src) {
return ret;
}
#else
QString md2html(const QByteArray & src) {
return src;
}
#endif

View File

@@ -7,21 +7,6 @@ find_qt(Qt5 Core Gui OpenGL Xml)
if (NOT Qt5)
message(WARNING "Building ${PROJECT_NAME} available only on Qt5!")
else()
if (LIBPROJECT)
include(SDKMacros)
else()
option(LIB "System install" 0)
option(DEBUG "Build with -g3" 0)
option(DESIGNER_PLUGINS "Build qt designer plugins" 1)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall")
if (DEBUG)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
endif()
include(DeployMacros)
endif()
if (MINGW)
find_package(MinGW REQUIRED)
endif()
find_package(OpenGL REQUIRED)
set_version(qglengine
MAJOR 1
@@ -47,37 +32,15 @@ else()
INFO "QGLEngine core library")
make_rc(qglengine_core _RC)
qt_add_library(qglengine_core SHARED out_CPP ${_RC})
_qt_export_header(qglengine_core)
list(APPEND out_HDR "${CMAKE_CURRENT_BINARY_DIR}/qglengine_core_export.h")
qt_target_include_directories(qglengine_core PRIVATE ${QAD_INCLUDES} "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/core")
qt_target_link_libraries(qglengine_core qad_utils qad_widgets assimp ${OPENGL_LIBRARIES})
message(STATUS "Building QGLEngine version ${qglengine_VERSION} (SHARED)")
list(APPEND QT_MULTILIB_LIST qglengine_core)
add_subdirectory(widgets)
set(QT_MULTILIB_LIST ${QT_MULTILIB_LIST} PARENT_SCOPE)
if (LIBPROJECT)
sdk_install("qglengine" FALSE "qglengine_core" "${out_HDR}" "${out_QM}")
else()
if (LIB)
if (WIN32)
qt_install(FILES ${out_HDR} DESTINATION ${MINGW_INCLUDE}/qglengine)
qt_install(TARGETS qglengine_core ARCHIVE DESTINATION ${MINGW_LIB})
qt_install(TARGETS qglengine_core RUNTIME DESTINATION ${MINGW_BIN})
qt_install(TARGETS qglengine_core RUNTIME DESTINATION QtBin)
else()
qt_install(FILES ${out_HDR} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/qglengine)
qt_install(TARGETS qglengine_core DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
endif()
message(STATUS "Install qglengine_core to system \"${CMAKE_INSTALL_PREFIX}\"")
else()
if(WIN32)
qt_install(TARGETS qglengine_core RUNTIME DESTINATION bin)
qt_install(TARGETS qglengine_core ARCHIVE DESTINATION lib)
else()
qt_install(TARGETS qglengine_core DESTINATION bin/lib)
endif()
qt_install(FILES ${out_HDR} DESTINATION include/qglengine)
message(STATUS "Install qglengine_core to local \"bin\", \"lib\" and \"include\"")
endif()
endif()
sdk_install("qglengine" FALSE "qglengine_core" "${out_HDR}" "${out_QM}")
if (NOT DEFINED ANDROID_PLATFORM)
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/plugin")
#add_subdirectory(plugin)

View File

@@ -16,34 +16,11 @@ set_deploy_property(${PROJECT_NAME} SHARED
INFO "QGLEngine widgets library")
make_rc(${PROJECT_NAME} _RC)
qt_add_library(${PROJECT_NAME} SHARED out_CPP ${_RC})
_qt_export_header(${PROJECT_NAME})
list(APPEND out_HDR "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_export.h")
qt_target_link_libraries(${PROJECT_NAME} qad_utils qad_widgets qglengine_core)
qt_target_include_directories(${PROJECT_NAME} PRIVATE ${QAD_INCLUDES} "${CMAKE_CURRENT_SOURCE_DIR}/../" "${CMAKE_CURRENT_SOURCE_DIR}/../core")
list(APPEND QT_MULTILIB_LIST ${PROJECT_NAME})
set(QT_MULTILIB_LIST ${QT_MULTILIB_LIST} PARENT_SCOPE)
#message(STATUS "Building ${PROJECT_NAME}")
if (LIBPROJECT)
sdk_install("qglengine" FALSE "${PROJECT_NAME}" "${out_HDR}" "${out_QM}")
else()
if (LIB)
if (WIN32)
qt_install(FILES ${out_HDR} DESTINATION ${MINGW_INCLUDE}/qglengine)
qt_install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_LIB})
qt_install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${MINGW_BIN})
qt_install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION QtBin)
else()
qt_install(FILES ${out_HDR} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/qglengine)
qt_install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
endif()
message(STATUS "Install ${PROJECT_NAME} to system \"${CMAKE_INSTALL_PREFIX}\"")
else()
if(WIN32)
qt_install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)
qt_install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION lib)
else()
qt_install(TARGETS ${PROJECT_NAME} DESTINATION bin/lib)
endif()
qt_install(TARGETS ${PROJECT_NAME} DESTINATION lib)
qt_install(FILES ${H} DESTINATION include/qglengine)
message(STATUS "Install ${PROJECT_NAME} to local \"bin\", \"lib\" and \"include\"")
endif()
endif()
sdk_install("qglengine" FALSE "${PROJECT_NAME}" "${out_HDR}" "${out_QM}")

View File

@@ -1,70 +1,8 @@
cmake_minimum_required(VERSION 3.0)
project(qglview)
if (IBPROJECT)
include(SDKMacros)
else()
option(LIB "System install" 0)
option(DEBUG "Build with -g3" 0)
option(DESIGNER_PLUGINS "Build qt designer plugins" 1)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall")
if (DEBUG)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
endif()
endif()
if (MINGW)
find_package(MinGW REQUIRED)
endif()
find_package(QAD REQUIRED)
find_package(OpenGL REQUIRED)
include_directories(${QAD_INCLUDES})
find_qt(Qt5 Core Gui OpenGL Xml)
if (NOT Qt5)
message(WARNING "Building ${PROJECT_NAME} available only on Qt5!")
else()
qt_sources(SRC)
qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS out_QM)
qt_add_library(${PROJECT_NAME} SHARED out_CPP)
qt_target_link_libraries(${PROJECT_NAME} qad_utils qad_widgets ${OPENGL_LIBRARIES})
qt_target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}")
message(STATUS "Building ${PROJECT_NAME}")
if (LIBPROJECT)
sdk_install("qad" FALSE "${PROJECT_NAME}" "${out_HDR}" "${out_QM}")
else()
if (LIB)
if (WIN32)
qt_install(FILES ${H} DESTINATION ${MINGW_INCLUDE}/qad)
qt_install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION ${MINGW_LIB})
qt_install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${MINGW_BIN})
qt_install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION QtBin)
else()
qt_install(FILES ${H} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/qad)
qt_install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
endif()
message(STATUS "Install ${PROJECT_NAME} to system \"${CMAKE_INSTALL_PREFIX}\"")
else()
if(WIN32)
qt_install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)
qt_install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION lib)
else()
qt_install(TARGETS ${PROJECT_NAME} DESTINATION lib)
endif()
qt_install(FILES ${H} DESTINATION include/qad)
message(STATUS "Install ${PROJECT_NAME} to local \"bin\", \"lib\" and \"include\"")
endif()
endif()
foreach(_v ${_QT_VERSIONS_})
set(MULTILIB_qglview_SUFFIX_Qt${_v} ${_v})
set(MULTILIB_qglview_SUFFIX_Qt${_v} ${_v} PARENT_SCOPE)
endforeach()
list(APPEND QT_MULTILIB_LIST qglview)
if (NOT DEFINED ANDROID_PLATFORM)
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/plugin")
add_subdirectory(plugin)
endif()
endif()
_qt_project(qglview FALSE "QAD" "Gui;OpenGL;Xml" "qad_widgets;qad_utils;${OPENGL_LIBRARIES}")
_qt_install(qglview FALSE "qad" "out_HDR" "out_QM")
qt_sources(test_SRC DIR "qglview_test")
qt_wrap(${test_SRC} CPPS test_CPP)
qt_add_executable(qglview_test test_CPP)
qt_target_link_libraries(qglview_test ${PROJECT_NAME})
endif()
qt_sources(test_SRC DIR "qglview_test")
qt_wrap(${test_SRC} CPPS test_CPP)
qt_add_executable(qglview_test test_CPP)
qt_target_link_libraries(qglview_test qglview)

View File

@@ -1,18 +1 @@
if (DESIGNER_PLUGINS)
if (NOT Qt5)
message(WARNING "Building ${PROJECT_NAME} available only on Qt5!")
else()
project(qglview_plugin)
include_directories("..")
add_definitions(-DQT_PLUGIN)
add_definitions(-DQT_NO_DEBUG)
add_definitions(-DQT_SHARED)
add_definitions(-DQDESIGNER_EXPORT_WIDGETS)
find_qt(Qt5 Core Designer Gui Widgets OpenGL)
qt_sources(SRC)
qt_wrap(${SRC} CPPS out_CPP QMS out_QM)
qt_add_library(${PROJECT_NAME} SHARED out_CPP)
qt_target_link_libraries(${PROJECT_NAME} qglview)
qt_install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION QtPlugins/designer)
endif()
endif()
_qt_plugin(qglview "Gui;Widgets;OpenGL" "qglview")