Jon Ashburn | d43f9b6 | 2014-10-14 19:15:22 -0600 | [diff] [blame] | 1 | cmake_minimum_required (VERSION 2.8.11) |
| 2 | |
Chia-I Wu | d91dbdd | 2014-12-19 10:59:01 +0800 | [diff] [blame] | 3 | macro(run_xgl_helper subcmd) |
| 4 | add_custom_command(OUTPUT ${ARGN} |
| 5 | COMMAND ${PROJECT_SOURCE_DIR}/xgl-helper.py --${subcmd} ${PROJECT_SOURCE_DIR}/include/xgl.h --abs_out_dir ${CMAKE_CURRENT_BINARY_DIR} |
| 6 | DEPENDS ${PROJECT_SOURCE_DIR}/xgl-helper.py |
| 7 | ) |
| 8 | endmacro() |
| 9 | |
| 10 | macro(run_xgl_layer_generate subcmd output) |
| 11 | add_custom_command(OUTPUT ${output} |
| 12 | COMMAND ${PROJECT_SOURCE_DIR}/xgl-layer-generate.py ${subcmd} > ${output} |
| 13 | DEPENDS ${PROJECT_SOURCE_DIR}/xgl-layer-generate.py ${PROJECT_SOURCE_DIR}/xgl.py |
| 14 | ) |
| 15 | endmacro() |
| 16 | |
| 17 | macro(add_xgl_layer target) |
| 18 | add_library(XGLLayer${target} SHARED ${ARGN}) |
| 19 | add_dependencies(XGLLayer${target} generate_xgl_layer_helpers) |
| 20 | endmacro() |
Jon Ashburn | d43f9b6 | 2014-10-14 19:15:22 -0600 | [diff] [blame] | 21 | |
Chia-I Wu | c92dcde | 2014-11-19 23:05:04 +0800 | [diff] [blame] | 22 | include_directories( |
| 23 | ${CMAKE_CURRENT_SOURCE_DIR} |
| 24 | ${CMAKE_CURRENT_BINARY_DIR} |
| 25 | ) |
| 26 | |
Jon Ashburn | 227a942 | 2014-11-26 11:10:26 -0700 | [diff] [blame] | 27 | set (CMAKE_CXX_FLAGS "-std=c++11") |
Jon Ashburn | d43f9b6 | 2014-10-14 19:15:22 -0600 | [diff] [blame] | 28 | |
Chia-I Wu | 0f65b1e | 2015-01-04 23:11:43 +0800 | [diff] [blame^] | 29 | add_custom_command(OUTPUT xgl_dispatch_table_helper.h |
| 30 | COMMAND ${PROJECT_SOURCE_DIR}/xgl-generate.py dispatch-table-ops layer > xgl_dispatch_table_helper.h |
| 31 | DEPENDS ${PROJECT_SOURCE_DIR}/xgl-generate.py ${PROJECT_SOURCE_DIR}/xgl.py) |
| 32 | |
Chia-I Wu | d91dbdd | 2014-12-19 10:59:01 +0800 | [diff] [blame] | 33 | run_xgl_helper(gen_enum_string_helper xgl_enum_string_helper.h) |
| 34 | run_xgl_helper(gen_struct_wrappers |
| 35 | xgl_struct_string_helper.h |
| 36 | xgl_struct_string_helper_no_addr.h |
| 37 | xgl_struct_wrappers.h |
| 38 | xgl_struct_wrappers.cpp |
| 39 | ) |
| 40 | run_xgl_helper(gen_graphviz xgl_struct_graphviz_helper.h) |
| 41 | |
| 42 | add_custom_target(generate_xgl_layer_helpers DEPENDS |
Chia-I Wu | 0f65b1e | 2015-01-04 23:11:43 +0800 | [diff] [blame^] | 43 | xgl_dispatch_table_helper.h |
Chia-I Wu | d91dbdd | 2014-12-19 10:59:01 +0800 | [diff] [blame] | 44 | xgl_enum_string_helper.h |
| 45 | xgl_struct_string_helper.h |
| 46 | xgl_struct_string_helper_no_addr.h |
| 47 | xgl_struct_wrappers.h |
| 48 | xgl_struct_wrappers.cpp |
| 49 | xgl_struct_graphviz_helper.h |
| 50 | ) |
| 51 | |
| 52 | run_xgl_layer_generate(Generic generic_layer.c) |
| 53 | run_xgl_layer_generate(ApiDump api_dump.c) |
| 54 | run_xgl_layer_generate(ApiDumpFile api_dump_file.c) |
| 55 | run_xgl_layer_generate(ApiDumpNoAddr api_dump_no_addr.c) |
| 56 | run_xgl_layer_generate(ObjectTracker object_track.c) |
| 57 | |
| 58 | add_xgl_layer(Basic basic.cpp) |
| 59 | add_xgl_layer(Multi multi.cpp) |
Jon Ashburn | 2e9b561 | 2014-12-22 13:38:27 -0700 | [diff] [blame] | 60 | add_xgl_layer(DrawState draw_state.c layers_config.cpp) |
Jon Ashburn | f57ea37 | 2014-12-22 13:24:15 -0700 | [diff] [blame] | 61 | add_xgl_layer(MemTracker mem_tracker.c layers_config.cpp) |
Chia-I Wu | d91dbdd | 2014-12-19 10:59:01 +0800 | [diff] [blame] | 62 | # generated |
| 63 | add_xgl_layer(Generic generic_layer.c) |
| 64 | add_xgl_layer(APIDump api_dump.c) |
| 65 | add_xgl_layer(APIDumpFile api_dump_file.c) |
| 66 | add_xgl_layer(APIDumpNoAddr api_dump_no_addr.c) |
| 67 | add_xgl_layer(ObjectTracker object_track.c) |