# # Copyright (c) 2017 TOYOTA MOTOR CORPORATION # Copyright (C) 2020 Konsulko Group # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # PROJECT_TARGET_ADD(windowmanager-service) # Define project Targets add_library(${TARGET_NAME} MODULE main.cpp util.cpp json_helper.cpp applist.cpp request.cpp pm_wrapper.cpp window_manager.cpp wm_client.cpp wm_error.cpp wm_layer.cpp wm_layer_control.cpp) target_include_directories(${TARGET_NAME} PRIVATE ../${PLUGIN_PM}) target_compile_definitions(${TARGET_NAME} PRIVATE AFB_BINDING_VERSION=3 # We do not want source location of messages AFB_BINDING_PRAGMA_NO_VERBOSE_DETAILS WINMAN_VERSION_STRING="${PACKAGE_VERSION}") set_target_properties(${TARGET_NAME} PROPERTIES LABELS "BINDING" PREFIX "" LINK_FLAGS ${BINDINGS_LINK_FLAG} OUTPUT_NAME ${TARGET_NAME} # INTERPROCEDURAL_OPTIMIZATION ON CXX_EXTENSIONS OFF CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON C_EXTENSIONS OFF C_STANDARD 99 C_STANDARD_REQUIRED ON ) target_link_libraries(${TARGET_NAME} PRIVATE ${PLUGIN_PM}) target_link_options(${TARGET_NAME} PRIVATE "-Wl,-rpath,'$ORIGIN'") if (NOT ${SANITIZER_MODE} STREQUAL "none" AND NOT ${SANITIZER_MODE} STREQUAL "") target_compile_options(${TARGET_NAME} PRIVATE -fsanitize=${SANITIZER_MODE} -g -fno-omit-frame-pointer) set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS "-fsanitize=${SANITIZER_MODE} -g") endif() add_custom_command(TARGET ${TARGET_NAME} POST_BUILD COMMAND mkdir -p ${PROJECT_BINARY_DIR}/package/etc COMMAND cp -f ${CMAKE_SOURCE_DIR}/conf/layers.json ${PROJECT_BINARY_DIR}/package/etc COMMAND cp -f ${CMAKE_SOURCE_DIR}/conf/areas.json ${PROJECT_BINARY_DIR}/package/etc )