diff options
author | Saturneric <[email protected]> | 2022-07-24 14:07:44 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2022-07-24 14:07:44 +0000 |
commit | 7dfe0bdb6f05efc1a5ac19d64980fd29499f63ec (patch) | |
tree | 560c0e32aef2bd23b11a745d380435cc7ab323fa /src | |
parent | feat(project): add rpm package support (diff) | |
download | GpgFrontend-7dfe0bdb6f05efc1a5ac19d64980fd29499f63ec.tar.gz GpgFrontend-7dfe0bdb6f05efc1a5ac19d64980fd29499f63ec.zip |
feat(project): support freebsd build
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 33 | ||||
-rw-r--r-- | src/main.cpp | 4 | ||||
-rw-r--r-- | src/signal.cpp | 4 |
3 files changed, 31 insertions, 10 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4df4579a..e00f9b60 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -271,6 +271,10 @@ if (APPLICATION_BUILD) else () message(STATUS "Link Application Library For Linux") target_link_libraries(${AppName} crypto pthread) + # link for freebsd + if(FREEBSD) + target_link_libraries(${AppName} intl) + endif() # issue on filesystem support of gcc if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 9.0) target_link_libraries(${AppName} stdc++fs) @@ -315,15 +319,8 @@ if (LINUX AND LINUX_INSTALL_SOFTWARE) DESTINATION ${CMAKE_INSTALL_FULL_LOCALEDIR}) endif () - cmake_host_system_information(RESULT PRETTY_NAME QUERY DISTRIB_PRETTY_NAME) - cmake_host_system_information(RESULT DISTRO QUERY DISTRIB_INFO) - - foreach(VAR IN LISTS DISTRO) - message(STATUS "${VAR}=`${${VAR}}`") - endforeach() - if (APP_PACKAGE_DEB) - message(STATUS "Configure Deb Package") + message(STATUS "Configure DEB Package") SET(CPACK_GENERATOR "DEB") set(CPACK_INSTALL_PREFIX "/usr/local/") set(CPACK_PACKAGE_NAME "gpgfrontend") @@ -345,8 +342,9 @@ if (LINUX AND LINUX_INSTALL_SOFTWARE) set(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}") include(CPack) endif () - if (APP_PACKAGE_RPM) - message(STATUS "Configure Rpm Package") + + if (APP_PACKAGE_RPM) + message(STATUS "Configure RPM Package") SET(CPACK_GENERATOR "RPM") set(CPACK_INSTALL_PREFIX "/usr/local/") set(CPACK_PACKAGE_NAME "gpgfrontend") @@ -360,6 +358,21 @@ if (LINUX AND LINUX_INSTALL_SOFTWARE) set(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}") include(CPack) endif () + + if (APP_PACKAGE_FREEBSD) + message(STATUS "Configure PKG Package") + SET(CPACK_GENERATOR "FREEBSD") + set(CPACK_INSTALL_PREFIX "/usr/local/") + set(CPACK_FREEBSD_PACKAGE_NAME "gpgfrontend") + set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64") + set(CPACK_PACKAGE_CONTACT "[email protected]") + SET(CPACK_FREEBSD_PACKAGE_MAINTAINER "Saturneric") + + set(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}") + set(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}") + set(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}") + include(CPack) + endif () endif () message(STATUS "Resource Files: ${RESOURCE_OUTPUT_DIRECTORY}") diff --git a/src/main.cpp b/src/main.cpp index b51c44ea..4cb3849f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -46,7 +46,11 @@ INITIALIZE_EASYLOGGINGPP /** * \brief Store the jump buff and make it possible to recover from a crash. */ +#ifdef FREEBSD +sigjmp_buf recover_env; +#else jmp_buf recover_env; +#endif constexpr int CRASH_CODE = ~0; ///< diff --git a/src/signal.cpp b/src/signal.cpp index 135bdead..bd4cfdb1 100644 --- a/src/signal.cpp +++ b/src/signal.cpp @@ -30,7 +30,11 @@ #include "GpgFrontend.h" +#ifdef FREEBSD +extern sigjmp_buf recover_env; +#else extern jmp_buf recover_env; +#endif /** * @brief handle the signal caught. |