diff options
author | saturneric <[email protected]> | 2024-07-12 13:18:34 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2024-07-12 13:18:34 +0000 |
commit | bc52ba74b461145212c999f4c2435125768f24ef (patch) | |
tree | b64b4df69c2760091aa518da0f0b0e084b99c968 | |
parent | feat: improve the project structure (diff) | |
download | GpgFrontend-bc52ba74b461145212c999f4c2435125768f24ef.tar.gz GpgFrontend-bc52ba74b461145212c999f4c2435125768f24ef.zip |
feat: adjust modules loading path
-rw-r--r-- | src/CMakeLists.txt | 79 | ||||
-rw-r--r-- | src/core/CMakeLists.txt | 10 | ||||
-rw-r--r-- | src/core/module/ModuleInit.cpp | 8 | ||||
-rw-r--r-- | src/pinentry/CMakeLists.txt | 10 | ||||
-rw-r--r-- | src/sdk/CMakeLists.txt | 10 | ||||
-rw-r--r-- | src/test/CMakeLists.txt | 7 | ||||
-rw-r--r-- | src/ui/CMakeLists.txt | 35 |
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 |