SET(EXTRA_CFLAGS "-Wall -Werror-implicit-function-declaration -fvisibility=hidden")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
SET(CLIENT ${PROJECT_NAME})
SET(DAEMON "mode-supervisor")
MESSAGE("No DBUS_INTERFACE. Check build system")
SET(DBUS_INTERFACE "org.tizen.${PROJECT_NAME}.dbus")
ENDIF(NOT DEFINED DBUS_INTERFACE)
+ADD_DEFINITIONS("-DMODES_DBUS_INTERFACE=\"${DBUS_INTERFACE}\"")
FILE(GLOB HEADERS include/*.h)
INSTALL(FILES ${HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME})
INCLUDE_DIRECTORIES(${client_pkgs_INCLUDE_DIRS})
LINK_DIRECTORIES(${client_pkgs_LIBRARY_DIRS})
-ADD_DEFINITIONS("-DMODES_DBUS_INTERFACE=\"${DBUS_INTERFACE}\"")
ADD_DEFINITIONS("-DMDS_CLIENT")
ADD_LIBRARY(${CLIENT} SHARED ${CLIENT_SRCS})
%description unittests
The %{name}-unittests pacakge contains programs for checking quality the %{name}.
+%define _dbus_interface org.tizen.%{name}.dbus
%prep
%setup -q
MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
%cmake . -DMAJORVER=${MAJORVER} -DFULLVER=%{version} \
-DBIN_INSTALL_DIR:PATH=%{_bindir} \
- -DSYSTEM_INSTALL_DIR:PATH=%{_unitdir} \
- -DSYSTEM_CONFIG_DIR:PATH=%{_sysconfdir} \
+ -DSYSTEMD_DIR:PATH=%{_unitdir} \
+ -DSYSCONF_DIR:PATH=%{_sysconfdir} \
+ -DDBUS_INTERFACE=%{_dbus_interface} \
-DBUILD_GCOV=%{?gcov:1}%{!?gcov:0} \
-DSTDOUT_LOG=%{?stdlog:1}%{!?stdlog:0}
make %{?_smp_mflags}
xmllint --noout --schema tizen_mode.xsd tizen_*_mode.xml
popd
-
-
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%manifest %{name}.manifest
%{_bindir}/mode-supervisor
-%{_datadir}/dbus-1/system-services/org.tizen.%{name}.dbus.service
%{_unitdir}/%{name}.service
-%{_sysconfdir}/dbus-1/system.d/org.tizen.%{name}.dbus.conf
+%{_sysconfdir}/dbus-1/system.d/%{_dbus_interface}.conf
+%{_datadir}/dbus-1/system-services/%{_dbus_interface}.service
%license LICENSE.APLv2
%files lib
-pkg_check_modules(plugin_pkgs REQUIRED glib-2.0 dlog capi-base-common gio-2.0 gio-unix-2.0)
+pkg_check_modules(plugin_pkgs REQUIRED dlog capi-base-common)
INCLUDE_DIRECTORIES(${plugin_pkgs_INCLUDE_DIRS})
LINK_DIRECTORIES(${plugin_pkgs_LIBRARY_DIRS})
ADD_DEFINITIONS("-DMDS_PLUGIN")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE")
-SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--hash-style=both -pie")
-ADD_DEFINITIONS("-DMODES_DBUS_INTERFACE=\"${DBUS_INTERFACE}\"")
ADD_DEFINITIONS("-DMDS_SUPERVISOR")
ADD_EXECUTABLE(${DAEMON} ${DAEMON_SRCS})
ADD_DEPENDENCIES(${DAEMON} GENERATED_DBUS_CODE)
+TARGET_LINK_LIBRARIES(${DAEMON} ${daemon_pkgs_LIBRARIES} dl)
-TARGET_LINK_LIBRARIES(${DAEMON} ${daemon_pkgs_LIBRARIES})
-TARGET_LINK_LIBRARIES(${DAEMON} -ldl)
+CONFIGURE_FILE(${DBUS_INTERFACE}.service.in ${DBUS_INTERFACE}.service @ONLY)
+CONFIGURE_FILE(${DBUS_INTERFACE}.conf.in ${DBUS_INTERFACE}.conf @ONLY)
+CONFIGURE_FILE(${PROJECT_NAME}.service.in ${PROJECT_NAME}.service @ONLY)
INSTALL(TARGETS ${DAEMON} DESTINATION ${BIN_INSTALL_DIR})
-
-SET(DBUS_SERVICE_FILE "org.tizen.${PROJECT_NAME}.dbus")
-CONFIGURE_FILE(${DBUS_SERVICE_FILE}.service.in ${DBUS_SERVICE_FILE}.service @ONLY)
-CONFIGURE_FILE(${PROJECT_NAME}.service.in ${PROJECT_NAME}.service @ONLY)
-CONFIGURE_FILE(${DBUS_SERVICE_FILE}.conf.in ${DBUS_SERVICE_FILE}.conf @ONLY)
-INSTALL(FILES ${DBUS_SERVICE_FILE}.service DESTINATION
- ${SHARE_INSTALL_PREFIX}/dbus-1/system-services)
-INSTALL(FILES ${PROJECT_NAME}.service DESTINATION
- ${SYSTEM_INSTALL_DIR})
-INSTALL(FILES ${DBUS_SERVICE_FILE}.conf DESTINATION
- ${SYSTEM_CONFIG_DIR}/dbus-1/system.d)
+INSTALL(FILES ${PROJECT_NAME}.service DESTINATION ${SYSTEMD_DIR})
+INSTALL(FILES ${DBUS_INTERFACE}.conf DESTINATION ${SYSCONF_DIR}/dbus-1/system.d)
+INSTALL(FILES ${DBUS_INTERFACE}.service DESTINATION ${SHARE_INSTALL_PREFIX}/dbus-1/system-services)
LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE")
pkg_check_modules(test_pkgs REQUIRED dlog glib-2.0 gio-2.0 gio-unix-2.0 libxml-2.0)
INSTALL(TARGETS ${MODEPARSER_TEST_NAME} DESTINATION ${BIN_INSTALL_DIR})
#=======================================================================================#
-SET(MODES_TEST_BASIC "modes-test-basic")
-SET(MODES_TEST_BASMDS_SRCS "modes_test_basic.c")
-
-ADD_EXECUTABLE(${MODES_TEST_BASIC} ${MODES_TEST_BASMDS_SRCS})
-TARGET_LINK_LIBRARIES(${MODES_TEST_BASIC} ${test_pkgs_LIBRARIES} ${PROJECT_NAME})
-INSTALL(TARGETS ${MODES_TEST_BASIC} DESTINATION ${BIN_INSTALL_DIR})
-
-#=======================================================================================#
SET(MODES_CLIENT_TEST "modes-test-client")
SET(MODES_CLIENT_TEST_SRCS "modes_client_test.c")
-ADD_DEFINITIONS("-DMODES_DBUS_INTERFACE=\"${DBUS_INTERFACE}\"")
ADD_EXECUTABLE(${MODES_CLIENT_TEST} ${MODES_CLIENT_TEST_SRCS})
-TARGET_LINK_LIBRARIES(${MODES_CLIENT_TEST} ${test_pkgs_LIBRARIES} ${CLIENT} -ldl)
+TARGET_LINK_LIBRARIES(${MODES_CLIENT_TEST} ${test_pkgs_LIBRARIES} ${CLIENT})
INSTALL(TARGETS ${MODES_CLIENT_TEST} DESTINATION ${BIN_INSTALL_DIR})
#=======================================================================================#
+++ /dev/null
-/*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- */
-
-int main(int argc, char **argv)
-{
- return 0;
-}