set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${CMAKE_C_FLAGS_COMMON} -DCLIB_DEBUG")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${CMAKE_C_FLAGS_COMMON}")
+check_c_compiler_flag("-Wno-address-of-packed-member" compiler_flag_no_address_of_packed_member)
+if (compiler_flag_no_address_of_packed_member)
+ add_definitions(-Wno-address-of-packed-member)
+endif()
+
##############################################################################
# install config
##############################################################################
-set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
+set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${VPP_LIB_DIR_NAME}")
set(CMAKE_INSTALL_MESSAGE NEVER)
message(STATUS "CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}")
include(cmake/memfd.cmake)
include(cmake/api.cmake)
+include(cmake/library.cmake)
+include(cmake/exec.cmake)
include(cmake/plugin.cmake)
include(cmake/deb.cmake)
##############################################################################
-# header files
-##############################################################################
-function (vpp_add_header_files path)
- foreach(file ${ARGN})
- get_filename_component(dir ${file} DIRECTORY)
- install(FILES ${file} DESTINATION include/${path}/${dir})
- endforeach()
-endfunction()
-
+# subdirs - order matters
##############################################################################
-# subdirs
-##############################################################################
-foreach (DIR vppinfra svm vlib vlibmemory vlibapi vnet vpp vpp-api vat vcl plugins)
+foreach(
+ DIR
+ vppinfra svm vlib vlibmemory vlibapi vnet vpp vat vcl plugins
+ vpp-api tools/vppapigen tools/g2 tools/elftool
+)
add_subdirectory(${DIR})
-endforeach ()
+endforeach()