Release version 1.2.5
[platform/core/appfw/appcore-widget.git] / CMakeLists.txt
index 495fac4..a665178 100644 (file)
@@ -4,8 +4,7 @@ PROJECT(appcore-widget C)
 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
 SET(EXEC_PREFIX "\${prefix}")
 SET(INCLUDEDIR "\${prefix}/include")
-SET(VERSION_MAJOR 1)
-SET(VERSION "${VERSION_MAJOR}.1")
+SET(VERSION ${FULLVER})
 
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
 
@@ -13,45 +12,77 @@ ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
 
 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall")
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Werror")
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
 
 SET(CMAKE_SKIP_BUILD_RPATH TRUE)
 
 #################################################################
+# Build appcore-widget base Library
+# ------------------------------
+SET(APPCORE_WIDGET_BASE "appcore-widget-base")
+SET(SOURCES_base src/base/widget_base.c)
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(pkg_widget_base REQUIRED
+       dlog
+       appcore-common
+       capi-appfw-app-common
+       vconf
+       vconf-internal-keys
+       widget_service
+       capi-system-info
+       ecore-wayland
+       capi-system-info
+       screen_connector_provider
+       appcore-multiwindow
+       )
+
+FOREACH(flag ${pkg_widget_base_CFLAGS})
+       SET(EXTRA_CFLAGS_widget "${EXTRA_CFLAGS_widget} ${flag}")
+ENDFOREACH(flag)
+
+ADD_LIBRARY(${APPCORE_WIDGET_BASE} SHARED ${SOURCES_base})
+SET_TARGET_PROPERTIES(${APPCORE_WIDGET_BASE} PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${APPCORE_WIDGET_BASE} PROPERTIES VERSION ${FULLVER})
+SET_TARGET_PROPERTIES(${APPCORE_WIDGET_BASE} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_widget})
+TARGET_LINK_LIBRARIES(${APPCORE_WIDGET_BASE} ${pkg_widget_base_LDFLAGS} "-ldl -Wl,--no-undefined")
+
+CONFIGURE_FILE(${APPCORE_WIDGET_BASE}.pc.in ${APPCORE_WIDGET_BASE}.pc @ONLY)
+INSTALL(TARGETS ${APPCORE_WIDGET_BASE} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${APPCORE_WIDGET_BASE}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+
+
+#################################################################
 # Build appcore-widget Library
 # ------------------------------
 SET(APPCORE_WIDGET "capi-appfw-widget-application")
-SET(SRCS_widget
-               src/widget-i18n.c
-               src/widget_app.c
-               src/widget_error.c
-               )
-SET(HEADERS_widget widget_app.h widget_app_efl.h widget_app_internal.h)
+SET(SOURCES_efl src/efl_base/widget_app.c  src/efl_base/widget_app_internal.c  src/efl_base/widget_error.c)
 
 INCLUDE(FindPkgConfig)
 pkg_check_modules(pkg_widget REQUIRED
                aul
                dlog
-               capi-appfw-app-control
+               appcore-common
                capi-appfw-app-common
-               vconf
                elementary
-               vconf-internal-keys
-               widget_service
-               capi-system-info
                )
 FOREACH(flag ${pkg_widget_CFLAGS})
        SET(EXTRA_CFLAGS_widget "${EXTRA_CFLAGS_widget} ${flag}")
 ENDFOREACH(flag)
 
-ADD_LIBRARY(${APPCORE_WIDGET} SHARED ${SRCS_widget})
-SET_TARGET_PROPERTIES(${APPCORE_WIDGET} PROPERTIES SOVERSION ${VERSION_MAJOR})
-SET_TARGET_PROPERTIES(${APPCORE_WIDGET} PROPERTIES VERSION ${VERSION})
+ADD_LIBRARY(${APPCORE_WIDGET} SHARED ${SOURCES_efl})
+SET_TARGET_PROPERTIES(${APPCORE_WIDGET} PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${APPCORE_WIDGET} PROPERTIES VERSION ${FULLVER})
 SET_TARGET_PROPERTIES(${APPCORE_WIDGET} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_widget})
-TARGET_LINK_LIBRARIES(${APPCORE_WIDGET} ${pkg_widget_LDFLAGS} "-ldl")
+TARGET_LINK_LIBRARIES(${APPCORE_WIDGET} ${pkg_widget_LDFLAGS} ${APPCORE_WIDGET_BASE} "-ldl -Wl,--no-undefined")
 
+CONFIGURE_FILE(${APPCORE_WIDGET}.pc.in ${APPCORE_WIDGET}.pc @ONLY)
 INSTALL(TARGETS ${APPCORE_WIDGET} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${APPCORE_WIDGET}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-FOREACH(hfile ${HEADERS_widget})
-       INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/${hfile} DESTINATION include/appfw)
-ENDFOREACH(hfile)
+
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include/appfw/
+       FILES_MATCHING
+       PATTERN "*.h"
+       )
+