blob: a4eba041aa572f2318fb3993071ae2ebbb1229f9 [file] [log] [blame]
Chia-I Wu0c5fb772014-11-19 22:45:51 +08001add_custom_command(OUTPUT dispatch.c
Chia-I Wud4a76ae2015-01-04 10:15:48 +08002 COMMAND ${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
7 COMMAND ${PROJECT_SOURCE_DIR}/xgl-generate.py dispatch-table-ops loader > table_ops.h
8 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)
Ian Elliott64f74a82015-02-04 12:06:46 -070020 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXGL_PROTOTYPES -D_CRT_SECURE_NO_WARNINGS")
21
Ian Elliottbb658ad2015-02-09 13:21:11 -070022 add_library(XGL SHARED loader.c dirent_on_windows.c dispatch.c table_ops.h)
23 add_library(XGLstatic STATIC loader.c dirent_on_windows.c dispatch.c table_ops.h)
24 set_target_properties(XGLstatic PROPERTIES OUTPUT_NAME XGL)
Ian Elliott50ee0a02015-02-04 15:19:32 -070025 target_link_libraries(XGL)
Ian Elliott81ac44c2015-01-13 17:52:38 -070026endif()
27if (NOT WIN32)
Ian Elliott64f74a82015-02-04 12:06:46 -070028 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXGL_PROTOTYPES")
29
Ian Elliott81ac44c2015-01-13 17:52:38 -070030 add_library(XGL SHARED loader.c dispatch.c table_ops.h)
Ian Elliott50ee0a02015-02-04 15:19:32 -070031 set_target_properties(XGL PROPERTIES SOVERSION 0)
32 target_link_libraries(XGL -ldl -lpthread)
Ian Elliott81ac44c2015-01-13 17:52:38 -070033endif()