Allow the setting of dependency source code path
Test: build
Bug: 155491613
Change-Id: Ida07a09c4b901ee6ff3e87e433592dd2914694a7
diff --git a/hal/vehicle/2.0/agl_build/CMakeLists.txt b/hal/vehicle/2.0/agl_build/CMakeLists.txt
index 3281351..184c01c 100644
--- a/hal/vehicle/2.0/agl_build/CMakeLists.txt
+++ b/hal/vehicle/2.0/agl_build/CMakeLists.txt
@@ -26,6 +26,10 @@
set(trout_PREBUILT_DIR ${trout_VHAL_SRC_ROOT}/agl_build/prebuilt)
set(trout_GENS_DIR ${trout_VHAL_SRC_ROOT}/agl_build/build/gens)
+if (NOT trout_NATIVE_VHAL_ROOT_DIR)
+ set(trout_NATIVE_VHAL_ROOT_DIR ${trout_VHAL_SRC_ROOT}/agl_build/third_party/default_native_vhal)
+endif()
+
# ========== grpc proto prebuilts =================
find_program(trout_PROTOC aprotoc REQUIRED)
@@ -43,7 +47,7 @@
endif()
set(_protobuf_include_path -I . -I ${_trout_PROTOBUF_WELLKNOWN_INCLUDE_DIR}
- -I ${trout_VHAL_SRC_ROOT}/agl_build/third_party/default_native_vhal/impl/vhal_v2_0/proto)
+ -I ${trout_NATIVE_VHAL_ROOT_DIR}/impl/vhal_v2_0/proto)
foreach(FIL ${ARGN})
get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
@@ -73,7 +77,7 @@
trout_generate_grpc_cpp_from_proto(
- ${trout_VHAL_SRC_ROOT}/agl_build/third_party/default_native_vhal/impl/vhal_v2_0/proto/VehicleHalProto.proto
+ ${trout_NATIVE_VHAL_ROOT_DIR}/impl/vhal_v2_0/proto/VehicleHalProto.proto
${trout_VHAL_SRC_ROOT}/proto/VehicleServer.proto)
# ========== Protobuf generated code ==================
diff --git a/hal/vehicle/2.0/agl_build/cmake/android.cmake b/hal/vehicle/2.0/agl_build/cmake/android.cmake
index 6b37aac..3284793 100644
--- a/hal/vehicle/2.0/agl_build/cmake/android.cmake
+++ b/hal/vehicle/2.0/agl_build/cmake/android.cmake
@@ -1,4 +1,6 @@
-set(trout_ANDROID_SYSCORE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party/android/system_core")
+if(NOT trout_ANDROID_SYSCORE_DIR)
+ set(trout_ANDROID_SYSCORE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party/android/system_core")
+endif()
set(_trout_ANDROID_CXX_FLAGS -Wall -Werror -Wextra -std=c++17)
@@ -19,66 +21,73 @@
# =========== libbase =================
-add_library(${trout_ANDROID_LIBBASE_LIBRARY}
- ${trout_ANDROID_LIBBASE_DIR}/liblog_symbols.cpp
- ${trout_ANDROID_LIBBASE_DIR}/logging.cpp
- ${trout_ANDROID_LIBBASE_DIR}/strings.cpp
- ${trout_ANDROID_LIBBASE_DIR}/threads.cpp
-)
+if (NOT TARGET ${trout_ANDROID_LIBBASE_LIBRARY})
+ add_library(${trout_ANDROID_LIBBASE_LIBRARY}
+ ${trout_ANDROID_LIBBASE_DIR}/liblog_symbols.cpp
+ ${trout_ANDROID_LIBBASE_DIR}/logging.cpp
+ ${trout_ANDROID_LIBBASE_DIR}/strings.cpp
+ ${trout_ANDROID_LIBBASE_DIR}/stringprintf.cpp
+ ${trout_ANDROID_LIBBASE_DIR}/threads.cpp
+ )
-target_include_directories(${trout_ANDROID_LIBBASE_LIBRARY}
- PUBLIC ${trout_ANDROID_LIBBASE_INCLUDE_DIR}
- PRIVATE ${trout_FMTLIB_INCLUDE_DIRS}
-)
+ target_include_directories(${trout_ANDROID_LIBBASE_LIBRARY}
+ PUBLIC ${trout_ANDROID_LIBBASE_INCLUDE_DIR}
+ PRIVATE ${trout_FMTLIB_INCLUDE_DIRS}
+ )
-target_link_libraries(${trout_ANDROID_LIBBASE_LIBRARY}
- ${trout_ANDROID_LIBLOG_LIBRARY}
- ${trout_FMTLIB_LIBRARIES}
-)
+ target_link_libraries(${trout_ANDROID_LIBBASE_LIBRARY}
+ ${trout_ANDROID_LIBLOG_LIBRARY}
+ ${trout_FMTLIB_LIBRARIES}
+ )
-target_compile_options(${trout_ANDROID_LIBBASE_LIBRARY} PRIVATE ${_trout_ANDROID_CXX_FLAGS})
+ target_compile_options(${trout_ANDROID_LIBBASE_LIBRARY} PRIVATE ${_trout_ANDROID_CXX_FLAGS})
+endif()
# =========== liblog =================
-add_library(${trout_ANDROID_LIBLOG_LIBRARY}
- ${trout_ANDROID_LIBLOG_DIR}/logger_write.cpp
- ${trout_ANDROID_LIBLOG_DIR}/properties.cpp
-)
+if (NOT TARGET ${trout_ANDROID_LIBLOG_LIBRARY})
+ add_library(${trout_ANDROID_LIBLOG_LIBRARY}
+ ${trout_ANDROID_LIBLOG_DIR}/logger_write.cpp
+ ${trout_ANDROID_LIBLOG_DIR}/properties.cpp
+ )
-target_include_directories(${trout_ANDROID_LIBLOG_LIBRARY}
- PUBLIC ${trout_ANDROID_LIBLOG_INCLUDE_DIR}
- PRIVATE ${trout_ANDROID_LIBBASE_INCLUDE_DIR}
- PRIVATE ${trout_ANDROID_LIBCUTLS_INCLUDE_DIR}
-)
+ target_include_directories(${trout_ANDROID_LIBLOG_LIBRARY}
+ PUBLIC ${trout_ANDROID_LIBLOG_INCLUDE_DIR}
+ PRIVATE ${trout_ANDROID_LIBBASE_INCLUDE_DIR}
+ PRIVATE ${trout_ANDROID_LIBCUTLS_INCLUDE_DIR}
+ )
-target_compile_options(${trout_ANDROID_LIBLOG_LIBRARY} PRIVATE ${_trout_ANDROID_CXX_FLAGS})
+ target_compile_options(${trout_ANDROID_LIBLOG_LIBRARY} PRIVATE ${_trout_ANDROID_CXX_FLAGS})
+endif()
# =========== libutils =================
-add_library(${trout_ANDROID_LIBUTILS_LIBRARY}
- ${trout_ANDROID_LIBUTILS_DIR}/SystemClock.cpp
- ${trout_ANDROID_LIBUTILS_DIR}/Timers.cpp
-)
+if (NOT TARGET ${trout_ANDROID_LIBUTILS_LIBRARY})
+ add_library(${trout_ANDROID_LIBUTILS_LIBRARY}
+ ${trout_ANDROID_LIBUTILS_DIR}/SystemClock.cpp
+ ${trout_ANDROID_LIBUTILS_DIR}/Timers.cpp
+ )
-target_include_directories(${trout_ANDROID_LIBUTILS_LIBRARY}
- PUBLIC ${trout_ANDROID_LIBUTLS_INCLUDE_DIR}
- PRIVATE ${trout_ANDROID_LIBCUTLS_INCLUDE_DIR}
-)
+ target_include_directories(${trout_ANDROID_LIBUTILS_LIBRARY}
+ PUBLIC ${trout_ANDROID_LIBUTLS_INCLUDE_DIR}
+ PRIVATE ${trout_ANDROID_LIBCUTLS_INCLUDE_DIR}
+ )
-target_link_libraries(${trout_ANDROID_LIBUTILS_LIBRARY}
- ${trout_ANDROID_LIBLOG_LIBRARY}
-)
+ target_link_libraries(${trout_ANDROID_LIBUTILS_LIBRARY}
+ ${trout_ANDROID_LIBLOG_LIBRARY}
+ )
-target_compile_options(${trout_ANDROID_LIBUTILS_LIBRARY} PRIVATE ${_trout_ANDROID_CXX_FLAGS})
-
+ target_compile_options(${trout_ANDROID_LIBUTILS_LIBRARY} PRIVATE ${_trout_ANDROID_CXX_FLAGS})
+endif()
# =========== export libraries =================
set(trout_ANDROID_INCLUDE_DIRS
${trout_ANDROID_LIBBASE_INCLUDE_DIR}
+ ${trout_ANDROID_LIBCUTLS_INCLUDE_DIR}
)
set(trout_ANDROID_LIBRARIES
diff --git a/hal/vehicle/2.0/agl_build/cmake/fmtlib.cmake b/hal/vehicle/2.0/agl_build/cmake/fmtlib.cmake
index 4ecef94..c370c50 100644
--- a/hal/vehicle/2.0/agl_build/cmake/fmtlib.cmake
+++ b/hal/vehicle/2.0/agl_build/cmake/fmtlib.cmake
@@ -3,11 +3,13 @@
endif()
if(EXISTS "${trout_FMTLIB_ROOT_DIR}/CMakeLists.txt")
- add_subdirectory(${trout_FMTLIB_ROOT_DIR})
-
set(trout_FMTLIB_INCLUDE_DIRS "${trout_FMTLIB_ROOT_DIR}/include")
set(trout_FMTLIB_LIBRARIES "fmt")
+ if (NOT TARGET ${trout_FMTLIB_LIBRARIES})
+ add_subdirectory(${trout_FMTLIB_ROOT_DIR} third_party/fmtlib)
+ endif()
+
else()
- message(FATAL_ERROR "${trout_FMTLIB_ROOT_DIR}/CMakeLists.txt not found")
+ message(FATAL_ERROR "${trout_FMTLIB_ROOT_DIR}/CMakeLists.txt not found")
endif()
diff --git a/hal/vehicle/2.0/agl_build/cmake/grpc.cmake b/hal/vehicle/2.0/agl_build/cmake/grpc.cmake
index f506756..e3a9ba1 100644
--- a/hal/vehicle/2.0/agl_build/cmake/grpc.cmake
+++ b/hal/vehicle/2.0/agl_build/cmake/grpc.cmake
@@ -3,9 +3,13 @@
endif()
if(EXISTS "${trout_GRPC_ROOT_DIR}/CMakeLists.txt")
- add_subdirectory(${trout_GRPC_ROOT_DIR})
if(TARGET ${_trout_GRPCXX_LIBRARY_NAME})
set(trout_GRPCXX_LIBRARIES ${_trout_GRPCXX_LIBRARY_NAME})
+ else()
+ set(trout_GRPCXX_LIBRARIES "grpc++")
+ endif()
+ if (NOT TARGET ${trout_GRPCXX_LIBRARIES})
+ add_subdirectory(${trout_GRPC_ROOT_DIR} third_party/grpc)
endif()
else()
message(FATAL_ERROR "${trout_GRPC_ROOT_DIR}/CMakeLists.txt not found")
diff --git a/hal/vehicle/2.0/agl_build/cmake/jsoncpp.cmake b/hal/vehicle/2.0/agl_build/cmake/jsoncpp.cmake
index ae66dc4..7488771 100644
--- a/hal/vehicle/2.0/agl_build/cmake/jsoncpp.cmake
+++ b/hal/vehicle/2.0/agl_build/cmake/jsoncpp.cmake
@@ -3,10 +3,11 @@
endif()
if(EXISTS "${trout_JSONCPP_ROOT_DIR}/CMakeLists.txt")
- add_subdirectory(${trout_JSONCPP_ROOT_DIR})
-
set(trout_JSONCPP_INCLUDE_DIRS "${trout_JSONCPP_ROOT_DIR}/include")
set(trout_JSONCPP_LIBRARIES "jsoncpp_lib")
+ if (NOT TARGET ${trout_JSONCPP_LIBRARIES})
+ add_subdirectory(${trout_JSONCPP_ROOT_DIR} third_party/jsoncpp)
+ endif()
else()
message(FATAL_ERROR "${trout_JSONCPP_ROOT_DIR}/CMakeLists.txt not found")
endif()