@@ -51,18 +51,76 @@ target_include_directories(
5151 $<INSTALL_INTERFACE :$<INSTALL_PREFIX >/include /bsl >
5252)
5353
54+ # Crypto Library
55+ set (BSL_CRYPTO_C
56+ ${CMAKE_CURRENT_SOURCE_DIR } /crypto/CryptoInterface.c
57+ )
58+
59+ add_library (bsl_crypto )
60+ target_sources (bsl_crypto PUBLIC ${BSL_CRYPTO_C} )
61+ add_compile_options (-include ${CMAKE_CURRENT_BINARY_DIR } /BSLConfig.h )
62+ target_compile_options (bsl_crypto PRIVATE -Wshadow -Wpointer-arith -Wstrict-prototypes
63+ -Wmissing-prototypes -Wredundant-decls -Wcast-align
64+ -Wformat=2 -Wswitch-enum -Wlogical-op -Wduplicated-branches
65+ -fno-strict-aliasing -Werror=format-security -fno-common
66+ -Wstrict-aliasing=2 )
67+ target_link_libraries (bsl_crypto PUBLIC bsl_front )
68+ target_link_libraries (bsl_crypto PUBLIC MLIB::mlib )
69+ target_link_libraries (bsl_crypto INTERFACE OpenSSL::Crypto )
70+
71+ # Default Security Context library
72+ set (BSL_DEFAULT_SC_H
73+ ${CMAKE_CURRENT_SOURCE_DIR } /security_context/DefaultSecContext.h
74+ ${CMAKE_CURRENT_SOURCE_DIR } /security_context/DefaultSecContext_Private.h
75+ )
76+
77+ set (BSL_DEFAULT_SC_C
78+ ${CMAKE_CURRENT_SOURCE_DIR } /security_context/DefaultSecContext.c
79+ ${CMAKE_CURRENT_SOURCE_DIR } /security_context/BCB_AES_GCM.c
80+ ${CMAKE_CURRENT_SOURCE_DIR } /security_context/BIB_HMAC_SHA2.c
81+ )
82+
83+ add_library (bsl_default_sc )
84+ target_sources (bsl_default_sc PUBLIC ${BSL_DEFAULT_SC_H} )
85+ target_sources (bsl_default_sc PUBLIC ${BSL_DEFAULT_SC_C} )
86+ add_compile_options (-include ${CMAKE_CURRENT_BINARY_DIR } /BSLConfig.h )
87+ target_compile_options (bsl_default_sc PRIVATE -Wshadow -Wpointer-arith -Wstrict-prototypes
88+ -Wmissing-prototypes -Wredundant-decls -Wcast-align
89+ -Wformat=2 -Wswitch-enum -Wlogical-op -Wduplicated-branches
90+ -fno-strict-aliasing -Werror=format-security -fno-common
91+ -Wstrict-aliasing=2 )
92+ target_link_libraries (bsl_default_sc PUBLIC bsl_front )
93+ target_link_libraries (bsl_default_sc PUBLIC bsl_crypto )
94+ target_link_libraries (bsl_default_sc PUBLIC QCBOR::qcbor )
95+
96+ # Example Policy Provider library
97+ set (BSL_SAMPLE_PP_H
98+ ${CMAKE_CURRENT_SOURCE_DIR } /policy_provider/SamplePolicyProvider.h
99+ )
100+
101+ set (BSL_SAMPLE_PP_C
102+ ${CMAKE_CURRENT_SOURCE_DIR } /policy_provider/SamplePolicyProvider.c
103+ )
104+
105+ add_library (bsl_sample_pp )
106+ target_sources (bsl_sample_pp PUBLIC ${BSL_SAMPLE_PP_H} )
107+ target_sources (bsl_sample_pp PUBLIC ${BSL_SAMPLE_PP_C} )
108+ add_compile_options (-include ${CMAKE_CURRENT_BINARY_DIR } /BSLConfig.h )
109+ target_compile_options (bsl_sample_pp PRIVATE -Wshadow -Wpointer-arith -Wstrict-prototypes
110+ -Wmissing-prototypes -Wredundant-decls -Wcast-align
111+ -Wformat=2 -Wswitch-enum -Wlogical-op -Wduplicated-branches
112+ -fno-strict-aliasing -Werror=format-security -fno-common
113+ -Wstrict-aliasing=2 )
114+ target_link_libraries (bsl_sample_pp PUBLIC bsl_front )
115+
54116# Dynamic backend library
55117set (BSL_DYNAMIC_H
56118 ${CMAKE_CURRENT_SOURCE_DIR } /backend/PublicInterfaceImpl.h
57119 ${CMAKE_CURRENT_SOURCE_DIR } /backend/UtilDefs_SeqReadWrite.h
58- ${CMAKE_CURRENT_SOURCE_DIR } /security_context/DefaultSecContext.h
59- ${CMAKE_CURRENT_SOURCE_DIR } /security_context/DefaultSecContext_Private.h
60- ${CMAKE_CURRENT_SOURCE_DIR } /policy_provider/SamplePolicyProvider.h
61120)
62121
63122set (BSL_DYNAMIC_C
64123 ${CMAKE_CURRENT_SOURCE_DIR } /backend/AbsSecBlock.c
65- ${CMAKE_CURRENT_SOURCE_DIR } /backend/CryptoInterface.c
66124 ${CMAKE_CURRENT_SOURCE_DIR } /backend/UtilDefs_Data.c
67125 ${CMAKE_CURRENT_SOURCE_DIR } /backend/HostInterface.c
68126 ${CMAKE_CURRENT_SOURCE_DIR } /backend/PublicInterfaceImpl.c
@@ -76,10 +134,6 @@ set(BSL_DYNAMIC_C
76134 ${CMAKE_CURRENT_SOURCE_DIR } /backend/SecurityContext.c
77135 ${CMAKE_CURRENT_SOURCE_DIR } /backend/SecurityResultSet.c
78136 ${CMAKE_CURRENT_SOURCE_DIR } /backend/UtilDefs_SeqReadWrite.c
79- ${CMAKE_CURRENT_SOURCE_DIR } /policy_provider/SamplePolicyProvider.c
80- ${CMAKE_CURRENT_SOURCE_DIR } /security_context/DefaultSecContext.c
81- ${CMAKE_CURRENT_SOURCE_DIR } /security_context/BCB_AES_GCM.c
82- ${CMAKE_CURRENT_SOURCE_DIR } /security_context/BIB_HMAC_SHA2.c
83137)
84138
85139add_library (bsl_dynamic )
@@ -94,9 +148,6 @@ set_target_properties(bsl_dynamic
94148target_link_libraries (bsl_dynamic PUBLIC bsl_front )
95149target_link_libraries (bsl_dynamic PUBLIC MLIB::mlib )
96150target_link_libraries (bsl_dynamic PUBLIC QCBOR::qcbor )
97- target_link_libraries (bsl_dynamic PUBLIC OpenSSL::SSL )
98- target_link_libraries (bsl_dynamic PUBLIC Threads::Threads )
99-
100151
101152add_subdirectory (mock_bpa )
102153find_program (CLANG_FORMAT "clang-format" )
0 commit comments