From 90c84ce95facb352884b9533dce4cb135f477f8b Mon Sep 17 00:00:00 2001 From: Younho Park Date: Wed, 26 Oct 2016 16:52:15 +0900 Subject: [PATCH] Fixed runtime error Change-Id: Ifabaec21b755d9898dd997ba295c06e664ade298 Signed-off-by: Younho Park --- CMakeLists.txt | 78 +++++++++++++++++++++++------------------------ packaging/my-account.spec | 42 +++++++++++-------------- po/CMakeLists.txt | 2 +- 3 files changed, 57 insertions(+), 65 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4a3b075..14dca73 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,22 +1,17 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(my-account C) -SET(APPDIR /usr/apps/org.tizen.my-account) -SET(LIBDIR ${APPDIR}/lib/ug) -SET(BINDIR ${APPDIR}/bin) -SET(RESDIR ${APPDIR}/res) -SET(SHAREDDIR ${APPDIR}/shared) -SET(DATADIR ${APPDIR}/shared/trusted) +MESSAGE("build account setting menu") SET(PREFIX ${CMAKE_INSTALL_PREFIX}) -#SET(BINDIR "${PREFIX}/bin") -#SET(RESDIR "${PREFIX}/res") +SET(BINDIR "${PREFIX}/bin") +SET(RESDIR "${PREFIX}/res") SET(LOCALEDIR "${RESDIR}/locale") SET(IMGDIR "${RESDIR}/images") SET(EDJDIR "${RESDIR}/edje") SET(ICONDIR "${CMAKE_SHARE_PREFIX}/icons/default/small") SET(XMLDIR "${CMAKE_SHARE_PREFIX}/packages") -#SET(DATADIR "${CMAKE_DATA_PREFIX}") +SET(DATADIR "${CMAKE_DATA_PREFIX}") SET(TABLEDIR "${PREFIX}/shared/res/tables") ADD_DEFINITIONS("-DPACKAGE=\"my-account\"") @@ -29,8 +24,20 @@ ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"") ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"") ADD_DEFINITIONS("-DTABLEDIR=\"${TABLEDIR}\"") +IF("${CMAKE_BUILD_TYPE}" STREQUAL "") + SET(CMAKE_BUILD_TYPE "Debug") +ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "") +MESSAGE("Build type: ${CMAKE_BUILD_TYPE}") + +#------- for development -------- ADD_DEFINITIONS("-DMA_LOG_LEVEL_2") +#-------------------------------- +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror-implicit-function-declaration") +SET(CMAKE_C_FLAGS_DEBUG "-O0 -g") +SET(CMAKE_C_FLAGS_RELEASE "-O2") + +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.tizen.my-account.xml DESTINATION /usr/share/packages/) SET(SRCS src/my-account-main.c @@ -38,32 +45,23 @@ src/my-account-ui-widget.c src/my-account-view-main.c ) -IF("${CMAKE_BUILD_TYPE}" STREQUAL "") - SET(CMAKE_BUILD_TYPE "Release") -ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "") -MESSAGE("Build type: ${CMAKE_BUILD_TYPE}") - INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) -INCLUDE_DIRECTORIES(/usr/include) + +# include library + +SET(dependents "glib-2.0 elementary efl-extension dlog vconf capi-appfw-application accounts-svc") INCLUDE(FindPkgConfig) pkg_check_modules(pkgs REQUIRED - glib-2.0 - elementary - accounts-svc - dlog - vconf - capi-appfw-application - efl-extension +${dependents} ) +# include library - FOREACH(flag ${pkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -Werror -fpie") -SET(CMAKE_C_FLAGS_DEBUG "-O0 -g") -SET(CMAKE_C_FLAGS_RELEASE "-O2") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE -Wl,-rpath,${LIBDIR}") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") FIND_PROGRAM(UNAME NAMES uname) EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") @@ -71,28 +69,28 @@ IF("${ARCH}" STREQUAL "arm") ADD_DEFINITIONS("-DTARGET") MESSAGE("add -DTARGET") ENDIF("${ARCH}" STREQUAL "arm") - +ADD_DEFINITIONS("-fpie") +MESSAGE("CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}") ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"") -ADD_DEFINITIONS("-D_A_PROJECT_") -ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS}) -SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION 0.0.1) -TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} accounts-svc) +SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed") + +ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS}) +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-pie") +INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin) -ADD_CUSTOM_TARGET(my-account.edj +# install image +INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/images/tw_ic_popup_btn_check.png DESTINATION ${IMGDIR}) + +ADD_CUSTOM_TARGET(${PROJECT_NAME}.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/data/images - ${CMAKE_SOURCE_DIR}/data/edc/my-account.edc ${CMAKE_BINARY_DIR}/my-account.edj - DEPENDS ${CMAKE_SOURCE_DIR}/data/edc/my-account.edc + ${CMAKE_SOURCE_DIR}/data/edc/${PROJECT_NAME}.edc ${PROJECT_NAME}.edj + DEPENDS ${CMAKE_SOURCE_DIR}/data/edc/${PROJECT_NAME}.edc ) -ADD_DEPENDENCIES(${PROJECT_NAME} my-account.edj) - -SET(COLORTABLEDIR "${CMAKE_BINARY_DIR}/") +ADD_DEPENDENCIES(${PROJECT_NAME} ${PROJECT_NAME}.edj) +INSTALL(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.edj DESTINATION ${EDJDIR}) -INSTALL(FILES ${CMAKE_BINARY_DIR}/org.tizen.my-account.xml DESTINATION /usr/share/packages) -INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR}) -INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/images/tw_ic_popup_btn_check.png DESTINATION ${SHAREDDIR}/res) -INSTALL(FILES ${CMAKE_BINARY_DIR}/my-account.edj DESTINATION ${RESDIR}/edje/${PROJECT_NAME}) # i18n ADD_SUBDIRECTORY(po) \ No newline at end of file diff --git a/packaging/my-account.spec b/packaging/my-account.spec index 7435d88..805596f 100644 --- a/packaging/my-account.spec +++ b/packaging/my-account.spec @@ -14,6 +14,14 @@ Source0: %{name}-%{version}.tar.gz ExcludeArch: %{arm} %ix86 x86_64 %endif +%if "%{?profile}" == "tv" +ExcludeArch: %{arm} %ix86 x86_64 +%endif + +%if "%{?profile}" == "common" +ExcludeArch: %{arm} %ix86 x86_64 +%endif + BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(syspopup) BuildRequires: pkgconfig(accounts-svc) @@ -34,38 +42,24 @@ Accounts ug of setting application. %prep %setup -q -%define APPDIR /usr/apps/org.tizen.my-account -%define BINDIR %{APPDIR}/bin -%define LIBDIR %{APPDIR}/lib/ug -%define RESDIR %{APPDIR}/res -%define SHAREDDIR %{APPDIR}/shared -%define DATADIR %{APPDIR}/shared/trusted - %build -export CFLAGS="${CFLAGS} -fPIC -fvisibility=hidden" - -%define PREFIX "/usr" cmake . -DCMAKE_INSTALL_PREFIX=%{PREFIX} \ -%if "%{?profile}" == "wearable" - -DTIZEN_WEARABLE=1 -%endif make %{?jobs:-j%jobs} %install -rm -rf %{buildroot} -mkdir -p %{buildroot}/usr/share/license -cp %{_builddir}/%{name}-%{version}/LICENSE.APLv2 %{buildroot}/usr/share/license/%{name} %make_install -%files -%manifest my-account.manifest -%defattr(-,root,root,-) -/usr/share/license/%{name} -%{LIBDIR}/* -%{RESDIR}/* -%{SHAREDDIR}/* -/usr/share/packages/*.xml +mkdir -p %{buildroot}/usr/share/license +cp -af %{_builddir}/%{name}-%{version}/LICENSE.APLv2 %{buildroot}/usr/share/license/ %post /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%{_datadir}/license/LICENSE.APLv2 +%{_datadir}/packages/* +%{PREFIX}/* diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt index 3f36237..d574f4d 100644 --- a/po/CMakeLists.txt +++ b/po/CMakeLists.txt @@ -67,7 +67,7 @@ FOREACH(pofile ${POFILES}) DEPENDS ${absPofile} ) INSTALL(FILES ${moFile} - DESTINATION ${RESDIR}/locale/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo) + DESTINATION ${LOCALEDIR}/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo) SET(moFiles ${moFiles} ${moFile}) ENDFOREACH(pofile) -- 2.7.4