1- cmake_minimum_required (VERSION 3.16 )
2- project (digidocshellextension VERSION 3.13.9)
3-
4- set (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR} /cmake/modules)
5- set (CMAKE_INCLUDE_CURRENT_DIR ON )
6-
7- include ( VersionInfo )
1+ project (EsteidShellExtension VERSION 3.13.9)
2+ include (VersionInfo )
83
94if (CMAKE_SIZEOF_VOID_P EQUAL 8)
105 set (MIDL_TARGET "x64" )
11- set (PLATFORM "x64" )
126else ()
137 set (MIDL_TARGET "win32" )
14- set (PLATFORM "x86" )
158endif ()
169
1710add_custom_command (
1811 OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /EsteidShellExtension_i.h
1912 ${CMAKE_CURRENT_BINARY_DIR} /EsteidShellExtension_i.c
2013 ${CMAKE_CURRENT_BINARY_DIR} /EsteidShellExtension_p.c
2114 COMMAND Midl.Exe ${CMAKE_CURRENT_SOURCE_DIR} /EsteidShellExtension.idl
22- /nologo /no_robust / char signed /Oicf /env ${MIDL_TARGET}
15+ /nologo /char signed /Oicf /env ${MIDL_TARGET}
2316 /I ${CMAKE_CURRENT_SOURCE_DIR}
2417 /tlb EsteidShellExtension.tlb
2518 /h EsteidShellExtension_i.h
@@ -29,7 +22,7 @@ add_custom_command(
2922 VERBATIM
3023)
3124
32- add_library (EsteidShellExtension SHARED
25+ add_library (${PROJECT_NAME} SHARED
3326 ${CMAKE_CURRENT_BINARY_DIR} /EsteidShellExtension_i.c
3427 dllmain.cpp
3528 EsteidShellExtension.cpp
@@ -41,44 +34,19 @@ add_library(EsteidShellExtension SHARED
4134 EsteidShlExt_x86.rgs
4235 EsteidShlExt_x64.rgs
4336)
44- set_target_properties (EsteidShellExtension PROPERTIES
37+ set_target_properties (${PROJECT_NAME} PROPERTIES
4538 MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG :Debug >:Debug >"
4639 COMPILE_DEFINITIONS "_UNICODE;UNICODE;_MERGE_PROXYSTUB;_WINDLL"
47- COMPILE_OPTIONS "/guard:cf"
4840 INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR}
49- INTERPROCEDURAL_OPTIMIZATION YES
41+ COMPILE_OPTIONS "/guard:cf"
5042 LINK_OPTIONS "/guard:cf"
5143 LINK_LIBRARIES "uxtheme.lib"
5244 SKIP_AUTOMOC ON
5345)
5446
55- add_custom_target (msishellext DEPENDS EsteidShellExtension
56- COMMAND "$ENV{WIX} bin\\ candle.exe" -nologo -arch ${PLATFORM}
57- -dMSI_VERSION=${VERSION} -dShellExt=$<TARGET_FILE:EsteidShellExtension>
58- ${CMAKE_CURRENT_SOURCE_DIR} /EsteidShellExtension.wxs
59- ${CMAKE_MODULE_PATH} /WelcomeDlg2.wxs
60- ${CMAKE_MODULE_PATH} /WixUI_Minimal2.wxs
61- COMMAND "$ENV{WIX} bin\\ light.exe" -nologo -ext WixUIExtension
62- EsteidShellExtension.wixobj WelcomeDlg2.wixobj WixUI_Minimal2.wixobj
63- -dWixUIDialogBmp=${CMAKE_MODULE_PATH}/dlgbmp.bmp
64- -dWixUIBannerBmp=${CMAKE_MODULE_PATH}/banner.bmp
65- -o "Digidoc_ShellExt-${VERSION} $ENV{VER_SUFFIX} .${PLATFORM} .msi"
66- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
67- )
68-
6947if (SIGNCERT)
70- if (CROSSSIGNCERT)
71- target_link_options (EsteidShellExtension PRIVATE "/INTEGRITYCHECK" )
72- endif ()
73- add_custom_command (TARGET EsteidShellExtension POST_BUILD
74- COMMAND signtool.exe sign /a /v /s MY /n "${SIGNCERT} " /fd SHA256 /du http://installer.id.ee
75- "$<$<BOOL :${CROSSSIGNCERT} >:/ph ;/ac ;${CROSSSIGNCERT} >"
76- /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td SHA256 $<TARGET_FILE :EsteidShellExtension >
77- COMMAND_EXPAND_LISTS
78- )
79- add_custom_command (TARGET msishellext POST_BUILD
48+ add_custom_command (TARGET ${PROJECT_NAME} POST_BUILD
8049 COMMAND signtool.exe sign /a /v /s MY /n "${SIGNCERT} " /fd SHA256 /du http://installer.id.ee
81- /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td SHA256
82- "${CMAKE_BINARY_DIR} /Digidoc_ShellExt-${VERSION} $ENV{VER_SUFFIX} .${PLATFORM} .msi"
50+ /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td SHA256 $<TARGET_FILE :${PROJECT_NAME} >
8351 )
8452endif ()
0 commit comments