Skip to content

Commit

Permalink
add some cmake files
Browse files Browse the repository at this point in the history
  • Loading branch information
jared2020 committed Nov 8, 2020
1 parent 00897e8 commit 4eee8ed
Show file tree
Hide file tree
Showing 8 changed files with 100 additions and 26 deletions.
15 changes: 8 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
cmake_minimum_required(VERSION 3.14)
project (TaoQuick LANGUAGES CXX)

SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules)
SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
Expand All @@ -26,11 +25,13 @@ if (NOT CMAKE_BUILD_TYPE)
endif()
message("Build Type " ${CMAKE_BUILD_TYPE})

include_directories(${PROJECT_SOURCE_DIR})

set_property(GLOBAL PROPERTY USE_FOLDERS ON)
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")


add_subdirectory(examples)

if (NOT CMAKE_NO_BUILD_TEST)
add_subdirectory(test)
endif()
#if (NOT CMAKE_NO_BUILD_TEST)
# add_subdirectory(test)
#endif()
3 changes: 1 addition & 2 deletions TaoQuick.pro
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ defineTest(minQtVersion) {
}

!minQtVersion(5, 9, 0) {
message("Cannot build TaoQuick with Qt version $${QT_VERSION}.")
error("Use at least Qt 5.9.0.")
error("TaoQuick minimum supported Qt5 version is 5.9.0")
}

TEMPLATE = subdirs
Expand Down
7 changes: 7 additions & 0 deletions cmake/taoCommon.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
set(TaoCommonPath ${CMAKE_SOURCE_DIR}/3rdparty/TaoCommon)

#file(GLOB_RECURSE TaoCommonFiles *.hpp *.cpp *.c)

aux_source_directory(${TaoCommonPath} TaoCommonFiles)
message("TaoCommonFiles ${TaoCommonFiles}")

15 changes: 15 additions & 0 deletions cmake/taoQuick.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
set(TaoQuickPath ${CMAKE_SOURCE_DIR}/src/TaoQuick/imports)

if (CMAKE_BUILD_TYPE MATCHES "Release")
set(TaoQuickRes ${TaoQuickPath}/TaoQuick/TaoQuick.qrc)
add_compile_definitions(TaoQuickImportPath="qrc:///")
add_compile_definitions(TaoQuickImagePath="qrc:/TaoQuick/Images/")
else()
add_compile_definitions(TaoQuickImportPath="file:///${TaoQuickPath}")
add_compile_definitions(TaoQuickImagePath="file:///${TaoQuickPath}/TaoQuick/Images/")
endif()
add_compile_definitions(QML_IMPORT_PATH="${TaoQuickPath}")
add_compile_definitions(QML2_IMPORT_PATH="${TaoQuickPath}")
add_compile_definitions(QML_DESIGNER_IMPORT_PATH="${TaoQuickPath}")


Empty file added cmake/taoVersion.cmake
Empty file.
71 changes: 61 additions & 10 deletions examples/TaoQuickShow/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,69 @@
set(TargetName TaoQuickShow)
get_filename_component(TargetName ${CMAKE_CURRENT_SOURCE_DIR} NAME)


file(GLOB_RECURSE CURRENT_HEADERS *.h *.hpp)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Quick QuickControls2 REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Quick QuickControls2 REQUIRED)
if(Qt::Core_Found)
if (Qt::Core_VERSION VERSION_LESS 5.9.0)
message(FATAL_ERROR "TaoQuick minimum supported Qt5 version is 5.9.0")
endif()
endif(Qt::Core_Found)

aux_source_directory(./Src SRC1)
aux_source_directory(./Src/DeviceAddTable SRC2)
include(taoVersion)
add_compile_definitions(TaoCommon_NO_LIB)
include(taoCommon)
include(taoQuick)
set (Res Qml.qrc Contents.qrc Image.qrc)
if (CMAKE_BUILD_TYPE MATCHES "Release")
if(WIN32)
add_executable(${TargetName}
${SRC1}
${SRC2}
${TaoCommonFiles}
${Res}
App.rc
${TaoQuickRes}
)
elseif(APPLE)
add_executable(${TargetName}
${SRC1}
${SRC2}
${TaoCommonFiles}
${Res}
milk.icns
${TaoQuickRes}
)
else()
add_executable(${TargetName}
${SRC1}
${SRC2}
${TaoCommonFiles}
${Res}
${TaoQuickRes}
)
endif()
add_compile_definitions(qmlPath="qrc:/Qml/")
add_compile_definitions(contentsPath="qrc:/Contents/")
add_compile_definitions(imgPath="qrc:/Image/")

find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Quick QuickControls2 REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Quick QuickControls2 REQUIRED)
else()
add_executable(${TargetName}
${SRC1}
${SRC2}
${TaoCommonFiles}
)
add_compile_definitions(TAODEBUG)
add_compile_definitions(qmlPath="file:///${CMAKE_CURRENT_SOURCE_DIR}/Qml/")
add_compile_definitions(contentsPath="file:///${CMAKE_CURRENT_SOURCE_DIR}/Contents/")
add_compile_definitions(imgPath="file:///${CMAKE_CURRENT_SOURCE_DIR}/Image/")
endif()

target_include_directories(${TargetName} PUBLIC . ./Src ${TaoCommonPath})

target_compile_definitions(${TargetName}
PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
target_link_libraries(${TargetName}
PRIVATE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Quick Qt${QT_VERSION_MAJOR}::QuickControls2)

add_executable(${TargetName}
${SRC1}
${SRC2}
Qml.qrc
Contents.qrc
)
14 changes: 7 additions & 7 deletions examples/TaoQuickShow/Src/AppInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
AppInfo::AppInfo(QObject *parent) : QObject(parent)
{
m_appName = VER_PRODUCTNAME_STR;
m_appVersion = TaoVer;
m_latestVersion = TaoVer;
m_buildDateTime = TaoDATETIME;
m_buildRevision = TaoREVISIONSTR;
m_copyRight = VER_LEGALCOPYRIGHT_STR;
m_descript = QString::fromLocal8Bit(VER_FILEDESCRIPTION_STR);
m_compilerVendor = TaoCompilerVendor;
// m_appVersion = TaoVer;
// m_latestVersion = TaoVer;
// m_buildDateTime = TaoDATETIME;
// m_buildRevision = TaoREVISIONSTR;
// m_copyRight = VER_LEGALCOPYRIGHT_STR;
// m_descript = QString::fromLocal8Bit(VER_FILEDESCRIPTION_STR);
// m_compilerVendor = TaoCompilerVendor;
}

void AppInfo::beforeUiReady(QQmlContext *ctx)
Expand Down
1 change: 1 addition & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
add_subdirectory(TaoQuickShow)

0 comments on commit 4eee8ed

Please sign in to comment.