From e7d17695c5abd8e90dc920bb517a1b1dc755b9fa Mon Sep 17 00:00:00 2001 From: Michael Fabian 'Xaymar' Dirks Date: Sun, 14 Nov 2021 02:57:15 +0100 Subject: [PATCH] cmake: Add support for Code Signing on supported platforms --- .gitmodules | 3 +++ CMakeLists.txt | 18 ++++++++++++++++-- cmake/codesign | 1 + 3 files changed, 20 insertions(+), 2 deletions(-) create mode 160000 cmake/codesign diff --git a/.gitmodules b/.gitmodules index 1f798a1..36425b7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,9 @@ [submodule "cmake/clang"] path = cmake/clang url = https://github.com/Xaymar/cmake-clang.git +[submodule "cmake/codesign"] + path = cmake/codesign + url = https://github.com/Xaymar/cmake-codesign.git [submodule "third-party/nlohmann-json"] path = third-party/nlohmann-json url = https://github.com/nlohmann/json.git diff --git a/CMakeLists.txt b/CMakeLists.txt index ff847a5..e68b072 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -171,7 +171,6 @@ set(PROJECT_VERSION_STRING ${VERSION_STRING}) # Search Paths set(CMAKE_MODULE_PATH - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/clang" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ) @@ -326,6 +325,7 @@ set(${PREFIX}ENABLE_UPDATER ON CACHE BOOL "Enable automatic update checks.") ## Code Related set(${PREFIX}ENABLE_CLANG ON CACHE BOOL "Enable Clang integration for supported compilers.") +set(${PREFIX}ENABLE_CODESIGN OFF CACHE BOOL "Enable Code Signing integration for supported environments.") set(${PREFIX}ENABLE_PROFILING OFF CACHE BOOL "Enable CPU and GPU performance tracking, which has a non-zero overhead at all times. Do not enable this for release builds.") # Installation / Packaging @@ -345,10 +345,19 @@ endif() ################################################################################ if(${PREFIX}ENABLE_CLANG AND (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/cmake/clang/Clang.cmake")) - include("Clang") + include("cmake/clang/Clang.cmake") set(HAVE_CLANG ON) endif() +################################################################################ +# Codesign +################################################################################ + +if(${PREFIX}ENABLE_CODESIGN AND (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/cmake/codesign/CodeSign.cmake")) + include("cmake/codesign/CodeSign.cmake") + set(HAVE_CODESIGN ON) +endif() + ################################################################################ # Standalone Build: OBS Studio ################################################################################ @@ -1885,6 +1894,11 @@ if(D_PLATFORM_MAC) endif() endif() +# Code Sign +if(HAVE_CODESIGN) + codesign(TARGETS ${PROJECT_NAME}) +endif() + ################################################################################ # Installation ################################################################################ diff --git a/cmake/codesign b/cmake/codesign new file mode 160000 index 0000000..fe22c23 --- /dev/null +++ b/cmake/codesign @@ -0,0 +1 @@ +Subproject commit fe22c23c22244e4647e430812b8ceb0322772c81