|
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 | | - ${CMAKE_CURRENT_BINARY_DIR}/EsteidShellExtension_p.c |
21 | 13 | COMMAND Midl.Exe ${CMAKE_CURRENT_SOURCE_DIR}/EsteidShellExtension.idl |
22 | | - /nologo /no_robust /char signed /Oicf /env ${MIDL_TARGET} |
23 | | - /I ${CMAKE_CURRENT_SOURCE_DIR} |
| 14 | + /nologo /target NT100 /char signed /env ${MIDL_TARGET} |
24 | 15 | /tlb EsteidShellExtension.tlb |
25 | 16 | /h EsteidShellExtension_i.h |
26 | | - /iid EsteidShellExtension_i.c |
27 | | - /proxy EsteidShellExtension_p.c 2> nul |
| 17 | + /iid EsteidShellExtension_i.c 2> nul |
28 | 18 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
29 | 19 | VERBATIM |
30 | 20 | ) |
31 | 21 |
|
32 | | -add_library(EsteidShellExtension SHARED |
| 22 | +add_library(${PROJECT_NAME} SHARED |
33 | 23 | ${CMAKE_CURRENT_BINARY_DIR}/EsteidShellExtension_i.c |
34 | 24 | dllmain.cpp |
35 | | - EsteidShellExtension.cpp |
36 | 25 | EsteidShellExtension.def |
37 | 26 | EsteidShlExt.cpp |
38 | | - stdafx.cpp |
39 | 27 | EsteidShellExtension.rc |
40 | | - EsteidShellExtension.rgs |
41 | | - EsteidShlExt_x86.rgs |
42 | | - EsteidShlExt_x64.rgs |
43 | 28 | ) |
44 | | -set_target_properties(EsteidShellExtension PROPERTIES |
| 29 | +set_target_properties(${PROJECT_NAME} PROPERTIES |
45 | 30 | MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>" |
46 | | - COMPILE_DEFINITIONS "_UNICODE;UNICODE;_MERGE_PROXYSTUB;_WINDLL" |
47 | | - COMPILE_OPTIONS "/guard:cf" |
| 31 | + COMPILE_DEFINITIONS "_UNICODE;UNICODE;_WINDLL" |
48 | 32 | INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR} |
49 | | - INTERPROCEDURAL_OPTIMIZATION YES |
| 33 | + COMPILE_OPTIONS "/guard:cf" |
50 | 34 | LINK_OPTIONS "/guard:cf" |
51 | 35 | LINK_LIBRARIES "uxtheme.lib" |
52 | 36 | SKIP_AUTOMOC ON |
53 | 37 | ) |
54 | 38 |
|
55 | | -add_custom_target(msishellext DEPENDS EsteidShellExtension |
56 | | - COMMAND wix.exe build -nologo |
57 | | - -arch ${PLATFORM} |
58 | | - -d MSI_VERSION=${VERSION} |
59 | | - -d ShellExt=$<TARGET_FILE:EsteidShellExtension> |
60 | | - ${CMAKE_CURRENT_SOURCE_DIR}/EsteidShellExtension.wxs |
61 | | - ${CMAKE_MODULE_PATH}/WelcomeDlg.wxs |
62 | | - ${CMAKE_MODULE_PATH}/WixUI_Minimal.wxs |
63 | | - -ext WixToolset.UI.wixext |
64 | | - -bv WixUIDialogBmp=${CMAKE_MODULE_PATH}/dlgbmp.bmp |
65 | | - -bv WixUIBannerBmp=${CMAKE_MODULE_PATH}/banner.bmp |
66 | | - -o Digidoc_ShellExt-${VERSION}$ENV{VER_SUFFIX}.${PLATFORM}.msi |
67 | | - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} |
68 | | -) |
69 | | - |
70 | 39 | if(SIGNCERT) |
71 | | - if(CROSSSIGNCERT) |
72 | | - target_link_options(EsteidShellExtension PRIVATE "/INTEGRITYCHECK") |
73 | | - endif() |
74 | | - add_custom_command(TARGET EsteidShellExtension POST_BUILD |
75 | | - COMMAND signtool.exe sign /a /v /s MY /n "${SIGNCERT}" /fd SHA256 /du http://installer.id.ee |
76 | | - "$<$<BOOL:${CROSSSIGNCERT}>:/ph;/ac;${CROSSSIGNCERT}>" |
77 | | - /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td SHA256 $<TARGET_FILE:EsteidShellExtension> |
78 | | - COMMAND_EXPAND_LISTS |
79 | | - ) |
80 | | - add_custom_command(TARGET msishellext POST_BUILD |
| 40 | + add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD |
81 | 41 | COMMAND signtool.exe sign /a /v /s MY /n "${SIGNCERT}" /fd SHA256 /du http://installer.id.ee |
82 | | - /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td SHA256 |
83 | | - "${CMAKE_BINARY_DIR}/Digidoc_ShellExt-${VERSION}$ENV{VER_SUFFIX}.${PLATFORM}.msi" |
| 42 | + /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td SHA256 $<TARGET_FILE:${PROJECT_NAME}> |
84 | 43 | ) |
85 | 44 | endif() |
0 commit comments