ncmscm.cmake 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. ################################################################################
  2. # HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems.
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License");
  5. # you may not use this file except in compliance with the License.
  6. # You may obtain a copy of the License at
  7. #
  8. # http://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. # Unless required by applicable law or agreed to in writing, software
  11. # distributed under the License is distributed on an "AS IS" BASIS,
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. ################################################################################
  16. #####################################################
  17. # Description:
  18. # ------------
  19. # Cmake include file ncm scm file generation
  20. #####################################################
  21. set ( ESPSCM_SOURCE_DIR ${HPCC_SOURCE_DIR}/esp/scm )
  22. set ( ESPSCM_GENERATED_DIR ${CMAKE_BINARY_DIR}/generated )
  23. GET_TARGET_PROPERTY(HIDL_EXE hidl LOCATION)
  24. GET_TARGET_PROPERTY(ESDL-XML_EXE esdl-xml LOCATION)
  25. set ( ECMCSM_SRCS
  26. ws_riskwise.ncm
  27. ws_riskwise_wsidentity.ncm
  28. wsm_riskwise1.ncm
  29. wsm_riskwise2.ncm
  30. wsm_riskwise3.ncm
  31. )
  32. foreach ( loop_var ${ESPSCM_SRCS} )
  33. string( REGEX REPLACE "[.]ncm" "" result ${loop_var} )
  34. add_custom_command ( DEPENDS hidl ${ESPSCM_SOURCE_DIR}/${loop_var}
  35. OUTPUT ${ESPSCM_GENERATED_DIR}/${result}.esp ${ESPSCM_GENERATED_DIR}/${result}.hpp ${ESPSCM_GENERATED_DIR}/${result}.int ${ESPSCM_GENERATED_DIR}/${result}.ipp ${ESPSCM_GENERATED_DIR}/${result}_esp.cpp ${ESPSCM_GENERATED_DIR}/${result}_esp.ipp ${ESPSCM_GENERATED_DIR}/${result}_esp_ng.cpp ${ESPSCM_GENERATED_DIR}/${result}_esp_ng.ipp
  36. COMMAND ${HIDL_EXE} ${ESPSCM_SOURCE_DIR}/${result}.ncm ${ESPSCM_GENERATED_DIR}
  37. )
  38. add_custom_command ( DEPENDS esdl-xml ${ESPSCM_SOURCE_DIR}/${loop_var}
  39. OUTPUT ${ESPSCM_GENERATED_DIR}/${result}.xml
  40. COMMAND ${ESDL-XML_EXE} ${ESPSCM_SOURCE_DIR}/${result}.ecm ${ESPSCM_GENERATED_DIR}
  41. )
  42. set_source_files_properties(${ESPSCM_GENERATED_DIR}/${result}.esp PROPERTIES ESPSCM_GENERATED_DIR TRUE)
  43. set_source_files_properties(${ESPSCM_GENERATED_DIR}/${result}.hpp PROPERTIES ESPSCM_GENERATED_DIR TRUE)
  44. set_source_files_properties(${ESPSCM_GENERATED_DIR}/${result}.int PROPERTIES ESPSCM_GENERATED_DIR TRUE)
  45. set_source_files_properties(${ESPSCM_GENERATED_DIR}/${result}.ipp PROPERTIES ESPSCM_GENERATED_DIR TRUE)
  46. set_source_files_properties(${ESPSCM_GENERATED_DIR}/${result}_esp.cpp PROPERTIES ESPSCM_GENERATED_DIR TRUE)
  47. set_source_files_properties(${ESPSCM_GENERATED_DIR}/${result}_esp.ipp PROPERTIES ESPSCM_GENERATED_DIR TRUE)
  48. set_source_files_properties(${ESPSCM_GENERATED_DIR}/${result}_esp_ng.cpp PROPERTIES ESPSCM_GENERATED_DIR TRUE)
  49. set_source_files_properties(${ESPSCM_GENERATED_DIR}/${result}_esp_ng.ipp PROPERTIES ESPSCM_GENERATED_DIR TRUE)
  50. set_source_files_properties(${ESPSCM_GENERATED_DIR}/${result}.xml PROPERTIES ESPSCM_GENERATED_DIR TRUE)
  51. endforeach ( loop_var ${ESPECM_SRCS} )
  52. include_directories ( ${ESPSCM_GENERATED_DIR} )