diff options
author | saturneric <[email protected]> | 2023-10-14 17:59:16 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2023-10-14 17:59:16 +0000 |
commit | 0863078fae1f32104ccdadc080113f5537e045c8 (patch) | |
tree | 6d2c4b08648861f3c7b972fe96eb049df30bc6cb | |
parent | doc: update some documents (diff) | |
download | GpgFrontend-0863078fae1f32104ccdadc080113f5537e045c8.tar.gz GpgFrontend-0863078fae1f32104ccdadc080113f5537e045c8.zip |
fix: slove build problem for flatpack builder
Diffstat (limited to '')
-rw-r--r-- | .github/workflows/release.yml | 4 | ||||
-rw-r--r-- | .gitignore | 7 | ||||
-rw-r--r-- | CMakeLists.txt | 38 | ||||
-rw-r--r-- | cmake/FindConfig++.cmake | 23 | ||||
-rw-r--r-- | cmake/FindGpgme.cmake | 374 | ||||
-rw-r--r-- | src/CMakeLists.txt | 38 | ||||
-rw-r--r-- | third_party/CMakeLists.txt | 5 |
7 files changed, 441 insertions, 48 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ad181629..b2947281 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,13 +2,13 @@ name: Build & Package on: push: - branches: [ main, 'develop', 'dev/**' ] + branches: [ main, 'develop' ] paths-ignore: - 'resource/locale/template/**' - 'manual/**' - '**.md' pull_request: - branches: [ 'develop', 'dev/**' ] + branches: [ 'develop' ] paths-ignore: - 'resource/locale/template/**' - 'manual/**' @@ -115,3 +115,10 @@ target_wrapper.* # QtCreator *.autosave + + + + +#Flatpak +.flatpak-builder +.flatpak-builder/ diff --git a/CMakeLists.txt b/CMakeLists.txt index d6c7e2e3..74d1d0f4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,13 +32,13 @@ project(GpgFrontend VERSION 2.1.1 LANGUAGES CXX) # show cmake version message(STATUS "GpgFrontend Build Configuration Started CMAKE Version ${CMAKE_VERSION}") -INCLUDE(CheckIncludeFiles) -INCLUDE(CheckIncludeFileCXX) -INCLUDE(CheckFunctionExists) -INCLUDE(CheckSymbolExists) -INCLUDE(CheckTypeSize) -INCLUDE(CheckLibraryExists) -INCLUDE(CheckCXXSourceCompiles) +include(CheckIncludeFiles) +include(CheckIncludeFileCXX) +include(CheckFunctionExists) +include(CheckSymbolExists) +include(CheckTypeSize) +include(CheckLibraryExists) +include(CheckCXXSourceCompiles) # generate compile_commands.json set(CMAKE_EXPORT_COMPILE_COMMANDS ON) @@ -383,7 +383,7 @@ endif () if (LINUX_INSTALL_SOFTWARE) - message(STATUS "Configure Linux Install ON") + message(STATUS "Linux Install Traget ${CMAKE_INSTALL_PREFIX}") include(GNUInstallDirs) set(INSTALL_GPGFRONTEND_APP 1) set(APP_INSTALL_FLAG LINUX_INSTALL) @@ -403,9 +403,6 @@ if (FULL_APPLICATION_BUILD) set(QT5_ENV_SUPPORT 1) set(GPG_CORE 1) set(UI_CORE 1) - set(SMTP_SUPPORT 1) - set(SERVER_SUPPORT 1) - set(ADVANCE_SUPPORT 1) set(APPLICATION_BUILD 1) set(BASIC_ENV_CONFIG 1) set(MULTI_LANG_SUPPORT 1) @@ -416,10 +413,6 @@ elseif (MINIMUM_APPLICATION_BUILD) set(UI_CORE 1) set(APPLICATION_BUILD 1) set(BASIC_ENV_CONFIG 1) - # Disable APP_IMAGE_UPDATE because of too many issues - # if (LINUX) - # set(APP_IMAGE_UPDATE 1) - # endif () elseif (STABLE_APPLICATION_BUILD) message(STATUS "Build Stable Application") set(QT5_ENV_SUPPORT 1) @@ -427,7 +420,6 @@ elseif (STABLE_APPLICATION_BUILD) set(UI_CORE 1) set(APPLICATION_BUILD 1) set(BASIC_ENV_CONFIG 1) - set(SMTP_SUPPORT 1) set(MULTI_LANG_SUPPORT 1) elseif (TEST_CORE_BUILD) message(STATUS "Build Test Cases") @@ -443,19 +435,7 @@ endif () # For instance in order to select the highest version one SET(CMAKE_FIND_PACKAGE_SORT_ORDER NATURAL) SET(CMAKE_FIND_PACKAGE_SORT_DIRECTION DEC) - -if (SMTP_SUPPORT) - add_compile_definitions(SMTP_SUPPORT) -endif () - -if (SERVER_SUPPORT) - add_compile_definitions(SERVER_SUPPORT) -endif () - -if (ADVANCE_SUPPORT) - add_compile_definitions(ADVANCE_SUPPORT) -endif () - +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) if (MULTI_LANG_SUPPORT) add_compile_definitions(MULTI_LANG_SUPPORT) diff --git a/cmake/FindConfig++.cmake b/cmake/FindConfig++.cmake new file mode 100644 index 00000000..f6d11a3d --- /dev/null +++ b/cmake/FindConfig++.cmake @@ -0,0 +1,23 @@ +FIND_PATH(CONFIG++_INCLUDE_DIR libconfig.h++ /usr/include /usr/local/include) + +FIND_LIBRARY(CONFIG++_LIBRARY NAMES config++ PATH /usr/lib /usr/local/lib) + +IF (CONFIG++_INCLUDE_DIR AND CONFIG++_LIBRARY) + SET(CONFIG++_FOUND TRUE) +ENDIF ( CONFIG++_INCLUDE_DIR AND CONFIG++_LIBRARY) + +IF (CONFIG++_FOUND) + IF (NOT CONFIG++_FIND_QUIETLY) + MESSAGE(STATUS "Found Config++: ${CONFIG++_LIBRARY}") + ENDIF (NOT CONFIG++_FIND_QUIETLY) +ELSE(CONFIG++_FOUND) + IF (Config++_FIND_REQUIRED) + IF(NOT CONFIG++_INCLUDE_DIR) + MESSAGE(FATAL_ERROR "Could not find LibConfig++ header file!") + ENDIF(NOT CONFIG++_INCLUDE_DIR) + + IF(NOT CONFIG++_LIBRARY) + MESSAGE(FATAL_ERROR "Could not find LibConfig++ library file!") + ENDIF(NOT CONFIG++_LIBRARY) + ENDIF (Config++_FIND_REQUIRED) +ENDIF (CONFIG++_FOUND)
\ No newline at end of file diff --git a/cmake/FindGpgme.cmake b/cmake/FindGpgme.cmake new file mode 100644 index 00000000..d1bb2426 --- /dev/null +++ b/cmake/FindGpgme.cmake @@ -0,0 +1,374 @@ +# - Try to find the gpgme library +# +# Algorithm: +# - Windows: +# On Windows, there's three gpgme variants: gpgme{,-glib,-qt}. +# - The variant used determines the event loop integration possible: +# - gpgme: no event loop integration possible, only synchronous operations supported +# - gpgme-glib: glib event loop integration possible, only asynchronous operations supported +# - gpgme-qt: qt event loop integration possible, only asynchronous operations supported +# - GPGME_{VANILLA,GLIB,QT}_{FOUND,LIBRARIES} will be set for each of the above +# - GPGME_INCLUDES is the same for all of the above +# - GPGME_FOUND is set if any of the above was found +# - *nix: +# There's also three variants: gpgme{,-pthread,-pth}. +# - The variant used determines the multithreaded use possible: +# - gpgme: no multithreading support available +# - gpgme-pthread: multithreading available using POSIX threads +# - gpgme-pth: multithreading available using GNU PTH (cooperative multithreading) +# - GPGME_{VANILLA,PTH,PTHREAD}_{FOUND,LIBRARIES} will be set for each of the above +# - GPGME_INCLUDES is the same for all of the above +# - GPGME_FOUND is set if any of the above was found +# +# GPGME_LIBRARY_DIR - the directory where the libraries are located + +# +# THIS IS ALMOST A 1:1 COPY OF FindAssuan.cmake in kdepim. +# Any changes here likely apply there, too. +# + +find_package(PkgConfig) + +#if this is built-in, please replace, if it isn't, export into a MacroToBool.cmake of it's own +macro( macro_bool_to_bool FOUND_VAR ) + foreach( _current_VAR ${ARGN} ) + if ( ${FOUND_VAR} ) + set( ${_current_VAR} TRUE ) + else() + set( ${_current_VAR} FALSE ) + endif() + endforeach() +endmacro() + +#HACK: local copy... +MACRO(MACRO_BOOL_TO_01 FOUND_VAR ) + FOREACH (_current_VAR ${ARGN}) + IF(${FOUND_VAR}) + SET(${_current_VAR} 1) + ELSE(${FOUND_VAR}) + SET(${_current_VAR} 0) + ENDIF(${FOUND_VAR}) + ENDFOREACH(_current_VAR) +ENDMACRO(MACRO_BOOL_TO_01) + +pkg_search_module(PC_GPGME gpgme) + +if (PC_GPGME_FOUND) + set(GPGME_INCLUDES ${PC_GPGME_INCLUDE_DIRS}) + set(GPGME_LIBRARIES ${PC_GPGME_LINK_LIBRARIES}) + set(GPGME_VERSION ${PC_GPGME_VERSION}) + set(GPGME_LIBRARY_DIR ${PC_GPGME_LIBRARY_DIR}) +elseif ( WIN32 ) + + # On Windows, we don't have a gpgme-config script, so we need to + # look for the stuff ourselves: + + # in cmake, AND and OR have the same precedence, there's no + # subexpressions, and expressions are evaluated short-circuit'ed + # IOW: CMake if() suxx. + # Starting with CMake 2.6.3 you can group if expressions with (), but we + # don't require 2.6.3 but 2.6.2, we can't use it. Alex + set( _seem_to_have_cached_gpgme false ) + if ( GPGME_INCLUDES ) + if ( GPGME_VANILLA_LIBRARIES OR GPGME_QT_LIBRARIES OR GPGME_GLIB_LIBRARIES ) + set( _seem_to_have_cached_gpgme true ) + endif() + endif() + + if ( _seem_to_have_cached_gpgme ) + + macro_bool_to_bool( GPGME_VANILLA_LIBRARIES GPGME_VANILLA_FOUND ) + macro_bool_to_bool( GPGME_GLIB_LIBRARIES GPGME_GLIB_FOUND ) + macro_bool_to_bool( GPGME_QT_LIBRARIES GPGME_QT_FOUND ) + # this would have been preferred: + #set( GPGME_*_FOUND macro_bool_to_bool(GPGME_*_LIBRARIES) ) + + if ( GPGME_VANILLA_FOUND OR GPGME_GLIB_FOUND OR GPGME_QT_FOUND ) + set( GPGME_FOUND true ) + else() + set( GPGME_FOUND false ) + endif() + + else() + + set( GPGME_FOUND false ) + set( GPGME_VANILLA_FOUND false ) + set( GPGME_GLIB_FOUND false ) + set( GPGME_QT_FOUND false ) + + find_path( GPGME_INCLUDES gpgme.h + ${CMAKE_INCLUDE_PATH} + ${CMAKE_INSTALL_PREFIX}/include + ) + + find_library( _gpgme_vanilla_library NAMES gpgme libgpgme gpgme-11 libgpgme-11 + PATHS + ${CMAKE_LIBRARY_PATH} + ${CMAKE_INSTALL_PREFIX}/lib + ) + + find_library( _gpgme_glib_library NAMES gpgme-glib libgpgme-glib gpgme-glib-11 libgpgme-glib-11 + PATHS + ${CMAKE_LIBRARY_PATH} + ${CMAKE_INSTALL_PREFIX}/lib + ) + + find_library( _gpgme_qt_library NAMES gpgme-qt libgpgme-qt gpgme-qt-11 libgpgme-qt-11 + PATHS + ${CMAKE_LIBRARY_PATH} + ${CMAKE_INSTALL_PREFIX}/lib + ) + + find_library( _gpg_error_library NAMES gpg-error libgpg-error gpg-error-0 libgpg-error-0 + PATHS + ${CMAKE_LIBRARY_PATH} + ${CMAKE_INSTALL_PREFIX}/lib + ) + + set( GPGME_INCLUDES ${GPGME_INCLUDES} ) + + if ( _gpgme_vanilla_library AND _gpg_error_library ) + set( GPGME_VANILLA_LIBRARIES ${_gpgme_vanilla_library} ${_gpg_error_library} ) + set( GPGME_VANILLA_FOUND true ) + set( GPGME_FOUND true ) + endif() + + if ( _gpgme_glib_library AND _gpg_error_library ) + set( GPGME_GLIB_LIBRARIES ${_gpgme_glib_library} ${_gpg_error_library} ) + set( GPGME_GLIB_FOUND true ) + set( GPGME_FOUND true ) + endif() + + if ( _gpgme_qt_library AND _gpg_error_library ) + set( GPGME_QT_LIBRARIES ${_gpgme_qt_library} ${_gpg_error_library} ) + set( GPGME_QT_FOUND true ) + set( GPGME_FOUND true ) + endif() + + endif() + + # these are Unix-only: + set( GPGME_PTHREAD_FOUND false ) + set( GPGME_PTH_FOUND false ) + set( HAVE_GPGME_PTHREAD 0 ) + set( HAVE_GPGME_PTH 0 ) + + macro_bool_to_01( GPGME_FOUND HAVE_GPGME ) + macro_bool_to_01( GPGME_VANILLA_FOUND HAVE_GPGME_VANILLA ) + macro_bool_to_01( GPGME_GLIB_FOUND HAVE_GPGME_GLIB ) + macro_bool_to_01( GPGME_QT_FOUND HAVE_GPGME_QT ) + +else() # not WIN32 + + # On *nix, we have the gpgme-config script which can tell us all we + # need to know: + + # see WIN32 case for an explanation of what this does: + set( _seem_to_have_cached_gpgme false ) + if ( GPGME_INCLUDES ) + if ( GPGME_VANILLA_LIBRARIES OR GPGME_PTHREAD_LIBRARIES OR GPGME_PTH_LIBRARIES ) + set( _seem_to_have_cached_gpgme true ) + endif() + endif() + + if ( _seem_to_have_cached_gpgme ) + + macro_bool_to_bool( GPGME_VANILLA_LIBRARIES GPGME_VANILLA_FOUND ) + macro_bool_to_bool( GPGME_PTHREAD_LIBRARIES GPGME_PTHREAD_FOUND ) + macro_bool_to_bool( GPGME_PTH_LIBRARIES GPGME_PTH_FOUND ) + + if ( GPGME_VANILLA_FOUND OR GPGME_PTHREAD_FOUND OR GPGME_PTH_FOUND ) + set( GPGME_FOUND true ) + else() + set( GPGME_FOUND false ) + endif() + + else() + + set( GPGME_FOUND false ) + set( GPGME_VANILLA_FOUND false ) + set( GPGME_PTHREAD_FOUND false ) + set( GPGME_PTH_FOUND false ) + + find_program( _GPGMECONFIG_EXECUTABLE NAMES gpgme-config ) + + # if gpgme-config has been found + if ( _GPGMECONFIG_EXECUTABLE ) + + message( STATUS "Found gpgme-config at ${_GPGMECONFIG_EXECUTABLE}" ) + + exec_program( ${_GPGMECONFIG_EXECUTABLE} ARGS --version OUTPUT_VARIABLE GPGME_VERSION ) + + set( _GPGME_MIN_VERSION "1.4.3" ) + + if ( ${GPGME_VERSION} VERSION_LESS ${_GPGME_MIN_VERSION} ) + + message( STATUS "The installed version of gpgme is too old: ${GPGME_VERSION} (required: >= ${_GPGME_MIN_VERSION})" ) + + else() + + message( STATUS "Found gpgme v${GPGME_VERSION}, checking for flavors..." ) + + exec_program( ${_GPGMECONFIG_EXECUTABLE} ARGS --libs OUTPUT_VARIABLE _gpgme_config_vanilla_libs RETURN_VALUE _ret ) + if ( _ret ) + set( _gpgme_config_vanilla_libs ) + endif() + + exec_program( ${_GPGMECONFIG_EXECUTABLE} ARGS --thread=pthread --libs OUTPUT_VARIABLE _gpgme_config_pthread_libs RETURN_VALUE _ret ) + if ( _ret ) + set( _gpgme_config_pthread_libs ) + endif() + + exec_program( ${_GPGMECONFIG_EXECUTABLE} ARGS --thread=pth --libs OUTPUT_VARIABLE _gpgme_config_pth_libs RETURN_VALUE _ret ) + if ( _ret ) + set( _gpgme_config_pth_libs ) + endif() + + # append -lgpg-error to the list of libraries, if necessary + foreach ( _flavour vanilla pthread pth ) + if ( _gpgme_config_${_flavour}_libs AND NOT _gpgme_config_${_flavour}_libs MATCHES "lgpg-error" ) + set( _gpgme_config_${_flavour}_libs "${_gpgme_config_${_flavour}_libs} -lgpg-error" ) + endif() + endforeach() + + if ( _gpgme_config_vanilla_libs OR _gpgme_config_pthread_libs OR _gpgme_config_pth_libs ) + + exec_program( ${_GPGMECONFIG_EXECUTABLE} ARGS --cflags OUTPUT_VARIABLE _GPGME_CFLAGS ) + + if ( _GPGME_CFLAGS ) + string( REGEX REPLACE "(\r?\n)+$" " " _GPGME_CFLAGS "${_GPGME_CFLAGS}" ) + string( REGEX REPLACE " *-I" ";" GPGME_INCLUDES "${_GPGME_CFLAGS}" ) + endif() + + foreach ( _flavour vanilla pthread pth ) + if ( _gpgme_config_${_flavour}_libs ) + + set( _gpgme_library_dirs ) + set( _gpgme_library_names ) + string( TOUPPER "${_flavour}" _FLAVOUR ) + + string( REGEX REPLACE " +" ";" _gpgme_config_${_flavour}_libs "${_gpgme_config_${_flavour}_libs}" ) + + foreach( _flag ${_gpgme_config_${_flavour}_libs} ) + if ( "${_flag}" MATCHES "^-L" ) + string( REGEX REPLACE "^-L" "" _dir "${_flag}" ) + file( TO_CMAKE_PATH "${_dir}" _dir ) + set( _gpgme_library_dirs ${_gpgme_library_dirs} "${_dir}" ) + elseif( "${_flag}" MATCHES "^-l" ) + string( REGEX REPLACE "^-l" "" _name "${_flag}" ) + set( _gpgme_library_names ${_gpgme_library_names} "${_name}" ) + endif() + endforeach() + + set( GPGME_${_FLAVOUR}_FOUND true ) + + foreach( _name ${_gpgme_library_names} ) + set( _gpgme_${_name}_lib ) + + # if -L options were given, look only there + if ( _gpgme_library_dirs ) + find_library( _gpgme_${_name}_lib NAMES ${_name} PATHS ${_gpgme_library_dirs} NO_DEFAULT_PATH ) + endif() + + # if not found there, look in system directories + if ( NOT _gpgme_${_name}_lib ) + find_library( _gpgme_${_name}_lib NAMES ${_name} ) + endif() + + # if still not found, then the whole flavor isn't found + if ( NOT _gpgme_${_name}_lib ) + if ( GPGME_${_FLAVOUR}_FOUND ) + set( GPGME_${_FLAVOUR}_FOUND false ) + set( _not_found_reason "dependent library ${_name} wasn't found" ) + endif() + endif() + + set( GPGME_${_FLAVOUR}_LIBRARIES ${GPGME_${_FLAVOUR}_LIBRARIES} "${_gpgme_${_name}_lib}" ) + endforeach() + + #check_c_library_exists_explicit( gpgme gpgme_check_version "${_GPGME_CFLAGS}" "${GPGME_LIBRARIES}" GPGME_FOUND ) + if ( GPGME_${_FLAVOUR}_FOUND ) + message( STATUS " Found flavor '${_flavour}', checking whether it's usable...yes" ) + else() + message( STATUS " Found flavor '${_flavour}', checking whether it's usable...no" ) + message( STATUS " (${_not_found_reason})" ) + endif() + endif() + + endforeach( _flavour ) + + # ensure that they are cached + # This comment above doesn't make sense, the four following lines seem to do nothing. Alex + set( GPGME_INCLUDES ${GPGME_INCLUDES} ) + set( GPGME_VANILLA_LIBRARIES ${GPGME_VANILLA_LIBRARIES} ) + set( GPGME_PTHREAD_LIBRARIES ${GPGME_PTHREAD_LIBRARIES} ) + set( GPGME_PTH_LIBRARIES ${GPGME_PTH_LIBRARIES} ) + + if ( GPGME_VANILLA_FOUND OR GPGME_PTHREAD_FOUND OR GPGME_PTH_FOUND ) + set( GPGME_FOUND true ) + else() + set( GPGME_FOUND false ) + endif() + + endif() + + endif() + + endif() + + endif() + + # these are Windows-only: + set( GPGME_GLIB_FOUND false ) + set( GPGME_QT_FOUND false ) + set( HAVE_GPGME_GLIB 0 ) + set( HAVE_GPGME_QT 0 ) + + macro_bool_to_01( GPGME_FOUND HAVE_GPGME ) + macro_bool_to_01( GPGME_VANILLA_FOUND HAVE_GPGME_VANILLA ) + macro_bool_to_01( GPGME_PTHREAD_FOUND HAVE_GPGME_PTHREAD ) + macro_bool_to_01( GPGME_PTH_FOUND HAVE_GPGME_PTH ) + +endif() # WIN32 | Unix + + +set( _gpgme_flavours "" ) + +if ( GPGME_VANILLA_FOUND ) + set( _gpgme_flavours "${_gpgme_flavours} vanilla" ) +endif() + +if ( GPGME_GLIB_FOUND ) + set( _gpgme_flavours "${_gpgme_flavours} Glib" ) +endif() + +if ( GPGME_QT_FOUND ) + set( _gpgme_flavours "${_gpgme_flavours} Qt" ) +endif() + +if ( GPGME_PTHREAD_FOUND ) + set( _gpgme_flavours "${_gpgme_flavours} pthread" ) +endif() + +if ( GPGME_PTH_FOUND ) + set( _gpgme_flavours "${_gpgme_flavours} pth" ) +endif() + +# determine the library in one of the found flavors, can be reused e.g. by FindQgpgme.cmake, Alex +foreach(_currentFlavour vanilla glib qt pth pthread) + if(NOT GPGME_LIBRARY_DIR) + get_filename_component(GPGME_LIBRARY_DIR "${_gpgme_${_currentFlavour}_lib}" PATH) + endif() +endforeach() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Gpgme + REQUIRED_VARS GPGME_LIBRARIES + VERSION_VAR GPGME_VERSION + ) + +if ( WIN32 ) + set( _gpgme_homepage "https://www.gpg4win.org" ) +else() + set( _gpgme_homepage "https://www.gnupg.org/related_software/gpgme" ) +endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index cb34ea75..dc94ed0b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -33,6 +33,14 @@ else() PATHS ${BOOST_ROOT} NO_DEFAULT_PATH) endif() +# Introduce GpgME +find_package(Gpgme REQUIRED) +message(STATUS "GpgME Path ${GPGME_LIBRARIES_DIR}") +message(STATUS "GpgME Library Path ${GPGME_LIBRARIES}") + +# Introduce Config++ +find_package(Config++ REQUIRED) + # Introduce OpenSSL if(APPLE) set(OPENSSL_ROOT_DIR /usr/local/opt/openssl@3) @@ -494,32 +502,32 @@ target_compile_features(${AppName} PUBLIC cxx_std_17) # if building linux package if (LINUX AND LINUX_INSTALL_SOFTWARE) + include(GNUInstallDirs) if (INSTALL_GPGFRONTEND_APP) install(TARGETS ${AppName} gpgfrontend_core gpgfrontend_ui EXPORT GpgFrontendTargets - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - ) - install(DIRECTORY /usr/local/lib/ - DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}) + install(DIRECTORY ${PC_GPGME_LIBDIR} + DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} FILES_MATCHING PATTERN "libgpgme.so*") - install(DIRECTORY /usr/local/lib/ - DESTINATION ${CMAKE_INSTALL_LIBDIR} + install(DIRECTORY ${PC_GPGME_LIBDIR} + DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} FILES_MATCHING PATTERN "libassuan.so*") - install(DIRECTORY /usr/local/lib/ - DESTINATION ${CMAKE_INSTALL_LIBDIR} + install(DIRECTORY ${PC_GPGME_LIBDIR} + DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} FILES_MATCHING PATTERN "libgpg-error.so*") install(FILES ${CMAKE_SOURCE_DIR}/TRANSLATORS - DESTINATION /usr/local/share/${AppName}/) + DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/${AppName}/) install(FILES ${CMAKE_SOURCE_DIR}/resource/meta/com.bktus.gpgfrontend.appdata.xml - DESTINATION /usr/share/metainfo/) + DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/metainfo/) install(DIRECTORY ${CMAKE_SOURCE_DIR}/resource/desktop/ - DESTINATION /usr/share/applications/) + DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/) install(DIRECTORY ${CMAKE_SOURCE_DIR}/resource/lfs/pixmaps/ - DESTINATION /usr/share/pixmaps/) + DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/pixmaps/) install(DIRECTORY ${CMAKE_SOURCE_DIR}/resource/lfs/hicolor/ - DESTINATION /usr/share/icons/hicolor/) + DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/icons/hicolor/) endif () if (MULTI_LANG_SUPPORT) install(DIRECTORY ${LOCALE_OUTPUT_PATH}/ diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt index c7912e31..e04e1b41 100644 --- a/third_party/CMakeLists.txt +++ b/third_party/CMakeLists.txt @@ -26,6 +26,7 @@ # json set(JSON_BuildTests OFF CACHE INTERNAL "") -add_subdirectory(json EXCLUDE_FROM_ALL) -add_subdirectory(spdlog EXCLUDE_FROM_ALL)
\ No newline at end of file +add_subdirectory(json EXCLUDE_FROM_ALL) +add_subdirectory(spdlog EXCLUDE_FROM_ALL) +add_subdirectory(libconfig EXCLUDE_FROM_ALL)
\ No newline at end of file |