From 54e6dd65f262aee0e81433b202a28c8452fb06fa Mon Sep 17 00:00:00 2001 From: Anton Kashcheev Date: Wed, 25 Dec 2024 02:18:11 +0500 Subject: [PATCH] CMake: add folders for headers --- CMakeLists.txt | 5 +++-- cmake/FlameContrib.cmake | 2 +- include/FlameIDE/About/CMakeLists.txt | 2 ++ include/FlameIDE/Bus/CMakeLists.txt | 2 ++ include/FlameIDE/Common/CMakeLists.txt | 2 ++ include/FlameIDE/Common/Macros/CMakeLists.txt | 1 + include/FlameIDE/Common/Traits/CMakeLists.txt | 1 + include/FlameIDE/Constants/CMakeLists.txt | 2 ++ include/FlameIDE/Crypto/CMakeLists.txt | 1 + include/FlameIDE/Crypto/Oasis/CMakeLists.txt | 1 + include/FlameIDE/Crypto/Pkcs11/CMakeLists.txt | 1 + include/FlameIDE/Crypto/Pkcs11/Types/CMakeLists.txt | 1 + include/FlameIDE/Crypto/Pkcs11/Types/Structs/CMakeLists.txt | 1 + include/FlameIDE/Os/Async/Network/CMakeLists.txt | 1 + include/FlameIDE/Os/CMakeLists.txt | 2 ++ include/FlameIDE/Os/Network/CMakeLists.txt | 1 + include/FlameIDE/Os/Posix/CMakeLists.txt | 1 + include/FlameIDE/Os/Threads/CMakeLists.txt | 1 + include/FlameIDE/Os/Windows/CMakeLists.txt | 1 + include/FlameIDE/Others/CMakeLists.txt | 2 ++ include/FlameIDE/Templates/Allocator/CMakeLists.txt | 1 + include/FlameIDE/Templates/CMakeLists.txt | 2 ++ include/FlameIDE/Templates/Iterator/CMakeLists.txt | 1 + include/FlameIDE/Templates/Serialization/CMakeLists.txt | 1 + include/FlameIDE/Ubjson/CMakeLists.txt | 2 ++ 25 files changed, 35 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c684e387..142de104 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.14) +cmake_minimum_required(VERSION 3.19) project(Flame LANGUAGES CXX C) @@ -36,6 +36,7 @@ flame_resolver_settings( CMAKE_PACKAGING # ON INPLACE_OBJECTS # ON SHOW_HEADERS # ON + ENABLE_FOLDER # ON # Code generation options ONLY_POSITION_INDEPENDENT_OBJECTS # ON @@ -62,4 +63,4 @@ endif() add_subdirectory(${FLAME_INCLUDE_SUBMODLUES_PATH}) add_subdirectory(${FLAME_SOURCE_SUBMODLUES_PATH}) -add_subdirectory(${FLAME_TEST_SUBMODLUES_PATH}) +# add_subdirectory(${FLAME_TEST_SUBMODLUES_PATH}) diff --git a/cmake/FlameContrib.cmake b/cmake/FlameContrib.cmake index d5bb9e52..8c6a51bf 100644 --- a/cmake/FlameContrib.cmake +++ b/cmake/FlameContrib.cmake @@ -6,7 +6,7 @@ function(download_resolver) set(RESOLVER_NAME CMakeFlameResolver) set(RESOLVER_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/${RESOLVER_NAME}) set(RESOLVER_URL "https://github.com/kachsheev/${RESOLVER_NAME}.git") - set(RESOLVER_VERSION "master") + set(RESOLVER_VERSION "feature/folder-support") if(NOT (EXISTS "${RESOLVER_PATH}" AND IS_DIRECTORY "${RESOLVER_PATH}")) execute_process( COMMAND diff --git a/include/FlameIDE/About/CMakeLists.txt b/include/FlameIDE/About/CMakeLists.txt index 980f462a..6b1201a7 100644 --- a/include/FlameIDE/About/CMakeLists.txt +++ b/include/FlameIDE/About/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 3.14) set(NAME About) +set(MODULE_NAME ${NAME}) set(LIBRARY_ALIAS_NAME ${FLAME_NAMESPACE}::About::Headers) get_sources(FILE_LIST) @@ -9,5 +10,6 @@ flame_header_library( HEADER_LIST "${FILE_LIST}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" + FOLDER "${MODULE_NAME}" INSTALL_SUBDIR "${FLAME_NAMESPACE}/${NAME}" ) diff --git a/include/FlameIDE/Bus/CMakeLists.txt b/include/FlameIDE/Bus/CMakeLists.txt index 98f36ef0..eeadd4b0 100644 --- a/include/FlameIDE/Bus/CMakeLists.txt +++ b/include/FlameIDE/Bus/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 3.14) set(NAME Bus) +set(MODULE_NAME ${NAME}) set(LIBRARY_ALIAS_NAME ${FLAME_NAMESPACE}::Bus::Headers) set(DEPENDENCY_LIST ${FLAME_NAMESPACE}::Templates::Headers @@ -11,6 +12,7 @@ flame_header_library( NAME "${NAME}" HEADER_LIST "${FILE_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" + FOLDER "${MODULE_NAME}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" INSTALL_SUBDIR "${FLAME_NAMESPACE}/${NAME}" diff --git a/include/FlameIDE/Common/CMakeLists.txt b/include/FlameIDE/Common/CMakeLists.txt index fdd833bf..da613543 100644 --- a/include/FlameIDE/Common/CMakeLists.txt +++ b/include/FlameIDE/Common/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 3.14) set(NAME Common) +set(MODULE_NAME ${NAME}) set(LIBRARY_ALIAS_NAME ${FLAME_NAMESPACE}::Common::Headers) set(DEPENDENCY_LIST ${FLAME_NAMESPACE}::Common::Macros::Headers @@ -12,6 +13,7 @@ flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" HEADER_LIST "${FILE_LIST}" + FOLDER "${MODULE_NAME}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" INSTALL_SUBDIR "${FLAME_NAMESPACE}/${NAME}" diff --git a/include/FlameIDE/Common/Macros/CMakeLists.txt b/include/FlameIDE/Common/Macros/CMakeLists.txt index 3f86e3d8..9783ab62 100644 --- a/include/FlameIDE/Common/Macros/CMakeLists.txt +++ b/include/FlameIDE/Common/Macros/CMakeLists.txt @@ -7,6 +7,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" INSTALL_SUBDIR "${FLAME_NAMESPACE}/Common/Macros" diff --git a/include/FlameIDE/Common/Traits/CMakeLists.txt b/include/FlameIDE/Common/Traits/CMakeLists.txt index 0b74e6d2..2bb0233c 100644 --- a/include/FlameIDE/Common/Traits/CMakeLists.txt +++ b/include/FlameIDE/Common/Traits/CMakeLists.txt @@ -10,6 +10,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" diff --git a/include/FlameIDE/Constants/CMakeLists.txt b/include/FlameIDE/Constants/CMakeLists.txt index 7b650382..04011d10 100644 --- a/include/FlameIDE/Constants/CMakeLists.txt +++ b/include/FlameIDE/Constants/CMakeLists.txt @@ -1,12 +1,14 @@ cmake_minimum_required(VERSION 3.14) set(NAME Constants) +set(MODULE_NAME ${NAME}) set(LIBRARY_ALIAS_NAME ${FLAME_NAMESPACE}::Constants::Headers) get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" INSTALL_SUBDIR "${FLAME_NAMESPACE}/${NAME}" diff --git a/include/FlameIDE/Crypto/CMakeLists.txt b/include/FlameIDE/Crypto/CMakeLists.txt index 66f66a93..efb2f38f 100644 --- a/include/FlameIDE/Crypto/CMakeLists.txt +++ b/include/FlameIDE/Crypto/CMakeLists.txt @@ -1,5 +1,6 @@ cmake_minimum_required(VERSION 3.14) +set(MODULE_NAME Crypto) set(HEADER_MODULES ${CMAKE_CURRENT_LIST_DIR}/Oasis ${CMAKE_CURRENT_LIST_DIR}/Pkcs11 diff --git a/include/FlameIDE/Crypto/Oasis/CMakeLists.txt b/include/FlameIDE/Crypto/Oasis/CMakeLists.txt index 9f394c3f..7991eedd 100644 --- a/include/FlameIDE/Crypto/Oasis/CMakeLists.txt +++ b/include/FlameIDE/Crypto/Oasis/CMakeLists.txt @@ -7,6 +7,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" INSTALL_SUBDIR "${FLAME_NAMESPACE}/Crypto/pkcs11" diff --git a/include/FlameIDE/Crypto/Pkcs11/CMakeLists.txt b/include/FlameIDE/Crypto/Pkcs11/CMakeLists.txt index 2af4b64e..186ef364 100644 --- a/include/FlameIDE/Crypto/Pkcs11/CMakeLists.txt +++ b/include/FlameIDE/Crypto/Pkcs11/CMakeLists.txt @@ -11,6 +11,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" diff --git a/include/FlameIDE/Crypto/Pkcs11/Types/CMakeLists.txt b/include/FlameIDE/Crypto/Pkcs11/Types/CMakeLists.txt index ae83ebb5..ae8dbe63 100644 --- a/include/FlameIDE/Crypto/Pkcs11/Types/CMakeLists.txt +++ b/include/FlameIDE/Crypto/Pkcs11/Types/CMakeLists.txt @@ -11,6 +11,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" diff --git a/include/FlameIDE/Crypto/Pkcs11/Types/Structs/CMakeLists.txt b/include/FlameIDE/Crypto/Pkcs11/Types/Structs/CMakeLists.txt index b6188f88..2ab9c927 100644 --- a/include/FlameIDE/Crypto/Pkcs11/Types/Structs/CMakeLists.txt +++ b/include/FlameIDE/Crypto/Pkcs11/Types/Structs/CMakeLists.txt @@ -11,6 +11,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" diff --git a/include/FlameIDE/Os/Async/Network/CMakeLists.txt b/include/FlameIDE/Os/Async/Network/CMakeLists.txt index 7c06faf2..248c7cc9 100644 --- a/include/FlameIDE/Os/Async/Network/CMakeLists.txt +++ b/include/FlameIDE/Os/Async/Network/CMakeLists.txt @@ -10,6 +10,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" diff --git a/include/FlameIDE/Os/CMakeLists.txt b/include/FlameIDE/Os/CMakeLists.txt index 04e61877..5704c36e 100644 --- a/include/FlameIDE/Os/CMakeLists.txt +++ b/include/FlameIDE/Os/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 3.14) set(NAME "Os") +set(MODULE_NAME ${NAME}) set(LIBRARY_ALIAS_NAME ${FLAME_NAMESPACE}::Os::Headers) set(DEPENDENCY_LIST ${FLAME_NAMESPACE}::Common::Macros::Headers @@ -14,6 +15,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" diff --git a/include/FlameIDE/Os/Network/CMakeLists.txt b/include/FlameIDE/Os/Network/CMakeLists.txt index b987ea1d..b996cfe7 100644 --- a/include/FlameIDE/Os/Network/CMakeLists.txt +++ b/include/FlameIDE/Os/Network/CMakeLists.txt @@ -10,6 +10,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" diff --git a/include/FlameIDE/Os/Posix/CMakeLists.txt b/include/FlameIDE/Os/Posix/CMakeLists.txt index 2d1767c3..e63199f4 100644 --- a/include/FlameIDE/Os/Posix/CMakeLists.txt +++ b/include/FlameIDE/Os/Posix/CMakeLists.txt @@ -14,6 +14,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" diff --git a/include/FlameIDE/Os/Threads/CMakeLists.txt b/include/FlameIDE/Os/Threads/CMakeLists.txt index 2289b4a3..64882519 100644 --- a/include/FlameIDE/Os/Threads/CMakeLists.txt +++ b/include/FlameIDE/Os/Threads/CMakeLists.txt @@ -10,6 +10,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" diff --git a/include/FlameIDE/Os/Windows/CMakeLists.txt b/include/FlameIDE/Os/Windows/CMakeLists.txt index d59169b4..e31ed98b 100644 --- a/include/FlameIDE/Os/Windows/CMakeLists.txt +++ b/include/FlameIDE/Os/Windows/CMakeLists.txt @@ -14,6 +14,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" diff --git a/include/FlameIDE/Others/CMakeLists.txt b/include/FlameIDE/Others/CMakeLists.txt index b9909e32..fd2b5818 100644 --- a/include/FlameIDE/Others/CMakeLists.txt +++ b/include/FlameIDE/Others/CMakeLists.txt @@ -1,12 +1,14 @@ cmake_minimum_required(VERSION 3.14) set(NAME Others) +set(MODULE_NAME ${NAME}) set(LIBRARY_ALIAS_NAME ${FLAME_NAMESPACE}::Others::Headers) get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" INSTALL_SUBDIR "${FLAME_NAMESPACE}/${NAME}" diff --git a/include/FlameIDE/Templates/Allocator/CMakeLists.txt b/include/FlameIDE/Templates/Allocator/CMakeLists.txt index 52f14b28..8d943232 100644 --- a/include/FlameIDE/Templates/Allocator/CMakeLists.txt +++ b/include/FlameIDE/Templates/Allocator/CMakeLists.txt @@ -10,6 +10,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" diff --git a/include/FlameIDE/Templates/CMakeLists.txt b/include/FlameIDE/Templates/CMakeLists.txt index e4cc5ac1..2043b562 100644 --- a/include/FlameIDE/Templates/CMakeLists.txt +++ b/include/FlameIDE/Templates/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 3.14) set(NAME Templates) +set(MODULE_NAME ${NAME}) set(LIBRARY_ALIAS_NAME ${FLAME_NAMESPACE}::Templates::Headers) set(DEPENDENCY_LIST ${FLAME_NAMESPACE}::Templates::Allocator::Headers @@ -12,6 +13,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" diff --git a/include/FlameIDE/Templates/Iterator/CMakeLists.txt b/include/FlameIDE/Templates/Iterator/CMakeLists.txt index 034c406b..50d2dbd8 100644 --- a/include/FlameIDE/Templates/Iterator/CMakeLists.txt +++ b/include/FlameIDE/Templates/Iterator/CMakeLists.txt @@ -10,6 +10,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" diff --git a/include/FlameIDE/Templates/Serialization/CMakeLists.txt b/include/FlameIDE/Templates/Serialization/CMakeLists.txt index 9a5280ed..5cde9db2 100644 --- a/include/FlameIDE/Templates/Serialization/CMakeLists.txt +++ b/include/FlameIDE/Templates/Serialization/CMakeLists.txt @@ -10,6 +10,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}" diff --git a/include/FlameIDE/Ubjson/CMakeLists.txt b/include/FlameIDE/Ubjson/CMakeLists.txt index 3a730a29..bcb143e1 100644 --- a/include/FlameIDE/Ubjson/CMakeLists.txt +++ b/include/FlameIDE/Ubjson/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 3.14) set(NAME Ubjson) +set(MODULE_NAME ${NAME}) set(LIBRARY_ALIAS_NAME ${FLAME_NAMESPACE}::Ubjson::Headers) set(DEPENDENCY_LIST ${FLAME_NAMESPACE}::Templates::Headers @@ -10,6 +11,7 @@ get_sources(FILE_LIST) flame_header_library( NAME "${NAME}" LIBRARY_ALIAS_NAME "${LIBRARY_ALIAS_NAME}" + FOLDER "${MODULE_NAME}" HEADER_LIST "${FILE_LIST}" DEPENDENCY_TARGET_LIST "${DEPENDENCY_LIST}" INCLUDE_PATHS "${FLAME_INCLUDE_PATH}"