Fix CMake to build 64 bit architecture 64/117164/3
authorsungwook79.park <sungwook79.park@samsung.com>
Fri, 3 Mar 2017 05:44:03 +0000 (14:44 +0900)
committersungwook79.park <sungwook79.park@samsung.com>
Fri, 3 Mar 2017 05:50:41 +0000 (14:50 +0900)
Change-Id: Ief5990d8217f9d287fb17a5a02ee477eb7a1a6ad
Signed-off-by: sungwook79.park <sungwook79.park@samsung.com>
CMakeLists.txt
packaging/smartreply.spec

index 2be5678dd16140e5f1aff963cfef979572b35eef..7cb1dd306bc3e1dba72444816bea5b29fdac7f83 100755 (executable)
@@ -2,8 +2,10 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 PROJECT(smartreply)
 
 SET(target "smartreply")
+SET(LIBDIR ${LIB_INSTALL_DIR})
 SET(DEST_INCLUDE_DIR "include/smartreply")
 SET(SRC_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/include")
+SET(dependents "aul dlog glib-2.0 json-glib-1.0 gio-2.0 bundle pkgmgr-info")
 
 FILE(GLOB_RECURSE SRCS src/*.cpp)
 MESSAGE("Sources: ${SRCS}")
@@ -14,18 +16,15 @@ SET(VERSION "${VERSION_MAJOR}.0.0")
 SET(CMAKE_INSTALL_PREFIX /usr)
 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
 
-# dependency
-SET(DEPS "aul dlog glib-2.0 json-glib-1.0 gio-2.0 bundle pkgmgr-info")
+SET(INC_DIR include)
+INCLUDE_DIRECTORIES(${INC_DIR})
 
 INCLUDE(FindPkgConfig)
-INCLUDE_DIRECTORIES(
-       ${CMAKE_CURRENT_SOURCE_DIR}/include
-       /usr/include
-       /usr/include/glib-2.0
-       /usr/lib/glib-2.0/include
-       /usr/include/dlog
-       /usr/include/json-glib-1.0
-)
+pkg_check_modules(fw_name REQUIRED ${dependents})
+FOREACH(flag ${fw_name_CFLAGS})
+       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+       SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
+ENDFOREACH(flag)
 
 ADD_DEFINITIONS(-O2 -Wall -std=c++0x -fPIC -fvisibility=default -Wl,--as-needed -Wl,--rpath=/usr/lib)
 
@@ -36,7 +35,8 @@ FOREACH(flag ${api_pkg_CFLAGS})
    SET(API_EXTRA_CFLAGS "${API_EXTRA_CFLAGS} ${flag}")
 ENDFOREACH(flag)
 
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${API_EXTRA_CFLAGS} -fPIC -Wall -Werror")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${API_EXTRA_CFLAGS} -fPIC -Wall -Werror")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} ${API_EXTRA_CXXFLAGS} -fPIC -Wall")
 SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
 #SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
 
@@ -49,7 +49,7 @@ SET_TARGET_PROPERTIES(${target} PROPERTIES SOVERSION ${VERSION_MAJOR})
 SET_TARGET_PROPERTIES(${target} PROPERTIES VERSION ${VERSION})
 
 # Installing
-INSTALL(TARGETS ${target} DESTINATION lib)
+INSTALL(TARGETS ${target} DESTINATION ${LIBDIR})
 
 # Install header file
 FILE(GLOB HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/*.h)
@@ -70,7 +70,7 @@ CONFIGURE_FILE(
         ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc
         @ONLY
 )
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIBDIR}/pkgconfig)
 
 #test case
 #ADD_SUBDIRECTORY(test)
index 3637e3c298c02b682cee352e645d11de872132c2..cbb88d0759141dce6c79e0c1d4055ca7af417edc 100755 (executable)
@@ -49,17 +49,13 @@ export CXXFLAGS+=" -Wno-unused-parameter -Wno-empty-body"
 export   CFLAGS+=" -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-strict-aliasing -fno-unroll-loops -fsigned-char -fstrict-overflow -fno-common"
 export CXXFLAGS+=" -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-strict-aliasing -fno-unroll-loops -fsigned-char -fstrict-overflow"
 
-cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DMAJORVER=${MAJORVER} -DFULLVER=%{version}
+cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DLIB_INSTALL_DIR:PATH=%{_libdir}
 make %{?jobs:-j%jobs}
 
 %install
 rm -rf %{buildroot}
 %make_install
 
-# Lisence
-mkdir -p %{buildroot}/usr/share/license
-cp LICENSE %{buildroot}/usr/share/license/%{name}
-
 %post
 /sbin/ldconfig
 
@@ -70,10 +66,9 @@ cp LICENSE %{buildroot}/usr/share/license/%{name}
 %manifest packaging/%{name}.manifest
 %defattr(-,root,root,-)
 %{_libdir}/*.so*
-%{_datadir}/license/%{name}
+%license LICENSE
 #%if %{BINTYPE} == "engineer"
 %{_includedir}/smartreply/smartreply_service.h
-
 #%endif
 
 %package devel