Rename libpsa to libpsats
Instead of using a generic name for the library, give it a TS specific
name to avoid possible naming collisions with other psa libraries in
the future.
Change-Id: Icea9be4d836f7d22300b20c8d6a5f8bd8fae1133
Signed-off-by: Gabor Toth <gabor.toth2@arm.com>
diff --git a/deployments/libpsats/libpsats.cmake b/deployments/libpsats/libpsats.cmake
new file mode 100644
index 0000000..9ce0039
--- /dev/null
+++ b/deployments/libpsats/libpsats.cmake
@@ -0,0 +1,107 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2023, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# The base build file shared between deployments of 'libpsats' for different
+# environments. libpsats provides an interface for accessing PSA API-s.
+# Building with each build type results in different postfix for the library.
+# For details, please refer to deployment.cmake.
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# Common API version implemented by all libpsats deployments
+#-------------------------------------------------------------------------------
+version_semver_read(FILE "${CMAKE_CURRENT_LIST_DIR}/version.txt"
+ MAJOR _major MINOR _minor PATCH _patch)
+set_target_properties(psats PROPERTIES VERSION "${_major}.${_minor}.${_patch}")
+set_target_properties(psats PROPERTIES SOVERSION "${_major}")
+unset(_major)
+unset(_minor)
+unset(_patch)
+
+add_library(libpsats::psats ALIAS psats)
+
+if (COVERAGE)
+ set(LIBPSATS_BUILD_TYPE "DebugCoverage" CACHE STRING "Build type." FORCE)
+endif()
+
+#-------------------------------------------------------------------------------
+# Use libts for locating and accessing services. An appropriate version of
+# libts will be imported for the environment in which service tests are
+# deployed.
+#-------------------------------------------------------------------------------
+include(${TS_ROOT}/deployments/libts/libts-import.cmake)
+target_link_libraries(psats PUBLIC libts::ts)
+
+#-------------------------------------------------------------------------------
+# Components that are common across all deployments
+#
+#-------------------------------------------------------------------------------
+
+add_components(
+ TARGET "psats"
+ BASE_DIR ${TS_ROOT}
+ COMPONENTS
+ "environments/${TS_ENV}"
+ "components/common/utils"
+ "components/common/trace"
+ "components/common/libpsats"
+ "components/common/tlv"
+ "components/service/common/include"
+ "components/service/common/client"
+ "components/service/crypto/include"
+ "components/service/crypto/client/psa"
+ "components/service/attestation/include"
+ "components/service/attestation/client/psa"
+ "components/service/attestation/client/provision"
+ "components/service/secure_storage/include"
+ "components/service/secure_storage/frontend/psa/its"
+ "components/service/secure_storage/frontend/psa/ps"
+ "components/service/secure_storage/backend/secure_storage_client"
+)
+
+#-------------------------------------------------------------------------------
+# Define public interfaces for library
+#
+#-------------------------------------------------------------------------------
+
+# Enable exporting interface symbols for library public interface
+target_compile_definitions(psats PRIVATE
+ EXPORT_PUBLIC_INTERFACE_LIBPSATS
+ EXPORT_PUBLIC_INTERFACE_PSA_CRYPTO
+ EXPORT_PUBLIC_INTERFACE_PSA_ATTEST
+ EXPORT_PUBLIC_INTERFACE_PSA_ITS
+ EXPORT_PUBLIC_INTERFACE_PSA_PS
+)
+
+#-------------------------------------------------------------------------------
+# Export the library and the corresponding public interface header files
+#
+#-------------------------------------------------------------------------------
+include(${TS_ROOT}/tools/cmake/common/ExportLibrary.cmake REQUIRED)
+
+# Exports library information in preparation for install
+export_library(
+ TARGET "psats"
+ LIB_NAME "libpsats"
+ PKG_CONFIG_FILE "${CMAKE_CURRENT_LIST_DIR}/libpsatsConfig.cmake.in"
+)
+
+install(DIRECTORY "${TS_ROOT}/components/service/crypto/include"
+ DIRECTORY "${TS_ROOT}/components/service/attestation/include"
+ DIRECTORY "${TS_ROOT}/components/service/secure_storage/include"
+ DESTINATION "${TS_ENV}"
+ FILES_MATCHING PATTERN "*.h"
+)
+
+install(FILES "${TS_ROOT}/components/service/common/include/psa/error.h"
+ DESTINATION ${TS_ENV}/include/psa
+)
+
+install(FILES "${TS_ROOT}/components/common/libpsats/libpsats.h"
+ DESTINATION ${TS_ENV}/include
+)