mirror of
https://github.com/eclipse-openvehicle-api/openvehicle-api.git
synced 2026-04-18 10:38:16 +00:00
83 lines
2.4 KiB
CMake
83 lines
2.4 KiB
CMake
#*******************************************************************************
|
|
# Copyright (c) 2025-2026 ZF Friedrichshafen AG
|
|
#
|
|
# This program and the accompanying materials are made available under the
|
|
# terms of the Apache License Version 2.0 which is available at
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
# Contributors:
|
|
# Erik Verhoeven - initial API and implementation
|
|
#*******************************************************************************
|
|
|
|
# Define project
|
|
project (sdv_idl_compiler VERSION 1.0 LANGUAGES CXX)
|
|
|
|
# Get xxHash from github
|
|
include(FetchContent)
|
|
FetchContent_Declare(
|
|
xxhash
|
|
GIT_REPOSITORY https://github.com/Cyan4973/xxHash.git
|
|
GIT_TAG v0.8.3
|
|
)
|
|
FetchContent_MakeAvailable(xxhash)
|
|
|
|
# Add include directories
|
|
include_directories(../export ${xxhash_SOURCE_DIR})
|
|
|
|
# Define the executable
|
|
add_executable(sdv_idl_compiler
|
|
main.cpp
|
|
exception.cpp
|
|
environment.cpp
|
|
logger.cpp
|
|
token.cpp
|
|
tokenlist.cpp
|
|
codepos.cpp
|
|
lexer.cpp
|
|
parser.cpp
|
|
parsecontext.cpp
|
|
preproc.cpp
|
|
environment.cpp
|
|
source.cpp
|
|
macro.cpp
|
|
constvariant.cpp
|
|
entities/entity_base.cpp
|
|
entities/root_entity.cpp
|
|
entities/module_entity.cpp
|
|
entities/declaration_entity.cpp
|
|
entities/typedef_entity.cpp
|
|
entities/variable_entity.cpp
|
|
entities/entity_value.cpp
|
|
entities/definition_entity.cpp
|
|
entities/struct_entity.cpp
|
|
entities/interface_entity.cpp
|
|
entities/attribute_entity.cpp
|
|
entities/operation_entity.cpp
|
|
entities/parameter_entity.cpp
|
|
entities/exception_entity.cpp
|
|
entities/union_entity.cpp
|
|
entities/enum_entity.cpp
|
|
entities/hash_calc.cpp
|
|
entities/meta_entity.cpp
|
|
generator/definition_generator.cpp
|
|
generator/proxy_generator.cpp
|
|
generator/stub_generator.cpp
|
|
generator/context.cpp
|
|
"generator/ps_class_generator_base.cpp"
|
|
"generator/serdes_generator.h"
|
|
"generator/serdes_generator.cpp"
|
|
"generator/cmake_generator.cpp"
|
|
"generator/ps_cpp_generator.h"
|
|
"generator/ps_cpp_generator.cpp" "generator/definition_generator_base.h")
|
|
|
|
if (UNIX)
|
|
target_link_libraries(sdv_idl_compiler ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT} stdc++fs)
|
|
else()
|
|
target_link_libraries(sdv_idl_compiler ${CMAKE_DL_LIBS})
|
|
endif (UNIX)
|
|
|
|
# Appending the executable to the service list
|
|
set(SDV_Executable_List ${SDV_Executable_List} sdv_idl_compiler PARENT_SCOPE)
|