Files
openvehicle-api/sdv_services/core/CMakeLists.txt
2026-03-27 14:12:49 +01:00

89 lines
2.8 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_services_core VERSION 1.0 LANGUAGES CXX)
# Define target
add_library(core_services SHARED
"memory.cpp"
"memory.h"
"sdv_core.h"
"sdv_core.cpp"
"module_control.h"
"module_control.cpp"
"app_control.h"
"app_control.cpp"
"repository.h"
"repository.cpp"
"toml_parser/character_reader_utf_8.h"
"toml_parser/lexer_toml.h"
"toml_parser/parser_toml.h"
"toml_parser/parser_toml.cpp"
"toml_parser/lexer_toml.cpp"
"toml_parser/character_reader_utf_8.cpp"
"toml_parser/parser_node_toml.h"
"toml_parser/parser_node_toml.cpp"
"toml_parser/exception.h"
"module.cpp"
"app_config.h"
"app_config.cpp"
"logger_control.h"
"logger_control.cpp"
"logger.h"
"logger.cpp"
"log_csv_writer.h"
"log_csv_writer.cpp"
"object_lifetime_control.h"
"object_lifetime_control.cpp"
"toml_parser_util.h"
"installation_manifest.h"
"installation_manifest.cpp"
"local_shutdown_request.h"
"iso_monitor.h"
"iso_monitor.cpp"
"installation_composer.h"
"installation_composer.cpp"
"toml_parser/lexer_toml_token.h" "toml_parser/lexer_toml_token.cpp" "toml_parser/miscellaneous.h" "toml_parser/miscellaneous.cpp" "toml_parser/code_snippet.h" "toml_parser/code_snippet.cpp" "app_settings.h" "app_settings.cpp" "app_config_file.h" "app_config_file.cpp")
# Compiler settiings
add_compile_definitions(SDV_NO_EXPORT_DEFINITION)
# Link target
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
target_link_options(core_services PRIVATE)
target_link_libraries(core_services ${CMAKE_THREAD_LIBS_INIT} stdc++fs)
if (WIN32)
target_link_libraries(core_services Ws2_32 Winmm Rpcrt4.lib)
else()
target_link_libraries(core_services ${CMAKE_DL_LIBS} rt)
endif()
else()
target_link_libraries(core_services Rpcrt4.lib)
endif()
set_target_properties(core_services PROPERTIES PREFIX "")
set_target_properties(core_services PROPERTIES SUFFIX ".sdv")
# Build dependencies
add_dependencies(core_services CompileCoreIDL)
add_dependencies(core_services hardware_ident)
add_dependencies(core_services ipc_shared_mem)
add_dependencies(core_services process_control)
add_dependencies(core_services core_ps)
add_dependencies(core_services ipc_com)
# Appending the service in the service list
set(SDV_Service_List ${SDV_Service_List} core_services PARENT_SCOPE)