work with QGL*
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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})")
|
||||
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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}")
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user