blob: 66c80186b66fe98c2c285b66c9ec4db37eff0385 [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
Jon Ashburnd43f9b62014-10-14 19:15:22 -060010include_directories(
11 ${CMAKE_CURRENT_SOURCE_DIR}
Chia-I Wu38e5a2c2015-01-04 11:12:47 +080012 ${CMAKE_CURRENT_BINARY_DIR}
Jon Ashburnd43f9b62014-10-14 19:15:22 -060013)
Chia-I Wu0c105342014-08-03 09:31:26 +080014
Courtney Goeltzenleuchterba7133b2015-02-10 18:40:14 -070015# DEBUG enables runtime loader ICD verification
16set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG")
17set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")
Mark Lobodzinski953a1692015-01-09 15:12:03 -060018
Ian Elliott81ac44c2015-01-13 17:52:38 -070019if (WIN32)
Piers Danielle2bca482015-02-24 13:58:47 -070020 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXGL_PROTOTYPES -D_CRT_SECURE_NO_WARNINGS -DXCB_NVIDIA")
Ian Elliott64f74a82015-02-04 12:06:46 -070021
David Pinedo8e9cb3b2015-02-10 15:02:08 -070022 add_library(XGL SHARED loader.c loader.h dirent_on_windows.c dispatch.c table_ops.h XGL.def)
23 set_target_properties(XGL PROPERTIES LINK_FLAGS "/DEF:${PROJECT_SOURCE_DIR}/loader/XGL.def")
24 add_library(XGLstatic STATIC loader.c loader.h dirent_on_windows.c dispatch.c table_ops.h)
Piers Daniell886be472015-02-23 16:23:13 -070025 set_target_properties(XGLstatic PROPERTIES OUTPUT_NAME XGLstatic)
Ian Elliott50ee0a02015-02-04 15:19:32 -070026 target_link_libraries(XGL)
Ian Elliott81ac44c2015-01-13 17:52:38 -070027endif()
28if (NOT WIN32)
Ian Elliott3fdadc82015-02-13 14:04:01 -070029 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXGL_PROTOTYPES -Wpointer-arith")
Ian Elliott64f74a82015-02-04 12:06:46 -070030
Ian Elliott81ac44c2015-01-13 17:52:38 -070031 add_library(XGL SHARED loader.c dispatch.c table_ops.h)
Ian Elliott50ee0a02015-02-04 15:19:32 -070032 set_target_properties(XGL PROPERTIES SOVERSION 0)
33 target_link_libraries(XGL -ldl -lpthread)
Ian Elliott81ac44c2015-01-13 17:52:38 -070034endif()