blob: c48f29b0181c435148cd5e5fd10abc088e9b6eba [file] [log] [blame]
Jon Ashburnd38bfb12014-10-14 19:15:22 -06001include_directories(
2 ${CMAKE_CURRENT_SOURCE_DIR}
Chia-I Wuf46b81a2015-01-04 11:12:47 +08003 ${CMAKE_CURRENT_BINARY_DIR}
Jon Ashburnd38bfb12014-10-14 19:15:22 -06004)
Chia-I Wu0c105342014-08-03 09:31:26 +08005
Tony Barbour1d825c72015-06-18 16:29:32 -06006add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/vulkan.def
7 COMMAND ${PYTHON_CMD} ${PROJECT_SOURCE_DIR}/loader/vk-loader-generate.py win-def-file vulkan all > ${CMAKE_CURRENT_BINARY_DIR}/vulkan.def
8 DEPENDS ${PROJECT_SOURCE_DIR}/loader/vk-loader-generate.py ${PROJECT_SOURCE_DIR}/vulkan.py)
9
Courtney Goeltzenleuchter64ca9232015-02-10 18:40:14 -070010# DEBUG enables runtime loader ICD verification
11set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG")
12set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")
Mark Lobodzinski391bb6d2015-01-09 15:12:03 -060013
Jon Ashburn2077e382015-06-29 11:25:34 -060014set(LOADER_SRCS
15 loader.c
16 loader.h
17 loader_platform.h
18 trampoline.c
19 wsi_lunarg.c
20 wsi_lunarg.h
21 debug_report.c
22 debug_report.h
23 table_ops.h
24 gpa_helper.h
25 cJSON.c
26 cJSON.h
27)
Ian Elliott19628802015-02-04 12:06:46 -070028
Jon Ashburn2077e382015-06-29 11:25:34 -060029if (WIN32)
30 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVK_PROTOTYPES -D_CRT_SECURE_NO_WARNINGS")
31
32 add_library(vulkan SHARED ${LOADER_SRCS} dirent_on_windows.c ${CMAKE_CURRENT_BINARY_DIR}/vulkan.def)
Tony Barbour1d825c72015-06-18 16:29:32 -060033 set_target_properties(vulkan PROPERTIES LINK_FLAGS "/DEF:${CMAKE_CURRENT_BINARY_DIR}/vulkan.def")
Jon Ashburn2077e382015-06-29 11:25:34 -060034 add_library(VKstatic STATIC ${LOADER_SRCS} dirent_on_windows.c)
Courtney Goeltzenleuchterf53c3cb2015-04-14 14:55:44 -060035 set_target_properties(VKstatic PROPERTIES OUTPUT_NAME VKstatic)
36 target_link_libraries(vulkan)
Ian Elliott2d4ab1e2015-01-13 17:52:38 -070037endif()
38if (NOT WIN32)
Courtney Goeltzenleuchterd8e229c2015-04-08 15:36:08 -060039 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVK_PROTOTYPES -Wpointer-arith")
Ian Elliott19628802015-02-04 12:06:46 -070040
Jon Ashburn2077e382015-06-29 11:25:34 -060041 add_library(vulkan SHARED ${LOADER_SRCS})
Courtney Goeltzenleuchterf53c3cb2015-04-14 14:55:44 -060042 set_target_properties(vulkan PROPERTIES SOVERSION 0)
Jon Ashburn59e02242015-06-29 17:51:36 -060043 target_link_libraries(vulkan -ldl -lpthread -lm)
Ian Elliott2d4ab1e2015-01-13 17:52:38 -070044endif()