blob: 2de35d1f7ef6c27eb33c71542a2b81bcbbfd33c3 [file] [log] [blame]
Damjan Marion0fa900e2018-09-12 12:12:36 +02001# Copyright (c) 2018 Cisco and/or its affiliates.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at:
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14get_filename_component(CMAKE_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
15
16find_path(VPP_INCLUDE_DIR PATH_SUFFIXES NAMES vppinfra/clib.h)
17find_program(VPP_APIGEN vppapigen)
Oliver Gilesdc203712019-12-05 23:37:36 +020018find_program(VPP_VAPI_C_GEN vapi_c_gen.py)
19find_program(VPP_VAPI_CPP_GEN vapi_cpp_gen.py)
Damjan Marion0fa900e2018-09-12 12:12:36 +020020
21if(VPP_INCLUDE_DIR AND VPP_APIGEN)
22 include_directories (${VPP_INCLUDE_DIR})
23else()
24 message(FATAL_ERROR "VPP headers, libraries and/or tools not found")
25endif()
26
27set(VPP_EXTERNAL_PROJECT 1)
28
29include(CheckCCompilerFlag)
30
31check_c_compiler_flag("-Wno-address-of-packed-member" compiler_flag_no_address_of_packed_member)
32if (compiler_flag_no_address_of_packed_member)
33 add_definitions(-Wno-address-of-packed-member)
34endif()
35
Damjan Marion599efc62020-05-07 16:49:45 +020036set(VPP_RUNTIME_DIR "bin" CACHE STRING "Relative runtime directory path")
37set(VPP_LIBRARY_DIR "lib" CACHE STRING "Relative library directory path")
BenoƮt Gannefccced82021-08-19 15:17:03 +020038set(VPP_BINARY_DIR ${CMAKE_BINARY_DIR}/CMakeFiles)
Damjan Marion599efc62020-05-07 16:49:45 +020039
Damjan Marion0fa900e2018-09-12 12:12:36 +020040include(${CMAKE_CURRENT_LIST_DIR}/cpu.cmake)
41include(${CMAKE_CURRENT_LIST_DIR}/api.cmake)
42include(${CMAKE_CURRENT_LIST_DIR}/library.cmake)
43include(${CMAKE_CURRENT_LIST_DIR}/plugin.cmake)
Damjan Marioneeadc142018-09-13 20:02:12 +020044include(${CMAKE_CURRENT_LIST_DIR}/pack.cmake)