40 lines
907 B
CMake
40 lines
907 B
CMake
# Find link platform-specific libraries
|
|
find_package(SDL2 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} PUBLIC
|
|
SDL2
|
|
pthread
|
|
OpenGL::GL
|
|
GL
|
|
m
|
|
)
|
|
|
|
# Define platform-specific macros.
|
|
target_compile_definitions(${DUSK_LIBRARY_TARGET_NAME} PUBLIC
|
|
DUSK_SDL2
|
|
DUSK_OPENGL
|
|
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
|
|
) |