# 1. Project Name
project(libhal-adsp)
# 2. Project Env (Include/Lib Path, C/CXX/LD FLAGS)
if($ENV{SVP_PLATFORM} MATCHES "ds03h")
aux_source_directory(./ds03h UPDRADE_FILES)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/ds03h)
elseif($ENV{SVP_PLATFORM} MATCHES "g6s")
aux_source_directory(./g6s UPDRADE_FILES)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/g6s)
elseif($ENV{SVP_PLATFORM} MATCHES "g5r2")
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/g5r2)
aux_source_directory(./g5r2 UPDRADE_FILES)
endif($ENV{SVP_PLATFORM} MATCHES "ds03h")
# N/A # 3. Project Build
set(LIB_NAME "svp_hal-adsp")
set(LIB_SRC_FILES ${UPDRADE_FILES})
add_library(${LIB_NAME} SHARED ${LIB_SRC_FILES})
target_link_libraries(${LIB_NAME} svp_persist svp_basic )
if($ENV{SVP_PLATFORM} MATCHES "g5r2")
target_link_libraries(${LIB_NAME} svapisound )
endif($ENV{SVP_PLATFORM} MATCHES "g5r2")
set_target_properties(${LIB_NAME} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
# 4. Project Install
install(TARGETS ${LIB_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}/hw
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/hw
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/hw)
aux_source_directory 查找在某個路徑下的所有源文件。
aux_source_directory(< dir > < variable >)
搜集所有在指定路徑下的源文件的文件名,將輸出結果列表儲存在指定的變量中。該命令主要用在那些使用顯式模板實例化的工程上。模板實例化文件可以存儲在Templates子目錄下,然后可以使用這條命令自動收集起來;這樣可以避免手工羅列所有的實例。