Jon Ashburn | d43f9b6 | 2014-10-14 19:15:22 -0600 | [diff] [blame] | 1 | include_directories( |
| 2 | ${CMAKE_CURRENT_SOURCE_DIR} |
Chia-I Wu | 38e5a2c | 2015-01-04 11:12:47 +0800 | [diff] [blame] | 3 | ${CMAKE_CURRENT_BINARY_DIR} |
Jon Ashburn | d43f9b6 | 2014-10-14 19:15:22 -0600 | [diff] [blame] | 4 | ) |
Chia-I Wu | 0c10534 | 2014-08-03 09:31:26 +0800 | [diff] [blame] | 5 | |
David Pinedo | dba967a | 2015-07-09 12:44:38 -0600 | [diff] [blame] | 6 | if (WIN32) |
| 7 | add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/vulkan.${MAJOR}.def |
| 8 | COMMAND ${PYTHON_CMD} ${PROJECT_SOURCE_DIR}/loader/vk-loader-generate.py win-def-file vulkan.${MAJOR}.dll all > ${CMAKE_CURRENT_BINARY_DIR}/vulkan.${MAJOR}.def |
| 9 | DEPENDS ${PROJECT_SOURCE_DIR}/loader/vk-loader-generate.py ${PROJECT_SOURCE_DIR}/vulkan.py) |
David Pinedo | dba967a | 2015-07-09 12:44:38 -0600 | [diff] [blame] | 10 | endif() |
Tony Barbour | 6969851 | 2015-06-18 16:29:32 -0600 | [diff] [blame] | 11 | |
Courtney Goeltzenleuchter | ba7133b | 2015-02-10 18:40:14 -0700 | [diff] [blame] | 12 | # DEBUG enables runtime loader ICD verification |
| 13 | set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG") |
| 14 | set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG") |
Mark Lobodzinski | 953a169 | 2015-01-09 15:12:03 -0600 | [diff] [blame] | 15 | |
Jon Ashburn | ffd5d67 | 2015-06-29 11:25:34 -0600 | [diff] [blame] | 16 | set(LOADER_SRCS |
| 17 | loader.c |
| 18 | loader.h |
Tobin Ehlis | 7a51d90 | 2015-07-03 10:34:49 -0600 | [diff] [blame] | 19 | vk_loader_platform.h |
Jon Ashburn | ffd5d67 | 2015-06-29 11:25:34 -0600 | [diff] [blame] | 20 | trampoline.c |
| 21 | wsi_lunarg.c |
| 22 | wsi_lunarg.h |
| 23 | debug_report.c |
| 24 | debug_report.h |
| 25 | table_ops.h |
| 26 | gpa_helper.h |
| 27 | cJSON.c |
| 28 | cJSON.h |
| 29 | ) |
Ian Elliott | 64f74a8 | 2015-02-04 12:06:46 -0700 | [diff] [blame] | 30 | |
Jon Ashburn | ffd5d67 | 2015-06-29 11:25:34 -0600 | [diff] [blame] | 31 | if (WIN32) |
| 32 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVK_PROTOTYPES -D_CRT_SECURE_NO_WARNINGS") |
| 33 | |
David Pinedo | dba967a | 2015-07-09 12:44:38 -0600 | [diff] [blame] | 34 | add_library(vulkan.${MAJOR} SHARED ${LOADER_SRCS} dirent_on_windows.c ${CMAKE_CURRENT_BINARY_DIR}/vulkan.${MAJOR}.def) |
| 35 | set_target_properties(vulkan.${MAJOR} PROPERTIES LINK_FLAGS "/DEF:${CMAKE_CURRENT_BINARY_DIR}/vulkan.${MAJOR}.def") |
| 36 | add_library(VKstatic.${MAJOR} STATIC ${LOADER_SRCS} dirent_on_windows.c) |
| 37 | set_target_properties(VKstatic.${MAJOR} PROPERTIES OUTPUT_NAME VKstatic.${MAJOR}) |
| 38 | target_link_libraries(vulkan.${MAJOR} shlwapi) |
Ian Elliott | 81ac44c | 2015-01-13 17:52:38 -0700 | [diff] [blame] | 39 | endif() |
| 40 | if (NOT WIN32) |
Courtney Goeltzenleuchter | 9cc421e | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 41 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVK_PROTOTYPES -Wpointer-arith") |
Ian Elliott | 64f74a8 | 2015-02-04 12:06:46 -0700 | [diff] [blame] | 42 | |
Jon Ashburn | ffd5d67 | 2015-06-29 11:25:34 -0600 | [diff] [blame] | 43 | add_library(vulkan SHARED ${LOADER_SRCS}) |
Courtney Goeltzenleuchter | a8c0628 | 2015-04-14 14:55:44 -0600 | [diff] [blame] | 44 | set_target_properties(vulkan PROPERTIES SOVERSION 0) |
Jon Ashburn | ee431fc | 2015-06-29 17:51:36 -0600 | [diff] [blame] | 45 | target_link_libraries(vulkan -ldl -lpthread -lm) |
Ian Elliott | 81ac44c | 2015-01-13 17:52:38 -0700 | [diff] [blame] | 46 | endif() |