Home | History | Annotate | Download | only in verifier
      1 ############################################################################
      2 # Copyright 2016-2017 Intel Corporation
      3 #
      4 # Licensed under the Apache License, Version 2.0 (the "License");
      5 # you may not use this file except in compliance with the License.
      6 # You may obtain a copy of the License at
      7 #
      8 #     http://www.apache.org/licenses/LICENSE-2.0
      9 #
     10 # Unless required by applicable law or agreed to in writing, software
     11 # distributed under the License is distributed on an "AS IS" BASIS,
     12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 ############################################################################
     16 Import('*')
     17 env.PartName('verifier')
     18 
     19 api_headers = Pattern(src_dir='.',
     20                       includes=['*.h'],
     21                       recursive=False).files()
     22 src_files = Pattern(src_dir='src',
     23                     includes=['*.c'],
     24                     recursive=False).files()
     25 internal_headers = Pattern(src_dir='src',
     26                            includes=['*.h', '*.inc'],
     27                            recursive=False).files()
     28 utest_files = Pattern(src_dir='unittests',
     29                       includes=['*-test.cc', '*-testhelper.cc'],
     30                       recursive=False).files()
     31 utest_headers = Pattern(src_dir='unittests',
     32                         includes=['*-testhelper.h',],
     33                         recursive=False).files()
     34 utest_data_files = Pattern(src_dir='unittests/testdata/sigrl',
     35                            includes=['*.inc'],
     36                            excludes=[],
     37                            recursive=False).files()
     38 
     39 epid11_headers = Pattern(src_dir='1.1',
     40                          includes=['*.h'],
     41                          recursive=False).files()
     42 epid11_src_files = Pattern(src_dir='1.1/src',
     43                            includes=['*.c'],
     44                            recursive=False).files()
     45 epid11_internal_headers = Pattern(src_dir='1.1/src',
     46                                   includes=['*.h', '*.inc'],
     47                                   recursive=False).files()
     48 epid11_utest_files = Pattern(src_dir='1.1/unittests',
     49                              includes=['*-test.cc', '*-testhelper.cc'],
     50                              recursive=False).files()
     51 epid11_utest_headers = Pattern(src_dir='1.1/unittests',
     52                                includes=['*-testhelper.h',],
     53                                recursive=False).files()
     54 epid11_utest_data_files = Pattern(src_dir='1.1/unittests/testdata',
     55                                   includes=['*.inc'],
     56                                   recursive=False).files()
     57 
     58 build_files = Pattern(src_dir='.',
     59                       includes=['*.parts', 'Makefile'],
     60                       recursive=False).files()
     61 
     62 if 'install_package' in env['MODE']:
     63     env.InstallTopLevel(api_headers,
     64                         sub_dir='epid/${PART_SHORT_NAME}')
     65     env.InstallTopLevel(src_files + internal_headers,
     66                         sub_dir='epid/${PART_SHORT_NAME}/src')
     67     env.InstallTopLevel(utest_files + utest_headers,
     68                         sub_dir='epid/${PART_SHORT_NAME}/unittests')
     69     env.InstallTopLevel(
     70         utest_data_files,
     71         sub_dir='epid/${PART_SHORT_NAME}/unittests/testdata/sigrl')
     72 
     73     env.InstallTopLevel(epid11_headers,
     74                         sub_dir='epid/${PART_SHORT_NAME}/1.1')
     75     env.InstallTopLevel(epid11_src_files + epid11_internal_headers,
     76                         sub_dir='epid/${PART_SHORT_NAME}/1.1/src')
     77     env.InstallTopLevel(epid11_utest_files + epid11_utest_headers,
     78                         sub_dir='epid/${PART_SHORT_NAME}/1.1/unittests')
     79     env.InstallTopLevel(
     80         epid11_utest_data_files,
     81         sub_dir='epid/${PART_SHORT_NAME}/1.1/unittests/testdata')
     82 
     83     env.InstallTopLevel(build_files, sub_dir='epid/${PART_SHORT_NAME}')
     84 
     85 else:
     86     env.DependsOn([
     87         Component('common'),
     88     ])
     89 
     90     env.Append(CPPPATH='#')
     91 
     92     if 'use_tss' in env['MODE']:
     93         env.Append(CPPDEFINES=['TPM_TSS'])
     94 
     95     testenv = env.Clone()
     96     outputs = env.Library('${PART_NAME}', src_files + epid11_src_files)
     97     env.Sdk(outputs)
     98     env.SdkInclude(api_headers, sub_dir='epid/${PART_SHORT_NAME}')
     99     env.SdkInclude(epid11_headers, sub_dir='epid/${PART_SHORT_NAME}/1.1')
    100 
    101     if 'install_lib' in env['MODE']:
    102         env.InstallLib(outputs)
    103         env.InstallInclude(api_headers, sub_dir='${PART_SHORT_NAME}')
    104         env.InstallInclude(epid11_headers, sub_dir='${PART_SHORT_NAME}/1.1')
    105 
    106     testenv['UNIT_TEST_TARGET_NAME'] = "${PART_NAME}-${UNIT_TEST_TARGET}"
    107     testenv.UnitTest("utest",
    108                      utest_files + epid11_utest_files,
    109                      command_args=[
    110                          '--gtest_color=yes',
    111                          '--gtest_print_time=1',
    112                          '--gtest_output=xml',
    113                          '--gtest_filter=**',
    114                      ],
    115                      make_pdb=(env.isConfigBasedOn('debug') or
    116                                env.isConfigBasedOn('static_crt_debug')),
    117                      depends=[Component('gtest'),
    118                               Component('common-testhelper'),
    119                               Component('verifier')],
    120                      INSTALL_BIN='${INSTALL_TEST_BIN}')
    121