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)