blob: ef8907b0730a248d7d60a6f6b7704567a2499ee5 [file] [log] [blame]
Chia-I Wu0c5fb772014-11-19 22:45:51 +08001add_custom_command(OUTPUT dispatch.c
Jon Ashburn34cafb62015-03-18 09:29:11 -06002 COMMAND ${PYTHON_CMD} ${PROJECT_SOURCE_DIR}/xgl-generate.py loader-entrypoints > dispatch.c
Courtney Goeltzenleuchterba7133b2015-02-10 18:40:14 -07003 DEPENDS ${PROJECT_SOURCE_DIR}/xgl-generate.py ${PROJECT_SOURCE_DIR}/xgl.py
4 ${PROJECT_SOURCE_DIR}/include/xglIcd.h)
Jon Ashburnd43f9b62014-10-14 19:15:22 -06005
Chia-I Wu38e5a2c2015-01-04 11:12:47 +08006add_custom_command(OUTPUT table_ops.h
Jon Ashburn34cafb62015-03-18 09:29:11 -06007 COMMAND ${PYTHON_CMD} ${PROJECT_SOURCE_DIR}/xgl-generate.py dispatch-table-ops loader > table_ops.h
Chia-I Wu38e5a2c2015-01-04 11:12:47 +08008 DEPENDS ${PROJECT_SOURCE_DIR}/xgl-generate.py ${PROJECT_SOURCE_DIR}/xgl.py)
9
Chia-I Wud98a23c2015-04-11 10:56:50 +080010add_custom_command(OUTPUT XGL.def
11 COMMAND ${PYTHON_CMD} ${PROJECT_SOURCE_DIR}/xgl-generate.py win-def-file XGL all > XGL.def
12 DEPENDS ${PROJECT_SOURCE_DIR}/xgl-generate.py ${PROJECT_SOURCE_DIR}/xgl.py)
13
Jon Ashburnd43f9b62014-10-14 19:15:22 -060014include_directories(
15 ${CMAKE_CURRENT_SOURCE_DIR}
Chia-I Wu38e5a2c2015-01-04 11:12:47 +080016 ${CMAKE_CURRENT_BINARY_DIR}
Jon Ashburnd43f9b62014-10-14 19:15:22 -060017)
Chia-I Wu0c105342014-08-03 09:31:26 +080018
Courtney Goeltzenleuchterba7133b2015-02-10 18:40:14 -070019# DEBUG enables runtime loader ICD verification
20set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG")
21set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")
Mark Lobodzinski953a1692015-01-09 15:12:03 -060022
Ian Elliott81ac44c2015-01-13 17:52:38 -070023if (WIN32)
Courtney Goeltzenleuchter9cc421e2015-04-08 15:36:08 -060024 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVK_PROTOTYPES -D_CRT_SECURE_NO_WARNINGS -DXCB_NVIDIA")
Ian Elliott64f74a82015-02-04 12:06:46 -070025
David Pinedo8e9cb3b2015-02-10 15:02:08 -070026 add_library(XGL SHARED loader.c loader.h dirent_on_windows.c dispatch.c table_ops.h XGL.def)
27 set_target_properties(XGL PROPERTIES LINK_FLAGS "/DEF:${PROJECT_SOURCE_DIR}/loader/XGL.def")
28 add_library(XGLstatic STATIC loader.c loader.h dirent_on_windows.c dispatch.c table_ops.h)
Piers Daniell886be472015-02-23 16:23:13 -070029 set_target_properties(XGLstatic PROPERTIES OUTPUT_NAME XGLstatic)
Ian Elliott50ee0a02015-02-04 15:19:32 -070030 target_link_libraries(XGL)
Ian Elliott81ac44c2015-01-13 17:52:38 -070031endif()
32if (NOT WIN32)
Courtney Goeltzenleuchter9cc421e2015-04-08 15:36:08 -060033 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVK_PROTOTYPES -Wpointer-arith")
Ian Elliott64f74a82015-02-04 12:06:46 -070034
Ian Elliott81ac44c2015-01-13 17:52:38 -070035 add_library(XGL SHARED loader.c dispatch.c table_ops.h)
Ian Elliott50ee0a02015-02-04 15:19:32 -070036 set_target_properties(XGL PROPERTIES SOVERSION 0)
37 target_link_libraries(XGL -ldl -lpthread)
Ian Elliott81ac44c2015-01-13 17:52:38 -070038endif()