diff options
author | saturneric <[email protected]> | 2025-04-30 21:54:42 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2025-04-30 21:54:42 +0000 |
commit | 0a04125026893bcfadc65d4cbdfae70784db3015 (patch) | |
tree | a85ded684149e8149370be1c15594f804adf33e4 | |
parent | chore: upgrade to v2.1.8 (diff) | |
download | Modules-0a04125026893bcfadc65d4cbdfae70784db3015.tar.gz Modules-0a04125026893bcfadc65d4cbdfae70784db3015.zip |
refactor: switch to in project submodule build model
-rw-r--r-- | CMakeLists.txt | 55 | ||||
-rw-r--r-- | sdk/README | 1 | ||||
-rw-r--r-- | src/m_email/CMakeLists.txt | 13 | ||||
-rw-r--r-- | src/m_gpg_info/CMakeLists.txt | 13 | ||||
-rw-r--r-- | src/m_key_server_sync/CMakeLists.txt | 11 | ||||
-rw-r--r-- | src/m_paper_key/CMakeLists.txt | 11 | ||||
-rw-r--r-- | src/m_pinentry/CMakeLists.txt | 11 | ||||
-rw-r--r-- | src/m_ver_check/CMakeLists.txt | 13 |
8 files changed, 67 insertions, 61 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 81d8193..a986559 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,7 +25,6 @@ cmake_minimum_required(VERSION 3.16) -message(STATUS "Current Generator: ${CMAKE_GENERATOR}") set(CMAKE_USER_MAKE_RULES_OVERRIDE "${CMAKE_SOURCE_DIR}/cmake/FlagsOverrides.cmake") # define project @@ -53,18 +52,18 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) option(GPGFRONTEND_MODULES_QT5_BUILD "Swith to Qt5 building mode" OFF) -# show cmake version -message(STATUS "GpgFrontend Moudles Build Configuration Started CMAKE Version ${CMAKE_VERSION}") +# show build arguments +message(STATUS "GpgFrontend Modules Source Path: ${CMAKE_SOURCE_DIR}") +message(STATUS "GpgFrontend Modules Runtime Path: ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") -set(SDK_VERSION "${CMAKE_PROJECT_VERSION}") -set(SDK_PATH "${CMAKE_SOURCE_DIR}/sdk/${SDK_VERSION}") -set(SDK_INCLUDE_PATH "${SDK_PATH}/include") -set(SDK_LIB_PATH "${SDK_PATH}/lib") +set(SDK_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/src/sdk") +set(SDK_LIB_PATH "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") -message(STATUS "SDK Path: ${SDK_PATH}") +message(STATUS "GpgFrontend Modules SDK Headers Path: ${SDK_INCLUDE_PATH} ") +message(STATUS "GpgFrontend Modules SDK Library Path: ${SDK_LIB_PATH} ") include_directories( - ${CMAKE_SOURCE_DIR}/include + ${CMAKE_CURRENT_SOURCE_DIR}/include ${SDK_INCLUDE_PATH} ) @@ -72,6 +71,14 @@ link_directories( ${SDK_LIB_PATH} ) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/modules) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/modules) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/modules) + +message(STATUS "GpgFrontend Modules Runtime Output Path: ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ") +message(STATUS "GpgFrontend Modules Library Output Path: ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ") +message(STATUS "GpgFrontend Modules ARCHIVE Output Path: ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} ") + # Introduce Qt # Support Qt version: 6.x if(GPGFRONTEND_QT5_BUILD) @@ -88,32 +95,14 @@ endif() set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) -set(CMAKE_AUTORCC_OPTIONS "--compress;9") - -# rpath config -if(WIN32) - message(STATUS "Configuring for Windows without rpath") -elseif(APPLE) - set(CMAKE_MACOSX_RPATH 1) - set(CMAKE_INSTALL_RPATH "@loader_path/../lib") - - include_directories( - /usr/local/include - /opt/homebrew/include - ) - - link_directories( - /usr/local/lib - /opt/homebrew/lib - ) -else() - set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) - set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) - set(CMAKE_INSTALL_RPATH "$ORIGIN:$ORIGIN/../lib") -endif() + +include(GNUInstallDirs) +set(CMAKE_INSTALL_BINDIR "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/modules") +set(CMAKE_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/modules") +set(CMAKE_INSTALL_DATAROOTDIR "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/modules") # third_party add_subdirectory(third_party) # source code -add_subdirectory(src)
\ No newline at end of file +add_subdirectory(src) diff --git a/sdk/README b/sdk/README deleted file mode 100644 index 50e55c7..0000000 --- a/sdk/README +++ /dev/null @@ -1 +0,0 @@ -Name the SDK folder according to the corresponding version number and place it in this directory.
\ No newline at end of file diff --git a/src/m_email/CMakeLists.txt b/src/m_email/CMakeLists.txt index 4b1a8db..1efd28a 100644 --- a/src/m_email/CMakeLists.txt +++ b/src/m_email/CMakeLists.txt @@ -49,10 +49,6 @@ if(MINGW) target_link_libraries(vmime-static ws2_32 mlang) endif() -# install dir -install(TARGETS mod_email - LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/modules") - # vmime headers target_include_directories(mod_email PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/vmime/src" @@ -88,4 +84,11 @@ qt_add_translations(mod_email RESOURCE_PREFIX "/i18n" TS_FILES ${TS_FILES} SOURCES ${INTEGRATED_MODULE_SOURCE} - INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR})
\ No newline at end of file + INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}) + +# install paths +install(TARGETS mod_email + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +)
\ No newline at end of file diff --git a/src/m_gpg_info/CMakeLists.txt b/src/m_gpg_info/CMakeLists.txt index 6624e82..660c1c3 100644 --- a/src/m_gpg_info/CMakeLists.txt +++ b/src/m_gpg_info/CMakeLists.txt @@ -31,10 +31,6 @@ aux_source_directory(. INTEGRATED_MODULE_SOURCE) # define libgpgfrontend_module add_library(mod_gpg_info SHARED ${INTEGRATED_MODULE_SOURCE}) -# install dir -install(TARGETS mod_gpg_info - LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/modules") - # link sdk target_link_libraries(mod_gpg_info PRIVATE gpgfrontend_module_sdk) @@ -57,4 +53,11 @@ qt_add_translations(mod_gpg_info RESOURCE_PREFIX "/i18n" TS_FILES ${TS_FILES} SOURCES ${INTEGRATED_MODULE_SOURCE} - INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR})
\ No newline at end of file + INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}) + +# install paths +install(TARGETS mod_gpg_info + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +)
\ No newline at end of file diff --git a/src/m_key_server_sync/CMakeLists.txt b/src/m_key_server_sync/CMakeLists.txt index c15eed3..13e719d 100644 --- a/src/m_key_server_sync/CMakeLists.txt +++ b/src/m_key_server_sync/CMakeLists.txt @@ -31,10 +31,6 @@ aux_source_directory(. INTEGRATED_MODULE_SOURCE) # define libgpgfrontend_module add_library(mod_key_server_sync SHARED ${INTEGRATED_MODULE_SOURCE}) -# install dir -install(TARGETS mod_key_server_sync - LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/modules") - # link sdk target_link_libraries(mod_key_server_sync PRIVATE gpgfrontend_module_sdk) @@ -44,3 +40,10 @@ target_link_libraries(mod_key_server_sync PRIVATE Qt::Core Qt::Network) # using std c++ 17 target_compile_features(mod_key_server_sync PRIVATE cxx_std_17) + +# install paths +install(TARGETS mod_key_server_sync + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +)
\ No newline at end of file diff --git a/src/m_paper_key/CMakeLists.txt b/src/m_paper_key/CMakeLists.txt index f7d0c03..f388a40 100644 --- a/src/m_paper_key/CMakeLists.txt +++ b/src/m_paper_key/CMakeLists.txt @@ -31,10 +31,6 @@ aux_source_directory(. INTEGRATED_MODULE_SOURCE) # define libgpgfrontend_module add_library(mod_paper_key SHARED ${INTEGRATED_MODULE_SOURCE}) -# install dir -install(TARGETS mod_paper_key - LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/modules") - # link sdk target_link_libraries(mod_paper_key PRIVATE gpgfrontend_module_sdk) @@ -44,3 +40,10 @@ target_link_libraries(mod_paper_key PRIVATE Qt::Core) # using std c++ 17 target_compile_features(mod_paper_key PRIVATE cxx_std_17) + +# install paths +install(TARGETS mod_paper_key + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +)
\ No newline at end of file diff --git a/src/m_pinentry/CMakeLists.txt b/src/m_pinentry/CMakeLists.txt index 344fc38..7ab0e5d 100644 --- a/src/m_pinentry/CMakeLists.txt +++ b/src/m_pinentry/CMakeLists.txt @@ -40,10 +40,6 @@ list(APPEND INTEGRATED_MODULE_SOURCE "pinentry.qrc") # define module add_library(mod_pinentry SHARED ${INTEGRATED_MODULE_SOURCE}) -# install dir -install(TARGETS mod_pinentry - LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/modules") - # link options # link sdk @@ -55,3 +51,10 @@ target_link_libraries(mod_pinentry PUBLIC Qt::Widgets) # using std c++ 17 target_compile_features(mod_pinentry PUBLIC cxx_std_17) + +# install paths +install(TARGETS mod_pinentry + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +) diff --git a/src/m_ver_check/CMakeLists.txt b/src/m_ver_check/CMakeLists.txt index cdf691a..d064ac4 100644 --- a/src/m_ver_check/CMakeLists.txt +++ b/src/m_ver_check/CMakeLists.txt @@ -31,10 +31,6 @@ aux_source_directory(. INTEGRATED_MODULE_SOURCE) # define libgpgfrontend_module add_library(mod_ver_check SHARED ${INTEGRATED_MODULE_SOURCE}) -# install dir -install(TARGETS mod_ver_check - LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/modules") - # link sdk target_link_libraries(mod_ver_check PRIVATE gpgfrontend_module_sdk) @@ -61,4 +57,11 @@ qt_add_translations(mod_ver_check RESOURCE_PREFIX "/i18n" TS_FILES ${TS_FILES} SOURCES ${INTEGRATED_MODULE_SOURCE} - INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR})
\ No newline at end of file + INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}) + +# install paths +install(TARGETS mod_ver_check + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +)
\ No newline at end of file |