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)
8
3
9
4
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
10
5
set (MIDL_TARGET "x64" )
11
- set (PLATFORM "x64" )
12
6
else ()
13
7
set (MIDL_TARGET "win32" )
14
- set (PLATFORM "x86" )
15
8
endif ()
16
9
17
10
add_custom_command (
18
11
OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /EsteidShellExtension_i.h
19
12
${CMAKE_CURRENT_BINARY_DIR} /EsteidShellExtension_i.c
20
13
${CMAKE_CURRENT_BINARY_DIR} /EsteidShellExtension_p.c
21
14
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}
23
16
/I ${CMAKE_CURRENT_SOURCE_DIR}
24
17
/tlb EsteidShellExtension.tlb
25
18
/h EsteidShellExtension_i.h
@@ -29,7 +22,7 @@ add_custom_command(
29
22
VERBATIM
30
23
)
31
24
32
- add_library (EsteidShellExtension SHARED
25
+ add_library (${PROJECT_NAME} SHARED
33
26
${CMAKE_CURRENT_BINARY_DIR} /EsteidShellExtension_i.c
34
27
dllmain.cpp
35
28
EsteidShellExtension.cpp
@@ -41,44 +34,19 @@ add_library(EsteidShellExtension SHARED
41
34
EsteidShlExt_x86.rgs
42
35
EsteidShlExt_x64.rgs
43
36
)
44
- set_target_properties (EsteidShellExtension PROPERTIES
37
+ set_target_properties (${PROJECT_NAME} PROPERTIES
45
38
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"
46
39
COMPILE_DEFINITIONS "_UNICODE;UNICODE;_MERGE_PROXYSTUB;_WINDLL"
47
- COMPILE_OPTIONS "/guard:cf"
48
40
INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR}
49
- INTERPROCEDURAL_OPTIMIZATION YES
41
+ COMPILE_OPTIONS "/guard:cf"
50
42
LINK_OPTIONS "/guard:cf"
51
43
LINK_LIBRARIES "uxtheme.lib"
52
44
SKIP_AUTOMOC ON
53
45
)
54
46
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
-
69
47
if (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
80
49
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} >
83
51
)
84
52
endif ()
0 commit comments