From e86cca495fcd63d306e6aa110f52c3f9a3bfea7d Mon Sep 17 00:00:00 2001 From: Ivan Pelipenko Date: Sun, 6 Sep 2020 22:51:29 +0300 Subject: [PATCH] android/win build ok --- CMakeLists.txt | 143 +++++------------------------------------- cd | 2 +- cmake | 2 +- make_libs.bat | 4 +- make_libs_android.bat | 8 +-- qad | 2 +- qglengine | 2 +- 7 files changed, 27 insertions(+), 136 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b445f81..aa06396 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,8 +11,10 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" "${CMAKE_CURRENT_SOURCE_DIR}/pip/cmake" "${CMAKE_CURRENT_SOURCE_DIR}/qad/cmake" + "${CMAKE_CURRENT_SOURCE_DIR}/qglengine/cmake" "${CMAKE_CURRENT_SOURCE_DIR}/cd_utils/cmake" ) +set(ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}") include(QtWraps) include(SHSTKMacros) @@ -20,8 +22,8 @@ include(SHSTKMacros) shstk_begin_project("" "") option(CROSSTOOLS "Crosstools minimal build" OFF) -option(QGLVIEW "Build QGLView library and utils" OFF) -option(QGLENGINE "Build QGLEngine library and utils" OFF) +option(QGLVIEW "Build QGLView library and utils" ON) +option(QGLENGINE "Build QGLEngine library and utils" ON) option(UTILS "Build various utils" ${_plugins_default_}) option(DESIGNER_PLUGINS "Build Qt designer plugins" ${_plugins_default_}) if (CROSSTOOLS) @@ -33,142 +35,31 @@ if (CROSSTOOLS) endif() set(CMAKE_CXX_STANDARD 11) +add_subdirectory(cmake) + add_subdirectory(pip) find_package(PIP REQUIRED) -find_qt(Core QUIET) -if (SOME_QT_FOUND) +if (NOT CROSSTOOLS) - add_subdirectory(qad) - find_package(QAD REQUIRED) - -endif() - -#message("cmg = \"${PIP_CMG}\"") -#if (PIP_FOUND) -# message("found pip = \"${PIP_FOUND}\"") -#endif() -#message("inc = \"${PIP_INCLUDES}\"") - -qt_add_executable(aaa ${CMAKE_CURRENT_SOURCE_DIR}/pip/main.cpp) -qt_target_link_libraries(aaa QAD::PIQtUtils) -#deploy_target(aaa DEPLOY_DIR ${CMAKE_CURRENT_BINARY_DIR}) - -return() - -add_subdirectory(cmake) - -if (CROSSTOOLS) - - add_subdirectory(pip) - file(GLOB CMAKES "qad/cmake/*.cmake" "qad/cmake/*.in") - install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules) - -else() - - include(QtWraps) find_qt(Core QUIET) - set(QtVersions) - set(SomeQtFound 0) - foreach(_v ${_QT_VERSIONS_}) - option(Qt${_v} "Build for Qt${_v}" 1) - if (Qt${_v}) - #message("Qt${_v} -> ${LOCAL_FOUND${_v}}") - if (LOCAL_FOUND${_v}) - list(APPEND QtVersions Qt${_v}) - set(SomeQtFound 1) - endif() - endif() - endforeach() + if (SOME_QT_FOUND) - #if(UTILS) - # message(STATUS "Building with utils") - #else() - # message(STATUS "Building only libraries") - #endif() - - add_subdirectory(pip) - foreach(F ${PIP_MAIN_FOLDERS}) - list(APPEND PIP_INCLUDES "${F}") - endforeach(F) - add_subdirectory(cd_utils) - include_directories("${CMAKE_CURRENT_SOURCE_DIR}/cd_utils" "${CMAKE_CURRENT_BINARY_DIR}/cd_utils") - set(_DIRS) - if (SomeQtFound) - #message(STATUS "Building Qt-derived targets for ${QtVersions}") add_subdirectory(qad) - include_directories(${qad_includes}) - add_subdirectory(piqt) - include_directories(${piqt_includes}) - set(_DIRS) - if (Qt5) - if (QGLVIEW) - list(APPEND _DIRS qglview) - endif() - if (QGLENGINE) - list(APPEND _DIRS qglengine) - endif() + find_package(QAD REQUIRED) + + if (QGLENGINE) + add_subdirectory(qglengine) endif() - foreach(_D ${_DIRS}) - list(APPEND QT_MULTILIB_LIST ${_D}) - add_subdirectory(${_D}) - endforeach(_D) - macro(align_list _list _out) - set(_max_len 0) - foreach(_m ${_list}) - string(LENGTH "${_m}" _clen) - if (_clen GREATER _max_len) - set(_max_len ${_clen}) - endif() - endforeach() - set(${_out}) - foreach(_m ${_list}) - set(_am "${_m}") - while(TRUE) - string(LENGTH "${_am}" _clen) - if (_clen GREATER_EQUAL ${_max_len}) - break() - endif() - string(APPEND _am " ") - endwhile() - list(APPEND ${_out} "${_am}") - endforeach() - endmacro() - - macro(print_list _list _name) - if (NOT "x${_list}" STREQUAL "x") - message("") - message(" ${_name}:") - #align_list("${_list}" _alist) - foreach(_m ${_list}) - message(" * ${_m}") - endforeach() - endif() - endmacro() - - message("----------QAD-----------") - message(" Build for ${QtVersions}") - message(" QAD Version: ${QAD_VERSION}") - message(" QAD Linkage: ${QAD_LIB_TYPE_MSG}") - message(" PIQt Version: ${PIQt_VERSION}") - message(" PIQt Linkage: ${PIQt_LIB_TYPE_MSG}") - print_list("${_qt_libs}" "Libraries") - print_list("${_qt_apps}" "Applications") - print_list("${_qt_plugs}" "Plugins") - message("-----------------------") - message("") - - else() - message(STATUS "None of Qt found, skip Qt-derived targets") endif() + + add_subdirectory(cd) endif() -if(WIN32) - foreach(PIP_LT ${PIP_MODULES}) - if (SomeQtFound) - qt_install(FILES "${CMAKE_CURRENT_BINARY_DIR}/pip/lib${PIP_LT}.dll" DESTINATION QtBin) - endif() +if(WIN32 AND SOME_QT_FOUND) + foreach(_l ${PIP_MODULES} ${CD_MODULES}) + qt_install(TARGETS ${_l} RUNTIME DESTINATION QtBin) endforeach() endif() diff --git a/cd b/cd index 5a49104..6fc2e51 160000 --- a/cd +++ b/cd @@ -1 +1 @@ -Subproject commit 5a49104273734148f7f9c1aedeb91cf8ad70ee3c +Subproject commit 6fc2e51b8aadcca27fe9f48ff6b00dca7bddb4cc diff --git a/cmake b/cmake index c350c61..b6a0275 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit c350c61e36f555054b275edbe513cd0838e0597b +Subproject commit b6a0275d4821825e00876951411c13e0c0292bf9 diff --git a/make_libs.bat b/make_libs.bat index d530e09..6f3dfb8 100644 --- a/make_libs.bat +++ b/make_libs.bat @@ -2,5 +2,5 @@ set ARCH=%~1 set PATH=%SDK_MINGW_DIR%%ARCH%\bin;%SDK_QT4_DIR%%ARCH%\bin;%SDK_CMAKE_DIR%\bin if defined SDK_QT5_DIR set Qt5_DIR=%SDK_QT5_DIR%%ARCH% -mkdir ..\libs_build_win%ARCH% -cd ../libs_build_win%ARCH% && cmake_mgw -Wno-dev -DQGLVIEW=1 -DQGLENGINE=1 -DQT4=0 ../libs && make install -j4 && cd ../libs && pause +mkdir ..\shstk_build_win%ARCH% +cd ../shstk_build_win%ARCH% && cmake_mgw -Wno-dev -DQGLVIEW=1 -DQGLENGINE=1 -DQT4=0 ../shstk && make install -j4 && cd ../shstk && pause diff --git a/make_libs_android.bat b/make_libs_android.bat index 4abfcbb..2ea504a 100644 --- a/make_libs_android.bat +++ b/make_libs_android.bat @@ -1,6 +1,6 @@ @echo off -mkdir ..\libs_build_android_%~1 -cd ..\libs_build_android_%~1 -call ..\libs\cmake_android 21 %~1 ..\libs "-DUTILS=0 -DDEBUG=0 -DCMAKE_BUILD_TYPE=Release" +mkdir ..\shstk_build_android_%~1 +cd ..\shstk_build_android_%~1 +call ..\shstk\cmake\cmake_android 21 %~1 ..\shstk "-DUTILS=0 -DCMAKE_BUILD_TYPE=Release" call make install -j4 -cd ..\libs +cd ..\shstk diff --git a/qad b/qad index c576a14..5ed8d81 160000 --- a/qad +++ b/qad @@ -1 +1 @@ -Subproject commit c576a14debce10270cf4ecca9fe7dc439475d5dd +Subproject commit 5ed8d8114a91faf5de4d9f20919e78e933b284d9 diff --git a/qglengine b/qglengine index 1ea56dc..6648be5 160000 --- a/qglengine +++ b/qglengine @@ -1 +1 @@ -Subproject commit 1ea56dc59486b433aeb97f711781e2555276b212 +Subproject commit 6648be5421403b33ceedee673d10a5f4ad7475f3