48 lines
1.4 KiB
CMake
48 lines
1.4 KiB
CMake
set(CMAKE_EXPORT_COMPILE_COMMANDS on)
|
|
project(Gryphn)
|
|
|
|
file(GLOB_RECURSE SOURCE_FILES CONFIGURE_DEPENDS
|
|
"src/*.cpp" "src/*.hpp"
|
|
"src/*.c" "src/*.h"
|
|
)
|
|
if(APPLE)
|
|
|
|
file(GLOB_RECURSE METAL_FILES CONFIGURE_DEPENDS
|
|
"src/*.m")
|
|
|
|
endif()
|
|
add_library(Gryphn ${SOURCE_FILES} ${METAL_FILES})
|
|
target_include_directories(Gryphn PUBLIC ${CMAKE_SOURCE_DIR}/gryphn/src/)
|
|
target_include_directories(Gryphn PUBLIC ${CMAKE_SOURCE_DIR}/gryphn/include/)
|
|
target_include_directories(Gryphn PUBLIC ${CMAKE_SOURCE_DIR}/gryphn/src/utils)
|
|
target_include_directories(Gryphn PUBLIC ${CMAKE_SOURCE_DIR}/gryphn/src/utils/utils)
|
|
add_compile_definitions(GN_REVEAL_IMPL)
|
|
|
|
if(WIN32)
|
|
add_compile_definitions(GN_PLATFORM_WIN32)
|
|
# add_subdirectory(rendering_api/dirctx/)
|
|
add_subdirectory(rendering_api/vulkan/)
|
|
endif()
|
|
if(APPLE)
|
|
add_compile_definitions(GN_PLATFORM_MACOS)
|
|
add_subdirectory(rendering_api/metal/)
|
|
add_subdirectory(rendering_api/vulkan/)
|
|
|
|
target_link_libraries(Gryphn
|
|
"-framework IOKit"
|
|
"-framework CoreFoundation"
|
|
"-framework CoreGraphics"
|
|
"-framework AppKit"
|
|
"-framework Metal"
|
|
"-framework QuartzCore"
|
|
"-framework MetalKit"
|
|
)
|
|
endif()
|
|
if(UNIX AND NOT APPLE)
|
|
add_compile_definitions(GN_PLATFORM_LINUX)
|
|
add_subdirectory(rendering_api/vulkan/)
|
|
target_include_directories(Gryphn PUBLIC ${CMAKE_SOURCE_DIR/Gryphn/rendering_api/metal/depends/metal-cpp/)
|
|
endif()
|
|
|
|
target_link_libraries(Gryphn)
|