blob: 15702307ab31ae289c7329bb31df7cf13ec205a2 [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
3 DEPENDS ${PROJECT_SOURCE_DIR}/xgl-generate.py ${PROJECT_SOURCE_DIR}/xgl.py)
Jon Ashburnd43f9b62014-10-14 19:15:22 -06004
Chia-I Wu38e5a2c2015-01-04 11:12:47 +08005add_custom_command(OUTPUT table_ops.h
6 COMMAND ${PROJECT_SOURCE_DIR}/xgl-generate.py dispatch-table-ops loader > table_ops.h
7 DEPENDS ${PROJECT_SOURCE_DIR}/xgl-generate.py ${PROJECT_SOURCE_DIR}/xgl.py)
8
Jon Ashburnd43f9b62014-10-14 19:15:22 -06009include_directories(
10 ${CMAKE_CURRENT_SOURCE_DIR}
Chia-I Wu38e5a2c2015-01-04 11:12:47 +080011 ${CMAKE_CURRENT_BINARY_DIR}
Jon Ashburnd43f9b62014-10-14 19:15:22 -060012)
Chia-I Wu0c105342014-08-03 09:31:26 +080013
Mark Lobodzinski953a1692015-01-09 15:12:03 -060014
Ian Elliott81ac44c2015-01-13 17:52:38 -070015if (WIN32)
Ian Elliott64f74a82015-02-04 12:06:46 -070016 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXGL_PROTOTYPES -D_CRT_SECURE_NO_WARNINGS")
17
Ian Elliottbb658ad2015-02-09 13:21:11 -070018 add_library(XGL SHARED loader.c dirent_on_windows.c dispatch.c table_ops.h)
19 add_library(XGLstatic STATIC loader.c dirent_on_windows.c dispatch.c table_ops.h)
20 set_target_properties(XGLstatic PROPERTIES OUTPUT_NAME XGL)
Ian Elliott50ee0a02015-02-04 15:19:32 -070021 target_link_libraries(XGL)
Ian Elliott81ac44c2015-01-13 17:52:38 -070022endif()
23if (NOT WIN32)
Ian Elliott64f74a82015-02-04 12:06:46 -070024 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXGL_PROTOTYPES")
25
Ian Elliott81ac44c2015-01-13 17:52:38 -070026 add_library(XGL SHARED loader.c dispatch.c table_ops.h)
Ian Elliott50ee0a02015-02-04 15:19:32 -070027 set_target_properties(XGL PROPERTIES SOVERSION 0)
28 target_link_libraries(XGL -ldl -lpthread)
Ian Elliott81ac44c2015-01-13 17:52:38 -070029endif()