• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1if (WIN32)
2endif()
3
4set(gfxstream-base-common-sources
5    AlignedBuf.cpp
6    CompressingStream.cpp
7    CpuTime.cpp
8    DecompressingStream.cpp
9    FileUtils.cpp
10    FunctorThread.cpp
11    GLObjectCounter.cpp
12    LayoutResolver.cpp
13    MemStream.cpp
14    StdioStream.cpp
15    MemoryTracker.cpp
16    MessageChannel.cpp
17    PathUtils.cpp
18    ring_buffer.cpp
19    SharedLibrary.cpp
20    StringFormat.cpp
21    Stream.cpp
22    StreamSerializing.cpp
23    SubAllocator.cpp
24    System.cpp
25    Tracing.cpp)
26set(gfxstream-base-posix-sources
27    SharedMemory_posix.cpp
28    Thread_pthread.cpp)
29set(gfxstream-base-windows-sources
30    msvc.cpp
31    SharedMemory_win32.cpp
32    Thread_win32.cpp
33    Win32UnicodeString.cpp)
34
35if (APPLE)
36    set(gfxstream-platform-sources
37        ${gfxstream-base-posix-sources}
38        system-native-mac.mm)
39elseif (WIN32)
40    set(gfxstream-platform-sources
41        ${gfxstream-base-windows-sources})
42else()
43    set(gfxstream-platform-sources
44        ${gfxstream-base-posix-sources})
45endif()
46
47add_library(
48    gfxstream-base
49    ${gfxstream-base-common-sources}
50    ${gfxstream-platform-sources})
51
52if (WIN32)
53    set(gfxstream-base-platform-deps "")
54else()
55    set(gfxstream-base-platform-deps dl)
56endif()
57
58target_link_libraries(
59    gfxstream-base
60    PUBLIC
61    renderdoc
62    PRIVATE
63    lz4
64    perfetto-tracing-only
65    ${gfxstream-base-platform-deps})
66
67target_include_directories(
68    gfxstream-base PUBLIC ${GFXSTREAM_REPO_ROOT})
69if (NOT MSVC)
70    target_compile_options(
71        gfxstream-base PRIVATE -fvisibility=default)
72endif()
73
74if (APPLE)
75    set(gfxstream-base-platform-test-sources "")
76elseif (WIN32)
77    set(gfxstream-base-platform-test-sources Win32UnicodeString_unittest.cpp)
78else()
79    set(gfxstream-base-platform-test-sources "")
80endif()
81
82# Tests
83add_library(
84    gfxstream-base-testing-support
85    testing/file_io.cpp)
86target_include_directories(
87    gfxstream-base-testing-support
88    PRIVATE
89    ${GFXSTREAM_REPO_ROOT}
90    ${GFXSTREAM_REPO_ROOT}/include
91    PUBLIC
92    ${GFXSTREAM_REPO_ROOT}/base/testing)
93target_link_libraries(
94    gfxstream-base-testing-support
95    PRIVATE
96    gfxstream-base
97    gtest
98    gmock)
99add_executable(
100    gfxstream-base_unittests
101    AlignedBuf_unittest.cpp
102    ArraySize_unittest.cpp
103    LayoutResolver_unittest.cpp
104    Optional_unittest.cpp
105    ring_buffer_unittest.cpp
106    StringFormat_unittest.cpp
107    SubAllocator_unittest.cpp
108    TypeTraits_unittest.cpp)
109target_link_libraries(
110    gfxstream-base_unittests
111    PRIVATE
112    gfxstream-base
113    logging-base
114    gfxstream-base-testing-support
115    gtest_main)
116gtest_discover_tests(gfxstream-base_unittests)