I’m trying to make a .msi installation package using CMake, CPack, and Wix. The issue is I’m trying to sign the executables and DLLs that are going to be installed.
SET( CPACK_INSTALL_SCRIPTS "${CMAKE_CURRENT_LIST_DIR}/signcert.cmake")
Inside the signcert.cmake, I have:
execute_process(
COMMAND cmd /c signtool sign /debug /v /sm /fd sha256 /tr http://timestamp.comodoca.com /td sha256 /sha1 ${THUMBPRINT} "${CMAKE_INSTALL_PREFIX}applications/bin/*"
)
However, this does not execute properly. To debug the issue, I put the following lines inside signcert.cmake
file(GLOB MY_FILES_TO_SIGN
LIST_DIRECTORIES false
${CMAKE_INSTALL_PREFIX}applications/bin/*.exe)
message(FATAL_ERROR ${MY_FILES_TO_SIGN} ${CMAKE_INSTALL_PREFIX}applications/bin/)
When the program exits, I expect to see files inside ${CMAKE_INSTALL_PREFIX}applications/bin/, however no files were observed and the folder was not created. the message also indicated that ${MY_FILES_TO_SIGN} was empty (no .exe file was found in that folder).
If I comment out message(FATA_ERROR …), files inside the directory were observed, does this mean that CPACK_INSTALL_SCRIPTS actually called the script before the .exe and .dll were locally installed?