cmake_minimum_required(VERSION 3.0) project(qglengine) find_package(QAD REQUIRED) set(_DOMAIN "org.SHS") set(_COMPANY "SHS") find_qt(Qt5 Core Gui OpenGL Xml) if (NOT Qt5) message(WARNING "Building ${PROJECT_NAME} available only on Qt5!") else() find_package(OpenGL REQUIRED) set_version(qglengine MAJOR 1 MINOR 0 REVISION 0 BUILD "${BUILD_NUMBER}" SUFFIX rc OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/core/qglengine_version.h") qt_sources(SRC) qt_sources(FSRC DIR "formats") list(APPEND SRC ${FSRC}) qt_sources(FSRC DIR "core") list(APPEND SRC ${FSRC}) qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS out_QM) file(GLOB PHS "*_p.h" "formats/*_p.h" "core/*_p.h") list(REMOVE_ITEM out_HDR "${PHS}") import_version(qglengine_core qglengine) set_deploy_property(qglengine_core SHARED LABEL "QGLEngine core library" FULLNAME "${_DOMAIN}.qglengine_core" COMPANY "${_COMPANY}" INFO "QGLEngine core library") make_rc(qglengine_core _RC) qt_add_library(qglengine_core SHARED out_CPP ${_RC}) qt_generate_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) copy_to_parent("") 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) endif() endif() qt_sources(test_SRC DIR "qglview_test") qt_wrap(${test_SRC} CPPS test_CPP) qt_add_executable(qglengine_test test_CPP) qt_target_link_libraries(qglengine_test qglengine_core qglengine_widgets) qt_target_include_directories(qglengine_test PRIVATE ${QAD_INCLUDES} "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/core" "${CMAKE_CURRENT_SOURCE_DIR}/widgets") endif()