|
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