aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt55
-rw-r--r--sdk/README1
-rw-r--r--src/m_email/CMakeLists.txt13
-rw-r--r--src/m_gpg_info/CMakeLists.txt13
-rw-r--r--src/m_key_server_sync/CMakeLists.txt11
-rw-r--r--src/m_paper_key/CMakeLists.txt11
-rw-r--r--src/m_pinentry/CMakeLists.txt11
-rw-r--r--src/m_ver_check/CMakeLists.txt13
8 files changed, 67 insertions, 61 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 81d8193..a986559 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,7 +25,6 @@
cmake_minimum_required(VERSION 3.16)
-message(STATUS "Current Generator: ${CMAKE_GENERATOR}")
set(CMAKE_USER_MAKE_RULES_OVERRIDE "${CMAKE_SOURCE_DIR}/cmake/FlagsOverrides.cmake")
# define project
@@ -53,18 +52,18 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
option(GPGFRONTEND_MODULES_QT5_BUILD "Swith to Qt5 building mode" OFF)
-# show cmake version
-message(STATUS "GpgFrontend Moudles Build Configuration Started CMAKE Version ${CMAKE_VERSION}")
+# show build arguments
+message(STATUS "GpgFrontend Modules Source Path: ${CMAKE_SOURCE_DIR}")
+message(STATUS "GpgFrontend Modules Runtime Path: ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
-set(SDK_VERSION "${CMAKE_PROJECT_VERSION}")
-set(SDK_PATH "${CMAKE_SOURCE_DIR}/sdk/${SDK_VERSION}")
-set(SDK_INCLUDE_PATH "${SDK_PATH}/include")
-set(SDK_LIB_PATH "${SDK_PATH}/lib")
+set(SDK_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/src/sdk")
+set(SDK_LIB_PATH "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
-message(STATUS "SDK Path: ${SDK_PATH}")
+message(STATUS "GpgFrontend Modules SDK Headers Path: ${SDK_INCLUDE_PATH} ")
+message(STATUS "GpgFrontend Modules SDK Library Path: ${SDK_LIB_PATH} ")
include_directories(
- ${CMAKE_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
${SDK_INCLUDE_PATH}
)
@@ -72,6 +71,14 @@ link_directories(
${SDK_LIB_PATH}
)
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/modules)
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/modules)
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/modules)
+
+message(STATUS "GpgFrontend Modules Runtime Output Path: ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ")
+message(STATUS "GpgFrontend Modules Library Output Path: ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ")
+message(STATUS "GpgFrontend Modules ARCHIVE Output Path: ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} ")
+
# Introduce Qt
# Support Qt version: 6.x
if(GPGFRONTEND_QT5_BUILD)
@@ -88,32 +95,14 @@ endif()
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
-set(CMAKE_AUTORCC_OPTIONS "--compress;9")
-
-# rpath config
-if(WIN32)
- message(STATUS "Configuring for Windows without rpath")
-elseif(APPLE)
- set(CMAKE_MACOSX_RPATH 1)
- set(CMAKE_INSTALL_RPATH "@loader_path/../lib")
-
- include_directories(
- /usr/local/include
- /opt/homebrew/include
- )
-
- link_directories(
- /usr/local/lib
- /opt/homebrew/lib
- )
-else()
- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
- set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
- set(CMAKE_INSTALL_RPATH "$ORIGIN:$ORIGIN/../lib")
-endif()
+
+include(GNUInstallDirs)
+set(CMAKE_INSTALL_BINDIR "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/modules")
+set(CMAKE_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/modules")
+set(CMAKE_INSTALL_DATAROOTDIR "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/modules")
# third_party
add_subdirectory(third_party)
# source code
-add_subdirectory(src) \ No newline at end of file
+add_subdirectory(src)
diff --git a/sdk/README b/sdk/README
deleted file mode 100644
index 50e55c7..0000000
--- a/sdk/README
+++ /dev/null
@@ -1 +0,0 @@
-Name the SDK folder according to the corresponding version number and place it in this directory. \ No newline at end of file
diff --git a/src/m_email/CMakeLists.txt b/src/m_email/CMakeLists.txt
index 4b1a8db..1efd28a 100644
--- a/src/m_email/CMakeLists.txt
+++ b/src/m_email/CMakeLists.txt
@@ -49,10 +49,6 @@ if(MINGW)
target_link_libraries(vmime-static ws2_32 mlang)
endif()
-# install dir
-install(TARGETS mod_email
- LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/modules")
-
# vmime headers
target_include_directories(mod_email PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}/vmime/src"
@@ -88,4 +84,11 @@ qt_add_translations(mod_email
RESOURCE_PREFIX "/i18n"
TS_FILES ${TS_FILES}
SOURCES ${INTEGRATED_MODULE_SOURCE}
- INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}) \ No newline at end of file
+ INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR})
+
+# install paths
+install(TARGETS mod_email
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+) \ No newline at end of file
diff --git a/src/m_gpg_info/CMakeLists.txt b/src/m_gpg_info/CMakeLists.txt
index 6624e82..660c1c3 100644
--- a/src/m_gpg_info/CMakeLists.txt
+++ b/src/m_gpg_info/CMakeLists.txt
@@ -31,10 +31,6 @@ aux_source_directory(. INTEGRATED_MODULE_SOURCE)
# define libgpgfrontend_module
add_library(mod_gpg_info SHARED ${INTEGRATED_MODULE_SOURCE})
-# install dir
-install(TARGETS mod_gpg_info
- LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/modules")
-
# link sdk
target_link_libraries(mod_gpg_info PRIVATE
gpgfrontend_module_sdk)
@@ -57,4 +53,11 @@ qt_add_translations(mod_gpg_info
RESOURCE_PREFIX "/i18n"
TS_FILES ${TS_FILES}
SOURCES ${INTEGRATED_MODULE_SOURCE}
- INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}) \ No newline at end of file
+ INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR})
+
+# install paths
+install(TARGETS mod_gpg_info
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+) \ No newline at end of file
diff --git a/src/m_key_server_sync/CMakeLists.txt b/src/m_key_server_sync/CMakeLists.txt
index c15eed3..13e719d 100644
--- a/src/m_key_server_sync/CMakeLists.txt
+++ b/src/m_key_server_sync/CMakeLists.txt
@@ -31,10 +31,6 @@ aux_source_directory(. INTEGRATED_MODULE_SOURCE)
# define libgpgfrontend_module
add_library(mod_key_server_sync SHARED ${INTEGRATED_MODULE_SOURCE})
-# install dir
-install(TARGETS mod_key_server_sync
- LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/modules")
-
# link sdk
target_link_libraries(mod_key_server_sync PRIVATE
gpgfrontend_module_sdk)
@@ -44,3 +40,10 @@ target_link_libraries(mod_key_server_sync PRIVATE Qt::Core Qt::Network)
# using std c++ 17
target_compile_features(mod_key_server_sync PRIVATE cxx_std_17)
+
+# install paths
+install(TARGETS mod_key_server_sync
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+) \ No newline at end of file
diff --git a/src/m_paper_key/CMakeLists.txt b/src/m_paper_key/CMakeLists.txt
index f7d0c03..f388a40 100644
--- a/src/m_paper_key/CMakeLists.txt
+++ b/src/m_paper_key/CMakeLists.txt
@@ -31,10 +31,6 @@ aux_source_directory(. INTEGRATED_MODULE_SOURCE)
# define libgpgfrontend_module
add_library(mod_paper_key SHARED ${INTEGRATED_MODULE_SOURCE})
-# install dir
-install(TARGETS mod_paper_key
- LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/modules")
-
# link sdk
target_link_libraries(mod_paper_key PRIVATE
gpgfrontend_module_sdk)
@@ -44,3 +40,10 @@ target_link_libraries(mod_paper_key PRIVATE Qt::Core)
# using std c++ 17
target_compile_features(mod_paper_key PRIVATE cxx_std_17)
+
+# install paths
+install(TARGETS mod_paper_key
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+) \ No newline at end of file
diff --git a/src/m_pinentry/CMakeLists.txt b/src/m_pinentry/CMakeLists.txt
index 344fc38..7ab0e5d 100644
--- a/src/m_pinentry/CMakeLists.txt
+++ b/src/m_pinentry/CMakeLists.txt
@@ -40,10 +40,6 @@ list(APPEND INTEGRATED_MODULE_SOURCE "pinentry.qrc")
# define module
add_library(mod_pinentry SHARED ${INTEGRATED_MODULE_SOURCE})
-# install dir
-install(TARGETS mod_pinentry
- LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/modules")
-
# link options
# link sdk
@@ -55,3 +51,10 @@ target_link_libraries(mod_pinentry PUBLIC Qt::Widgets)
# using std c++ 17
target_compile_features(mod_pinentry PUBLIC cxx_std_17)
+
+# install paths
+install(TARGETS mod_pinentry
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+)
diff --git a/src/m_ver_check/CMakeLists.txt b/src/m_ver_check/CMakeLists.txt
index cdf691a..d064ac4 100644
--- a/src/m_ver_check/CMakeLists.txt
+++ b/src/m_ver_check/CMakeLists.txt
@@ -31,10 +31,6 @@ aux_source_directory(. INTEGRATED_MODULE_SOURCE)
# define libgpgfrontend_module
add_library(mod_ver_check SHARED ${INTEGRATED_MODULE_SOURCE})
-# install dir
-install(TARGETS mod_ver_check
- LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/modules")
-
# link sdk
target_link_libraries(mod_ver_check PRIVATE
gpgfrontend_module_sdk)
@@ -61,4 +57,11 @@ qt_add_translations(mod_ver_check
RESOURCE_PREFIX "/i18n"
TS_FILES ${TS_FILES}
SOURCES ${INTEGRATED_MODULE_SOURCE}
- INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}) \ No newline at end of file
+ INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR})
+
+# install paths
+install(TARGETS mod_ver_check
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+) \ No newline at end of file