thunderbrew/src/gx/CMakeLists.txt

72 lines
1.4 KiB
Text
Raw Normal View History

2023-01-02 13:17:18 -06:00
file(GLOB GX_SOURCES
"*.cpp"
"buffer/*.cpp"
"font/*.cpp"
"shader/*.cpp"
"texture/*.cpp"
)
2023-03-05 11:55:12 -06:00
if(WHOA_SYSTEM_WIN)
file(GLOB D3D_SOURCES "d3d/*.cpp")
list(APPEND GX_SOURCES ${D3D_SOURCES})
endif()
2023-01-02 13:17:18 -06:00
if(WHOA_SYSTEM_MAC)
file(GLOB GLL_SOURCES "gll/*.cpp" "gll/*.mm")
set_source_files_properties(${GLL_SOURCES}
PROPERTIES COMPILE_FLAGS "-x objective-c++"
)
list(APPEND GX_SOURCES ${GLL_SOURCES})
endif()
# Build OpenGL/SDL graphics device on Windows and Linux
if(WHOA_SYSTEM_WIN OR WHOA_SYSTEM_LINUX)
file(GLOB GLSDL_SOURCES "glsdl/*.cpp")
list(APPEND GX_SOURCES ${GLSDL_SOURCES})
endif()
2023-01-02 13:17:18 -06:00
add_library(gx STATIC ${GX_SOURCES})
target_include_directories(gx
PRIVATE
${CMAKE_SOURCE_DIR}/src
)
target_link_libraries(gx
PRIVATE
event
math
model
ui
util
PUBLIC
bc
2023-01-02 13:17:18 -06:00
freetype-2.0
storm
tempest
)
2023-03-05 11:55:12 -06:00
if(WHOA_SYSTEM_WIN)
target_link_libraries(gx
PRIVATE
d3d9.lib
)
endif()
# Link SDL3 and GLEW for Windows and Linux
if (WHOA_SYSTEM_WIN OR WHOA_SYSTEM_LINUX)
target_link_libraries(gx
PRIVATE
SDL3::SDL3-static
libglew_static
)
endif()
2023-01-02 13:17:18 -06:00
if(WHOA_SYSTEM_MAC)
target_link_libraries(gx
PRIVATE
"-framework AppKit"
"-framework OpenGL"
)
endif()