blob: 41fd989139066f95922ced1714630256d99dc5a7 [file] [log] [blame]
Chia-I Wu5e14be62014-11-19 22:45:51 +08001add_custom_command(OUTPUT dispatch.c
Chia-I Wub3d5e192015-01-04 10:15:48 +08002 COMMAND ${PROJECT_SOURCE_DIR}/xgl-generate.py loader-entrypoints > dispatch.c
Courtney Goeltzenleuchter64ca9232015-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 Ashburnd38bfb12014-10-14 19:15:22 -06005
Chia-I Wuf46b81a2015-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 Ashburnd38bfb12014-10-14 19:15:22 -060010include_directories(
11 ${CMAKE_CURRENT_SOURCE_DIR}
Chia-I Wuf46b81a2015-01-04 11:12:47 +080012 ${CMAKE_CURRENT_BINARY_DIR}
Jon Ashburnd38bfb12014-10-14 19:15:22 -060013)
Chia-I Wu0c105342014-08-03 09:31:26 +080014
Courtney Goeltzenleuchter64ca9232015-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 Lobodzinski391bb6d2015-01-09 15:12:03 -060018
Ian Elliott2d4ab1e2015-01-13 17:52:38 -070019if (WIN32)
Ian Elliott19628802015-02-04 12:06:46 -070020 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXGL_PROTOTYPES -D_CRT_SECURE_NO_WARNINGS")
21
Ian Elliottaec3b8e2015-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 Elliott92c80d72015-02-04 15:19:32 -070025 target_link_libraries(XGL)
Ian Elliott2d4ab1e2015-01-13 17:52:38 -070026endif()
27if (NOT WIN32)
Ian Elliott661dc372015-02-13 14:04:01 -070028 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXGL_PROTOTYPES -Wpointer-arith")
Ian Elliott19628802015-02-04 12:06:46 -070029
Ian Elliott2d4ab1e2015-01-13 17:52:38 -070030 add_library(XGL SHARED loader.c dispatch.c table_ops.h)
Ian Elliott92c80d72015-02-04 15:19:32 -070031 set_target_properties(XGL PROPERTIES SOVERSION 0)
32 target_link_libraries(XGL -ldl -lpthread)
Ian Elliott2d4ab1e2015-01-13 17:52:38 -070033endif()