Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. # Requires: SOURCES
  2. macro(register_executable EXE_NAME)
  3. message(STATUS "Creating executable [${EXE_NAME}]")
  4.  
  5. add_executable(${EXE_NAME} ${SOURCES})
  6. endmacro()
  7.  
  8. # Requires: COMPONENTS
  9. macro(register_packet)
  10. set(CURRENT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
  11. get_filename_component(PACKET ${CURRENT_PATH} NAME)
  12. message(STATUS "Creating packet [${PACKET}]")
  13.  
  14. foreach(COMPONENT ${COMPONENTS})
  15. add_subdirectory(${COMPONENT})
  16. endforeach()
  17. endmacro()
  18.  
  19. # Requires: component.cpp [SOURCES] [MODULES]
  20. macro(register_component)
  21. set(CURRENT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
  22. get_filename_component(COMPONENT ${CURRENT_PATH} NAME)
  23. message(STATUS "Creating component [${COMPONENT}]")
  24.  
  25. add_library(${COMPONENT} ${COMPONENT}.cpp ${SOURCES})
  26. set_property(TARGET ${COMPONENT} PROPERTY FOLDER ${COMPONENT})
  27.  
  28. foreach(MODULE ${MODULES})
  29. add_subdirectory(${MODULE})
  30. set_property(TARGET ${MODULE} PROPERTY FOLDER ${COMPONENT})
  31.  
  32. target_link_libraries(${COMPONENT} ${MODULE})
  33. endforeach()
  34. endmacro()
  35.  
  36. # Requires: SOURCES
  37. macro(register_module)
  38. set(CURRENT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
  39. get_filename_component(MODULE ${CURRENT_PATH} NAME)
  40. message(STATUS "Creating module [${MODULE}]")
  41.  
  42. add_library(${MODULE} ${SOURCES})
  43. endmacro()
  44.  
  45. macro(link_target TARGET_NAME)
  46. set(CURRENT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
  47. get_filename_component(CURRENT_TARGET ${CURRENT_PATH} NAME)
  48. get_filename_component(LINKED_TARGET ${TARGET_NAME} NAME)
  49.  
  50. target_link_libraries(${CURRENT_TARGET} ${LINKED_TARGET})
  51. endmacro()
  52.  
  53. macro(link_targetEx CURRENT_TARGET LINKED_TARGET_PATH)
  54. get_filename_component(TARGET_NAME ${LINKED_TARGET_PATH} NAME)
  55. set(LINKED_TARGET ${TARGET_NAME})
  56.  
  57. target_link_libraries(${CURRENT_TARGET} ${LINKED_TARGET})
  58. endmacro()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement