1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
set(SOURCES_TO_GENERATE
grts/structs.app.h
grts/structs.db.mgmt.h
grts/structs.db.mysql.h
grts/structs.db.mssql.h
grts/structs.db.sybase.h
grts/structs.db.migration.h
grts/structs.db.query.h
grts/structs.db.h
grts/structs.eer.h
grts/structs.workbench.h
grts/structs.meta.h
grts/structs.model.h
grts/structs.workbench.model.h
grts/structs.workbench.model.reporting.h
grts/structs.workbench.logical.h
grts/structs.workbench.physical.h
grts/structs.h
grts/structs.ui.h
grts/structs.wrapper.h
# grti/plugin.h
# grti/wb_model_reporting.h
# grti/wbvalidation.h
)
#grts/%.h: $(top_srcdir)/res/grt/%.xml
# $(genobj) $< $(top_srcdir)/res/grt grts ../backend/wbpublic/objimpl/`basename $<|sed -e 's/structs.\(.*\).xml/\1/'`
#
#grti/%.h: $(top_srcdir)/modules/interfaces/%.h $(genwrap)
# $(genwrap) interfaces $< $@
#
#modules:
# $(genwrap) wrappers generated/grtm
set(GENERATED_SOURCES)
foreach(out_file ${SOURCES_TO_GENERATE})
string(REGEX REPLACE "^.+/(.*)\\.h" "${PROJECT_SOURCE_DIR}/res/grt/\\1.xml" in_file ${out_file})
string(REGEX REPLACE "^.+/structs\\.(.*)\\.h" "${PROJECT_SOURCE_DIR}/backend/wbpublic/objimpl/\\1" gen_dir ${out_file})
# message(WARNING "gen_dir computed as ${gen_dir}")
if(NOT IS_DIRECTORY ${gen_dir})
set(gen_dir "${PROJECT_SOURCE_DIR}/backend/wbpublic/objimpl")
endif()
set(comm "${PROJECT_BINARY_DIR}/tools/genobj/genobj ${in_file} ${PROJECT_SOURCE_DIR}/res/grt ${PROJECT_SOURCE_DIR}/generated/grts ${gen_dir}")
set(out_file "${PROJECT_SOURCE_DIR}/generated/${out_file}")
add_custom_command(
OUTPUT ${out_file}
COMMAND ${comm}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
MAIN_DEPENDENCY ${in_file}
COMMENT "Executing ${comm}"
)
list(APPEND GENERATED_SOURCES ${out_file})
# message(STATUS "will generate source ${out_file}")
endforeach()
add_custom_target(generated_objects DEPENDS ${GENERATED_SOURCES})
if(ENABLE_GRT_GENERATION)
set_target_properties(generated_objects PROPERTIES
EXCLUDE_FROM_ALL false
)
endif()
add_dependencies(generated_objects gentool genwrap)
|