mirror of
https://github.com/OpenAMP/libmetal.git
synced 2026-02-05 11:10:08 +08:00
libmetal: cmake: support machine less build
libmetal can be build without any machine support. It is possible that vendors implement machine specific interfaces outside of libmetal and link it with demos during build time. Hence, remove requirement to have MACHINE and PROJECT_MACHINE variables from the build system. If vendor prefer to choose 'template' machine, they can pass such option during cmake configuration. Signed-off-by: Tanmay Shah <tanmay.shah@amd.com>
This commit is contained in:
committed by
Arnaud Pouliquen
parent
9196a664c4
commit
90d19dc759
@@ -32,14 +32,6 @@ message ("-- Host: ${_host}")
|
||||
set (_target "${CMAKE_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR}")
|
||||
message ("-- Target: ${_target}")
|
||||
|
||||
if (NOT DEFINED MACHINE)
|
||||
set (MACHINE "Generic")
|
||||
endif (NOT DEFINED MACHINE)
|
||||
message ("-- Machine: ${MACHINE}")
|
||||
|
||||
# handle if '-' in machine name
|
||||
string (REPLACE "-" "_" MACHINE ${MACHINE})
|
||||
|
||||
if (NOT DEFINED PROJECT_SYSTEM)
|
||||
string (TOLOWER ${CMAKE_SYSTEM_NAME} PROJECT_SYSTEM)
|
||||
string (TOUPPER ${CMAKE_SYSTEM_NAME} PROJECT_SYSTEM_UPPER)
|
||||
@@ -50,8 +42,14 @@ if("${PROJECT_PROCESSOR}" STREQUAL "arm64")
|
||||
set (PROJECT_PROCESSOR "aarch64")
|
||||
endif()
|
||||
string (TOUPPER ${PROJECT_PROCESSOR} PROJECT_PROCESSOR_UPPER)
|
||||
string (TOLOWER ${MACHINE} PROJECT_MACHINE)
|
||||
string (TOUPPER ${MACHINE} PROJECT_MACHINE_UPPER)
|
||||
|
||||
if (DEFINED MACHINE)
|
||||
# handle if '-' in machine name
|
||||
string (REPLACE "-" "_" MACHINE ${MACHINE})
|
||||
message ("-- Machine: ${MACHINE}")
|
||||
string (TOLOWER ${MACHINE} PROJECT_MACHINE)
|
||||
string (TOUPPER ${MACHINE} PROJECT_MACHINE_UPPER)
|
||||
endif (DEFINED MACHINE)
|
||||
|
||||
option (WITH_STATIC_LIB "Build with a static library" ON)
|
||||
|
||||
|
||||
@@ -15,8 +15,8 @@ collect (PROJECT_LIB_SOURCES irq.c)
|
||||
collect (PROJECT_LIB_SOURCES shmem.c)
|
||||
collect (PROJECT_LIB_SOURCES time.c)
|
||||
|
||||
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_VENDOR})
|
||||
add_subdirectory(${PROJECT_VENDOR})
|
||||
elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
if (DEFINED PROJECT_MACHINE)
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
add_subdirectory(${PROJECT_MACHINE})
|
||||
endif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_VENDOR})
|
||||
endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
endif (DEFINED PROJECT_MACHINE)
|
||||
|
||||
@@ -15,8 +15,8 @@ collect (PROJECT_LIB_SOURCES irq.c)
|
||||
collect (PROJECT_LIB_SOURCES shmem.c)
|
||||
collect (PROJECT_LIB_SOURCES time.c)
|
||||
|
||||
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_VENDOR})
|
||||
add_subdirectory(${PROJECT_VENDOR})
|
||||
elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
if (DEFINED PROJECT_MACHINE)
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
add_subdirectory(${PROJECT_MACHINE})
|
||||
endif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_VENDOR})
|
||||
endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
endif (DEFINED PROJECT_MACHINE)
|
||||
|
||||
@@ -8,7 +8,8 @@ collect (PROJECT_LIB_TESTS sleep.c)
|
||||
|
||||
collect (PROJECT_LIB_API_TEST threads.c)
|
||||
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
if (DEFINED PROJECT_MACHINE)
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
add_subdirectory(${PROJECT_MACHINE})
|
||||
endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
|
||||
endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
endif (DEFINED PROJECT_MACHINE)
|
||||
|
||||
@@ -7,7 +7,9 @@ collect (PROJECT_LIB_TESTS threads.c)
|
||||
|
||||
collect (PROJECT_LIB_TEST_ALL threads.c)
|
||||
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
if (DEFINED PROJECT_MACHINE)
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
add_subdirectory(${PROJECT_MACHINE})
|
||||
endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
endif (DEFINED PROJECT_MACHINE)
|
||||
|
||||
|
||||
@@ -10,7 +10,8 @@ collect (PROJECT_LIB_TESTS irq.c)
|
||||
|
||||
collect (PROJECT_LIB_API_TEST threads.c)
|
||||
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
if (DEFINED PROJECT_MACHINE)
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
add_subdirectory(${PROJECT_MACHINE})
|
||||
endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
|
||||
endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
endif (DEFINED PROJECT_MACHINE)
|
||||
|
||||
@@ -6,7 +6,9 @@ collect (PROJECT_LIB_TESTS threads.c)
|
||||
|
||||
collect (PROJECT_LIB_API_TEST threads.c)
|
||||
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
if (DEFINED PROJECT_MACHINE)
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
add_subdirectory(${PROJECT_MACHINE})
|
||||
endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_MACHINE})
|
||||
endif (DEFINED PROJECT_MACHINE)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user