view cinst/CMakeLists.txt @ 1175:e210ecc32d69

(issue128) Rename mozilla process to trustbridge-nss-installer
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 22 Sep 2014 11:19:43 +0200
parents fc4e1fe4e4d4
children c8f698ca6355
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()

# ----------------------------------------------------------------------
# trustbridge-nss-installer nss store specific certificate installer:
set(trustbridge-nss-installer_SOURCES
 ${CMAKE_CURRENT_SOURCE_DIR}/nss-secitemlist.c
 ${CMAKE_CURRENT_SOURCE_DIR}/nss-installer.c
 )

if(WIN32 OR NSS_FOUND)
   include_directories(${NSS_INCLUDE_DIRS})
   add_executable(trustbridge-nss-installer ${trustbridge-nss-installer_SOURCES})
   target_link_libraries(trustbridge-nss-installer
      trustbridge_common
      ${POLARSSL_LIBRARIES}
      ${NSS_LIBRARIES}
      ${PROFILING_LIBS})
   set_target_properties(trustbridge-nss-installer PROPERTIES COMPILE_FLAGS "-std=c99")
   install(TARGETS trustbridge-nss-installer DESTINATION bin)

   if (WIN32)
      add_custom_command(
         TARGET trustbridge-nss-installer
         POST_BUILD
         COMMAND ${CMAKE_STRIP} trustbridge-nss-installer.exe
      )
      if (NOT RELEASE_BUILD)
         add_custom_command(
            TARGET trustbridge-nss-installer
            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}/trustbridge-nss-installer.exe
            -out ${CMAKE_CURRENT_BINARY_DIR}/trustbridge-nss-installer-signed.exe &&
            mv ${CMAKE_CURRENT_BINARY_DIR}/trustbridge-nss-installer-signed.exe ${CMAKE_CURRENT_BINARY_DIR}/trustbridge-nss-installer.exe
            )
       endif()
   else()
      add_custom_command(
         TARGET trustbridge-nss-installer
         POST_BUILD
         COMMAND strip trustbridge-nss-installer
      )
   endif()
else()
   message(STATUS "WARNING: Could not find nss. trustbridge-nss-installer cert installer will not be build!")
endif()

http://wald.intevation.org/projects/trustbridge/