blob: cabb9591720b621d4cd4cc1c1ed6869873635843 [file] [log] [blame]
Courtney Goeltzenleuchtere06e72d2014-08-01 12:44:23 -06001# Create the i965 XGL DRI library
Cody Northrop0eb5eea2014-09-19 15:11:52 -06002
Chia-I Wu464207a2015-01-11 00:08:21 +08003add_subdirectory(compiler)
Cody Northrope8455b12014-09-17 16:18:12 -06004
Mark Lobodzinski953a1692015-01-09 15:12:03 -06005set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXGL_PROTOTYPES")
6
Chia-I Wu22670d72015-01-10 23:59:54 +08007find_package(DRM REQUIRED COMPONENTS libdrm libdrm_intel)
Chia-I Wuddbc8e22014-09-18 17:05:09 +08008
Chia-I Wuf77c2902015-01-04 00:34:44 +08009add_custom_command(OUTPUT intel_gpa.c
10 COMMAND ${PROJECT_SOURCE_DIR}/xgl-generate.py icd-get-proc-addr > intel_gpa.c
11 DEPENDS ${PROJECT_SOURCE_DIR}/xgl-generate.py ${PROJECT_SOURCE_DIR}/xgl.py)
12
Chia-I Wu464207a2015-01-11 00:08:21 +080013set(sources
Chia-I Wu09142132014-08-11 15:42:55 +080014 cmd.c
Chia-I Wu00b51a82014-09-09 12:07:37 +080015 cmd_decode.c
Chia-I Wuc14d1562014-10-17 09:49:22 +080016 cmd_meta.c
Chia-I Wu31ecdc72014-08-31 12:58:56 +080017 cmd_mi.c
Chia-I Wu525c6602014-08-27 10:22:34 +080018 cmd_prepare.c
Chia-I Wub2755562014-08-20 13:38:52 +080019 cmd_pipeline.c
Chia-I Wue54854a2014-08-05 10:23:50 +080020 dev.c
Chia-I Wu75577d92014-08-11 10:54:33 +080021 dset.c
Chia-I Wu41be94b2014-08-19 14:46:02 +080022 intel.c
Chia-I Wuf77c2902015-01-04 00:34:44 +080023 intel_gpa.c
Chia-I Wu9737a102014-08-07 07:59:51 +080024 event.c
Chia-I Wubdf4c562014-08-07 06:36:33 +080025 fence.c
Chia-I Wuac6ba132014-08-07 14:21:43 +080026 format.c
Chia-I Wu214dac62014-08-05 11:07:40 +080027 gpu.c
Chia-I Wufeb441f2014-08-08 21:27:38 +080028 img.c
Chia-I Wu8a8d8b62014-08-14 13:26:26 +080029 layout.c
Chia-I Wuf9911eb2014-08-06 13:50:31 +080030 mem.c
Chia-I Wu82f50aa2014-08-05 10:43:03 +080031 obj.c
Courtney Goeltzenleuchter05a60542014-08-15 14:54:34 -060032 pipeline.c
Chia-I Wue18ff1b2014-08-07 13:38:51 +080033 query.c
Chia-I Wue09b5362014-08-07 09:25:14 +080034 queue.c
Chia-I Wu28b89962014-08-18 14:40:49 +080035 sampler.c
Courtney Goeltzenleuchter52ec3362014-08-19 11:52:02 -060036 shader.c
Chia-I Wua5714e82014-08-11 15:33:42 +080037 state.c
Chia-I Wu5a323262014-08-11 10:31:53 +080038 view.c
Chia-I Wu770b3092014-08-05 14:22:03 +080039 kmd/winsys_drm.c
Courtney Goeltzenleuchtercec72952014-08-01 18:06:40 -060040 )
41
Chia-I Wu464207a2015-01-11 00:08:21 +080042set(definitions "")
43set(include_dirs ${DRM_INCLUDE_DIRS})
Chia-I Wu44b92552015-01-10 23:16:41 +080044
Chia-I Wu464207a2015-01-11 00:08:21 +080045set(libraries
46 ${DRM_LIBRARIES}
47 m
48 icd
49 intelcompiler)
50
51find_package(XCB COMPONENTS xcb xcb-dri3 xcb-present)
52if(XCB_FOUND)
53 list(APPEND definitions -DENABLE_WSI_X11)
54 list(APPEND include_dirs ${XCB_INCLUDE_DIRS})
55 list(APPEND libraries ${XCB_LIBRARIES})
56 list(APPEND sources wsi_x11.c)
Chia-I Wu1db76e02014-09-15 14:21:14 +080057endif()
58
Chia-I Wu464207a2015-01-11 00:08:21 +080059add_library(XGL_i965 SHARED ${sources})
60target_compile_definitions(XGL_i965 PRIVATE ${definitions})
61target_include_directories(XGL_i965 PRIVATE ${include_dirs})
62target_link_libraries(XGL_i965 ${libraries})
Cody Northrope8455b12014-09-17 16:18:12 -060063
GregFa2ff5b32015-01-20 11:51:00 -070064# set -Bsymbolic for xglGetProcAddr()
Chia-I Wu96177272015-01-03 15:27:41 +080065set_target_properties(XGL_i965 PROPERTIES
Chia-I Wu507b40a2015-01-18 11:22:13 +080066 COMPILE_FLAGS "-Wmissing-declarations"
Chia-I Wucbd8ddf2015-01-18 11:11:42 +080067 LINK_FLAGS "-Wl,-Bsymbolic -Wl,-no-undefined -Wl,--exclude-libs,ALL")