aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-07-12 13:18:34 +0000
committersaturneric <[email protected]>2024-07-12 13:18:34 +0000
commitbc52ba74b461145212c999f4c2435125768f24ef (patch)
treeb64b4df69c2760091aa518da0f0b0e084b99c968
parentfeat: improve the project structure (diff)
downloadGpgFrontend-bc52ba74b461145212c999f4c2435125768f24ef.tar.gz
GpgFrontend-bc52ba74b461145212c999f4c2435125768f24ef.zip
feat: adjust modules loading path
-rw-r--r--src/CMakeLists.txt79
-rw-r--r--src/core/CMakeLists.txt10
-rw-r--r--src/core/module/ModuleInit.cpp8
-rw-r--r--src/pinentry/CMakeLists.txt10
-rw-r--r--src/sdk/CMakeLists.txt10
-rw-r--r--src/test/CMakeLists.txt7
-rw-r--r--src/ui/CMakeLists.txt35
7 files changed, 87 insertions, 72 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index c23f0187..684a9e4a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -345,13 +345,12 @@ if (BUILD_APPLICATION)
)
add_custom_command(TARGET ${AppName} POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/AppDir/usr/plugins"
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/AppDir/usr/modules"
COMMENT "Complement to build the required architecture"
)
add_custom_command(TARGET ${AppName} POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/AppDir/usr/plugins/mods"
- COMMAND ${CMAKE_COMMAND} -E rename "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/mods" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/AppDir/usr/plugins/mods"
+ COMMAND ${CMAKE_COMMAND} -E rename "${CMAKE_SOURCE_DIR}/modules" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/AppDir/usr/modules"
COMMENT "Copying Mods into App Image"
)
@@ -499,45 +498,45 @@ endif()
# if building linux package
if (LINUX AND LINUX_INSTALL_SOFTWARE)
- include(GNUInstallDirs)
- set(GPGFRONTEND_INSTALL_LIBRARIES
- mimalloc
- spdlog
- gpgfrontend_core
- gpgfrontend_ui
- gpgfrontend_test
- gpgfrontend_pinentry
- gpgfrontend_module_sdk)
-
- message(STATUS "GpgFrontend Install Libraries: ${GPGFRONTEND_INSTALL_LIBRARIES}")
- install(TARGETS ${AppName} ${GPGFRONTEND_INSTALL_LIBRARIES}
- EXPORT GpgFrontendTargets
- RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
-
- install(FILES ${CMAKE_SOURCE_DIR}/TRANSLATORS
- DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/${AppName}/)
- install(FILES ${CMAKE_SOURCE_DIR}/resource/appstream/com.bktus.gpgfrontend.appdata.xml
- DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/metainfo/)
- install(FILES ${CMAKE_SOURCE_DIR}/resource/appstream/com.bktus.gpgfrontend.desktop
- DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/)
- install(DIRECTORY ${CMAKE_SOURCE_DIR}/resource/lfs/pixmaps/
- DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/pixmaps/)
- install(DIRECTORY ${CMAKE_SOURCE_DIR}/resource/lfs/hicolor/
- DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/icons/hicolor/)
+ include(GNUInstallDirs)
+ set(GPGFRONTEND_INSTALL_LIBRARIES
+ mimalloc
+ spdlog
+ gpgfrontend_core
+ gpgfrontend_ui
+ gpgfrontend_test
+ gpgfrontend_pinentry
+ gpgfrontend_module_sdk)
+
+ message(STATUS "GpgFrontend Install Libraries: ${GPGFRONTEND_INSTALL_LIBRARIES}")
+ install(TARGETS ${AppName} ${GPGFRONTEND_INSTALL_LIBRARIES}
+ EXPORT GpgFrontendTargets
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ install(FILES ${CMAKE_SOURCE_DIR}/TRANSLATORS
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${AppName}/)
+ install(FILES ${CMAKE_SOURCE_DIR}/resource/appstream/com.bktus.gpgfrontend.appdata.xml
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo/)
+ install(FILES ${CMAKE_SOURCE_DIR}/resource/appstream/com.bktus.gpgfrontend.desktop
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications/)
+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/resource/lfs/pixmaps/
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps/)
+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/resource/lfs/hicolor/
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/)
endif ()
# if building sdk
if (BUILD_SDK)
- include(GNUInstallDirs)
- set(GPGFRONTEND_SDK_INSTALL_LIBRARIES
- gpgfrontend_module_sdk)
-
- install(TARGETS ${GPGFRONTEND_SDK_INSTALL_LIBRARIES}
- EXPORT GpgFrontendTargets
- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ include(GNUInstallDirs)
+ set(GPGFRONTEND_SDK_INSTALL_LIBRARIES
+ gpgfrontend_module_sdk)
+
+ install(TARGETS ${GPGFRONTEND_SDK_INSTALL_LIBRARIES}
+ EXPORT GpgFrontendTargets
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif ()
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 000081d8..6ae14968 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -123,10 +123,12 @@ target_precompile_headers(gpgfrontend_core
# using std c++ 17
target_compile_features(gpgfrontend_core PUBLIC cxx_std_17)
-# lib output path
-set_target_properties(gpgfrontend_core PROPERTIES
- LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib
- RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib)
+if (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
+ # lib output path
+ set_target_properties(gpgfrontend_core PROPERTIES
+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib)
+endif()
# link for different platforms
if (MINGW)
diff --git a/src/core/module/ModuleInit.cpp b/src/core/module/ModuleInit.cpp
index ceb5987e..cfeff3df 100644
--- a/src/core/module/ModuleInit.cpp
+++ b/src/core/module/ModuleInit.cpp
@@ -54,20 +54,20 @@ auto LoadIntegratedMods() -> bool {
#if defined(MACOS) && defined(RELEASE)
// App Bundle
- auto mods_path = exec_binary_path + "/../PlugIns/mods";
+ auto mods_path = exec_binary_path + "/../Modules";
#else
// Debug Or Windows Platform
- auto mods_path = exec_binary_path + "/mods";
+ auto mods_path = exec_binary_path + "/modules";
#endif
// AppImage
if (!qEnvironmentVariable("APPIMAGE").isEmpty()) {
- mods_path = qEnvironmentVariable("APPDIR") + "/usr/plugins/mods";
+ mods_path = qEnvironmentVariable("APPDIR") + "/usr/modules";
}
// Flatpak
if (!qEnvironmentVariable("container").isEmpty()) {
- mods_path = "/app/lib/mods";
+ mods_path = "/app/modules";
}
GF_CORE_LOG_DEBUG("try loading integrated modules at path: {} ...",
diff --git a/src/pinentry/CMakeLists.txt b/src/pinentry/CMakeLists.txt
index b740198f..a800b0f4 100644
--- a/src/pinentry/CMakeLists.txt
+++ b/src/pinentry/CMakeLists.txt
@@ -61,7 +61,9 @@ target_link_libraries(gpgfrontend_pinentry PRIVATE spdlog)
# using std c++ 17
target_compile_features(gpgfrontend_pinentry PUBLIC cxx_std_17)
-# lib output path
-set_target_properties(gpgfrontend_pinentry PROPERTIES
- LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib
- RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib)
+if (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
+ # lib output path
+ set_target_properties(gpgfrontend_pinentry PROPERTIES
+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib)
+endif()
diff --git a/src/sdk/CMakeLists.txt b/src/sdk/CMakeLists.txt
index c8a10e7d..59f673e0 100644
--- a/src/sdk/CMakeLists.txt
+++ b/src/sdk/CMakeLists.txt
@@ -45,10 +45,12 @@ target_link_libraries(gpgfrontend_module_sdk PRIVATE gpgfrontend_core)
file(GLOB _headerPath "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
set_target_properties(gpgfrontend_module_sdk PROPERTIES PUBLIC_HEADER "${_headerPath}")
-# lib output path
-set_target_properties(gpgfrontend_module_sdk PROPERTIES
- LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib
- RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib)
+if (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
+ # lib output path
+ set_target_properties(gpgfrontend_module_sdk PROPERTIES
+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib)
+endif()
if (XCODE_BUILD)
set_target_properties(gpgfrontend_module_sdk
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
index f23cc928..221483dc 100644
--- a/src/test/CMakeLists.txt
+++ b/src/test/CMakeLists.txt
@@ -55,4 +55,11 @@ if(MINGW)
)
endif()
+if (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
+ # lib output path
+ set_target_properties(gpgfrontend_test PROPERTIES
+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib)
+endif()
+
add_test(AllTestsInGpgFrontend gpgfrontend_test)
diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt
index 32e69481..7db2b627 100644
--- a/src/ui/CMakeLists.txt
+++ b/src/ui/CMakeLists.txt
@@ -50,11 +50,11 @@ generate_export_header(gpgfrontend_ui EXPORT_FILE_NAME "${_export_file}")
if(GPGFRONTEND_QT5_BUILD)
# link Qt
target_link_libraries(gpgfrontend_ui
- Qt5::Core Qt5::Widgets Qt5::Network Qt5::PrintSupport)
+ Qt5::Core Qt5::Widgets Qt5::Network Qt5::PrintSupport)
else()
# link Qt
- target_link_libraries(gpgfrontend_ui
- Qt6::Core Qt6::Widgets Qt6::Network Qt6::PrintSupport)
+ target_link_libraries(gpgfrontend_ui
+ Qt6::Core Qt6::Widgets Qt6::Network Qt6::PrintSupport)
endif()
@@ -69,25 +69,28 @@ target_precompile_headers(gpgfrontend_ui PUBLIC GpgFrontendUI.h)
# add ui generator include path
target_include_directories(gpgfrontend_ui PUBLIC
- ${CMAKE_CURRENT_BINARY_DIR}/gpgfrontend_ui_autogen/include
- ${CMAKE_SOURCE_DIR}/third_party/spdlog/include)
+ ${CMAKE_CURRENT_BINARY_DIR}/gpgfrontend_ui_autogen/include
+ ${CMAKE_SOURCE_DIR}/third_party/spdlog/include)
# using std c++ 17
target_compile_features(gpgfrontend_ui PUBLIC cxx_std_17)
-# lib output path
-set_target_properties(gpgfrontend_ui PROPERTIES
- LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib
- RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib)
+if (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
+ # lib output path
+ set_target_properties(gpgfrontend_ui PROPERTIES
+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib)
+endif()
# for xcode archive build
if (XCODE_BUILD)
- set_target_properties(gpgfrontend_ui
- PROPERTIES
- ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
- LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
- LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
- XCODE_ATTRIBUTE_SKIP_INSTALL "Yes"
- XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}")
+ set_target_properties(gpgfrontend_ui
+ PROPERTIES
+ ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
+ XCODE_ATTRIBUTE_SKIP_INSTALL "Yes"
+ XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}")
endif ()
+
target_compile_features(gpgfrontend_ui PUBLIC cxx_std_17) \ No newline at end of file