mirror of
https://github.com/gwm17/glfw.git
synced 2024-11-22 18:28:52 -05:00
d7e30b1c74
This removes all dependencies from the GLFW test programs on the Vulkan SDK. It also removes support for linking the GLFW shared library (dynamic library, DLL) against the Vulkan loader static library.
85 lines
3.9 KiB
CMake
85 lines
3.9 KiB
CMake
|
|
link_libraries(glfw)
|
|
|
|
include_directories(${glfw_INCLUDE_DIRS} "${GLFW_SOURCE_DIR}/deps")
|
|
|
|
if (MATH_LIBRARY)
|
|
link_libraries("${MATH_LIBRARY}")
|
|
endif()
|
|
|
|
if (MSVC)
|
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
|
endif()
|
|
|
|
set(GLAD_GL "${GLFW_SOURCE_DIR}/deps/glad/gl.h"
|
|
"${GLFW_SOURCE_DIR}/deps/glad_gl.c")
|
|
set(GLAD_VULKAN "${GLFW_SOURCE_DIR}/deps/glad/vulkan.h"
|
|
"${GLFW_SOURCE_DIR}/deps/glad_vulkan.c")
|
|
set(GETOPT "${GLFW_SOURCE_DIR}/deps/getopt.h"
|
|
"${GLFW_SOURCE_DIR}/deps/getopt.c")
|
|
set(TINYCTHREAD "${GLFW_SOURCE_DIR}/deps/tinycthread.h"
|
|
"${GLFW_SOURCE_DIR}/deps/tinycthread.c")
|
|
|
|
add_executable(clipboard clipboard.c ${GETOPT} ${GLAD_GL})
|
|
add_executable(events events.c ${GETOPT} ${GLAD_GL})
|
|
add_executable(msaa msaa.c ${GETOPT} ${GLAD_GL})
|
|
add_executable(glfwinfo glfwinfo.c ${GETOPT} ${GLAD_GL} ${GLAD_VULKAN})
|
|
add_executable(iconify iconify.c ${GETOPT} ${GLAD_GL})
|
|
add_executable(monitors monitors.c ${GETOPT} ${GLAD_GL})
|
|
add_executable(reopen reopen.c ${GLAD_GL})
|
|
add_executable(cursor cursor.c ${GLAD_GL})
|
|
|
|
add_executable(empty WIN32 MACOSX_BUNDLE empty.c ${TINYCTHREAD} ${GLAD_GL})
|
|
add_executable(gamma WIN32 MACOSX_BUNDLE gamma.c ${GLAD_GL})
|
|
add_executable(icon WIN32 MACOSX_BUNDLE icon.c ${GLAD_GL})
|
|
add_executable(inputlag WIN32 MACOSX_BUNDLE inputlag.c ${GETOPT} ${GLAD_GL})
|
|
add_executable(joysticks WIN32 MACOSX_BUNDLE joysticks.c ${GLAD_GL})
|
|
add_executable(opacity WIN32 MACOSX_BUNDLE opacity.c ${GLAD_GL})
|
|
add_executable(tearing WIN32 MACOSX_BUNDLE tearing.c ${GETOPT} ${GLAD_GL})
|
|
add_executable(threads WIN32 MACOSX_BUNDLE threads.c ${TINYCTHREAD} ${GLAD_GL})
|
|
add_executable(timeout WIN32 MACOSX_BUNDLE timeout.c ${GLAD_GL})
|
|
add_executable(title WIN32 MACOSX_BUNDLE title.c ${GLAD_GL})
|
|
add_executable(vulkan WIN32 vulkan.c ${ICON} ${GLAD_VULKAN})
|
|
add_executable(windows WIN32 MACOSX_BUNDLE windows.c ${GETOPT} ${GLAD_GL})
|
|
|
|
target_link_libraries(empty "${CMAKE_THREAD_LIBS_INIT}")
|
|
target_link_libraries(threads "${CMAKE_THREAD_LIBS_INIT}")
|
|
if (RT_LIBRARY)
|
|
target_link_libraries(empty "${RT_LIBRARY}")
|
|
target_link_libraries(threads "${RT_LIBRARY}")
|
|
endif()
|
|
|
|
set(WINDOWS_BINARIES empty gamma icon inputlag joysticks opacity tearing
|
|
threads timeout title vulkan windows)
|
|
set(CONSOLE_BINARIES clipboard events msaa glfwinfo iconify monitors reopen
|
|
cursor)
|
|
|
|
set_target_properties(${WINDOWS_BINARIES} ${CONSOLE_BINARIES} PROPERTIES
|
|
FOLDER "GLFW3/Tests")
|
|
|
|
if (MSVC)
|
|
# Tell MSVC to use main instead of WinMain for Windows subsystem executables
|
|
set_target_properties(${WINDOWS_BINARIES} ${CONSOLE_BINARIES} PROPERTIES
|
|
LINK_FLAGS "/ENTRY:mainCRTStartup")
|
|
endif()
|
|
|
|
if (APPLE)
|
|
set_target_properties(empty PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Empty Event")
|
|
set_target_properties(gamma PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Gamma")
|
|
set_target_properties(inputlag PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Input Lag")
|
|
set_target_properties(joysticks PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Joysticks")
|
|
set_target_properties(opacity PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Opacity")
|
|
set_target_properties(tearing PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Tearing")
|
|
set_target_properties(threads PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Threads")
|
|
set_target_properties(timeout PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Timeout")
|
|
set_target_properties(title PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Title")
|
|
set_target_properties(windows PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Vulkan")
|
|
set_target_properties(windows PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Windows")
|
|
|
|
set_target_properties(${WINDOWS_BINARIES} ${CONSOLE_BINARIES} PROPERTIES
|
|
MACOSX_BUNDLE_SHORT_VERSION_STRING ${GLFW_VERSION}
|
|
MACOSX_BUNDLE_LONG_VERSION_STRING ${GLFW_VERSION_FULL}
|
|
MACOSX_BUNDLE_INFO_PLIST "${GLFW_SOURCE_DIR}/CMake/MacOSXBundleInfo.plist.in")
|
|
endif()
|
|
|