2
0

CMakeLists.txt 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. cmake_minimum_required(VERSION 2.8.7)
  2. project(test)
  3. enable_testing()
  4. set(googleTest_Dir ${CMAKE_CURRENT_SOURCE_DIR}/googletest)
  5. if (EXISTS ${googleTest_Dir})
  6. SET(GTestSrc ${googleTest_Dir}/googletest)
  7. SET(GMockSrc ${googleTest_Dir}/googlemock)
  8. else ()
  9. message( FATAL_ERROR "No googletest src dir found!")
  10. endif ()
  11. include_directories(${GTestSrc} ${GTestSrc}/include ${GMockSrc} ${GMockSrc}/include)
  12. include_directories(${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/include ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_HOME_DIRECTORY}/test)
  13. include_directories(${Boost_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR})
  14. set(test_SRCS
  15. StdInc.cpp
  16. main.cpp
  17. CMemoryBufferTest.cpp
  18. CVcmiTestConfig.cpp
  19. battle/BattleHexTest.cpp
  20. battle/CHealthTest.cpp
  21. map/CMapEditManagerTest.cpp
  22. map/CMapFormatTest.cpp
  23. map/MapComparer.cpp
  24. )
  25. set(test_HEADERS
  26. StdInc.h
  27. CVcmiTestConfig.h
  28. map/MapComparer.h
  29. )
  30. set(mock_HEADERS
  31. mock/mock_UnitHealthInfo.h
  32. )
  33. add_subdirectory(googletest)
  34. add_executable(vcmitest ${test_SRCS} ${test_HEADERS} ${mock_HEADERS} ${GTestSrc}/src/gtest-all.cc ${GMockSrc}/src/gmock-all.cc)
  35. target_link_libraries(vcmitest vcmi ${RT_LIB} ${DL_LIB})
  36. add_test(vcmitest vcmitest)
  37. vcmi_set_output_dir(vcmitest "")
  38. set_target_properties(vcmitest PROPERTIES ${PCH_PROPERTIES})
  39. cotire(vcmitest)
  40. # Files to copy to the build directory
  41. add_custom_target(vcmitestFiles ALL)
  42. set(vcmitest_FILES
  43. testdata/TerrainViewTest.h3m
  44. testdata/terrainViewMappings.json
  45. testdata/ObjectPropertyTest/header.json
  46. testdata/ObjectPropertyTest/objects.json
  47. testdata/ObjectPropertyTest/surface_terrain.json
  48. testdata/ObjectPropertyTest/underground_terrain.json
  49. )
  50. foreach(file ${vcmitest_FILES})
  51. add_custom_command(TARGET vcmitestFiles POST_BUILD
  52. COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/${file}" ${CMAKE_CURRENT_BINARY_DIR}
  53. )
  54. endforeach()