X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2FCMakeLists.txt;h=d13685b8d1451155f9ec5b5a784bcd86d28f1dae;hb=01fe7ab88;hp=ee2882b42857b8659102a2c1c081ec975d991df1;hpb=dc26d50426792954e372cb7949b94fd3eb573942;p=vpp.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ee2882b4285..d13685b8d14 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -13,7 +13,25 @@ cmake_minimum_required(VERSION 3.13) -set(CMAKE_C_COMPILER_NAMES clang gcc cc) +if(DEFINED VPP_PLATFORM AND VPP_PLATFORM STREQUAL "default") + unset(VPP_PLATFORM) + set(VPP_PLATFORM_NAME "default") +elseif(DEFINED VPP_PLATFORM) + set(platform_file ${CMAKE_SOURCE_DIR}/cmake/platform/${VPP_PLATFORM}.cmake) + if(NOT EXISTS ${platform_file}) + message(FATAL_ERROR "unknown platform ${VPP_PLATFORM}") + endif() + include(${platform_file}) + set(VPP_PLATFORM_NAME ${VPP_PLATFORM}) +else() + set(VPP_PLATFORM_NAME "default") +endif() + +if (DEFINED VPP_PLATFORM_C_COMPILER_NAMES) + set(CMAKE_C_COMPILER_NAMES ${VPP_PLATFORM_C_COMPILER_NAME}) +else() + set(CMAKE_C_COMPILER_NAMES clang gcc cc) +endif() project(vpp C) @@ -37,6 +55,11 @@ execute_process( OUTPUT_VARIABLE VPP_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE ) + +if (VPP_PLATFORM) + set(VPP_VERSION ${VPP_VERSION}-${VPP_PLATFORM_NAME}) +endif() + string(REPLACE "-" ";" VPP_LIB_VERSION ${VPP_VERSION}) list(GET VPP_LIB_VERSION 0 VPP_LIB_VERSION) @@ -183,7 +206,7 @@ if(VPP_ENABLE_TRAJECTORY_TRACE) endif() ############################################################################## -# unittest with clang ode coverage +# unittest with clang code coverage ############################################################################## if("${CMAKE_VERSION}" VERSION_GREATER_EQUAL "3.13" AND "${CMAKE_C_COMPILER_ID}" MATCHES "(Apple)?[Cc]lang") @@ -307,6 +330,7 @@ mark_as_advanced(CLEAR # print configuration ############################################################################## message(STATUS "Configuration:") +pr("VPP platform" ${VPP_PLATFORM_NAME}) pr("VPP version" ${VPP_VERSION}) pr("VPP library version" ${VPP_LIB_VERSION}) pr("GIT toplevel dir" ${VPP_GIT_TOPLEVEL_DIR})