OpENer.cmake 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. FUNCTION(opener_add_definition)
  2. FOREACH(ARG ${ARGV})
  3. set_property(GLOBAL APPEND PROPERTY OPENER_DEFINITION ${ARG})
  4. ENDFOREACH(ARG)
  5. ENDFUNCTION(opener_add_definition)
  6. ##############################################
  7. # Adds platform specific include directories #
  8. ##############################################
  9. macro(opener_platform_support ARGS)
  10. if(OpENer_PLATFORM STREQUAL "")
  11. message(FATAL_ERROR "No platform selected!")
  12. endif(OpENer_PLATFORM STREQUAL "")
  13. include( ${OpENer_BUILDSUPPORT_DIR}/${OpENer_PLATFORM}/OpENer_PLATFORM_INCLUDES.cmake)
  14. opener_platform_spec()
  15. endmacro(opener_platform_support ARGS)
  16. #######################################
  17. # Adds common Include directories #
  18. #######################################
  19. macro(opener_common_includes)
  20. set( SRC_DIR "${OpENer_SOURCE_DIR}/src" )
  21. set( CIP_SRC_DIR "${SRC_DIR}/cip" )
  22. set( ENET_ENCAP_SRC_DIR "${SRC_DIR}/enet_encap" )
  23. set( PORTS_SRC_DIR "${SRC_DIR}/ports")
  24. set( NVDATA_SRC_DIR "${SRC_DIR}/ports/nvdata")
  25. set( UTILS_SRC_DIR "${SRC_DIR}/utils")
  26. include_directories( ${PROJECT_SOURCE_DIR} ${SRC_DIR} ${CIP_SRC_DIR} ${CIP_CONNETION_MANAGER_SRC_DIR} ${ENET_ENCAP_SRC_DIR} ${PORTS_SRC_DIR} ${UTILS_SRC_DIR} ${OpENer_CIP_OBJECTS_DIR} ${NVDATA_SRC_DIR} )
  27. include_directories( "${PROJECT_BINARY_DIR}/src/ports" )
  28. endmacro(opener_common_includes)
  29. MACRO(opener_add_cip_object NAME DESCRIPTION)
  30. set(OpENer_CIP_OBJECT_${NAME} OFF CACHE BOOL "${DESCRIPTION}")
  31. FOREACH(dependencies ${ARGN})
  32. if(NOT ${dependencies})
  33. return()
  34. endif(NOT ${dependencies})
  35. ENDFOREACH(dependencies)
  36. if(NOT OpENer_CIP_OBJECT_${NAME})
  37. return()
  38. endif(NOT OpENer_CIP_OBJECT_${NAME})
  39. ENDMACRO(opener_add_cip_object)
  40. #######################################
  41. # Creates options for trace level #
  42. #######################################
  43. macro(createTraceLevelOptions)
  44. add_definitions( -DOPENER_WITH_TRACES )
  45. set( TRACE_LEVEL 0 )
  46. set( OpENer_TRACE_LEVEL_ERROR ON CACHE BOOL "Error trace level" )
  47. set( OpENer_TRACE_LEVEL_WARNING ON CACHE BOOL "Warning trace level" )
  48. set( OpENer_TRACE_LEVEL_STATE ON CACHE BOOL "State trace level" )
  49. set( OpENer_TRACE_LEVEL_INFO ON CACHE BOOL "Info trace level" )
  50. if(OpENer_TRACE_LEVEL_ERROR)
  51. math( EXPR TRACE_LEVEL "${TRACE_LEVEL} + 1" )
  52. endif(OpENer_TRACE_LEVEL_ERROR)
  53. if(OpENer_TRACE_LEVEL_WARNING)
  54. math( EXPR TRACE_LEVEL "${TRACE_LEVEL} + 2" )
  55. endif(OpENer_TRACE_LEVEL_WARNING)
  56. if(OpENer_TRACE_LEVEL_STATE)
  57. math( EXPR TRACE_LEVEL "${TRACE_LEVEL} + 4" )
  58. endif(OpENer_TRACE_LEVEL_STATE)
  59. if(OpENer_TRACE_LEVEL_INFO)
  60. math( EXPR TRACE_LEVEL "${TRACE_LEVEL} + 8" )
  61. endif(OpENer_TRACE_LEVEL_INFO)
  62. add_definitions(-DOPENER_TRACE_LEVEL=${TRACE_LEVEL})
  63. endmacro(createTraceLevelOptions)