|
|
@@ -0,0 +1,74 @@
|
|
|
+# Outputs:
|
|
|
+# BS_GENERATED_ENGINE_H_FILES
|
|
|
+# BS_GENERATED_ENGINE_CPP_FILES
|
|
|
+# BS_GENERATED_EDITOR_H_FILES
|
|
|
+# BS_GENERATED_EDITOR_CPP_FILES
|
|
|
+# BS_GENERATED_ENGINE_CS_FILES
|
|
|
+# BS_GENERATED_EDITOR_CS_FILES
|
|
|
+
|
|
|
+set(BS_SCRIPT_PARSER_INCLUDE_DIRS "")
|
|
|
+set(BS_SCRIPT_PARSER_SOURCE_FILES "")
|
|
|
+
|
|
|
+function(prepend var prefix)
|
|
|
+ SET(listVar "")
|
|
|
+ FOREACH(f ${ARGN})
|
|
|
+ LIST(APPEND listVar "${prefix}/${f}")
|
|
|
+ ENDFOREACH(f)
|
|
|
+ SET(${var} "${listVar}" PARENT_SCOPE)
|
|
|
+endfunction()
|
|
|
+
|
|
|
+function(addForGeneration name)
|
|
|
+ set(BS_SCRIPT_PARSER_INCLUDE_DIRS ${BS_SCRIPT_PARSER_INCLUDE_DIRS} "${name}/Include" PARENT_SCOPE)
|
|
|
+
|
|
|
+ include(${name}/CMakeSources.cmake)
|
|
|
+ string(TOUPPER ${name} LIBNAME)
|
|
|
+
|
|
|
+ set(CPP_FILES "")
|
|
|
+ FOREACH(f ${BS_${LIBNAME}_SRC})
|
|
|
+ IF("${f}" MATCHES ".*\.cpp")
|
|
|
+ LIST(APPEND CPP_FILES ${f})
|
|
|
+ ENDIF()
|
|
|
+ ENDFOREACH(f)
|
|
|
+
|
|
|
+ set(ABS_SOURCE_FILES "")
|
|
|
+ prepend(ABS_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/${name} ${CPP_FILES})
|
|
|
+ set(BS_SCRIPT_PARSER_SOURCE_FILES ${BS_SCRIPT_PARSER_SOURCE_FILES} ${ABS_SOURCE_FILES} PARENT_SCOPE)
|
|
|
+endfunction()
|
|
|
+
|
|
|
+addForGeneration(BansheeUtility)
|
|
|
+addForGeneration(BansheeCore)
|
|
|
+addForGeneration(BansheeEngine)
|
|
|
+addForGeneration(BansheeEditor)
|
|
|
+addForGeneration(SBansheeEngine)
|
|
|
+addForGeneration(SBansheeEditor)
|
|
|
+
|
|
|
+set(BS_SCRIPT_PARSER_INCLUDE_DIRS ${BS_SCRIPT_PARSER_INCLUDE_DIRS} "BansheeMono/Include")
|
|
|
+
|
|
|
+list(REMOVE_DUPLICATES BS_SCRIPT_PARSER_INCLUDE_DIRS)
|
|
|
+list(REMOVE_DUPLICATES BS_SCRIPT_PARSER_SOURCE_FILES)
|
|
|
+
|
|
|
+set(BS_GENERATED_FILES_OUTPUT_DIR ${PROJECT_BINARY_DIR}/Generated)
|
|
|
+prepend(BS_INCLUDE_DIRS "-I${PROJECT_SOURCE_DIR}" ${BS_SCRIPT_PARSER_INCLUDE_DIRS})
|
|
|
+
|
|
|
+#execute_process(
|
|
|
+# COMMAND ${PROJECT_SOURCE_DIR}/../Dependencies/tools/SBGen
|
|
|
+# ${BS_SCRIPT_PARSER_SOURCE_FILES}
|
|
|
+# -output ${BS_GENERATED_FILES_OUTPUT_DIR}
|
|
|
+# -- ${BS_INCLUDE_DIRS}
|
|
|
+# -DBS_STATIC_LIB
|
|
|
+# WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
|
|
+# RESULT_VARIABLE SBGEN_RETURN_VALUE
|
|
|
+#)
|
|
|
+
|
|
|
+#if (NOT SBGEN_RETURN_VALUE EQUAL 0)
|
|
|
+# message(FATAL_ERROR "Failed to generate script bindings.")
|
|
|
+#endif()
|
|
|
+
|
|
|
+file(GLOB BS_GENERATED_ENGINE_H_FILES ${BS_GENERATED_FILES_OUTPUT_DIR}/Cpp/Engine/Include)
|
|
|
+file(GLOB BS_GENERATED_ENGINE_CPP_FILES ${BS_GENERATED_FILES_OUTPUT_DIR}/Cpp/Engine/Source)
|
|
|
+
|
|
|
+file(GLOB BS_GENERATED_EDITOR_H_FILES ${BS_GENERATED_FILES_OUTPUT_DIR}/Cpp/Editor/Include)
|
|
|
+file(GLOB BS_GENERATED_EDITOR_CPP_FILES ${BS_GENERATED_FILES_OUTPUT_DIR}/Cpp/Editor/Source)
|
|
|
+
|
|
|
+file(GLOB BS_GENERATED_ENGINE_CS_FILES ${BS_GENERATED_FILES_OUTPUT_DIR}/Cs/Engine)
|
|
|
+file(GLOB BS_GENERATED_EDITOR_CS_FILES ${BS_GENERATED_FILES_OUTPUT_DIR}/Cs/Editor)
|