Mercurial > trustbridge
view cinst/CMakeLists.txt @ 1142:148014db2f3b static-libc
(issue126) Commit WIP on static linking libc
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 18 Sep 2014 10:29:38 +0200 |
parents | fc4e1fe4e4d4 |
children |
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(CMAKE_CXX_FLAGS "${EXTRA_STATIC_FLAGS}") 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) #if(EXISTS "${CMAKE_PREFIX_PATH}/lib/libc.a") # message(status "Linking against static libc: ${CMAKE_PREFIX_PATH}/lib/libc.a") # set (LIBC_STATIC "${CMAKE_PREFIX_PATH}/lib/libc.a" "${CMAKE_PREFIX_PATH}/lib/libpthread.a") #endif() message(fatal "cmake prefix ${CMAKE_PREFIX_PATH}") target_link_libraries(cinst trustbridge_common ${PROFILING_LIBS} ${POLARSSL_LIBRARIES} ${WIN_EXTRA_LIBS} ${LIBC_STATIC} pthread ) 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()