From 8037314e28aaf731525028beb85f6658582cff6f Mon Sep 17 00:00:00 2001 From: Youngjae Shin Date: Mon, 22 Apr 2019 17:33:00 +0900 Subject: [PATCH] revise build scripts --- CMakeLists.txt | 2 ++ client/CMakeLists.txt | 1 - packaging/modes.spec | 12 ++++++------ plugin/CMakeLists.txt | 2 +- supervisor/CMakeLists.txt | 22 +++++++--------------- test/CMakeLists.txt | 13 +++---------- test/modes_test_basic.c | 20 -------------------- 7 files changed, 19 insertions(+), 53 deletions(-) delete mode 100644 test/modes_test_basic.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ffe08a..45bd781 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,7 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) 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") @@ -17,6 +18,7 @@ IF(NOT DEFINED DBUS_INTERFACE) 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}) diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 209640e..1b267fb 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -8,7 +8,6 @@ pkg_check_modules(client_pkgs REQUIRED glib-2.0 dlog capi-base-common gio-2.0 gi 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}) diff --git a/packaging/modes.spec b/packaging/modes.spec index 7c79b12..b68a36c 100644 --- a/packaging/modes.spec +++ b/packaging/modes.spec @@ -54,6 +54,7 @@ Requires: %{name}-lib = %{version} %description unittests The %{name}-unittests pacakge contains programs for checking quality the %{name}. +%define _dbus_interface org.tizen.%{name}.dbus %prep %setup -q @@ -71,8 +72,9 @@ export LDFLAGS+=" -lgcov" 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} @@ -86,8 +88,6 @@ xmllint --noout --schema tizen_mode_actions.xsd tizen_mode_actions.xml xmllint --noout --schema tizen_mode.xsd tizen_*_mode.xml popd - - %post -p /sbin/ldconfig %postun -p /sbin/ldconfig @@ -95,9 +95,9 @@ popd %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 diff --git a/plugin/CMakeLists.txt b/plugin/CMakeLists.txt index 83edb74..ad40deb 100644 --- a/plugin/CMakeLists.txt +++ b/plugin/CMakeLists.txt @@ -1,4 +1,4 @@ -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") diff --git a/supervisor/CMakeLists.txt b/supervisor/CMakeLists.txt index f8a6202..356d5ec 100644 --- a/supervisor/CMakeLists.txt +++ b/supervisor/CMakeLists.txt @@ -21,25 +21,17 @@ LINK_DIRECTORIES(${daemon_pkgs_LIBRARY_DIRS}) 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) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 255b1be..a63815a 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,4 +1,6 @@ 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) @@ -29,20 +31,11 @@ TARGET_LINK_LIBRARIES(${MODEPARSER_TEST_NAME} ${test_pkgs_LIBRARIES}) 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}) #=======================================================================================# diff --git a/test/modes_test_basic.c b/test/modes_test_basic.c deleted file mode 100644 index f6ae9db..0000000 --- a/test/modes_test_basic.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * 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; -} -- 2.7.4