X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=build%2Ftizen-cmake%2FCMakeLists.txt;h=fb2b224949e0941c354bf2fbea6a00a10e572748;hb=9fc7e32fe52399ad7cb4e6e0c607c2eb1f3f477a;hp=408f967e942db1fcc0c067175f74e368ab97e09d;hpb=d8a613964844c122972e75cfe5d6f5f4cb76f205;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/build/tizen-cmake/CMakeLists.txt b/build/tizen-cmake/CMakeLists.txt index 408f967..fb2b224 100644 --- a/build/tizen-cmake/CMakeLists.txt +++ b/build/tizen-cmake/CMakeLists.txt @@ -21,7 +21,6 @@ OPTION(ENABLE_DEBUG "Enable Debug" OFF) OPTION(ENABLE_BACKTRACE "Enable Backtrace" OFF) OPTION(ENABLE_LOCK_BACKTRACE "Enable" OFF) OPTION(ENABLE_COVERAGE "Coverage" OFF) -SET(GLES_VERSION 20 CACHE INTEGER "Gles Version") # Set up compiler definitions @@ -33,7 +32,6 @@ ELSE() ENDIF() ADD_DEFINITIONS(-DPLATFORM_TIZEN -DDALI_COMPILATION) -ADD_DEFINITIONS(-DDALI_GLES_VERSION=${GLES_VERSION}) ADD_DEFINITIONS(-DPIC -DSTDC_HEADERS) IF("${ARCH}" STREQUAL "arm") @@ -63,6 +61,9 @@ SET( EXEC_PREFIX ${CMAKE_INSTALL_PREFIX}) # from root/build/tizen, get back to root SET(ROOT_SRC_DIR ${CMAKE_SOURCE_DIR}/../..) +# Make sure the path is absolute +GET_FILENAME_COMPONENT(ROOT_SRC_DIR ${ROOT_SRC_DIR} ABSOLUTE) + # Set up the include dir SET( INCLUDE_DIR $ENV{includedir} ) IF( NOT INCLUDE_DIR ) @@ -86,9 +87,16 @@ CONFIGURE_FILE( ${CORE_PKG_CFG_FILE}.in ${CORE_PKG_CFG_FILE} @ONLY ) #ADD_COMPILE_OPTIONS( -std=c++11 -ggdb ) ADD_COMPILE_OPTIONS( -std=c++11 -gdwarf-4 ) ADD_COMPILE_OPTIONS( -Wnon-virtual-dtor -Woverloaded-virtual -Wold-style-cast ) -ADD_COMPILE_OPTIONS( -Werror -Wall -Wextra -Wno-unused-parameter -Wfloat-equal ) -IF( ENABLE_COVERAGE OR $ENV{CXXFLAGS} MATCHES --coverage ) +# TODO: Clang is a lot more strict with warnings, we should address +# those issues at some point. +IF( NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" ) + ADD_COMPILE_OPTIONS( -Werror ) +ENDIF() + +ADD_COMPILE_OPTIONS( -Wall -Wextra -Wno-unused-parameter -Wfloat-equal ) + +IF( ENABLE_COVERAGE OR "$ENV{CXXFLAGS}" MATCHES --coverage ) ADD_COMPILE_OPTIONS( --coverage ) SET(ENABLE_COVERAGE ON) SET(COVERAGE --coverage) @@ -103,15 +111,25 @@ SET(PACKAGE_DOXY_SRC_DIR "${ROOT_SRC_DIR}/doc") SET(SOURCES "") +# Run sources update script automatically +EXECUTE_PROCESS( COMMAND /bin/bash ${CMAKE_CURRENT_SOURCE_DIR}/update-file-lists.sh + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) + # could use INCLUDE to get the source lists a different way; # would then need to specify a build folder somehow... -ADD_SUBDIRECTORY( ${SOURCE_DIR}/internal dali/internal ) -ADD_SUBDIRECTORY( ${SOURCE_DIR}/integration-api dali/integration-api ) -ADD_SUBDIRECTORY( ${SOURCE_DIR}/public-api dali/public-api ) -ADD_SUBDIRECTORY( ${SOURCE_DIR}/devel-api dali/devel-api ) +INCLUDE( ${ROOT_SRC_DIR}/dali/internal/file-list.cmake ) +INCLUDE( ${ROOT_SRC_DIR}/dali/integration-api/file-list.cmake ) +INCLUDE( ${ROOT_SRC_DIR}/dali/public-api/file-list.cmake ) +INCLUDE( ${ROOT_SRC_DIR}/dali/devel-api/file-list.cmake ) + ADD_SUBDIRECTORY( ${PACKAGE_DOXY_SRC_DIR} doc ) -ADD_LIBRARY( ${name} SHARED ${SOURCES} ) +SET(LIBTYPE SHARED) +IF(DEFINED STATIC) + SET(LIBTYPE STATIC) +ENDIF() + +ADD_LIBRARY( ${name} ${LIBTYPE} ${SOURCES} ) TARGET_LINK_LIBRARIES( ${name} -lpthread @@ -143,9 +161,9 @@ MACRO(INSTALL_HEADERS_WITH_DIRECTORY HEADER_LIST STRIP_PREFIX REPLACE_PREFIX) ENDMACRO(INSTALL_HEADERS_WITH_DIRECTORY) # Install headers using lists defined by ADD_SUBDIRECTORY -INSTALL_HEADERS_WITH_DIRECTORY(PUBLIC_API_HEADERS ${SOURCE_DIR} "dali") -INSTALL_HEADERS_WITH_DIRECTORY(DEVEL_API_HEADERS ${SOURCE_DIR} "dali") -INSTALL_HEADERS_WITH_DIRECTORY(INTEGRATION_API_HEADERS ${SOURCE_DIR} "dali") +INSTALL_HEADERS_WITH_DIRECTORY(PUBLIC_API_HEADERS ${ROOT_SRC_DIR}/dali "dali") +INSTALL_HEADERS_WITH_DIRECTORY(DEVEL_API_HEADERS ${ROOT_SRC_DIR}/dali "dali") +INSTALL_HEADERS_WITH_DIRECTORY(INTEGRATION_API_HEADERS ${ROOT_SRC_DIR}/dali "dali") INSTALL_HEADERS_WITH_DIRECTORY(PACKAGE_DOXY_HEADERS ${PACKAGE_DOXY_SRC_DIR} "dali/doc" ) IF(UNIX)