# Copyright (C) 2025 Advanced Micro Devices, Inc.  All rights reserved.
# SPDX-License-Identifier: MIT

cmake_minimum_required(VERSION 3.15)
project(xiltpm)

collector_create (PROJECT_LIB_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}")
collector_create (PROJECT_LIB_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}")

include_directories(${CMAKE_BINARY_DIR}/include)

collect (PROJECT_LIB_HEADERS xtpm.h)
collect (PROJECT_LIB_HEADERS xtpm_hw.h)
collect (PROJECT_LIB_HEADERS xtpm_error.h)

collect (PROJECT_LIB_SOURCES xtpm.c)
collect (PROJECT_LIB_SOURCES xtpm_util.c)


collector_list (_sources PROJECT_LIB_SOURCES)
collector_list (_headers PROJECT_LIB_HEADERS)

file(COPY ${_headers} DESTINATION ${CMAKE_BINARY_DIR}/include)

add_library(xiltpm STATIC ${_sources})

get_headers(${_headers})

set_target_properties(xiltpm PROPERTIES LINKER_LANGUAGE C)
set_target_properties(xiltpm PROPERTIES ADDITIONAL_CLEAN_FILES "${CMAKE_LIBRARY_PATH}/libxiltpm.a;${clean_headers}")

install(TARGETS xiltpm LIBRARY DESTINATION ${CMAKE_LIBRARY_PATH} ARCHIVE DESTINATION ${CMAKE_LIBRARY_PATH})
install(DIRECTORY ${CMAKE_BINARY_DIR}/include DESTINATION ${CMAKE_INCLUDE_PATH}/..)