CMakeLists.txt 997 B

12345678910111213141516171819202122232425262728293031
  1. set(testtarget "qtprotobuf_test")
  2. find_package(GTest REQUIRED)
  3. find_package(Qt5 COMPONENTS Core REQUIRED)
  4. include_directories(${Qt5Core_INCLUDE_DIRS})
  5. set(CMAKE_INCLUDE_CURRENT_DIR OFF)
  6. set(CMAKE_AUTOMOC OFF)
  7. set(CMAKE_AUTORCC ON)
  8. set(CMAKE_CXX_STANDARD 14)
  9. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  10. if (Qt5_POSITION_INDEPENDENT_CODE)
  11. set(CMAKE_POSITION_INDEPENDENT_CODE ON)
  12. endif()
  13. file(GLOB GENERATED_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/*.h)
  14. file(GLOB GENERATED_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/*.cpp)
  15. #Manual moc_ files generation for qt
  16. list(FILTER GENERATED_SOURCES EXCLUDE REGEX "moc_.*cpp")
  17. QT5_WRAP_CPP(MOC_SRCS ${GENERATED_HEADERS})
  18. include_directories(${GTEST_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/src/lib)
  19. file(GLOB HEADERS ${TESTS_OUT_DIR})
  20. add_executable(${testtarget} "main.cpp" "simpletest.cpp" ${MOC_SRCS} ${GENERATED_SOURCES})
  21. target_link_libraries(${testtarget} ${GTEST_BOTH_LIBRARIES} Qt5::Core)
  22. add_dependencies(${testtarget} ${testgeneration})