sof/tools/tplg_parser/CMakeLists.txt

56 lines
1.5 KiB
CMake

# SPDX-License-Identifier: BSD-3-Clause
cmake_minimum_required(VERSION 3.13)
project(SOF_TPLG_PARSER C)
include(../../scripts/cmake/misc.cmake)
set(sof_source_directory "${PROJECT_SOURCE_DIR}/../..")
if (CONFIG_LIBRARY_STATIC)
add_library(sof_tplg_parser STATIC "")
else()
add_library(sof_tplg_parser SHARED "")
endif()
target_sources(sof_tplg_parser PUBLIC
tokens.c
process.c
control.c
pga.c
mixer.c
pipeline.c
pcm.c
dai.c
asrc.c
src.c
buffer.c
graph.c
)
sof_append_relative_path_definitions(sof_tplg_parser)
target_include_directories(sof_tplg_parser PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
target_include_directories(sof_tplg_parser PRIVATE ${sof_source_directory}/src/include)
target_include_directories(sof_tplg_parser PRIVATE ${sof_source_directory}/src/arch/host/include)
target_include_directories(sof_tplg_parser PRIVATE ${sof_source_directory}/src/platform/library/include)
# TODO: The topology parser should NOT need to include RTOS header. FIX.
target_include_directories(sof_tplg_parser PRIVATE ${sof_source_directory}/xtos/include)
# TODO: add IPC4 option when it's ready.
target_compile_options(sof_tplg_parser PRIVATE
-g -O -Wall -Werror -Wl,-EL -fPIC -DPIC
-Wmissing-prototypes -Wimplicit-fallthrough
-DCONFIG_LIBRARY -DCONFIG_IPC_MAJOR_3)
target_link_libraries(sof_tplg_parser PRIVATE -lm)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/tplg_parser
DESTINATION include
PATTERN "*.h"
)
install(TARGETS sof_tplg_parser DESTINATION lib)