66 lines
2.4 KiB
CMake
66 lines
2.4 KiB
CMake
cmake_minimum_required(VERSION 3.0)
|
|
project(qglengine)
|
|
find_package(QAD REQUIRED)
|
|
find_qt(Qt5 Core Gui OpenGL Xml)
|
|
if (NOT Qt5_FOUND)
|
|
message(WARNING "Building ${PROJECT_NAME} available only on Qt5!")
|
|
else()
|
|
find_package(OpenGL REQUIRED)
|
|
include(SHSTKQtMacros)
|
|
|
|
set(qglengine_MAJOR 1)
|
|
set(qglengine_MINOR 0)
|
|
set(qglengine_REVISION 0)
|
|
set(qglengine_SUFFIX "rc")
|
|
set(qglengine_COMPANY SHS)
|
|
set(qglengine_DOMAIN org.SHS)
|
|
|
|
if ("x${CMAKE_MODULE_PATH}" STREQUAL "x")
|
|
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
|
endif()
|
|
|
|
shstk_begin_project(qglengine QGLENGINE)
|
|
|
|
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 ${qglengine_LIB_TYPE}
|
|
LABEL "QGLEngine core library"
|
|
FULLNAME "${qglengine_DOMAIN}.qglengine_core"
|
|
COMPANY "${qglengine_COMPANY}"
|
|
INFO "QGLEngine core library")
|
|
make_rc(qglengine_core _RC)
|
|
qt_add_library(qglengine_core ${qglengine_LIB_TYPE} out_CPP ${_RC})
|
|
qt_generate_export_header(qglengine_core)
|
|
list(APPEND out_HDR "${CMAKE_CURRENT_BINARY_DIR}/qglengine_core_export.h")
|
|
list(APPEND out_HDR "${qglengine_VERSION_FILE}")
|
|
qt_target_include_directories(qglengine_core PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/core")
|
|
qt_target_link_libraries(qglengine_core QAD::Widgets assimp ${OPENGL_LIBRARIES})
|
|
message(STATUS "Building QGLEngine version ${qglengine_VERSION} (${qglengine_LIB_TYPE_MSG})")
|
|
list(APPEND QT_MULTILIB_LIST qglengine_core)
|
|
add_subdirectory(widgets)
|
|
shstk_copy_to_parent()
|
|
shstk_qt_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")
|
|
|
|
file(GLOB CMAKES "cmake/*.cmake" "cmake/*.in")
|
|
install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules)
|
|
|
|
endif()
|