Fix build error
[platform/core/appfw/pkgmgr-info.git] / test / unit_tests / CMakeLists.txt
1 INCLUDE_DIRECTORIES(
2   ${CMAKE_CURRENT_SOURCE_DIR}/../../src/
3   ${CMAKE_CURRENT_SOURCE_DIR}/../../parser/
4 )
5
6 FILE(GLOB_RECURSE UNIT_TESTS_SRCS *.cc *.c)
7 FILE(GLOB_RECURSE SERVER_SRCS ${CMAKE_SOURCE_DIR}/src/server/*.cc ${CMAKE_SOURCE_DIR}/src/server/*.c)
8 FILE(GLOB_RECURSE UTIL_SRCS ${CMAKE_SOURCE_DIR}/src/utils/*)
9 LIST(FILTER SERVER_SRCS EXCLUDE REGEX main.cc)
10
11 ADD_EXECUTABLE(${TARGET_PKGMGR_INFO_UNIT_TEST}
12   ${UNIT_TESTS_SRCS}
13   ${SERVER_SRCS}
14   ${UTIL_SRCS}
15 )
16
17 ADD_DEFINITIONS("-DSYSCONFDIR=\"${SYSCONFDIR}\"")
18
19 include(FindPkgConfig)
20 pkg_check_modules(unit_test_pkgs REQUIRED dlog glib-2.0 gio-2.0 sqlite3 gmock parcel tizen-database)
21
22 FOREACH(flag ${unit_test_pkgs_CFLAGS})
23         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
24 ENDFOREACH(flag)
25
26 ## Compile flags
27 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fpic -std=c++17")
28
29 TARGET_LINK_LIBRARIES(${TARGET_PKGMGR_INFO_UNIT_TEST} PRIVATE ${libpkgs_LDFLAGS})
30 TARGET_LINK_LIBRARIES(${TARGET_PKGMGR_INFO_UNIT_TEST} PRIVATE ${libpkgmgr-parser_LDFLAGS})
31 TARGET_LINK_LIBRARIES(${TARGET_PKGMGR_INFO_UNIT_TEST} PUBLIC pkgmgr-info)
32 SET_TARGET_PROPERTIES(${TARGET_PKGMGR_INFO_UNIT_TEST} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE -fpic")
33 SET_TARGET_PROPERTIES(${TARGET_PKGMGR_INFO_UNIT_TEST} PROPERTIES LINK_FLAGS "-pie")
34 set_target_properties(${TARGET_PKGMGR_INFO_UNIT_TEST} PROPERTIES COMPILE_FLAGS "${unit_test_pkgs_CFLAGS_str}")
35 target_link_libraries(${TARGET_PKGMGR_INFO_UNIT_TEST} PRIVATE ${unit_test_pkgs_LDFLAGS})
36
37 SET_TARGET_PROPERTIES(${TARGET_PKGMGR_INFO_UNIT_TEST} PROPERTIES
38   LINK_FLAGS "-Wl,--as-needed")
39
40 ADD_TEST(
41   NAME ${TARGET_PKGMGR_INFO_UNIT_TEST}
42   COMMAND ${TARGET_PKGMGR_INFO_UNIT_TEST}
43 )
44
45 INSTALL(TARGETS ${TARGET_PKGMGR_INFO_UNIT_TEST} DESTINATION bin)