From 665578ace314fe3b74a720cfa9fdd41dab923456 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B5=D0=BB=D0=B8=D0=BF=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD?= Date: Mon, 23 Mar 2020 14:08:28 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/libs@887 a8b55f48-bf90-11e4-a774-851b48703e85 --- CMakeLists.txt | 24 ++--- cd_utils/CMakeLists.txt | 3 - deploy_tool/CMakeLists.txt | 3 - piqt/CMakeLists.txt | 3 - piqt/clean | 4 - piqt/clean.bat | 4 - piqt/make_lib.bat | 1 - piqt_utils/CMakeLists.txt | 3 - piqt_utils/piconnedit/CMakeLists.txt | 1 + piqt_utils/pidumper/CMakeLists.txt | 1 + piqt_utils/piintrospector/CMakeLists.txt | 1 + qad/CMakeLists.txt | 7 +- qad/QADConfig.cmake | 1 - qad/{ => cmake}/FindQAD.cmake | 2 +- qad/{ => cmake}/QADDeploy.cmake | 4 +- qad/{ => cmake}/QtWraps.cmake | 16 ++- qad/{ => cmake}/TargetArch.cmake | 0 qcd_utils/CMakeLists.txt | 3 - qcd_utils/pult/CMakeLists.txt | 1 + qcd_utils/pult/cdgraphics.cpp | 10 +- qcd_utils/qcd_graphic.cpp | 10 ++ qcd_utils/qcd_graphic.h | 5 + qglengine/CMakeLists.txt | 128 +++++++++++------------ qglengine/widgets/CMakeLists.txt | 1 + qglview/CMakeLists.txt | 4 +- 25 files changed, 119 insertions(+), 121 deletions(-) delete mode 100644 piqt/clean delete mode 100644 piqt/clean.bat delete mode 100644 piqt/make_lib.bat delete mode 100644 qad/QADConfig.cmake rename qad/{ => cmake}/FindQAD.cmake (97%) rename qad/{ => cmake}/QADDeploy.cmake (95%) rename qad/{ => cmake}/QtWraps.cmake (92%) rename qad/{ => cmake}/TargetArch.cmake (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 745201d..72504cf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,21 +1,15 @@ cmake_minimum_required(VERSION 3.0) -if (POLICY CMP0020) - cmake_policy(SET CMP0020 NEW) -endif() -if (POLICY CMP0011) - cmake_policy(SET CMP0011 NEW) -endif() -#if (POLICY CMP0017) - #cmake_policy(SET CMP0017 OLD) -#endif() +cmake_policy(SET CMP0011 NEW) # don`t affect includer policies +cmake_policy(SET CMP0017 NEW) # need include() with .cmake +cmake_policy(SET CMP0020 NEW) # Automatically link Qt executables to qtmain target on Windows if (POLICY CMP0053) - cmake_policy(SET CMP0053 NEW) + cmake_policy(SET CMP0053 NEW) # simpler variable expansion and escape sequence evaluation rules endif() project(libs) -include(SDKMacros.cmake) +set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/pip/cmake" "${CMAKE_CURRENT_SOURCE_DIR}/qad/cmake") +include(SDKMacros) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) set(LIBPROJECT 1) -set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/pip/") include_directories(${CMAKE_CURRENT_BINARY_DIR}/pip) if(MINGW) find_package(MinGW REQUIRED) @@ -62,7 +56,6 @@ if (DEBUG) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3") endif () -include(SDKMacros.cmake) set(CMAKE_CXX_STANDARD 11) set(PIP_LIBRARY pip) @@ -107,7 +100,7 @@ endif() set(QAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/qad) -include(qad/QtWraps.cmake) +include(QtWraps) find_qt(Core QUIET) set(QtVersions) set(SomeQtFound 0) @@ -145,12 +138,13 @@ if (SomeQtFound) foreach(_D ${_DIRS}) list(APPEND QT_MULTILIB_LIST ${_D}) endforeach(_D) + include_directories(piqt) else() message(STATUS "None of Qt found, skip Qt-derived targets") endif() +include_directories(cd_utils) list(INSERT _DIRS 0 cd_utils deploy_tool) foreach(_D ${_DIRS}) - include_directories(${_D}) add_subdirectory(${_D}) endforeach(_D) diff --git a/cd_utils/CMakeLists.txt b/cd_utils/CMakeLists.txt index 6b93f18..c58b05e 100644 --- a/cd_utils/CMakeLists.txt +++ b/cd_utils/CMakeLists.txt @@ -1,8 +1,5 @@ cmake_minimum_required(VERSION 3.0) project(cd_utils) -if (POLICY CMP0017) - cmake_policy(SET CMP0017 NEW) -endif() if (NOT LIBPROJECT) find_package(PIP REQUIRED) option(LIB "System install" 1) diff --git a/deploy_tool/CMakeLists.txt b/deploy_tool/CMakeLists.txt index d06cd99..28de768 100644 --- a/deploy_tool/CMakeLists.txt +++ b/deploy_tool/CMakeLists.txt @@ -1,8 +1,5 @@ cmake_minimum_required(VERSION 3.0) project(deploy_tool) -if (POLICY CMP0017) - cmake_policy(SET CMP0017 NEW) -endif() if (NOT LIBPROJECT) find_package(PIP REQUIRED) option(LIB "System install" 1) diff --git a/piqt/CMakeLists.txt b/piqt/CMakeLists.txt index 4680cd0..ca1c9a8 100644 --- a/piqt/CMakeLists.txt +++ b/piqt/CMakeLists.txt @@ -1,8 +1,5 @@ cmake_minimum_required(VERSION 3.0) project(piqt) -if (POLICY CMP0017) - cmake_policy(SET CMP0017 NEW) -endif() if(NOT LIBPROJECT) find_package(PIP REQUIRED) option(LIB "System install" 0) diff --git a/piqt/clean b/piqt/clean deleted file mode 100644 index b687351..0000000 --- a/piqt/clean +++ /dev/null @@ -1,4 +0,0 @@ -#! /bin/bash -VERBOSE=1 make clean -rm -rvf CMakeFiles -rm -vf CMakeCache.txt Makefile cmake_install.cmake install_manifest.txt *.dll *.a *.so *.user* *~ *cxx moc_* ui_* qrc_* *.o *.bak diff --git a/piqt/clean.bat b/piqt/clean.bat deleted file mode 100644 index f4b0eb0..0000000 --- a/piqt/clean.bat +++ /dev/null @@ -1,4 +0,0 @@ -#make clean -del /q /f /s CMakeFiles -rmdir /q /s CMakeFiles -del /q /f CMakeCache.txt Makefile cmake_install.cmake install_manifest.txt *.user* *~ *cxx moc_* ui_* qrc_* *.o *.exe *.a *.dll *.lib core *.bak diff --git a/piqt/make_lib.bat b/piqt/make_lib.bat deleted file mode 100644 index 0148a43..0000000 --- a/piqt/make_lib.bat +++ /dev/null @@ -1 +0,0 @@ -cmake -G "MinGW Makefiles" -DLIB=1 && make install . %* diff --git a/piqt_utils/CMakeLists.txt b/piqt_utils/CMakeLists.txt index 218be4c..fbadc3c 100644 --- a/piqt_utils/CMakeLists.txt +++ b/piqt_utils/CMakeLists.txt @@ -1,8 +1,5 @@ cmake_minimum_required(VERSION 3.0) project(piqt_utils) -if (POLICY CMP0017) - cmake_policy(SET CMP0017 NEW) -endif() set(PIQT_UTILS_UTILS 1) if(LIBPROJECT) include(PIPMacros) diff --git a/piqt_utils/piconnedit/CMakeLists.txt b/piqt_utils/piconnedit/CMakeLists.txt index 48150b6..fd96b3d 100644 --- a/piqt_utils/piconnedit/CMakeLists.txt +++ b/piqt_utils/piconnedit/CMakeLists.txt @@ -4,6 +4,7 @@ find_qt(${QtVersions} Core Gui) qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS out_QM) qt_add_executable(${PROJECT_NAME} WIN32 out_CPP) qt_target_link_libraries(${PROJECT_NAME} pip qad_utils qad_widgets piqt_utils) +qt_target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../") message(STATUS "Building ${PROJECT_NAME}") if(LIB) if(WIN32) diff --git a/piqt_utils/pidumper/CMakeLists.txt b/piqt_utils/pidumper/CMakeLists.txt index 95cd5df..464d84d 100644 --- a/piqt_utils/pidumper/CMakeLists.txt +++ b/piqt_utils/pidumper/CMakeLists.txt @@ -4,6 +4,7 @@ find_qt(${QtVersions} Core Gui) qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS out_QM) qt_add_executable(${PROJECT_NAME} WIN32 out_CPP) qt_target_link_libraries(${PROJECT_NAME} pip qad_utils qad_widgets piqt_utils) +qt_target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../") message(STATUS "Building ${PROJECT_NAME}") if(LIB) if(WIN32) diff --git a/piqt_utils/piintrospector/CMakeLists.txt b/piqt_utils/piintrospector/CMakeLists.txt index 6eabc24..70c6a2e 100644 --- a/piqt_utils/piintrospector/CMakeLists.txt +++ b/piqt_utils/piintrospector/CMakeLists.txt @@ -6,6 +6,7 @@ find_qt(${QtVersions} Core Gui) qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS out_QM) qt_add_executable(${PROJECT_NAME} WIN32 out_CPP PII_CCM) qt_target_link_libraries(${PROJECT_NAME} pip qad_utils qad_widgets qad_application piqt_utils) +qt_target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../") message(STATUS "Building ${PROJECT_NAME}") if(LIB) if(WIN32) diff --git a/qad/CMakeLists.txt b/qad/CMakeLists.txt index 252336e..68499f2 100644 --- a/qad/CMakeLists.txt +++ b/qad/CMakeLists.txt @@ -1,7 +1,8 @@ cmake_minimum_required(VERSION 3.0) +cmake_policy(SET CMP0017 NEW) # need include() with .cmake project(qad) -if (POLICY CMP0017) - cmake_policy(SET CMP0017 NEW) +if ("x${CMAKE_MODULE_PATH}" STREQUAL "x") + set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") endif() if (NOT LIBPROJECT) option(LIB "System install" 1) @@ -53,7 +54,7 @@ if (NOT LIBPROJECT) endif() endif() -set(CMAKES "FindQAD.cmake" "QtWraps.cmake" "QADDeploy.cmake" "TargetArch.cmake") +file(GLOB CMAKES "cmake/*.cmake") if (LIB) install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules) diff --git a/qad/QADConfig.cmake b/qad/QADConfig.cmake deleted file mode 100644 index b80e857..0000000 --- a/qad/QADConfig.cmake +++ /dev/null @@ -1 +0,0 @@ -include(${QAD_DIR}/FindQAD.cmake) diff --git a/qad/FindQAD.cmake b/qad/cmake/FindQAD.cmake similarity index 97% rename from qad/FindQAD.cmake rename to qad/cmake/FindQAD.cmake index edd5486..ba63d56 100644 --- a/qad/FindQAD.cmake +++ b/qad/cmake/FindQAD.cmake @@ -56,7 +56,7 @@ foreach(_Q ${_QAD_LIBS}) #message(STATUS "Library qad_${_Q}5 (${_QU}) -> ${QAD5_${_QU}_LIBRARY} found in ${_SEARCH_DIR}") list(APPEND QT_MULTILIB_LIST qad_${_Q}) endforeach() -list(APPEND QT_MULTILIB_LIST qglview) +list(APPEND QT_MULTILIB_LIST qglview qglengine_core qglengine_widgets) foreach(_v ${_QT_VERSIONS_}) find_library(QGLVIEW${_v}_LIBRARY qglview${_v} ${_SEARCH_DIR}) set(MULTILIB_qglview_SUFFIX_Qt${_v} ${_v}) diff --git a/qad/QADDeploy.cmake b/qad/cmake/QADDeploy.cmake similarity index 95% rename from qad/QADDeploy.cmake rename to qad/cmake/QADDeploy.cmake index 95f6682..9634195 100644 --- a/qad/QADDeploy.cmake +++ b/qad/cmake/QADDeploy.cmake @@ -1,5 +1,5 @@ if (POLICY CMP0057) - cmake_policy(SET CMP0057 NEW) + cmake_policy(SET CMP0057 NEW) # Support if() IN_LIST endif() set(__prop_names "LABEL;VERSION;FULLNAME;COMPANY;ICON;INFO") include(TargetArch) @@ -307,7 +307,7 @@ macro(deploy_target _T) COMMAND deploy_tool -W "\"${CMAKE_OBJDUMP}\"" -P windows -S windows -q "\"${Qt5_ROOT}\"" -s "\"${CMAKE_PREFIX_PATH}/bin;${MINGW_BIN};${DEPLOY_ADD_LIBPATH}${_DEP_LIBPATH}\"" -o ${_AGD} -p ${_AGD} "\"${_AGD}${_T}.exe\"" # zip - COMMAND cd "\"${_DEPLOY_DIR}\"" "&&" zip -9 -r "\"${_DESTINATION}/${_TV}.zip\"" "\"${_TV}_win_${MY_ARCH}\"" + COMMAND cd "\"${_DEPLOY_DIR}\"" "&&" zip -r "\"${_DESTINATION}/${_TV}.zip\"" "\"${_TV}_win_${MY_ARCH}\"" COMMENT "Generating ${_TV}.zip" ) elseif (APPLE) diff --git a/qad/QtWraps.cmake b/qad/cmake/QtWraps.cmake similarity index 92% rename from qad/QtWraps.cmake rename to qad/cmake/QtWraps.cmake index 3e46e6a..61e8cef 100644 --- a/qad/QtWraps.cmake +++ b/qad/cmake/QtWraps.cmake @@ -371,7 +371,7 @@ macro(qt_add_executable _NAME) set(_TARGET ${_NAME}${TARGET_SUFFIX_Qt${_v}}) add_executable(${_TARGET} ${_PREF} ${_ARGS}) set(_${_NAME}_is_qt 1) - target_include_directories(${_TARGET} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/qt${_v} ${Qt${_v}_INCLUDES}) + target_include_directories(${_TARGET} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/qt${_v} ${Qt${_v}_INCLUDES}) if(APPLE) set(CMAKE_INSTALL_NAME_DIR "${_PREV_CIND}") @@ -413,7 +413,7 @@ macro(qt_add_library _NAME) set(_TARGET ${_NAME}${TARGET_SUFFIX_Qt${_v}}) add_library(${_TARGET} ${_PREF} ${_ARGS}) set(_${_NAME}_is_qt 1) - target_include_directories(${_TARGET} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/qt${_v} ${Qt${_v}_INCLUDES}) + target_include_directories(${_TARGET} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/qt${_v} ${Qt${_v}_INCLUDES}) #message("add lib: \"${_TARGET}\"") if(APPLE) @@ -485,6 +485,18 @@ macro(qt_target_compile_definitions _NAME) endmacro() +# usage: qt_target_include_directories(...), syntax similar to original "target_include_directories()" +# Add include directories to a target +macro(qt_target_include_directories _NAME) + foreach(_v ${_QT_VERSIONS_}) + if (LOCAL_FOUND${_v}) + set(_TARGET ${_NAME}${TARGET_SUFFIX_Qt${_v}}) + target_include_directories(${_TARGET} ${ARGN}) + endif() + endforeach() +endmacro() + + # usage: qt_install(...), syntax similar to original "install()" # install targets for founded Qt versions # if DESTINATION set to "QtBin" files will be installed diff --git a/qad/TargetArch.cmake b/qad/cmake/TargetArch.cmake similarity index 100% rename from qad/TargetArch.cmake rename to qad/cmake/TargetArch.cmake diff --git a/qcd_utils/CMakeLists.txt b/qcd_utils/CMakeLists.txt index fc29e2e..e798b52 100644 --- a/qcd_utils/CMakeLists.txt +++ b/qcd_utils/CMakeLists.txt @@ -1,8 +1,5 @@ cmake_minimum_required(VERSION 3.0) project(qcd_utils) -if (POLICY CMP0017) - cmake_policy(SET CMP0017 NEW) -endif() if (NOT LIBPROJECT) find_package(PIP REQUIRED) option(LIB "System install" 0) diff --git a/qcd_utils/pult/CMakeLists.txt b/qcd_utils/pult/CMakeLists.txt index f5f40a0..6968e0b 100644 --- a/qcd_utils/pult/CMakeLists.txt +++ b/qcd_utils/pult/CMakeLists.txt @@ -4,6 +4,7 @@ qt_sources(SRC) qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS out_QM) qt_add_executable(${PROJECT_NAME} WIN32 out_CPP) qt_target_link_libraries(${PROJECT_NAME} qad_utils qad_widgets qad_graphic qad_application qcd_utils piqt_utils) +qt_target_include_directories(${PROJECT_NAME} PRIVATE ${QAD_INCLUDES} "${CMAKE_CURRENT_SOURCE_DIR}/../" "${CMAKE_CURRENT_SOURCE_DIR}/../../piqt_utils") message(STATUS "Building ${PROJECT_NAME}") if(LIB) if(WIN32) diff --git a/qcd_utils/pult/cdgraphics.cpp b/qcd_utils/pult/cdgraphics.cpp index 04841f7..8aaa452 100644 --- a/qcd_utils/pult/cdgraphics.cpp +++ b/qcd_utils/pult/cdgraphics.cpp @@ -1,5 +1,5 @@ #include "cdgraphics.h" -#include "ui_qcd_graphic.h" +//#include "ui_qcd_graphic.h" #include "cdutils_core.h" #include "cdutils_x.h" #include "qcd_core.h" @@ -80,8 +80,8 @@ QByteArray GDockWidget::save() const { cs.add(1, windowTitle()) .add(2, getList(x_list)) .add(3, graphic->graphic()->save()) - .add(4, graphic->ui->evalHistory->expression()) - .add(5, graphic->ui->evalVisible->expression()); + .add(4, graphic->evalSpinBoxHistory()->expression()) + .add(5, graphic->evalSpinBoxVisible()->expression()); return cs.data(); } @@ -94,8 +94,8 @@ void GDockWidget::load(QByteArray ba) { case 1: setWindowTitle(cs.getData()); break; case 2: x_list = setList(cs.getData()); break; case 3: graphic->graphic()->load(cs.getData()); break; - case 4: graphic->ui->evalHistory->setExpression(cs.getData()); break; - case 5: graphic->ui->evalVisible->setExpression(cs.getData()); break; + case 4: graphic->evalSpinBoxHistory()->setExpression(cs.getData()); break; + case 5: graphic->evalSpinBoxVisible()->setExpression(cs.getData()); break; default: break; } } diff --git a/qcd_utils/qcd_graphic.cpp b/qcd_utils/qcd_graphic.cpp index 5583495..5eac6f6 100644 --- a/qcd_utils/qcd_graphic.cpp +++ b/qcd_utils/qcd_graphic.cpp @@ -28,3 +28,13 @@ void CDGraphicWidget::setConfigVisible(bool on) { bool CDGraphicWidget::isConfigVisible() const { return ui->widgetConfig->isVisible(); } + + +EvalSpinBox * CDGraphicWidget::evalSpinBoxHistory() { + return ui->evalHistory; +} + + +EvalSpinBox * CDGraphicWidget::evalSpinBoxVisible() { + return ui->evalVisible; +} diff --git a/qcd_utils/qcd_graphic.h b/qcd_utils/qcd_graphic.h index d082fea..5f23a60 100644 --- a/qcd_utils/qcd_graphic.h +++ b/qcd_utils/qcd_graphic.h @@ -2,6 +2,7 @@ #define QCD_GRAPHIC_H #include +#include #include namespace CDUtils { @@ -14,6 +15,7 @@ namespace Ui { } class Graphic; +class Graphic; class CDGraphicWidget: public QWidget { @@ -26,6 +28,9 @@ public: Graphic * graphic() const; bool isConfigVisible() const; + EvalSpinBox * evalSpinBoxHistory(); + EvalSpinBox * evalSpinBoxVisible(); + public slots: void setConfigVisible(bool on); diff --git a/qglengine/CMakeLists.txt b/qglengine/CMakeLists.txt index 0367fef..4d0aa1d 100644 --- a/qglengine/CMakeLists.txt +++ b/qglengine/CMakeLists.txt @@ -3,74 +3,72 @@ project(qglengine) 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) - 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(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) -file(GLOB PHS "*_p.h" "formats/*_p.h" "core/*_p.h") -list(REMOVE_ITEM out_HDR "${PHS}") -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 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}\"") + if (IBPROJECT) + include(SDKMacros) 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) + 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() - qt_install(FILES ${out_HDR} DESTINATION include/qglengine) - message(STATUS "Install qglengine_core to local \"bin\", \"lib\" and \"include\"") endif() -endif() -if (NOT DEFINED ANDROID_PLATFORM) - if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/plugin") - #add_subdirectory(plugin) + if (MINGW) + find_package(MinGW REQUIRED) + endif() + find_package(OpenGL REQUIRED) + 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) + file(GLOB PHS "*_p.h" "formats/*_p.h" "core/*_p.h") + list(REMOVE_ITEM out_HDR "${PHS}") + qt_add_library(qglengine_core SHARED out_CPP) + 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_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 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() + if (NOT DEFINED ANDROID_PLATFORM) + if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/plugin") + #add_subdirectory(plugin) + endif() 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) + 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() diff --git a/qglengine/widgets/CMakeLists.txt b/qglengine/widgets/CMakeLists.txt index b50dd52..9a9eae8 100644 --- a/qglengine/widgets/CMakeLists.txt +++ b/qglengine/widgets/CMakeLists.txt @@ -10,6 +10,7 @@ file(GLOB PHS "*_p.h") list(REMOVE_ITEM out_HDR "${PHS}") qt_add_library(${PROJECT_NAME} SHARED out_CPP) 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}") diff --git a/qglview/CMakeLists.txt b/qglview/CMakeLists.txt index 31ed242..a7d2fb3 100644 --- a/qglview/CMakeLists.txt +++ b/qglview/CMakeLists.txt @@ -1,8 +1,5 @@ cmake_minimum_required(VERSION 3.0) project(qglview) -if (POLICY CMP0017) - cmake_policy(SET CMP0017 NEW) -endif() if (IBPROJECT) include(SDKMacros) else() @@ -25,6 +22,7 @@ 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" "${PROJECT_NAME}" "${out_HDR}" "${out_QM}")