aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSaturneric <[email protected]>2022-07-24 14:07:44 +0000
committerSaturneric <[email protected]>2022-07-24 14:07:44 +0000
commit7dfe0bdb6f05efc1a5ac19d64980fd29499f63ec (patch)
tree560c0e32aef2bd23b11a745d380435cc7ab323fa /src
parentfeat(project): add rpm package support (diff)
downloadGpgFrontend-7dfe0bdb6f05efc1a5ac19d64980fd29499f63ec.tar.gz
GpgFrontend-7dfe0bdb6f05efc1a5ac19d64980fd29499f63ec.zip
feat(project): support freebsd build
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt33
-rw-r--r--src/main.cpp4
-rw-r--r--src/signal.cpp4
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.