CMakeLists.txt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. set(sources
  2. Assert.cpp
  3. Functions.cpp
  4. File.cpp
  5. Filesystem.cpp
  6. MemoryPool.cpp
  7. System.cpp
  8. ThreadPool.cpp
  9. ThreadHive.cpp
  10. Hash.cpp
  11. Logger.cpp
  12. String.cpp
  13. StringList.cpp
  14. Tracer.cpp
  15. Serializer.cpp
  16. Xml.cpp
  17. F16.cpp
  18. Process.cpp
  19. Thread.cpp
  20. Singleton.cpp
  21. ThreadJobManager.cpp
  22. CVarSet.cpp)
  23. if(LINUX OR ANDROID OR MACOS)
  24. set(sources ${sources}
  25. HighRezTimerPosix.cpp
  26. FilesystemPosix.cpp
  27. ThreadPosix.cpp)
  28. else()
  29. set(sources ${sources}
  30. HighRezTimerWindows.cpp
  31. FilesystemWindows.cpp
  32. ThreadWindows.cpp
  33. Win32Minimal.cpp)
  34. endif()
  35. if(LINUX OR ANDROID)
  36. set(sources ${sources} INotifyPosix.cpp)
  37. elseif(WINDOWS)
  38. set(sources ${sources} INotifyWindows.cpp)
  39. endif()
  40. file(GLOB_RECURSE headers *.h)
  41. add_library(AnKiUtil ${sources} ${headers})
  42. target_compile_definitions(AnKiUtil PRIVATE -DANKI_SOURCE_FILE)
  43. set(libs AnKiTinyXml2)
  44. if(LINUX OR WINDOWS)
  45. set(libs ${libs} reproc)
  46. endif()
  47. if(ANDROID)
  48. set(libs ${libs} AnKiStreamlineAnnotate)
  49. endif()
  50. # PIX annotations
  51. if(DIRECTX AND ANKI_TRACE)
  52. if(ARM)
  53. set(cpu_arch "ARM64")
  54. elseif(X86)
  55. set(cpu_arch "x64")
  56. else()
  57. message(FATAL_ERROR "Unhandled case")
  58. endif()
  59. find_library(PIX_LIB WinPixEventRuntime HINTS "${CMAKE_CURRENT_SOURCE_DIR}/../../ThirdParty/Pix/bin/${cpu_arch}")
  60. set(libs ${libs} ${PIX_LIB})
  61. include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../../ThirdParty/Pix/include/WinPixEventRuntime")
  62. endif()
  63. target_link_libraries(AnKiUtil ${libs})