CMakeLists.txt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. cmake_minimum_required(VERSION 3.10)
  2. project(MocSkipSource)
  3. include("../AutogenTest.cmake")
  4. # Test for SKIP_AUTOMOC and SKIP_AUTOGEN on an AUTOMOC enabled target
  5. # Generate header mocs manually
  6. qtx_wrap_cpp(skipMocWrapMoc
  7. qItemA.hpp
  8. qItemB.hpp
  9. qItemC.hpp
  10. qItemD.hpp
  11. )
  12. set(skipMocSources
  13. skipMoc.cpp
  14. qItemA.cpp
  15. qItemB.cpp
  16. qItemC.cpp
  17. qItemD.cpp
  18. )
  19. # When cpp files are skipped, the hpp won't be processed either,
  20. # unless they are mentioned in the sources - which they aren't.
  21. set_property(SOURCE qItemA.cpp PROPERTY SKIP_AUTOMOC ON)
  22. set_property(SOURCE qItemB.cpp PROPERTY SKIP_AUTOGEN ON)
  23. # When hpp files are skipped, the cpp still get processed.
  24. set_property(SOURCE qItemC.hpp PROPERTY SKIP_AUTOMOC ON)
  25. set_property(SOURCE qItemD.hpp PROPERTY SKIP_AUTOGEN ON)
  26. # AUTOMOC enabled only
  27. add_executable(skipMocA ${skipMocSources} ${skipMocWrapMoc})
  28. set_property(TARGET skipMocA PROPERTY AUTOMOC ON)
  29. target_link_libraries(skipMocA ${QT_LIBRARIES})
  30. # AUTOMOC and AUTOUIC enabled
  31. add_executable(skipMocB ${skipMocSources} ${skipMocWrapMoc})
  32. set_property(TARGET skipMocB PROPERTY AUTOMOC ON)
  33. set_property(TARGET skipMocB PROPERTY AUTOUIC ON)
  34. target_link_libraries(skipMocB ${QT_LIBRARIES})