Added code generation

This commit is contained in:
Anonymous
2014-01-17 07:49:57 -07:00
parent cf2e16dba2
commit 5783bdd0e2
2 changed files with 121 additions and 14 deletions
@@ -0,0 +1,2 @@
src/shared/generated/*.h
src/shared/generated/*.cpp
@@ -158,21 +158,21 @@ else()
endif()
include_directories(
#${CMAKE_CURRENT_SOURCE_DIR}/shared/combat
#${CMAKE_CURRENT_SOURCE_DIR}/shared/core
#${CMAKE_CURRENT_SOURCE_DIR}/shared/lint
${CMAKE_CURRENT_SOURCE_DIR}/shared/core
${CMAKE_CURRENT_SOURCE_DIR}/shared/generated
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedCollision/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedCommandParser/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedDebug/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedDatabaseInterface/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedDebug/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedFile/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedFoundation/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedFoundationTypes/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedFoundation/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedFoundationTypes/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedGame/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedImage/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedLog/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedMath/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedMath/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedMathArchive/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedMemoryManager/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedMemoryManager/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedMessageDispatch/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedNetwork/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedNetworkMessages/include/public
@@ -184,21 +184,22 @@ include_directories(
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedSkillSystem/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedTerrain/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedThread/include/public
#${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedUtility/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedUtility/include/public
${SWG_ENGINE_SOURCE_DIR}/server/library/serverDatabase/include/public
#${SWG_ENGINE_SOURCE_DIR}/server/library/serverGame/include/public
#${SWG_ENGINE_SOURCE_DIR}/server/library/serverNetworkMessages/include/public
${SWG_ENGINE_SOURCE_DIR}/server/library/serverNetworkMessages/include/public
#${SWG_ENGINE_SOURCE_DIR}/server/library/serverPathfinding/include/public
#${SWG_ENGINE_SOURCE_DIR}/server/library/serverScript/include/public
#${SWG_ENGINE_SOURCE_DIR}/server/library/serverUtility/include/public
${SWG_ENGINE_SOURCE_DIR}/server/library/serverUtility/include/public
#${SWG_GAME_SOURCE_DIR}/shared/library/swgSharedNetworkMessages/include/public
#${SWG_GAME_SOURCE_DIR}/shared/library/swgSharedUtility/include/public
#${SWG_GAME_SOURCE_DIR}/server/library/swgServerNetworkMessages/include/public
#${SWG_EXTERNALS_SOURCE_DIR}/ours/library/archive/include
${SWG_EXTERNALS_SOURCE_DIR}/ours/library/archive/include
#${SWG_EXTERNALS_SOURCE_DIR}/ours/library/fileInterface/include/public
#${SWG_EXTERNALS_SOURCE_DIR}/ours/library/localization/include
${SWG_EXTERNALS_SOURCE_DIR}/ours/library/localization/include
#${SWG_EXTERNALS_SOURCE_DIR}/ours/library/localizationArchive/include/public
#${SWG_EXTERNALS_SOURCE_DIR}/ours/library/singleton/include
#${SWG_EXTERNALS_SOURCE_DIR}/ours/library/unicode/include
${SWG_EXTERNALS_SOURCE_DIR}/ours/library/unicode/include
#${SWG_EXTERNALS_SOURCE_DIR}/ours/library/unicodeArchive/include/public
#${Boost_INCLUDE_DIR}
#${JNI_INCLUDE_DIRS}
@@ -206,9 +207,113 @@ include_directories(
link_directories(${STLPORT_LIBDIR})
set(MAKE_SCHEMA_H ${SWG_ENGINE_SOURCE_DIR}/server/library/codegen/make_schema_h.pl)
file(TO_NATIVE_PATH ${MAKE_SCHEMA_H} MAKE_SCHEMA_H_NATIVE)
set(MAKE_PACKAGES ${SWG_ENGINE_SOURCE_DIR}/server/library/codegen/make_packages.pl)
file(TO_NATIVE_PATH ${MAKE_PACKAGES} MAKE_PACKAGES_NATIVE)
set(MAKE_QUERIES ${SWG_ENGINE_SOURCE_DIR}/server/library/codegen/make_queries.pl)
file(TO_NATIVE_PATH ${MAKE_QUERIES} MAKE_QUERIES_NATIVE)
set(PACKAGE_DATA ${SWG_ENGINE_SOURCE_DIR}/server/library/codegen/package_data.txt)
file(TO_NATIVE_PATH ${PACKAGE_DATA} PACKAGE_DATA_NATIVE)
set(SCHEMA_H_TEMPLATE ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/Schema_h.template)
file(TO_NATIVE_PATH ${SCHEMA_H_TEMPLATE} SCHEMA_H_TEMPLATE_NATIVE)
set(SCHEMA_H_OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/Schema.h)
file(TO_NATIVE_PATH ${SCHEMA_H_OUTPUT} SCHEMA_H_OUTPUT_NATIVE)
set(ENCODER_CPP_TEMPLATE ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/Encoder_cpp.template)
file(TO_NATIVE_PATH ${ENCODER_CPP_TEMPLATE} ENCODER_CPP_TEMPLATE_NATIVE)
set(ENCODER_CPP_OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/Encoder.cpp)
file(TO_NATIVE_PATH ${ENCODER_CPP_OUTPUT} ENCODER_CPP_OUTPUT_NATIVE)
set(DECODER_CPP_TEMPLATE ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/Decoder_cpp.template)
file(TO_NATIVE_PATH ${DECODER_CPP_TEMPLATE} DECODER_CPP_TEMPLATE_NATIVE)
set(DECODER_CPP_OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/Decoder.cpp)
file(TO_NATIVE_PATH ${DECODER_CPP_OUTPUT} DECODER_CPP_OUTPUT_NATIVE)
set(LOAD_OBJECT_CPP_TEMPLATE ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/LoadObject_cpp.template)
file(TO_NATIVE_PATH ${LOAD_OBJECT_CPP_TEMPLATE} LOAD_OBJECT_CPP_TEMPLATE_NATIVE)
set(LOAD_OBJECT_CPP_OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/LoadObject.cpp)
file(TO_NATIVE_PATH ${LOAD_OBJECT_CPP_OUTPUT} LOAD_OBJECT_CPP_OUTPUT_NATIVE)
set(OBJECT_QUERIES_CPP_TEMPLATE ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/ObjectQueries_cpp.template)
file(TO_NATIVE_PATH ${OBJECT_QUERIES_CPP_TEMPLATE} OBJECT_QUERIES_CPP_TEMPLATE_NATIVE)
set(OBJECT_QUERIES_CPP_OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/ObjectQueries.cpp)
file(TO_NATIVE_PATH ${OBJECT_QUERIES_CPP_OUTPUT} OBJECT_QUERIES_CPP_OUTPUT_NATIVE)
set(OBJECT_QUERIES_H_TEMPLATE ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/ObjectQueries_h.template)
file(TO_NATIVE_PATH ${OBJECT_QUERIES_H_TEMPLATE} OBJECT_QUERIES_H_TEMPLATE_NATIVE)
set(OBJECT_QUERIES_H_OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/ObjectQueries.h)
file(TO_NATIVE_PATH ${OBJECT_QUERIES_H_OUTPUT} OBJECT_QUERIES_H_OUTPUT_NATIVE)
add_custom_command(
OUTPUT ${SCHEMA_H_OUTPUT_NATIVE}
COMMAND ${CMAKE_COMMAND} -E copy ${SCHEMA_H_TEMPLATE_NATIVE} ${SCHEMA_H_OUTPUT_NATIVE}
COMMAND ${PERL_EXECUTABLE} "${MAKE_SCHEMA_H}" --ddldirectory "${SWG_GAME_SOURCE_DIR}/server/database/schema" --output "${SCHEMA_H_OUTPUT_NATIVE}" --windows
DEPENDS ${SCHEMA_H_OUTPUT_NATIVE} ${MAKE_SCHEMA_H}
)
add_custom_command(
OUTPUT ${ENCODER_CPP_OUTPUT_NATIVE}
COMMAND ${CMAKE_COMMAND} -E copy ${ENCODER_CPP_TEMPLATE_NATIVE} ${ENCODER_CPP_OUTPUT_NATIVE}
COMMAND ${PERL_EXECUTABLE} "${MAKE_PACKAGES_NATIVE}" --datafile "${PACKAGE_DATA_NATIVE}" --encoder "${ENCODER_CPP_OUTPUT_NATIVE}" --windows
DEPENDS ${ENCODER_CPP_TEMPLATE_NATIVE} ${MAKE_PACKAGES_NATIVE} ${PACKAGE_DATA_NATIVE}
)
add_custom_command(
OUTPUT ${DECODER_CPP_OUTPUT_NATIVE}
COMMAND ${CMAKE_COMMAND} -E copy ${DECODER_CPP_TEMPLATE_NATIVE} ${DECODER_CPP_OUTPUT_NATIVE}
COMMAND ${PERL_EXECUTABLE} "${MAKE_PACKAGES_NATIVE}" --datafile "${PACKAGE_DATA_NATIVE}" --decoder "${DECODER_CPP_OUTPUT_NATIVE}" --windows
DEPENDS ${DECODER_CPP_TEMPLATE_NATIVE} ${MAKE_PACKAGES_NATIVE} ${PACKAGE_DATA_NATIVE}
)
add_custom_command(
OUTPUT ${LOAD_OBJECT_CPP_OUTPUT_NATIVE}
COMMAND ${CMAKE_COMMAND} -E copy ${LOAD_OBJECT_CPP_TEMPLATE_NATIVE} ${LOAD_OBJECT_CPP_OUTPUT_NATIVE}
COMMAND ${PERL_EXECUTABLE} "${MAKE_PACKAGES_NATIVE}" --datafile "${PACKAGE_DATA_NATIVE}" --loadobject "${LOAD_OBJECT_CPP_OUTPUT_NATIVE}" --windows
DEPENDS ${LOAD_OBJECT_CPP_TEMPLATE_NATIVE} ${MAKE_PACKAGES_NATIVE} ${PACKAGE_DATA_NATIVE}
)
add_custom_command(
OUTPUT ${OBJECT_QUERIES_CPP_OUTPUT_NATIVE}
COMMAND ${CMAKE_COMMAND} -E copy ${OBJECT_QUERIES_CPP_TEMPLATE_NATIVE} ${OBJECT_QUERIES_CPP_OUTPUT_NATIVE}
COMMAND ${PERL_EXECUTABLE} "${MAKE_QUERIES}" --plsql "${SWG_GAME_SOURCE_DIR}/server/database/packages/persister.plsqlh" --source "${OBJECT_QUERIES_CPP_OUTPUT_NATIVE}" --windows
DEPENDS ${OBJECT_QUERIES_CPP_TEMPLATE_NATIVE} ${MAKE_QUERIES}
)
add_custom_command(
OUTPUT ${OBJECT_QUERIES_H_OUTPUT_NATIVE}
COMMAND ${CMAKE_COMMAND} -E copy ${OBJECT_QUERIES_H_TEMPLATE_NATIVE} ${OBJECT_QUERIES_H_OUTPUT_NATIVE}
COMMAND ${PERL_EXECUTABLE} "${MAKE_QUERIES}" --plsql "${SWG_GAME_SOURCE_DIR}/server/database/packages/persister.plsqlh" --header "${OBJECT_QUERIES_H_OUTPUT_NATIVE}" --windows
DEPENDS ${OBJECT_QUERIES_H_TEMPLATE_NATIVE} ${MAKE_QUERIES}
)
add_executable(SwgDatabaseServer
${SHARED_SOURCES}
${PLATFORM_SOURCES}
${SCHEMA_H_OUTPUT}
${ENCODER_CPP_OUTPUT}
${DECODER_CPP_OUTPUT}
${LOAD_OBJECT_CPP_OUTPUT}
${OBJECT_QUERIES_CPP_OUTPUT}
${OBJECT_QUERIES_H_OUTPUT}
)
target_link_libraries(SwgDatabaseServer