Fix buildsystem: 28/219228/1
authorErnest Borowski <e.borowski@partner.samsung.com>
Tue, 3 Dec 2019 11:36:54 +0000 (12:36 +0100)
committerErnest Borowski <e.borowski@partner.samsung.com>
Tue, 3 Dec 2019 11:40:32 +0000 (12:40 +0100)
- Add missing headers
- Add optional Tizen.cmake module, which allows to compile project
  locally
- Add missing library to linker

Change-Id: I24d981521abb9c8c38821cd4935e50bb6c0c079e
Signed-off-by: Ernest Borowski <e.borowski@partner.samsung.com>
CMakeLists.txt
Tizen.cmake [new file with mode: 0644]
src/CMakeLists.txt
src/DBus.hpp
src/batch/Monitor.hpp
src/popup/CMakeLists.txt
tests/no-ui-scenarios/CMakeLists.txt
tests/ui-scenarios/CMakeLists.txt

index 4cb8579e57a3bb6c5cf1ddf3ed8e72cbbaec6491..2bdb27cce2a2d19394d27221fc47d4098209d49f 100644 (file)
@@ -5,6 +5,12 @@ ENABLE_TESTING()
 ## PROJECT NAME
 PROJECT(universal-switch CXX)
 
+IF("${INCLUDE_TIZEN_CMAKE_MODULE}" STREQUAL "1")
+       MESSAGE("INCLUDE_TIZEN_CMAKE_MODULE ENABLED")
+       INCLUDE("Tizen.cmake")
+ENDIF()
+SET(TZ_SYS_RO_PACKAGES "/usr/share/packages")
+
 FIND_PACKAGE(PkgConfig REQUIRED)
 FIND_PACKAGE(Doxygen)
 
@@ -64,16 +70,21 @@ if(TESTS)
  ADD_SUBDIRECTORY(tests)
 endif()
 
-ADD_CUSTOM_TARGET(${PROJECT_NAME}.edj
-       COMMAND edje_cc -no-save res/${PROJECT_NAME}.edc ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.edj
-       DEPENDS res/${PROJECT_NAME}.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} ${PROJECT_NAME}.edj)
+# Do not build edc file when cmake is not executed by gbs
+IF("${INCLUDE_TIZEN_CMAKE_MODULE}" STREQUAL "1")
+       MESSAGE("Skipping building edj file.")
+ELSE()
+       ADD_CUSTOM_TARGET(${PROJECT_NAME}.edj
+               COMMAND edje_cc -no-save res/${PROJECT_NAME}.edc ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.edj
+               DEPENDS res/${PROJECT_NAME}.edc
+       )
+       ADD_DEPENDENCIES(${PROJECT_NAME} ${PROJECT_NAME}.edj)
+       INSTALL(FILES ${PROJECT_NAME}.edj DESTINATION ${RES_DIR})
+ENDIF()
 
 # Install Manifest File
 INSTALL(DIRECTORY res/icons/ DESTINATION ${ICONS_DIR} FILES_MATCHING PATTERN "*.png")
 INSTALL(FILES org.tizen.universal-switch.xml DESTINATION ${TZ_SYS_RO_PACKAGES})
-INSTALL(FILES ${PROJECT_NAME}.edj DESTINATION ${RES_DIR})
 INSTALL(PROGRAMS utils/setVconfKeys.sh DESTINATION scripts/)
 
 
diff --git a/Tizen.cmake b/Tizen.cmake
new file mode 100644 (file)
index 0000000..c65f312
--- /dev/null
@@ -0,0 +1,18 @@
+#This module enables building Tizen project using host cmake && host compiler + linker
+
+SET(CMAKE_SYSTEM_NAME Tizen) #set cross-compilation system name
+IF("$ENV{CMAKE_GBS_SYSROOT}" STREQUAL "")
+       SET(CMAKE_SYSROOT "/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.0") #set to gbs-root location
+       MESSAGE("Using default GBS-ROOT dir: ${CMAKE_SYSROOT}")
+ELSE()
+       SET(CMAKE_SYSROOT "$ENV{CMAKE_GBS_SYSROOT}")
+       MESSAGE("Using user defined GBS-ROOT dir: ${CMAKE_SYSROOT}")
+ENDIF()
+
+#set pkg-config variables, so all dependences will be searched for in gbs-root
+SET(ENV{PKG_CONFIG_DIR} "")
+SET(ENV{PKG_CONFIG_LIBDIR} "${CMAKE_SYSROOT}/usr/lib/pkgconfig:${CMAKE_SYSROOT}/usr/share/pkgconfig")
+SET(ENV{PKG_CONFIG_SYSROOT_DIR} ${CMAKE_SYSROOT})
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32") # to compile for 32 bit
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32") # to compile for 32 bit
+SET(CMAKE_EXPORT_COMPILE_COMMANDS YES) #to produce compile_commands.json for language server IDE
index aabf9a3598edea3637dc1096c9e8ce60c509f9f7..cfa4f7d29d62555f91d9974be44f24ebf1eaf931 100644 (file)
@@ -5,7 +5,7 @@ ADD_LIBRARY(universal-switch-obj OBJECT ${SRCS})
 INCLUDE_DIRECTORIES(${pkgs_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/src/hiberlite/include)
 
 ADD_EXECUTABLE(${PROJECT_NAME}  $<TARGET_OBJECTS:universal-switch-obj>)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LIBRARIES})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LIBRARIES} resolv)
 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
 
-ADD_SUBDIRECTORY(popup)
\ No newline at end of file
+ADD_SUBDIRECTORY(popup)
index fe0c25a23959a220fab66d061db3da80207f44ed..bf62165fb296ef269c57a173acc6e3c2034fc2cb 100644 (file)
@@ -23,6 +23,7 @@
 #include "Optional.hpp"
 #include <atspi/atspi.h>
 #include <cstdint>
+#include <functional>
 #include <string>
 #include <vector>
 #include <unordered_map>
index 23700a026f20ac4bf64ee8aed71304416c7ae1d4..283aa6ec292a17166d4c1fcb7ff6493458613b58 100644 (file)
@@ -20,6 +20,7 @@
 #include <mutex>
 #include <condition_variable>
 #include <chrono>
+#include <functional>
 #include "../Optional.hpp"
 
 /**
index 603cffa68779060c6bc557db6eeda630e24ff79d..d53ae420a08d24236e03a4dfee71c541c5f1315c 100644 (file)
@@ -7,5 +7,5 @@ ADD_DEFINITIONS("-DUNIVERSAL_SWITCH_POPUP_EXEC=\"${UNIVERSAL_SWITCH_POPUP_EXEC}\
 
 
 ADD_EXECUTABLE(${UNIVERSAL_SWITCH_POPUP_EXEC}  ${SRCS})
-TARGET_LINK_LIBRARIES(${UNIVERSAL_SWITCH_POPUP_EXEC} ${pkgs_LIBRARIES})
+TARGET_LINK_LIBRARIES(${UNIVERSAL_SWITCH_POPUP_EXEC} ${pkgs_LIBRARIES} resolv)
 INSTALL(TARGETS ${UNIVERSAL_SWITCH_POPUP_EXEC} DESTINATION bin)
index 666d1e2049da972389ec4cb04a92e2bb987f1a09..df29bc57d79858cdfe9a1941cf2e86dc16e760d9 100644 (file)
@@ -5,6 +5,6 @@ FOREACH(FILE_NAME ${TESTS_SRCS})
 
        ADD_EXECUTABLE(${TEST_NAME} ${FILE_NAME})
        SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES INSTALL_RPATH "${CMAKE_TESTS_INSTALL_PREFIX}/lib/")
-       TARGET_LINK_LIBRARIES(${TEST_NAME} universal-switch-shared gtest)
+       TARGET_LINK_LIBRARIES(${TEST_NAME} universal-switch-shared gtest resolv)
        INSTALL(TARGETS ${TEST_NAME} DESTINATION ${CMAKE_TESTS_INSTALL_PREFIX}/no-ui-scenarios/)
 ENDFOREACH(FILE_NAME)
index ae4431ae787a0059e8fb6aa20f154725ce85cea2..303b07645c5b437edfae4484bce33d8269f35e0e 100644 (file)
@@ -3,5 +3,5 @@ FILE(GLOB TESTS_SRCS *.cpp)
 ADD_LIBRARY(universal-switch-tests-obj OBJECT ${TESTS_SRCS})
 ADD_EXECUTABLE(universal-switch-tests $<TARGET_OBJECTS:universal-switch-tests-obj>)
 SET_TARGET_PROPERTIES(universal-switch-tests PROPERTIES INSTALL_RPATH "${CMAKE_TESTS_INSTALL_PREFIX}/lib/")
-TARGET_LINK_LIBRARIES(universal-switch-tests gtest universal-switch-shared)
+TARGET_LINK_LIBRARIES(universal-switch-tests gtest universal-switch-shared resolv)
 INSTALL(TARGETS universal-switch-tests DESTINATION ${CMAKE_TESTS_INSTALL_PREFIX}/bin/)