45 lines
1.0 KiB
CMake
45 lines
1.0 KiB
CMake
# Find link platform-specific libraries
|
|
set(OpenGL_GL_PREFERENCE LEGACY)
|
|
find_package(SDL2 REQUIRED)
|
|
find_library(EGL_LIB EGL REQUIRED)
|
|
find_library(GL_LIB GL REQUIRED)
|
|
find_package(OpenGL REQUIRED)
|
|
|
|
# Setup endianess at compile time to optimize.
|
|
include(TestBigEndian)
|
|
test_big_endian(IS_BIG_ENDIAN)
|
|
if(IS_BIG_ENDIAN)
|
|
target_compile_definitions(${DUSK_LIBRARY_TARGET_NAME} PUBLIC
|
|
DUSK_PLATFORM_ENDIAN_BIG
|
|
)
|
|
else()
|
|
target_compile_definitions(${DUSK_LIBRARY_TARGET_NAME} PUBLIC
|
|
DUSK_PLATFORM_ENDIAN_LITTLE
|
|
)
|
|
endif()
|
|
|
|
# Link required libraries.
|
|
target_link_libraries(${DUSK_LIBRARY_TARGET_NAME} PRIVATE
|
|
SDL2
|
|
pthread
|
|
OpenGL::GLES2
|
|
${GL_LIB}
|
|
${EGL_LIB}
|
|
m
|
|
)
|
|
|
|
# Define platform-specific macros.
|
|
target_compile_definitions(${DUSK_LIBRARY_TARGET_NAME} PUBLIC
|
|
DUSK_SDL2
|
|
DUSK_OPENGL
|
|
DUSK_OPENGL_ES
|
|
DUSK_LINUX
|
|
DUSK_DISPLAY_SIZE_DYNAMIC
|
|
DUSK_DISPLAY_WIDTH_DEFAULT=640
|
|
DUSK_DISPLAY_HEIGHT_DEFAULT=480
|
|
DUSK_DISPLAY_SCREEN_HEIGHT=240
|
|
DUSK_INPUT_KEYBOARD
|
|
DUSK_INPUT_POINTER
|
|
DUSK_INPUT_GAMEPAD
|
|
DUSK_TIME_DYNAMIC
|
|
) |