From 114f8b61c7af71b6581b85355f56c6c08b1d542b Mon Sep 17 00:00:00 2001 From: EndrII Date: Sun, 4 Apr 2021 21:02:58 +0300 Subject: [PATCH] fix source structure --- CMakeLists.txt | 13 +++- src/CMakeLists.txt | 2 +- src/Example/CMakeLists.txt | 27 ++++--- src/Example/{src => }/main.cpp | 0 src/Library/CMakeLists.txt | 25 ++++--- src/Library/{src => }/RENAME_ME.qrc | 0 src/Library/{src => RENAME_ME}/RENAME_ME.cpp | 0 src/Library/{src => RENAME_ME}/RENAME_ME.h | 0 .../{src => RENAME_ME}/RENAME_ME_global.h | 0 .../{src => }/RENAME_MEModule/RENAME_ME.qml | 0 src/Library/{src => }/RENAME_MEModule/qmldir | 0 tests/.gitignore | 73 ------------------- tests/CMakeLists.txt | 10 +-- 13 files changed, 42 insertions(+), 108 deletions(-) rename src/Example/{src => }/main.cpp (100%) rename src/Library/{src => }/RENAME_ME.qrc (100%) rename src/Library/{src => RENAME_ME}/RENAME_ME.cpp (100%) rename src/Library/{src => RENAME_ME}/RENAME_ME.h (100%) rename src/Library/{src => RENAME_ME}/RENAME_ME_global.h (100%) rename src/Library/{src => }/RENAME_MEModule/RENAME_ME.qml (100%) rename src/Library/{src => }/RENAME_MEModule/qmldir (100%) delete mode 100644 tests/.gitignore diff --git a/CMakeLists.txt b/CMakeLists.txt index 68732de..1de7c94 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,8 +12,17 @@ if(TARGET ${PROJECT_NAME}) return() endif() -set (QT_VERSION_MAJOR OFF) -set (BUILD_SHARED_LIBS ON) +if (NOT DEFINED BUILD_SHARED_LIBS) + set (BUILD_SHARED_LIBS ON) +endif() + +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) find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Test QUIET) find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Test QUIET) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4cb9d7e..156caf5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -19,7 +19,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) include(../CMake/ProjectOut.cmake) include(../CMake/Version.cmake) -include(../CMake/tr.cmake) +include(../CMake/QtUtils.cmake) add_subdirectory(Library) add_subdirectory(Example) diff --git a/src/Example/CMakeLists.txt b/src/Example/CMakeLists.txt index 79612d6..dd78a1e 100644 --- a/src/Example/CMakeLists.txt +++ b/src/Example/CMakeLists.txt @@ -9,24 +9,27 @@ 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" - "src/Private/*.cpp" "src/Private/*.qrc" + "*.cpp" + "Private/*.cpp" ) -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") +if (${QT_VERSION_MAJOR}) + file(GLOB SOURCE_QRC + "*.qrc" + "Private/*.qrc" + ) -add_executable(${CURRENT_PROJECT} ${SOURCE_CPP}) +endif() + +set(PUBLIC_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") + +set(PRIVATE_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Private") + +add_executable(${CURRENT_PROJECT} ${SOURCE_CPP} ${SOURCE_QRC}) if (${QT_VERSION_MAJOR}) - target_link_libraries(${CURRENT_PROJECT} PUBLIC Qt::Core) + target_link_libraries(${CURRENT_PROJECT} PUBLIC Qt${QT_VERSION_MAJOR}::Core) endif() target_link_libraries(${CURRENT_PROJECT} PUBLIC ${PROJECT_NAME}) diff --git a/src/Example/src/main.cpp b/src/Example/main.cpp similarity index 100% rename from src/Example/src/main.cpp rename to src/Example/main.cpp diff --git a/src/Library/CMakeLists.txt b/src/Library/CMakeLists.txt index 250fccf..10719fd 100644 --- a/src/Library/CMakeLists.txt +++ b/src/Library/CMakeLists.txt @@ -10,24 +10,27 @@ cmake_minimum_required(VERSION 3.14) add_definitions(-DRENAME_ME_LIBRARY) -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" - "src/Private/*.cpp" "src/Private/*.qrc" + "*.cpp" + "Private/*.cpp" ) +if (${QT_VERSION_MAJOR}) + file(GLOB SOURCE_QRC + "*.qrc" + "Private/*.qrc" + ) + +endif() + 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(PRIVATE_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Private") -add_library(${PROJECT_NAME} ${SOURCE_CPP}) +add_library(${PROJECT_NAME} ${SOURCE_CPP} ${SOURCE_QRC}) if (${QT_VERSION_MAJOR}) - target_link_libraries(${PROJECT_NAME} PUBLIC Qt::Core) + target_link_libraries(${PROJECT_NAME} PUBLIC Qt${QT_VERSION_MAJOR}::Core) endif() target_include_directories(${PROJECT_NAME} PUBLIC ${PUBLIC_INCUDE_DIR}) @@ -36,7 +39,7 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${PRIVATE_INCUDE_DIR}) set(LANGS ${CMAKE_CURRENT_SOURCE_DIR}/languages/en.ts) -prepareQM(${CMAKE_CURRENT_SOURCE_DIR} "${LANGS}") +prepareQM(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR} "${LANGS}") setVersion(0 0 1) diff --git a/src/Library/src/RENAME_ME.qrc b/src/Library/RENAME_ME.qrc similarity index 100% rename from src/Library/src/RENAME_ME.qrc rename to src/Library/RENAME_ME.qrc diff --git a/src/Library/src/RENAME_ME.cpp b/src/Library/RENAME_ME/RENAME_ME.cpp similarity index 100% rename from src/Library/src/RENAME_ME.cpp rename to src/Library/RENAME_ME/RENAME_ME.cpp diff --git a/src/Library/src/RENAME_ME.h b/src/Library/RENAME_ME/RENAME_ME.h similarity index 100% rename from src/Library/src/RENAME_ME.h rename to src/Library/RENAME_ME/RENAME_ME.h diff --git a/src/Library/src/RENAME_ME_global.h b/src/Library/RENAME_ME/RENAME_ME_global.h similarity index 100% rename from src/Library/src/RENAME_ME_global.h rename to src/Library/RENAME_ME/RENAME_ME_global.h diff --git a/src/Library/src/RENAME_MEModule/RENAME_ME.qml b/src/Library/RENAME_MEModule/RENAME_ME.qml similarity index 100% rename from src/Library/src/RENAME_MEModule/RENAME_ME.qml rename to src/Library/RENAME_MEModule/RENAME_ME.qml diff --git a/src/Library/src/RENAME_MEModule/qmldir b/src/Library/RENAME_MEModule/qmldir similarity index 100% rename from src/Library/src/RENAME_MEModule/qmldir rename to src/Library/RENAME_MEModule/qmldir diff --git a/tests/.gitignore b/tests/.gitignore deleted file mode 100644 index fab7372..0000000 --- a/tests/.gitignore +++ /dev/null @@ -1,73 +0,0 @@ -# This file is used to ignore files which are generated -# ---------------------------------------------------------------------------- - -*~ -*.autosave -*.a -*.core -*.moc -*.o -*.obj -*.orig -*.rej -*.so -*.so.* -*_pch.h.cpp -*_resource.rc -*.qm -.#* -*.*# -core -!core/ -tags -.DS_Store -.directory -*.debug -Makefile* -*.prl -*.app -moc_*.cpp -ui_*.h -qrc_*.cpp -Thumbs.db -*.res -*.rc -/.qmake.cache -/.qmake.stash - -# qtcreator generated files -*.pro.user* - -# xemacs temporary files -*.flc - -# Vim temporary files -.*.swp - -# Visual Studio generated files -*.ib_pdb_index -*.idb -*.ilk -*.pdb -*.sln -*.suo -*.vcproj -*vcproj.*.*.user -*.ncb -*.sdf -*.opensdf -*.vcxproj -*vcxproj.* - -# MinGW generated files -*.Debug -*.Release - -# Python byte code -*.pyc - -# Binaries -# -------- -*.dll -*.exe - diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index c82cf56..1da5556 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -11,14 +11,6 @@ set(CURRENT_PROJECT ${PROJECT_NAME}Test) include(../CMake/ProjectOut.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) - file(GLOB SOURCE_CPP "*.cpp" "*.qrc" @@ -29,7 +21,7 @@ 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 RENAME_ME) +target_link_libraries(${CURRENT_PROJECT} PRIVATE Qt${QT_VERSION_MAJOR}::Test RENAME_ME) target_include_directories(${CURRENT_PROJECT} PUBLIC ${PUBLIC_INCUDE_DIR})