diff --git a/README.md b/README.md index 74affe9..720d60f 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,13 @@ Before running make install as normal: $ make install -j8 +### Build Only specific sample + +You can set the sample's name and can build that sample only. For example, If you want to build 'hello-world', + + $ cmake -DCMAKE_INSTALL_PREFIX=$DESKTOP_PREFIX -DBUILD_EXAMPLE_NAME=hello-world + $ make install -j9 + ## 2. GBS Builds ### NON-SMACK Targets @@ -70,6 +77,10 @@ Before running make install as normal: $ gbs build -A [TARGET_ARCH] --define "%rpi_style 1" +### Build specific sample only + + $ gbs build -A [TARGET_ARCH] --define "build_example_name hello-world" + # Creating an example - Make a directory in the "examples" directory. Only one example will be created per directory. @@ -162,6 +173,7 @@ vcpkg-script folder in the windows-dependencies repository. - INTERNATIONALIZATION ---> Whether to generate and install internazionalization '.po' Portable Object files. - CMAKE_INSTALL_PREFIX ---> Were DALi is installed. - ENABLE_DEBUG ---> Whether to build with debug enabled. + - BUILD_EXAMPLE_NAME ---> The name of sample what you want to build. To reduce the memory of rpm file, we didn't copy resources now. * If dali-toolkit has been compiled with the USE_DEFAULT_RESOURCE_DIR option disabled then is needed to set global environment variables in order to find the default toolkit resources. diff --git a/build/tizen/CMakeLists.txt b/build/tizen/CMakeLists.txt index 5198d34..480561f 100644 --- a/build/tizen/CMakeLists.txt +++ b/build/tizen/CMakeLists.txt @@ -144,40 +144,52 @@ MACRO(INSTALL_TREE_FILES ROOT TREE FILTER DESTINATION) ENDMACRO() GET_TREE(LOCAL_IMAGES_TREE "${LOCAL_IMAGES_DIR}") + +# If we try to build specific samples, we don't install some heavy things. +# TODO : Currently, we did hard-coding. +IF( NOT BUILD_EXAMPLE_NAME ) INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.png" ${IMAGES_DIR}) INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.jpg" ${IMAGES_DIR}) +INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.ico" ${IMAGES_DIR}) INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.gif" ${IMAGES_DIR}) INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.webp" ${IMAGES_DIR}) INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.bmp" ${IMAGES_DIR}) -INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.ico" ${IMAGES_DIR}) INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.wbmp" ${IMAGES_DIR}) INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.ktx" ${IMAGES_DIR}) INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.astc" ${IMAGES_DIR}) INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.svg" ${IMAGES_DIR}) INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.json" ${IMAGES_DIR}) +ELSE() +INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*com.samsung.dali-demo.png" ${IMAGES_DIR}) +INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*dali-examples.png" ${IMAGES_DIR}) +INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*dali-tests.png" ${IMAGES_DIR}) +ENDIF() -FILE(GLOB LOCAL_VIDEOS_LIST RELATIVE "${LOCAL_VIDEOS_DIR}" "${LOCAL_VIDEOS_DIR}/*") -FOREACH(flag ${LOCAL_VIDEOS_LIST}) - INSTALL(FILES ${LOCAL_VIDEOS_DIR}/${flag} DESTINATION ${VIDEOS_DIR}) +FILE(GLOB LOCAL_SHADERS_LIST RELATIVE "${LOCAL_SHADERS_DIR}" "${LOCAL_SHADERS_DIR}/*") +FOREACH(flag ${LOCAL_SHADERS_LIST}) + INSTALL(FILES ${LOCAL_SHADERS_DIR}/${flag} DESTINATION ${SHADERS_DIR}) ENDFOREACH(flag) -GET_TREE(LOCAL_MODELS_TREE "${LOCAL_MODELS_DIR}") -INSTALL_TREE_FILES(${LOCAL_MODELS_DIR} "${LOCAL_MODELS_TREE}" "*" ${MODELS_DIR}) - FILE(GLOB LOCAL_SCRIPTS_LIST RELATIVE "${LOCAL_SCRIPTS_DIR}" "${LOCAL_SCRIPTS_DIR}/*.json") FOREACH(flag ${LOCAL_SCRIPTS_LIST}) INSTALL(FILES ${LOCAL_SCRIPTS_DIR}/${flag} DESTINATION ${SCRIPTS_DIR}) ENDFOREACH(flag) -FILE(GLOB LOCAL_SHADERS_LIST RELATIVE "${LOCAL_SHADERS_DIR}" "${LOCAL_SHADERS_DIR}/*") -FOREACH(flag ${LOCAL_SHADERS_LIST}) - INSTALL(FILES ${LOCAL_SHADERS_DIR}/${flag} DESTINATION ${SHADERS_DIR}) +# If we try to build specific samples, we don't install some heavy things. +IF( NOT BUILD_EXAMPLE_NAME ) +FILE(GLOB LOCAL_VIDEOS_LIST RELATIVE "${LOCAL_VIDEOS_DIR}" "${LOCAL_VIDEOS_DIR}/*") +FOREACH(flag ${LOCAL_VIDEOS_LIST}) + INSTALL(FILES ${LOCAL_VIDEOS_DIR}/${flag} DESTINATION ${VIDEOS_DIR}) ENDFOREACH(flag) +GET_TREE(LOCAL_MODELS_TREE "${LOCAL_MODELS_DIR}") +INSTALL_TREE_FILES(${LOCAL_MODELS_DIR} "${LOCAL_MODELS_TREE}" "*" ${MODELS_DIR}) + FILE(GLOB LOCAL_GAME_LIST RELATIVE "${LOCAL_GAME_DIR}" "${LOCAL_GAME_DIR}/*.*") FOREACH(flag ${LOCAL_GAME_LIST}) INSTALL(FILES ${LOCAL_GAME_DIR}/${flag} DESTINATION ${GAME_DIR}) ENDFOREACH(flag) +ENDIF() #Create resources location file CONFIGURE_FILE( resources-location.in ${DEMO_SHARED}/resources-location.cpp ) @@ -456,6 +468,14 @@ ELSE() SET(CURRENT_BUILD_PLATFORM "Ubuntu") ENDIF() +# Setup CURRENT_BUILD_EXAMPLE_NAME to use at message +IF(NOT BUILD_EXAMPLE_NAME) + SET(CURRENT_BUILD_EXAMPLE_NAME "ALL EXAMPLES") +ELSE() + SET(CURRENT_BUILD_EXAMPLE_NAME ${BUILD_EXAMPLE_NAME}) +ENDIF() + + MESSAGE( " Folder DEMO_IMAGE_DIR : [" ${DEMO_IMAGE_DIR} "]" ) MESSAGE( " Folder DEMO_STYLE_DIR : [" ${DEMO_STYLE_DIR} "]" ) MESSAGE( " Folder DEMO_SHADER_DIR : [" ${DEMO_SHADER_DIR} "]" ) @@ -468,4 +488,5 @@ MESSAGE( " Folder DEMO_LOCALE_DIR : [" ${DEMO_LOCALE_DIR} "]" ) MESSAGE( " Folder DEMO_EXAMPLE_BIN : [" ${DEMO_EXAMPLE_BIN} "]" ) MESSAGE( " Folder DEMO_LANG : [" ${DEMO_LANG} "]" ) MESSAGE( " Current Build Platform : [" ${CURRENT_BUILD_PLATFORM} "]" ) -MESSAGE( " Scene3D Enabled : [" ${ENABLE_SCENE3D} "]" ) +MESSAGE( " Build example name : [" ${CURRENT_BUILD_EXAMPLE_NAME} "]" ) +MESSAGE( " Scene3D Enabled : [" ${ENABLE_SCENE3D} "]" ) diff --git a/build/tizen/examples/CMakeLists.txt b/build/tizen/examples/CMakeLists.txt index 3edebb6..ad3d815 100644 --- a/build/tizen/examples/CMakeLists.txt +++ b/build/tizen/examples/CMakeLists.txt @@ -25,7 +25,7 @@ IF( NOT SHADER_GENERATOR ) MESSAGE( FATAL_ERROR "dali-shader-generator not found!" ) ENDIF() -FOREACH(EXAMPLE ${SUBDIRS}) +FUNCTION(INSTALL_EXAMPLES EXAMPLE) SET(PARENT_CMAKE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../") FILE(GLOB SRCS "${EXAMPLES_SRC_DIR}/${EXAMPLE}/*.cpp") SET(SRCS ${SRCS} "${ROOT_SRC_DIR}/shared/resources-location.cpp") @@ -42,10 +42,19 @@ FOREACH(EXAMPLE ${SUBDIRS}) ADD_CUSTOM_TARGET(${EXAMPLE}-generate-shaders COMMAND ${SHADER_GENERATOR} --skip ${SHADER_SOURCE_DIR} ${SHADER_GENERATED_DIR}) SET_PROPERTY(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES - "${SHADER_GENERATED_DIR}") + "${SHADER_GENERATED_DIR}") ADD_DEPENDENCIES(${EXAMPLE}.example ${EXAMPLE}-generate-shaders) ENDIF() TARGET_LINK_LIBRARIES(${EXAMPLE}.example ${REQUIRED_LIBS}) INSTALL(TARGETS ${EXAMPLE}.example DESTINATION ${BINDIR}) -ENDFOREACH(EXAMPLE) +ENDFUNCTION() + +IF( NOT BUILD_EXAMPLE_NAME ) + FOREACH(EXAMPLE ${SUBDIRS}) + INSTALL_EXAMPLES(${EXAMPLE}) + ENDFOREACH(EXAMPLE) +ELSE() + INSTALL_EXAMPLES(${BUILD_EXAMPLE_NAME}) +ENDIF() + diff --git a/packaging/com.samsung.dali-demo.spec b/packaging/com.samsung.dali-demo.spec index 94004a2..bb91f77 100755 --- a/packaging/com.samsung.dali-demo.spec +++ b/packaging/com.samsung.dali-demo.spec @@ -2,7 +2,7 @@ Name: com.samsung.dali-demo Summary: The OpenGLES Canvas Core Demo -Version: 2.2.14 +Version: 2.2.15 Release: 1 Group: System/Libraries License: Apache-2.0 @@ -96,6 +96,9 @@ cmake -DDALI_APP_DIR=%{dali_app_ro_dir}/bin \ -DLOCAL_STYLE_DIR=%{local_style_dir} \ -DINTERNATIONALIZATION:BOOL=OFF \ -DTIZEN:BOOL=ON \ +%if "%{?build_example_name}" != "" + -DBUILD_EXAMPLE_NAME=%{?build_example_name} \ +%endif . make %{?jobs:-j%jobs} @@ -174,10 +177,12 @@ exit 0 %{dali_app_exe_dir}/dali-tests %{dali_app_exe_dir}/*.example %{dali_app_exe_dir}/dali-builder +%if "%{?build_example_name}" == "" %{dali_app_res_dir}/images/* %{dali_app_res_dir}/game/* %{dali_app_res_dir}/videos/* %{dali_app_res_dir}/models/* +%endif %{dali_app_res_dir}/scripts/* %{dali_app_res_dir}/shaders/* %{dali_xml_file_dir}/%{name}.xml