X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=build%2Ftizen%2FCMakeLists.txt;h=8dadbc7206131c0427a5a505074ceba0cdfbdcbd;hb=edfe102e3337fceef014acc5104221bfee713cd4;hp=94dbedbbd48fb3b67231f2f677f13a410849eb56;hpb=8576e2d9d4b46749761f042a8ef694bf3ea62938;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/build/tizen/CMakeLists.txt b/build/tizen/CMakeLists.txt index 94dbedb..8dadbc7 100644 --- a/build/tizen/CMakeLists.txt +++ b/build/tizen/CMakeLists.txt @@ -1,8 +1,10 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 3.1) +CMAKE_MINIMUM_REQUIRED(VERSION 3.8.2) CMAKE_POLICY(SET CMP0012 NEW) # Prevent dereferencing of OFF/ON as variables -SET(name "dali-core") +SET(name "dali2-core") +SET(CMAKE_C_STANDARD 99) +SET(CMAKE_CXX_STANDARD 17) PROJECT(${name}) SET(PKG_NAME ${name}) @@ -14,7 +16,7 @@ IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") ENDIF() # API VERSION (Not DALi release version) -SET(${name}_VERSION_MAJOR 0) +SET(${name}_VERSION_MAJOR 2) SET(${name}_VERSION_MINOR 0) SET(${name}_VERSION_PATCH 0) SET(${name}_VERSION ${${name}_VERSION_MAJOR}.${${name}_VERSION_MINOR}.${${name}_VERSION_PATCH}) @@ -34,21 +36,22 @@ OPTION(ENABLE_LINK_TEST "Enable the link test" ON) IF( WIN32 ) # WIN32 includes x64 as well according to the cmake doc. FIND_PACKAGE( dali-windows-dependencies REQUIRED ) - FIND_PATH( SYSTEM_INCLUDE_DIR "dali-windows-dependencies.h" ) ENDIF() +SET( VCPKG_INCLUDE_DIR "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include") + # Set up compiler definitions IF(CMAKE_BUILD_TYPE MATCHES Debug) - MESSAGE( STATUS "CMAKE_BUILD_TYPE: " Debug ) SET( ENABLE_DEBUG ON ) -ELSE() - MESSAGE( STATUS "CMAKE_BUILD_TYPE: " Release ) ENDIF() IF( ENABLE_DEBUG ) + MESSAGE( STATUS "CMAKE_BUILD_TYPE: " Debug ) ADD_DEFINITIONS( "-DDEBUG_ENABLED" ) SET( ENABLE_EXPORTALL ON ) +ELSE() + MESSAGE( STATUS "CMAKE_BUILD_TYPE: " Release ) ENDIF() IF( WIN32 ) # WIN32 includes x64 as well according to the cmake doc. @@ -69,10 +72,6 @@ ELSEIF( UNIX ) ADD_DEFINITIONS("-DTARGET") ENDIF() - IF( NOT ${ENABLE_EXPORTALL} ) - ADD_DEFINITIONS( "-fvisibility=hidden" ) - ENDIF() - ENDIF() IF( ENABLE_BACKTRACE OR ENABLE_LOCK_BACKTRACE ) @@ -107,17 +106,21 @@ IF( NOT INCLUDE_DIR ) ENDIF() # Set up the lib dir -IF( SET_VCPKG_INSTALL_PREFIX ) +SET( LIB_DIR $ENV{libdir} ) +IF( NOT LIB_DIR ) + SET( LIB_DIR ${CMAKE_INSTALL_LIBDIR} ) +ENDIF() +IF( NOT LIB_DIR ) SET( LIB_DIR ${PREFIX}/lib ) +ENDIF() + +# Set up the bin dir +SET( BIN_DIR $ENV{bindir} ) +IF( NOT BIN_DIR ) + SET( BIN_DIR ${CMAKE_INSTALL_BINDIR} ) +ENDIF() +IF( NOT BIN_DIR ) SET( BIN_DIR ${PREFIX}/bin ) -ELSE() - SET( LIB_DIR $ENV{libdir} ) - IF( NOT LIB_DIR ) - SET( LIB_DIR ${CMAKE_INSTALL_LIBDIR} ) - ENDIF() - IF( NOT LIB_DIR ) - SET( LIB_DIR ${PREFIX}/lib ) - ENDIF() ENDIF() IF( ENABLE_PKG_CONFIGURE ) @@ -125,7 +128,7 @@ IF( ENABLE_PKG_CONFIGURE ) # Requires the following variables to be setup: # @PREFIX@ @EXEC_PREFIX@ @DALI_VERSION@ @LIB_DIR@ @DEV_INCLUDE_PATH@ SET( DEV_INCLUDE_PATH ${INCLUDE_DIR} ) - SET( CORE_PKG_CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dali-core.pc ) + SET( CORE_PKG_CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dali2-core.pc ) CONFIGURE_FILE( ${CORE_PKG_CFG_FILE}.in ${CORE_PKG_CFG_FILE} @ONLY ) ENDIF() @@ -133,32 +136,52 @@ IF( WIN32 ) # WIN32 includes x64 as well according to the cmake doc. ADD_COMPILE_OPTIONS( /FIdali-windows-dependencies.h ) # Adds missing definitions. ADD_COMPILE_OPTIONS( /vmg ) # Avoids a 'reinterpret_cast' compile error while compiling signals and callbacks. + ADD_COMPILE_OPTIONS( /wd4251 ) # Ignores warning C4251: "'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2'" ELSEIF( UNIX ) + INCLUDE(CheckCXXCompilerFlag) + # Set up compiler flags and warnings - ADD_COMPILE_OPTIONS( -std=c++11 ) ADD_COMPILE_OPTIONS( -Wnon-virtual-dtor -Woverloaded-virtual -Wold-style-cast ) # 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" ) + IF( NOT ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang" ) ADD_COMPILE_OPTIONS( -Werror ) ENDIF() - ADD_COMPILE_OPTIONS( -Wall -Wextra -Wno-unused-parameter -Wfloat-equal -Wno-class-memaccess -Wno-cast-function-type ) + ADD_COMPILE_OPTIONS( -Wall -Wextra -Wno-unused-parameter -Wfloat-equal ) + CHECK_CXX_COMPILER_FLAG(-Wno-class-memaccess HAVE_NO_CLASS_MEMACCESS) + IF (HAVE_NO_CLASS_MEMACCESS) + ADD_COMPILE_OPTIONS( -Wno-class-memaccess ) + ENDIF() + + CHECK_CXX_COMPILER_FLAG(-Wno-cast-function-type HAVE_NO_CAST_FUNCTION_TYPE) + IF (HAVE_NO_CAST_FUNCTION_TYPE) + ADD_COMPILE_OPTIONS( -Wno-cast-function-type ) + ENDIF() + CHECK_CXX_COMPILER_FLAG(-Wno-string-plus-int HAVE_NO_STRING_PLUS_INT) + IF (HAVE_NO_STRING_PLUS_INT) + ADD_COMPILE_OPTIONS( -Wno-string-plus-int ) + ENDIF() IF( ENABLE_COVERAGE OR "$ENV{CXXFLAGS}" MATCHES --coverage ) ADD_COMPILE_OPTIONS( --coverage ) SET(ENABLE_COVERAGE ON) SET(COVERAGE --coverage) ENDIF() + IF( NOT ${ENABLE_EXPORTALL} ) + ADD_COMPILE_OPTIONS( "-fvisibility=hidden" ) + ENDIF() + ENDIF() INCLUDE_DIRECTORIES( ${ROOT_SRC_DIR} - ${SYSTEM_INCLUDE_DIR} + ${VCPKG_INCLUDE_DIR} + ${INCLUDE_DIR} ) SET(SOURCE_DIR "${ROOT_SRC_DIR}/dali") @@ -172,6 +195,7 @@ INCLUDE( ${ROOT_SRC_DIR}/dali/internal/file.list ) INCLUDE( ${ROOT_SRC_DIR}/dali/integration-api/file.list ) INCLUDE( ${ROOT_SRC_DIR}/dali/public-api/file.list ) INCLUDE( ${ROOT_SRC_DIR}/dali/devel-api/file.list ) +INCLUDE( ${ROOT_SRC_DIR}/dali/graphics-api/file.list ) IF( WIN32 ) INCLUDE( ${ROOT_SRC_DIR}/dali/internal/file-windows.list ) ELSEIF( UNIX ) @@ -208,8 +232,13 @@ SET_TARGET_PROPERTIES( ${name} CLEAN_DIRECT_OUPUT 1 ) -# Install the library so file and symlinks IF( INSTALL_CMAKE_MODULES ) + IF( ENABLE_DEBUG ) + SET( BIN_DIR "${BIN_DIR}/debug" ) + SET( LIB_DIR "${LIB_DIR}/debug" ) + ENDIF() + + # Install the library files. INSTALL( TARGETS ${name} EXPORT ${name}-targets LIBRARY DESTINATION ${LIB_DIR} @@ -217,6 +246,7 @@ IF( INSTALL_CMAKE_MODULES ) RUNTIME DESTINATION ${BIN_DIR} ) + # Install the cmake modules. INSTALL( EXPORT ${name}-targets NAMESPACE ${name}:: @@ -229,7 +259,13 @@ IF( INSTALL_CMAKE_MODULES ) include(\${CMAKE_CURRENT_LIST_DIR}/${name}-targets.cmake) ") INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}-config.cmake DESTINATION share/${name} ) + + # Install the pdb file. + IF( ENABLE_DEBUG AND WIN32 ) + install( FILES ${CMAKE_CURRENT_BINARY_DIR}/Debug/${name}.pdb DESTINATION ${BIN_DIR} ) + ENDIF() ELSE() + # Install the library so file and symlinks. INSTALL( TARGETS ${name} DESTINATION ${LIB_DIR} ) ENDIF() @@ -253,6 +289,7 @@ ENDMACRO(INSTALL_HEADERS_WITH_DIRECTORY) # Install headers using lists defined by ADD_SUBDIRECTORY 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(GRAPHICS_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" ) @@ -315,7 +352,7 @@ IF( ENABLE_COVERAGE ) -name libdali*.so* \) | grep -v TC | xargs rm -rf TARGET ${DALI_CORE_PREFIX}distclean - VERBATIM +VERBATIM ) ENDIF( LCOV_BIN ) @@ -328,11 +365,20 @@ IF( ENABLE_LINK_TEST ) SET( LINKER_TEST_SOURCES linker-test.cpp ${DALI_TEST_SUITE_DIR}/test-application.cpp - ${DALI_TEST_SUITE_DIR}/test-platform-abstraction.cpp - ${DALI_TEST_SUITE_DIR}/test-render-controller.cpp - ${DALI_TEST_SUITE_DIR}/test-render-surface.cpp ${DALI_TEST_SUITE_DIR}/test-gl-abstraction.cpp ${DALI_TEST_SUITE_DIR}/test-gl-sync-abstraction.cpp + ${DALI_TEST_SUITE_DIR}/test-graphics-buffer.cpp + ${DALI_TEST_SUITE_DIR}/test-graphics-command-buffer.cpp + ${DALI_TEST_SUITE_DIR}/test-graphics-controller.cpp + ${DALI_TEST_SUITE_DIR}/test-graphics-framebuffer.cpp + ${DALI_TEST_SUITE_DIR}/test-graphics-pipeline.cpp + ${DALI_TEST_SUITE_DIR}/test-graphics-program.cpp + ${DALI_TEST_SUITE_DIR}/test-graphics-reflection.cpp + ${DALI_TEST_SUITE_DIR}/test-graphics-sampler.cpp + ${DALI_TEST_SUITE_DIR}/test-graphics-shader.cpp + ${DALI_TEST_SUITE_DIR}/test-graphics-texture.cpp + ${DALI_TEST_SUITE_DIR}/test-platform-abstraction.cpp + ${DALI_TEST_SUITE_DIR}/test-render-controller.cpp ${DALI_TEST_SUITE_DIR}/test-trace-call-stack.cpp ) ADD_EXECUTABLE( ${LINKER_TEST_NAME} ${LINKER_TEST_SOURCES} )