Courtney Goeltzenleuchter | a8c0628 | 2015-04-14 14:55:44 -0600 | [diff] [blame] | 1 | # Create the i965 Vulkan DRI library |
Cody Northrop | 0eb5eea | 2014-09-19 15:11:52 -0600 | [diff] [blame] | 2 | |
Courtney Goeltzenleuchter | 9cc421e | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 3 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVK_PROTOTYPES -Wno-sign-compare") |
Ian Elliott | 3fdadc8 | 2015-02-13 14:04:01 -0700 | [diff] [blame] | 4 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-sign-compare") |
Cody Northrop | e8455b1 | 2014-09-17 16:18:12 -0600 | [diff] [blame] | 5 | |
Chia-I Wu | 6fffb3f | 2015-02-25 12:45:34 +0800 | [diff] [blame] | 6 | add_subdirectory(kmd) |
Ian Elliott | 3fdadc8 | 2015-02-13 14:04:01 -0700 | [diff] [blame] | 7 | add_subdirectory(compiler) |
Mark Lobodzinski | 953a169 | 2015-01-09 15:12:03 -0600 | [diff] [blame] | 8 | |
Chia-I Wu | 32e43ad | 2015-02-20 15:08:31 -0700 | [diff] [blame] | 9 | add_custom_command(OUTPUT gpa.c |
Courtney Goeltzenleuchter | a8c0628 | 2015-04-14 14:55:44 -0600 | [diff] [blame] | 10 | COMMAND ${PROJECT_SOURCE_DIR}/vk-generate.py icd-get-proc-addr > gpa.c |
11 | DEPENDS ${PROJECT_SOURCE_DIR}/vk-generate.py ${PROJECT_SOURCE_DIR}/vulkan.py) | ||||
Chia-I Wu | f77c290 | 2015-01-04 00:34:44 +0800 | [diff] [blame] | 12 | |
Chia-I Wu | 464207a | 2015-01-11 00:08:21 +0800 | [diff] [blame] | 13 | set(sources |
Chia-I Wu | 714df45 | 2015-01-01 07:55:04 +0800 | [diff] [blame] | 14 | buf.c |
Chia-I Wu | 0914213 | 2014-08-11 15:42:55 +0800 | [diff] [blame] | 15 | cmd.c |
Chia-I Wu | 00b51a8 | 2014-09-09 12:07:37 +0800 | [diff] [blame] | 16 | cmd_decode.c |
Chia-I Wu | c14d156 | 2014-10-17 09:49:22 +0800 | [diff] [blame] | 17 | cmd_meta.c |
Chia-I Wu | 31ecdc7 | 2014-08-31 12:58:56 +0800 | [diff] [blame] | 18 | cmd_mi.c |
Chia-I Wu | b0ca3a1 | 2015-02-18 15:54:05 -0700 | [diff] [blame] | 19 | cmd_barrier.c |
Chia-I Wu | b275556 | 2014-08-20 13:38:52 +0800 | [diff] [blame] | 20 | cmd_pipeline.c |
Chia-I Wu | f838506 | 2015-01-04 16:27:24 +0800 | [diff] [blame] | 21 | desc.c |
Chia-I Wu | e54854a | 2014-08-05 10:23:50 +0800 | [diff] [blame] | 22 | dev.c |
Chia-I Wu | 856af0c | 2015-02-20 15:09:11 -0700 | [diff] [blame] | 23 | instance.c |
Chia-I Wu | 9737a10 | 2014-08-07 07:59:51 +0800 | [diff] [blame] | 24 | event.c |
Courtney Goeltzenleuchter | 434cf3f | 2015-06-09 08:13:49 -0600 | [diff] [blame] | 25 | extension_utils.c |
Jon Ashburn | c6f4a41 | 2014-12-24 12:38:36 -0700 | [diff] [blame] | 26 | fb.c |
Chia-I Wu | bdf4c56 | 2014-08-07 06:36:33 +0800 | [diff] [blame] | 27 | fence.c |
Chia-I Wu | ac6ba13 | 2014-08-07 14:21:43 +0800 | [diff] [blame] | 28 | format.c |
Chia-I Wu | 32e43ad | 2015-02-20 15:08:31 -0700 | [diff] [blame] | 29 | gpa.c |
Chia-I Wu | 214dac6 | 2014-08-05 11:07:40 +0800 | [diff] [blame] | 30 | gpu.c |
Chia-I Wu | feb441f | 2014-08-08 21:27:38 +0800 | [diff] [blame] | 31 | img.c |
Chia-I Wu | 8a8d8b6 | 2014-08-14 13:26:26 +0800 | [diff] [blame] | 32 | layout.c |
Chia-I Wu | f9911eb | 2014-08-06 13:50:31 +0800 | [diff] [blame] | 33 | mem.c |
Chia-I Wu | 82f50aa | 2014-08-05 10:43:03 +0800 | [diff] [blame] | 34 | obj.c |
Courtney Goeltzenleuchter | 05a6054 | 2014-08-15 14:54:34 -0600 | [diff] [blame] | 35 | pipeline.c |
Chia-I Wu | e18ff1b | 2014-08-07 13:38:51 +0800 | [diff] [blame] | 36 | query.c |
Chia-I Wu | e09b536 | 2014-08-07 09:25:14 +0800 | [diff] [blame] | 37 | queue.c |
Chia-I Wu | 28b8996 | 2014-08-18 14:40:49 +0800 | [diff] [blame] | 38 | sampler.c |
Courtney Goeltzenleuchter | 52ec336 | 2014-08-19 11:52:02 -0600 | [diff] [blame] | 39 | shader.c |
Chia-I Wu | a5714e8 | 2014-08-11 15:33:42 +0800 | [diff] [blame] | 40 | state.c |
Chia-I Wu | 5a32326 | 2014-08-11 10:31:53 +0800 | [diff] [blame] | 41 | view.c |
Courtney Goeltzenleuchter | cec7295 | 2014-08-01 18:06:40 -0600 | [diff] [blame] | 42 | ) |
43 | |||||
Chia-I Wu | 464207a | 2015-01-11 00:08:21 +0800 | [diff] [blame] | 44 | set(definitions "") |
Chia-I Wu | 6fffb3f | 2015-02-25 12:45:34 +0800 | [diff] [blame] | 45 | set(include_dirs "") |
Chia-I Wu | 44b9255 | 2015-01-10 23:16:41 +0800 | [diff] [blame] | 46 | |
Chia-I Wu | 464207a | 2015-01-11 00:08:21 +0800 | [diff] [blame] | 47 | set(libraries |
Chia-I Wu | 464207a | 2015-01-11 00:08:21 +0800 | [diff] [blame] | 48 | m |
49 | icd | ||||
Chia-I Wu | 6fffb3f | 2015-02-25 12:45:34 +0800 | [diff] [blame] | 50 | intelkmd |
Chia-I Wu | 464207a | 2015-01-11 00:08:21 +0800 | [diff] [blame] | 51 | intelcompiler) |
52 | |||||
53 | find_package(XCB COMPONENTS xcb xcb-dri3 xcb-present) | ||||
54 | if(XCB_FOUND) | ||||
Chia-I Wu | 464207a | 2015-01-11 00:08:21 +0800 | [diff] [blame] | 55 | list(APPEND include_dirs ${XCB_INCLUDE_DIRS}) |
56 | list(APPEND libraries ${XCB_LIBRARIES}) | ||||
57 | list(APPEND sources wsi_x11.c) | ||||
Chia-I Wu | 8635e91 | 2015-04-09 14:13:57 +0800 | [diff] [blame] | 58 | |
Courtney Goeltzenleuchter | 5f3f4f2 | 2015-04-13 14:29:13 -0600 | [diff] [blame] | 59 | set_source_files_properties(wsi_x11.c PROPERTIES COMPILE_FLAGS "-I${PROJECT_SOURCE_DIR}/icd/intel/kmd/libdrm/include/drm") |
Chia-I Wu | 41858c8 | 2015-04-04 16:39:25 +0800 | [diff] [blame] | 60 | else() |
61 | list(APPEND sources wsi_null.c) | ||||
Chia-I Wu | 1db76e0 | 2014-09-15 14:21:14 +0800 | [diff] [blame] | 62 | endif() |
63 | |||||
Jon Ashburn | 7a02d54 | 2015-08-26 09:14:05 -0600 | [diff] [blame] | 64 | if (NOT WIN32) |
65 | # extra setup for out-of-tree builds | ||||
66 | # intel ICD not built on Windows | ||||
67 | if (NOT (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)) | ||||
68 | add_custom_target(intel_icd-json ALL | ||||
69 | COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/intel_icd.json | ||||
70 | VERBATIM | ||||
71 | ) | ||||
72 | endif() | ||||
73 | endif() | ||||
74 | |||||
Courtney Goeltzenleuchter | 9cc421e | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 75 | add_library(VK_i965 SHARED ${sources}) |
76 | target_compile_definitions(VK_i965 PRIVATE ${definitions}) | ||||
77 | target_include_directories(VK_i965 PRIVATE ${include_dirs}) | ||||
78 | target_link_libraries(VK_i965 ${libraries}) | ||||
Cody Northrop | e8455b1 | 2014-09-17 16:18:12 -0600 | [diff] [blame] | 79 | |
Courtney Goeltzenleuchter | feee1d0 | 2015-04-09 10:06:13 -0600 | [diff] [blame] | 80 | # set -Bsymbolic for vkGetProcAddr() |
Courtney Goeltzenleuchter | 9cc421e | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 81 | set_target_properties(VK_i965 PROPERTIES |
Chia-I Wu | 507b40a | 2015-01-18 11:22:13 +0800 | [diff] [blame] | 82 | COMPILE_FLAGS "-Wmissing-declarations" |
Chia-I Wu | cbd8ddf | 2015-01-18 11:11:42 +0800 | [diff] [blame] | 83 | LINK_FLAGS "-Wl,-Bsymbolic -Wl,-no-undefined -Wl,--exclude-libs,ALL") |