Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,6 @@ jobs:
-Dlibdigidocpp_ROOT=${{ github.workspace }}/libs/PFiles64 ^
${{ matrix.platform == 'arm64' && '-DQT_HOST_PATH=%QT_HOST_PATH%' || '' }}
cmake --build build --target msi
cmake --build build --target msishellext
cmake --build build --target appx
- name: Archive artifacts
uses: actions/upload-artifact@v7
Expand Down
4 changes: 2 additions & 2 deletions client/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ if( APPLE )
elseif(WIN32)
target_sources(${PROJECT_NAME} PRIVATE QCNG.cpp QCNG.h)
target_compile_options(${PROJECT_NAME} PRIVATE "/guard:cf")
target_link_options(${PROJECT_NAME} PRIVATE "/guard:cf" $<$<BOOL:${CROSSSIGNCERT}>:/INTEGRITYCHECK>)
target_link_options(${PROJECT_NAME} PRIVATE "/guard:cf")
target_link_libraries(${PROJECT_NAME} NCrypt Crypt32 Cryptui winscard)
get_filename_component(LIBS_PATH ${libdigidocpp_DIR} DIRECTORY)
get_filename_component(LIBS_PATH ${LIBS_PATH} DIRECTORY)
Expand Down Expand Up @@ -229,7 +229,7 @@ elseif(WIN32)
list(APPEND SIGNCMD signtool.exe sign /a /v /s MY /n "${SIGNCERT}" /fd SHA256
/du http://installer.id.ee /tr http://timestamp.digicert.com /td SHA256)
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${SIGNCMD} "$<$<BOOL:${CROSSSIGNCERT}>:/ph;/ac;${CROSSSIGNCERT}>" $<TARGET_FILE:${PROJECT_NAME}>
COMMAND ${SIGNCMD} $<TARGET_FILE:${PROJECT_NAME}>
COMMAND_EXPAND_LISTS
)
add_custom_command(TARGET msi POST_BUILD
Expand Down
2 changes: 1 addition & 1 deletion client/Diagnostics_win.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ void Diagnostics::run()
+ ";C:\\Program Files (x86)\\EstIDMinidriver Minidriver");
SetDllDirectory(LPCWSTR(QCoreApplication::applicationDirPath().utf16()));
static const QStringList dlls{
"digidocpp", "qdigidoc4.exe", "EsteidShellExtension", "id-updater.exe", "web-eid.exe",
"digidocpp", "qdigidoc4.exe", "EsteidShellExtensionV2.dll", "id-updater.exe", "web-eid.exe",
"EstIDMinidriver", "EstIDMinidriver64", "EestiMinidriver", "EestiMinidriver64", "estgsv4md", "estgsv4md64",
"zlib1", "z", "libxml2", "libxmlsec1", "libxmlsec1-openssl",
"msvcp140", "msvcp140_1", "msvcp140_2", "vcruntime140", "vcruntime140_1"};
Expand Down
64 changes: 5 additions & 59 deletions extensions/windows/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,42 +1,17 @@
cmake_minimum_required(VERSION 3.16)
project(EsteidShellExtension VERSION 3.13.9)
add_library(${PROJECT_NAME} SHARED
EsteidShellExtension.def
EsteidShellExtension.cpp
EsteidShellExtension.rc
)
target_compile_definitions(${PROJECT_NAME} PRIVATE
_UNICODE
UNICODE
_WINDLL
WIN32_LEAN_AND_MEAN
VERSION=${PROJECT_VERSION_MAJOR},${PROJECT_VERSION_MINOR},${PROJECT_VERSION_PATCH},${BUILD_NUMBER}
VERSION_STR="${VERSION}"
)
set_target_properties(${PROJECT_NAME} PROPERTIES
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"
INTERPROCEDURAL_OPTIMIZATION YES
COMPILE_OPTIONS "/guard:cf"
LINK_OPTIONS "/guard:cf"
LINK_LIBRARIES "uxtheme;RuntimeObject;Shlwapi"
SKIP_AUTOMOC ON
)

add_library(${PROJECT_NAME}V2 SHARED
add_library(EsteidShellExtensionV2 SHARED
EsteidShellExtension.def
EsteidShellExtensionV2.cpp
EsteidShellExtension.rc
)
target_compile_definitions(${PROJECT_NAME}V2 PRIVATE
target_compile_definitions(EsteidShellExtensionV2 PRIVATE
_UNICODE
UNICODE
_WINDLL
WIN32_LEAN_AND_MEAN
NO_ICON
VERSION=${PROJECT_VERSION_MAJOR},${PROJECT_VERSION_MINOR},${PROJECT_VERSION_PATCH},${BUILD_NUMBER}
VERSION_STR="${VERSION}"
)
set_target_properties(${PROJECT_NAME}V2 PROPERTIES
set_target_properties(EsteidShellExtensionV2 PROPERTIES
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"
INTERPROCEDURAL_OPTIMIZATION YES
COMPILE_OPTIONS "/guard:cf"
Expand All @@ -45,20 +20,6 @@ set_target_properties(${PROJECT_NAME}V2 PROPERTIES
SKIP_AUTOMOC ON
)

add_custom_target(msishellext DEPENDS ${PROJECT_NAME}
COMMAND wix.exe build -nologo
-arch $ENV{PLATFORM}
-d ShellExt=$<TARGET_FILE:EsteidShellExtension>
${CMAKE_CURRENT_SOURCE_DIR}/EsteidShellExtension.wxs
${CMAKE_CURRENT_SOURCE_DIR}/../../common/WelcomeDlg.wxs
${CMAKE_CURRENT_SOURCE_DIR}/../../common/WixUI_Minimal.wxs
-ext WixToolset.UI.wixext
-bv WixUIDialogBmp=${CMAKE_CURRENT_SOURCE_DIR}/../../common/dlgbmp.bmp
-bv WixUIBannerBmp=${CMAKE_CURRENT_SOURCE_DIR}/../../common/banner.bmp
-o Digidoc_ShellExt-${VERSION}$ENV{VER_SUFFIX}.$ENV{PLATFORM}.msi
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)

set(PLATFORM $ENV{PLATFORM})
if(SIGNCERT)
execute_process(
Expand All @@ -73,7 +34,7 @@ file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/AppxManifest-ShellExt.xml INPUT ${CMAKE
set(SHELLEXT_MSIX_FILE "DigiDoc4Shell.msix")
set(SHELLEXT_MSIX_FILE ${SHELLEXT_MSIX_FILE} PARENT_SCOPE)

add_custom_target(msixshellext DEPENDS ${PROJECT_NAME}V2
add_custom_target(msixshellext DEPENDS EsteidShellExtensionV2
COMMAND ${CMAKE_COMMAND} -E remove ${SHELLEXT_MSIX_FILE}
COMMAND ${CMAKE_COMMAND} -E remove_directory appxshell
COMMAND ${CMAKE_COMMAND} -E make_directory appxshell
Expand All @@ -84,23 +45,8 @@ add_custom_target(msixshellext DEPENDS ${PROJECT_NAME}V2
)

if(SIGNCERT)
if(CROSSSIGNCERT)
target_link_options(${PROJECT_NAME} PRIVATE "/INTEGRITYCHECK")
endif()
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND signtool.exe sign /a /v /s MY /n "${SIGNCERT}" /fd SHA256 /du http://installer.id.ee
"$<$<BOOL:${CROSSSIGNCERT}>:/ph;/ac;${CROSSSIGNCERT}>"
/tr http://timestamp.digicert.com /td SHA256 $<TARGET_FILE:EsteidShellExtension>
COMMAND_EXPAND_LISTS
)
add_custom_command(TARGET msishellext POST_BUILD
COMMAND signtool.exe sign /a /v /s MY /n "${SIGNCERT}" /fd SHA256 /du http://installer.id.ee
/tr http://timestamp.digicert.com /td SHA256
"${CMAKE_BINARY_DIR}/Digidoc_ShellExt-${VERSION}$ENV{VER_SUFFIX}.$ENV{PLATFORM}.msi"
)
add_custom_command(TARGET ${PROJECT_NAME}V2 POST_BUILD
add_custom_command(TARGET EsteidShellExtensionV2 POST_BUILD
COMMAND signtool.exe sign /a /v /s MY /n "${SIGNCERT}" /fd SHA256 /du http://installer.id.ee
"$<$<BOOL:${CROSSSIGNCERT}>:/ph;/ac;${CROSSSIGNCERT}>"
/tr http://timestamp.digicert.com /td SHA256 $<TARGET_FILE:EsteidShellExtensionV2>
COMMAND_EXPAND_LISTS
)
Expand Down
Loading
Loading