CMakeLists.txt 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #-------------------------------------------------------------------------------------------
  2. # Copyright (C) Electronic Arts Inc. All rights reserved.
  3. #-------------------------------------------------------------------------------------------
  4. #-------------------------------------------------------------------------------------------
  5. # CMake info
  6. #-------------------------------------------------------------------------------------------
  7. cmake_minimum_required(VERSION 3.1)
  8. project(EAStdCTest CXX)
  9. include(CTest)
  10. #-------------------------------------------------------------------------------------------
  11. # Defines
  12. #-------------------------------------------------------------------------------------------
  13. add_definitions(-D_CRT_SECURE_NO_WARNINGS)
  14. add_definitions(-D_SCL_SECURE_NO_WARNINGS)
  15. add_definitions(-D_CHAR16T)
  16. #-------------------------------------------------------------------------------------------
  17. # Compiler Flags
  18. #-------------------------------------------------------------------------------------------
  19. set (CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/packages/EASTL/scripts/CMake")
  20. include(CommonCppFlags)
  21. #-------------------------------------------------------------------------------------------
  22. # Source files
  23. #-------------------------------------------------------------------------------------------
  24. file(GLOB EASTDCTEST_SOURCES "source/*.cpp")
  25. set(SOURCES ${EASTDCTEST_SOURCES})
  26. #-------------------------------------------------------------------------------------------
  27. # Executable definition
  28. #-------------------------------------------------------------------------------------------
  29. add_executable(EAStdCTest ${SOURCES})
  30. #-------------------------------------------------------------------------------------------
  31. # Include directories
  32. #-------------------------------------------------------------------------------------------
  33. target_include_directories(EAStdCTest PUBLIC include)
  34. #-------------------------------------------------------------------------------------------
  35. # Dependencies
  36. #-------------------------------------------------------------------------------------------
  37. add_subdirectory(packages/EABase)
  38. add_subdirectory(packages/EAAssert)
  39. add_subdirectory(packages/EAMain)
  40. add_subdirectory(packages/EASTL)
  41. add_subdirectory(packages/EATest)
  42. add_subdirectory(packages/EAThread)
  43. target_link_libraries(EAStdCTest EABase)
  44. target_link_libraries(EAStdCTest EAAssert)
  45. target_link_libraries(EAStdCTest EAMain)
  46. target_link_libraries(EAStdCTest EASTL)
  47. target_link_libraries(EAStdCTest EATest)
  48. target_link_libraries(EAStdCTest EAThread)
  49. set(THREADS_PREFER_PTHREAD_FLAG ON)
  50. find_package(Threads REQUIRED)
  51. if((NOT APPLE) AND (NOT WIN32))
  52. target_link_libraries(EAStdCTest ${EASTLTest_Libraries} Threads::Threads rt)
  53. else()
  54. target_link_libraries(EAStdCTest ${EASTLTest_Libraries} Threads::Threads)
  55. endif()
  56. #-------------------------------------------------------------------------------------------
  57. # Run Unit tests and verify the results.
  58. #-------------------------------------------------------------------------------------------
  59. add_test(EAStdCTestRuns EAStdCTest)
  60. set_tests_properties (EAStdCTestRuns PROPERTIES PASS_REGULAR_EXPRESSION "RETURNCODE=0")