From 6c0aee62c99822e98503ab3bcb82dba98d05bdbd Mon Sep 17 00:00:00 2001 From: EndrII Date: Sat, 17 Apr 2021 13:02:59 +0300 Subject: [PATCH] ref #9 fix all build on buildbot --- .gitignore | 1 + CMakeLists.txt | 53 +++++++++++++++++++++++++++++++------- doxygen.conf | 4 +-- src/CMakeLists.txt | 23 ----------------- src/Example/CMakeLists.txt | 6 ----- src/Library/CMakeLists.txt | 11 ++------ src/Library/src/credits.h | 2 +- tests/CMakeLists.txt | 6 ++--- 8 files changed, 52 insertions(+), 54 deletions(-) delete mode 100644 src/CMakeLists.txt diff --git a/.gitignore b/.gitignore index 4d6c3d8..fe988d9 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,4 @@ CTestTestfile.cmake _deps *_autogen* docs/ +build/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 10f62f4..a3d256f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,26 +12,59 @@ if(TARGET ${PROJECT_NAME}) return() endif() -set (QT_VERSION_MAJOR OFF) +if ( NOT DEFINED CREDITS_EXAMPLES ) + set(CREDITS_EXAMPLES ON) -if(NOT DEFINED CREDITS_TESTS) - set (CREDITS_TESTS ON) + if (DEFINED TARGET_PLATFORM_TOOLCHAIN) + if (${TARGET_PLATFORM_TOOLCHAIN} STREQUAL "wasm32") + set(CREDITS_EXAMPLES OFF) + endif() + endif() + + if (ANDROID) + set(CREDITS_EXAMPLES OFF) + endif() endif() -if(NOT DEFINED CREDITS_EXAMPLES) - set (CREDITS_EXAMPLES ON) +if ( NOT DEFINED CREDITS_TESTS ) + set(CREDITS_TESTS ON) + + if (DEFINED TARGET_PLATFORM_TOOLCHAIN) + if (${TARGET_PLATFORM_TOOLCHAIN} STREQUAL "wasm32") + set(CREDITS_TESTS OFF) + endif() + endif() + + if (ANDROID) + set(CREDITS_TESTS OFF) + endif() endif() -find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Test QUIET) -find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Test QUIET) +find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Quick QuickControls2 REQUIRED) +find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Quick QuickControls2 REQUIRED) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + -include(CMake/ccache.cmake) include(CMake/QuasarAppCITargets.cmake) +include(CMake/ccache.cmake) include(CMake/QtUtils.cmake) +include(CMake/ProjectOut.cmake) +include(CMake/crossplatform/crossplatform.cmake) +include(CMake/Version.cmake) # Add sub directories -add_subdirectory(src) -if (${QT_VERSION_MAJOR} AND ${CREDITS_TESTS}) + +add_subdirectory(src/Library) +if (${CREDITS_EXAMPLES}) + add_subdirectory(src/Example) +endif() + +if (${CREDITS_TESTS}) add_subdirectory(tests) endif() diff --git a/doxygen.conf b/doxygen.conf index fd630a3..a090b6d 100644 --- a/doxygen.conf +++ b/doxygen.conf @@ -1131,7 +1131,7 @@ GENERATE_HTML = YES # The default directory is: html. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_OUTPUT = html +HTML_OUTPUT = . # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each # generated HTML page (for example: .htm, .php, .asp). @@ -1479,7 +1479,7 @@ DISABLE_INDEX = NO # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. -GENERATE_TREEVIEW = NO +GENERATE_TREEVIEW = YES # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt deleted file mode 100644 index 755ef95..0000000 --- a/src/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -# -# Copyright (C) 2020-2021 QuasarApp. -# Distributed under the lgplv3 software license, see the accompanying -# Everyone is permitted to copy and distribute verbatim copies -# of this license document, but changing it is not allowed. -# - -cmake_minimum_required(VERSION 3.14) - -include(../CMake/ProjectOut.cmake) -include(../CMake/Version.cmake) - -set(CMAKE_INCLUDE_CURRENT_DIR ON) -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) -set(CMAKE_AUTOUIC ON) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - -add_subdirectory(Library) -if (${QT_VERSION_MAJOR} AND ${CREDITS_EXAMPLES}) - add_subdirectory(Example) -endif() diff --git a/src/Example/CMakeLists.txt b/src/Example/CMakeLists.txt index 79612d6..a59c062 100644 --- a/src/Example/CMakeLists.txt +++ b/src/Example/CMakeLists.txt @@ -10,9 +10,6 @@ cmake_minimum_required(VERSION 3.14) set(CURRENT_PROJECT "${PROJECT_NAME}Eaxample") -find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED) -find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core REQUIRED) - file(GLOB SOURCE_CPP "*.cpp" "*.qrc" "src/*.cpp" "src/*.qrc" @@ -25,9 +22,6 @@ set(PRIVATE_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/Private") add_executable(${CURRENT_PROJECT} ${SOURCE_CPP}) -if (${QT_VERSION_MAJOR}) - target_link_libraries(${CURRENT_PROJECT} PUBLIC Qt::Core) -endif() target_link_libraries(${CURRENT_PROJECT} PUBLIC ${PROJECT_NAME}) target_include_directories(${CURRENT_PROJECT} PUBLIC ${PUBLIC_INCUDE_DIR}) diff --git a/src/Library/CMakeLists.txt b/src/Library/CMakeLists.txt index b69a42d..b34e412 100644 --- a/src/Library/CMakeLists.txt +++ b/src/Library/CMakeLists.txt @@ -11,9 +11,6 @@ cmake_minimum_required(VERSION 3.14) add_definitions(-DCredits_LIBRARY) -find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Quick REQUIRED) -find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Quick REQUIRED) - file(GLOB SOURCE_CPP "*.cpp" "*.qrc" "src/*.cpp" "src/*.qrc" @@ -24,16 +21,12 @@ set(PUBLIC_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") set(PUBLIC_INCUDE_DIR ${PUBLIC_INCUDE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/src") set(PRIVATE_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/Private") -set(-DQUASARAPP_CREDITS_LIBRARY) - add_library(${PROJECT_NAME} ${SOURCE_CPP}) target_compile_definitions(${PROJECT_NAME} PRIVATE $<$,$>:QT_QML_DEBUG>) -if (${QT_VERSION_MAJOR}) - target_link_libraries(${PROJECT_NAME} PUBLIC Qt::Core Qt::Quick) -endif() +target_link_libraries(${PROJECT_NAME} PUBLIC Qt${QT_MAJOR_VERSION}::Core Qt${QT_MAJOR_VERSION}::Quick) target_include_directories(${PROJECT_NAME} PUBLIC ${PUBLIC_INCUDE_DIR}) target_include_directories(${PROJECT_NAME} PRIVATE ${PRIVATE_INCUDE_DIR}) @@ -47,7 +40,7 @@ set(LANGS ${CMAKE_CURRENT_SOURCE_DIR}/languages/en.ts prepareQM( ${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR} "${LANGS}") -setVersion(0 0 1) +setVersion(0 1 0) set(QML_IMPORT_PATH "${CMAKE_CURRENT_LIST_DIR}/src" CACHE STRING "Qt Creator extra qml import paths") message(QML_IMPORT_PATH = ${QML_IMPORT_PATH}) diff --git a/src/Library/src/credits.h b/src/Library/src/credits.h index d1e96e7..b9a9e36 100644 --- a/src/Library/src/credits.h +++ b/src/Library/src/credits.h @@ -13,7 +13,7 @@ class QQmlApplicationEngine; -inline void initCreditsResources() { Q_INIT_RESOURCE(QuasarAppCredits); } +inline void QUASARAPP_CREDITS_EXPORT initCreditsResources() { Q_INIT_RESOURCE(QuasarAppCredits); } /** * This name space contains classes for view credits page of the QuasarApp group. diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index cdf646d..5d6b781 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -9,7 +9,6 @@ cmake_minimum_required(VERSION 3.14) set(CURRENT_PROJECT ${PROJECT_NAME}Test) -include(../CMake/ProjectOut.cmake) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) @@ -19,6 +18,8 @@ set(CMAKE_AUTOUIC ON) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) +find_package(QT NAMES Qt6 Qt5 COMPONENTS Test REQUIRED) +find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Test REQUIRED) file(GLOB SOURCE_CPP "*.cpp" "*.qrc" @@ -29,11 +30,10 @@ set(PUBLIC_INCUDE_DIR ${PUBLIC_INCUDE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/units") add_executable(${CURRENT_PROJECT} ${SOURCE_CPP}) -target_link_libraries(${CURRENT_PROJECT} PRIVATE Qt::Test) +target_link_libraries(${CURRENT_PROJECT} PRIVATE ${PROJECT_NAME} Qt${QT_MAJOR_VERSION}::Test) target_include_directories(${CURRENT_PROJECT} PUBLIC ${PUBLIC_INCUDE_DIR}) -include(../CMake/QuasarAppCITargets.cmake) initTests() addTests(${PROJECT_NAME} ${CURRENT_PROJECT})