CMakeLists.txt 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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(EABaseTest 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 EABASETEST_SOURCES "source/TestEABase.cpp" "source/TestEABase.h")
  25. set(SOURCES ${EABASETEST_SOURCES})
  26. #-------------------------------------------------------------------------------------------
  27. # Executable definition
  28. #-------------------------------------------------------------------------------------------
  29. add_executable(EABaseTest ${SOURCES})
  30. #-------------------------------------------------------------------------------------------
  31. # Dependencies
  32. #-------------------------------------------------------------------------------------------
  33. add_subdirectory(packages/EAAssert)
  34. add_subdirectory(packages/EAMain)
  35. add_subdirectory(packages/EASTL)
  36. add_subdirectory(packages/EAStdC)
  37. add_subdirectory(packages/EATest)
  38. add_subdirectory(packages/EAThread)
  39. target_link_libraries(EABaseTest EAAssert)
  40. target_link_libraries(EABaseTest EAMain)
  41. target_link_libraries(EABaseTest EASTL)
  42. target_link_libraries(EABaseTest EAStdC)
  43. target_link_libraries(EABaseTest EATest)
  44. target_link_libraries(EABaseTest EAThread)
  45. set(THREADS_PREFER_PTHREAD_FLAG ON)
  46. find_package(Threads REQUIRED)
  47. if((NOT APPLE) AND (NOT WIN32))
  48. target_link_libraries(EABaseTest ${EASTLTest_Libraries} Threads::Threads rt)
  49. else()
  50. target_link_libraries(EABaseTest ${EASTLTest_Libraries} Threads::Threads)
  51. endif()
  52. #-------------------------------------------------------------------------------------------
  53. # Run Unit tests and verify the results.
  54. #-------------------------------------------------------------------------------------------
  55. add_test(EABaseTestRuns EABaseTest)
  56. set_tests_properties (EABaseTestRuns PROPERTIES PASS_REGULAR_EXPRESSION "RETURNCODE=0")