Enable to build OpenAMP library for Zephyr

Enable to build OpenAMP library for Zephyr project.

* $ cmake <where_libmetal_is_cloned> -DWITH_ZEPHYR=on \
    -DBOARD=qemu_cortex_m3 \
    -DCMAKE_INCLUDE_PATH=<built_libmetal_include_path> \
    -DCMAKE_LIBRARY_PATH=<built_libmetal_library_path>
* $ make VERBOSE=1 all

Signed-off-by: Wendy Liang <jliang@xilinx.com>
This commit is contained in:
Wendy Liang
2017-12-30 23:23:42 -08:00
committed by wjliang
parent ecf13cd6a6
commit a01c9edf71
3 changed files with 38 additions and 19 deletions

View File

@@ -10,6 +10,7 @@ list (APPEND CMAKE_MODULE_PATH
"${CMAKE_SOURCE_DIR}/cmake/modules"
"${CMAKE_SOURCE_DIR}/cmake/platforms")
include (syscheck)
project (open_amp C)
include (CheckIncludeFiles)

12
cmake/syscheck.cmake Normal file
View File

@@ -0,0 +1,12 @@
# use "Generic" as CMAKE_SYSTEM_NAME
if (WITH_ZEPHYR)
set (CMAKE_SYSTEM_NAME "Generic" CACHE STRING "")
string (TOLOWER "Zephyr" PROJECT_SYSTEM)
string (TOUPPER "Zephyr" PROJECT_SYSTEM_UPPER)
set(IS_TEST 1)
include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE)
if (CONFIG_CPU_CORTEX_M)
set (MACHINE "cortexm" CACHE STRING "")
endif (CONFIG_CPU_CORTEX_M)
endif (WITH_ZEPHYR)

View File

@@ -33,26 +33,32 @@ set_property (SOURCE ${_sources}
APPEND_STRING PROPERTY COMPILE_FLAGS " ${_ecflags}")
# Build a shared library if so configured.
if (WITH_SHARED_LIB)
set (_lib ${OPENAMP_LIB}-shared)
add_library (${_lib} SHARED ${_sources})
target_link_libraries (${_lib} ${_deps})
install (TARGETS ${_lib} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
set_target_properties (${_lib} PROPERTIES
OUTPUT_NAME "${OPENAMP_LIB}"
VERSION "${PROJECT_VER}"
SOVERSION "${PROJECT_VER_MAJOR}"
)
endif (WITH_SHARED_LIB)
if (WITH_ZEPHYR)
zephyr_library_named(${OPENAMP_LIB})
add_dependencies(${OPENAMP_LIB} offsets_h)
target_sources (${OPENAMP_LIB} PRIVATE ${_sources})
else (WITH_ZEPHYR)
if (WITH_SHARED_LIB)
set (_lib ${OPENAMP_LIB}-shared)
add_library (${_lib} SHARED ${_sources})
target_link_libraries (${_lib} ${_deps})
install (TARGETS ${_lib} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
set_target_properties (${_lib} PROPERTIES
OUTPUT_NAME "${OPENAMP_LIB}"
VERSION "${PROJECT_VER}"
SOVERSION "${PROJECT_VER_MAJOR}"
)
endif (WITH_SHARED_LIB)
if (WITH_STATIC_LIB)
set (_lib ${OPENAMP_LIB}-static)
add_library (${_lib} STATIC ${_sources})
install (TARGETS ${_lib} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
set_target_properties (${_lib} PROPERTIES
OUTPUT_NAME "${OPENAMP_LIB}"
)
endif (WITH_STATIC_LIB)
if (WITH_STATIC_LIB)
set (_lib ${OPENAMP_LIB}-static)
add_library (${_lib} STATIC ${_sources})
install (TARGETS ${_lib} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
set_target_properties (${_lib} PROPERTIES
OUTPUT_NAME "${OPENAMP_LIB}"
)
endif (WITH_STATIC_LIB)
endif (WITH_ZEPHYR)
install (DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/openamp" DESTINATION include)