# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Generates an executable binary to run a service. This is essentially just an
# executable with a special file extension (".service" on most platforms,
# ".service.exe" on Windows) and a custom |ServiceMain()| entry point, declared
# in service_main.h.
template("service_executable") {
executable(target_name) {
forward_variables_from(invoker, "*", [ "configs" ])
# Executable targets already have a default set of configs which we should
# not overwrite. Hence we do not forward but manually append.
if (defined(invoker.configs)) {
configs += invoker.configs
}
if (is_win) {
output_extension = "service.exe"
} else {
output_extension = "service"
}
if (!defined(deps)) {
deps = []
}
deps += [ "//services/service_manager/public/cpp/service_executable:main" ]
}
}