project(qglengine) cmake_minimum_required(VERSION 2.6) find_package(QAD REQUIRED) if (NOT Qt5) message(WARNING "Building ${PROJECT_NAME} available only on Qt5!") return() endif() if (POLICY CMP0017) cmake_policy(SET CMP0017 NEW) endif() if (IBPROJECT) include(SDKMacros) else() option(LIB "System install" 0) option(DEBUG "Build with -g3" 0) 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(OpenGL REQUIRED) include_directories(${QAD_INCLUDES} "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/core") find_qt(Qt5 Core Gui OpenGL Xml) 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) qt_add_library(qglengine_core SHARED out_CPP) qt_target_link_libraries(qglengine_core qad_utils qad_widgets assimp ${OPENGL_LIBRARIES}) message(STATUS "Building qglengine_core") list(APPEND QT_MULTILIB_LIST qglengine_core) add_subdirectory(widgets) set(QT_MULTILIB_LIST ${QT_MULTILIB_LIST} PARENT_SCOPE) if (LIBPROJECT) sdk_install("qglengine" "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 DESTINATION ${MINGW_LIB}) qt_install(TARGETS qglengine_core DESTINATION ${MINGW_BIN}) qt_install(TARGETS qglengine_core 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() qt_install(TARGETS qglengine_core DESTINATION bin) message(STATUS "Install qglengine_core to local \"bin\"") endif() endif() 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(qglview_test test_CPP) qt_target_link_libraries(qglview_test qglengine_core qglengine_widgets)