| # Software-based Trusted Platform Module (TPM) Emulator |
| # Copyright (C) 2004-2010 Mario Strasser <mast@gmx.net> |
| # |
| # $Id: CMakeLists.txt 421 2010-02-22 16:09:54Z mast $ |
| |
| # select matching module sources |
| if(CMAKE_SYSTEM_NAME STREQUAL "Linux") |
| |
| set(tpmd_dev_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/linux") |
| set(tpmd_dev_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/linux") |
| set(tpmd_dev_OBJ "${tpmd_dev_BINARY_DIR}/tpmd_dev.ko") |
| set(tpmd_dev_BUILD_CMD make -C ${tpmd_dev_BINARY_DIR}) |
| set(tpmd_dev_INSTALL_CMD make -C ${tpmd_dev_BINARY_DIR} install) |
| |
| elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") |
| |
| set(tpmd_dev_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/openbsd") |
| set(tpmd_dev_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/openbsd") |
| set(tpmd_dev_OBJ "${tpmd_dev_BINARY_DIR}/tpmd_dev.o") |
| set(tpmd_dev_BUILD_CMD make -C ${tpmd_dev_BINARY_DIR}) |
| set(tpmd_dev_INSTALL_CMD make -C ${tpmd_dev_BINARY_DIR} install) |
| |
| elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") |
| |
| set(tpmd_dev_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/darwin") |
| set(tpmd_dev_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/darwin") |
| set(tpmd_dev_OBJ "${tpmd_dev_BINARY_DIR}/build/Release/tpm_bridge.kext") |
| set(tpmd_dev_BUILD_CMD make -C ${tpmd_dev_BINARY_DIR}) |
| set(tpmd_dev_INSTALL_CMD make -C ${tpmd_dev_BINARY_DIR} install) |
| |
| endif() |
| |
| # compile module |
| if(tpmd_dev_OBJ) |
| |
| file(GLOB tpmd_dev_SRCS "${tpmd_dev_SOURCE_DIR}/*") |
| |
| add_custom_command(OUTPUT ${tpmd_dev_OBJ} |
| COMMAND cp -rf ${tpmd_dev_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} |
| COMMAND cp ${CMAKE_BINARY_DIR}/config.h ${tpmd_dev_BINARY_DIR} |
| COMMAND ${tpmd_dev_BUILD_CMD} |
| DEPENDS ${tpmd_dev_SRCS}) |
| |
| add_custom_target(tpmd_dev ALL DEPENDS ${tpmd_dev_OBJ}) |
| |
| install(CODE "EXECUTE_PROCESS(COMMAND ${tpmd_dev_INSTALL_CMD})") |
| |
| endif() |
| |