Mercurial > trustbridge
view cinst/CMakeLists.txt @ 1084:b8fb6bf7f980
(issue118) Add signature check for cinst.exe and mozilla.exe
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 11 Sep 2014 15:17:39 +0200 |
parents | fc4e1fe4e4d4 |
children | 148014db2f3b e210ecc32d69 |
line wrap: on
line source
# Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik # Software engineering by Intevation GmbH # # This file is Free Software under the GNU GPL (v>=2) # and comes with ABSOLUTELY NO WARRANTY! # See LICENSE.txt for details. cmake_minimum_required(VERSION 2.8) set(CMAKE_AUTOMOC OFF) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../common) set(CINST_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/windowsstore.c ${CMAKE_CURRENT_SOURCE_DIR}/nssstore_linux.c ${CMAKE_CURRENT_SOURCE_DIR}/nssstore_win.c ${CMAKE_CURRENT_SOURCE_DIR}/main.c ) add_executable(cinst ${CINST_SOURCES}) if (WIN32) set(WIN_EXTRA_LIBS -lcrypt32 -luserenv -lshell32) endif(WIN32) target_link_libraries(cinst trustbridge_common ${PROFILING_LIBS} ${POLARSSL_LIBRARIES} ${WIN_EXTRA_LIBS}) install(TARGETS cinst DESTINATION bin) if (WIN32) add_custom_command( TARGET cinst POST_BUILD COMMAND ${CMAKE_STRIP} cinst.exe ) if (NOT RELEASE_BUILD) add_custom_command( TARGET cinst POST_BUILD COMMAND ${OSSLSIGNCODE_EXECUTABLE} sign -certs ${CMAKE_SOURCE_DIR}/ui/tests/data/codesign/codesigning.pem -key ${CMAKE_SOURCE_DIR}/ui/tests/data/codesign/codesigning.key -h sha256 -in ${CMAKE_CURRENT_BINARY_DIR}/cinst.exe -out ${CMAKE_CURRENT_BINARY_DIR}/cinst-signed.exe && mv ${CMAKE_CURRENT_BINARY_DIR}/cinst-signed.exe ${CMAKE_CURRENT_BINARY_DIR}/cinst.exe ) endif() else() add_custom_command( TARGET cinst POST_BUILD COMMAND strip cinst ) endif() # ---------------------------------------------------------------------- # Mozilla nss store specific certificate installer: set(MOZILLA_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/nss-secitemlist.c ${CMAKE_CURRENT_SOURCE_DIR}/mozilla.c ) if(WIN32 OR NSS_FOUND) include_directories(${NSS_INCLUDE_DIRS}) add_executable(mozilla ${MOZILLA_SOURCES}) target_link_libraries(mozilla trustbridge_common ${POLARSSL_LIBRARIES} ${NSS_LIBRARIES} ${PROFILING_LIBS}) set_target_properties(mozilla PROPERTIES COMPILE_FLAGS "-std=c99") install(TARGETS mozilla DESTINATION bin) if (WIN32) add_custom_command( TARGET mozilla POST_BUILD COMMAND ${CMAKE_STRIP} mozilla.exe ) if (NOT RELEASE_BUILD) add_custom_command( TARGET mozilla POST_BUILD COMMAND ${OSSLSIGNCODE_EXECUTABLE} sign -certs ${CMAKE_SOURCE_DIR}/ui/tests/data/codesign/codesigning.pem -key ${CMAKE_SOURCE_DIR}/ui/tests/data/codesign/codesigning.key -h sha256 -in ${CMAKE_CURRENT_BINARY_DIR}/mozilla.exe -out ${CMAKE_CURRENT_BINARY_DIR}/mozilla-signed.exe && mv ${CMAKE_CURRENT_BINARY_DIR}/mozilla-signed.exe ${CMAKE_CURRENT_BINARY_DIR}/mozilla.exe ) endif() else() add_custom_command( TARGET mozilla POST_BUILD COMMAND strip mozilla ) endif() else() message(STATUS "WARNING: Could not find nss. Mozilla cert installer will not be build!") endif()