]> Creatis software - bbtk.git/blobdiff - kernel/cmake/BBTKCreatePackageIncludeScript.cmake
no message
[bbtk.git] / kernel / cmake / BBTKCreatePackageIncludeScript.cmake
index f1c5f62cdcc37dab64344f64a1b2845d4205bd93..856cebad8d3565f7832d6a0cf8f8daf82b6a5052 100644 (file)
 
 
-MACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT    BBTK_PACKAGE_NAME    BBTK_PACKAGE_BBS_BOXES    BBTK_PACKAGE_BBS_APPLI )
+MACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT    BBTK_PACKAGE_NAME    BBTK_PACKAGE_BBS_BOXES    BBTK_PACKAGE_BBS_APPLI  BBTK_PACKAGE_BBG_BOXES    BBTK_PACKAGE_BBG_APPLI )
+
+
+  ##  --Configure and installing bbg boxes--
+  FOREACH(bbg ${BBTK_PACKAGE_BBG_BOXES})  
+    CONFIGURE_FILE(
+      ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
+      ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbg}
+      COPYONLY
+      )
+    GET_FILENAME_COMPONENT(bbg_path ${bbg} PATH)    
+    IF(WIN32)
+       INSTALL(
+               FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
+               DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path}
+       )
+    ELSE(WIN32)
+       INSTALL(
+               FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
+               DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path}
+       )
+    ENDIF(WIN32)
+  ENDFOREACH(bbg)
+
+
+  ##  --Configure and installing bbg appli--
+  FOREACH(bbg ${BBTK_PACKAGE_BBG_APPLI})  
+    CONFIGURE_FILE(
+      ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
+      ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbg}
+      COPYONLY
+      )
+    GET_FILENAME_COMPONENT(bbg_path ${bbg} PATH)    
+    IF(WIN32)
+       INSTALL(
+               FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
+               DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path}
+       )
+    ELSE(WIN32)
+       INSTALL(
+               FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
+               DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path}
+       )
+    ENDIF(WIN32)
+  ENDFOREACH(bbg)
+
+
+
+
+
+
 
-  SET(OUTPUT_PATH ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME})
-  SET(OUTPUT_FILE ${PROJECT_BINARY_DIR}/${OUTPUT_PATH}/${BBTK_PACKAGE_NAME}.bbs)
-  
-  MESSAGE(ERROR "${BBTK_PACKAGE_BBS_BOXES} - ${BBTK_PACKAGE_BBS_APPLI}")
 
-  # Creates the file ${BBTK_PACKAGE_NAME}.bbs
+  ##  --Configure and installing bbs boxes--
+  # --Creates the file ${BBTK_PACKAGE_NAME}.bbp--
+  SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}.bbp)
   FILE(WRITE 
     "${OUTPUT_FILE}" 
-    "# Include script for bbtk package '${BBTK_PACKAGE_NAME}' - automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
+    "#-----------------------------------------\n"
+    "# Include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
+    "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
   FILE(APPEND 
     "${OUTPUT_FILE}"
+    "#-----------------------------------------\n"
     "load ${BBTK_PACKAGE_NAME}\n"
+    "#-----------------------------------------\n"
     "package ${BBTK_PACKAGE_NAME}\n"
     )
+  
+  #FILE(APPEND 
+  #  "${OUTPUT_FILE}"
+  #  "#-----------------------------------------\n"
+  #  "include ${BBTK_PACKAGE_NAME}/boxes/*\n"
+  #  )
+  
   FOREACH(bbs ${BBTK_PACKAGE_BBS_BOXES})  
     FILE(APPEND 
       "${OUTPUT_FILE}"
-      "include ${bbs}\n"
+      "#-----------------------------------------\n"
+      "include ${BBTK_PACKAGE_NAME}/${bbs}\n"
       )
+    CONFIGURE_FILE(
+      ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
+      ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
+      COPYONLY
+      )
+    GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
+    
+    
+    IF(WIN32)
+    INSTALL(
+      FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
+#      DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
+      DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
+    )
+ELSE(WIN32)
+INSTALL(
+      FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
+      DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
+#      DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
+    )
+ENDIF(WIN32)
   ENDFOREACH(bbs)
-  FOREACH(bbs ${BBTK_PACKAGE_BBS_APPLI})  
+
+
+
+  ##  --Configure and installing bbs appli--
+  FILE(APPEND 
+    "${OUTPUT_FILE}"
+      "#-----------------------------------------\n"
+      "endpackage\n"
+      "#-- EOF ----------------------------------\n"
+    )
+ IF(WIN32)
+  INSTALL(
+    FILES ${OUTPUT_FILE}
+#    DESTINATION ${BBTK_BBS_INSTALL_PATH}
+    DESTINATION ${BBTK_BBS_REL_PATH}
+    )
+ELSE(WIN32)
+  INSTALL(
+    FILES ${OUTPUT_FILE}
+    DESTINATION ${BBTK_BBS_INSTALL_PATH}
+#   DESTINATION ${BBTK_BBS_REL_PATH}
+    )
+ENDIF(WIN32)
+  # Creates the file ${BBTK_PACKAGE_NAME}-appli.bbp
+  SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbp)
+  FILE(WRITE 
+    "${OUTPUT_FILE}" 
+    "#-----------------------------------------\n"
+    "# Applications include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
+    "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
+  FILE(APPEND 
+    "${OUTPUT_FILE}"
+    "#-----------------------------------------\n"
+    "load ${BBTK_PACKAGE_NAME}\n"
+    "#-----------------------------------------\n"
+    "package ${BBTK_PACKAGE_NAME}\n"
+    )
+
+  FOREACH(bbs ${BBTK_PACKAGE_BBS_APPLI}) 
+    GET_FILENAME_COMPONENT(filename "${bbs}" NAME_WE) 
     FILE(APPEND 
       "${OUTPUT_FILE}"
-      "define ${bbs}\n"
-      "include ${bbs}\n"
-      "endefine"
+      "#-----------------------------------------\n"
+      "define ${filename}\n"
+      "include ${BBTK_PACKAGE_NAME}/${bbs} source\n"
+      "endefine\n"
+      )
+      
+    CONFIGURE_FILE(
+      ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
+      ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
+      COPYONLY
       )
+    GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
+    
+    
+    IF(WIN32)
+    INSTALL(
+      FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
+  #    DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
+      DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
+      )
+ELSE(WIN32)
+    INSTALL(
+      FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
+      DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
+  #    DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
+      )
+ENDIF(WIN32)
   ENDFOREACH(bbs)
   FILE(APPEND 
     "${OUTPUT_FILE}"
-    "endpackage\n"
+      "#-----------------------------------------\n"
+      "endpackage\n"
+      "#-- EOF ----------------------------------\n"
     )
-
-#  ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.bbs ALL
-#    DEPENDS  ${OUTPUT_FILE}
-#    )
-
+IF(WIN32)  
   INSTALL(
     FILES ${OUTPUT_FILE}
-    DESTINATION ${OUTPUT_PATH}
+   # DESTINATION ${BBTK_BBS_INSTALL_PATH}
+    DESTINATION ${BBTK_BBS_REL_PATH}
     )
+ELSE(WIN32)  
+  INSTALL(
+    FILES ${OUTPUT_FILE}
+    DESTINATION ${BBTK_BBS_INSTALL_PATH}
+   # DESTINATION ${BBTK_BBS_REL_PATH}
+    )
+ENDIF(WIN32)  
+#  ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.bbp ALL
+#    DEPENDS  ${OUTPUT_FILE}
+#    )
+
 
 ENDMACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)