2024-04-17 19:45:25 +02:00
|
|
|
cmake_minimum_required(VERSION 3.7...3.23)
|
|
|
|
|
|
|
|
|
|
if(${CMAKE_VERSION} VERSION_LESS 3.12)
|
|
|
|
|
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
|
|
|
|
|
endif()
|
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
2024-04-22 12:47:05 +02:00
|
|
|
set(VCPKG_INSTALL_OPTIONS "--allow-unsupported")
|
|
|
|
|
|
|
|
|
|
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake)
|
2024-04-17 19:45:25 +02:00
|
|
|
|
|
|
|
|
project(MeshShadingDemo)
|
|
|
|
|
|
|
|
|
|
set(CMAKE_DEBUG_POSTFIX "")
|
|
|
|
|
set(CMAKE_BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/bin)
|
2024-04-24 23:29:37 +02:00
|
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/bin)
|
|
|
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/bin)
|
|
|
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_CURRENT_SOURCE_DIR}/bin)
|
|
|
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_CURRENT_SOURCE_DIR}/bin)
|
2024-04-17 19:45:25 +02:00
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/bin)
|
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/bin)
|
2024-04-24 23:29:37 +02:00
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_CURRENT_SOURCE_DIR}/bin)
|
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_CURRENT_SOURCE_DIR}/bin)
|
2024-04-17 19:45:25 +02:00
|
|
|
|
|
|
|
|
find_package(Vulkan REQUIRED)
|
|
|
|
|
find_package(assimp CONFIG REQUIRED)
|
|
|
|
|
find_package(Stb REQUIRED)
|
|
|
|
|
find_package(EnTT CONFIG REQUIRED)
|
|
|
|
|
find_package(FreeType CONFIG REQUIRED)
|
|
|
|
|
find_package(glfw3 CONFIG REQUIRED)
|
|
|
|
|
find_package(glm CONFIG REQUIRED)
|
|
|
|
|
find_package(Ktx CONFIG REQUIRED)
|
|
|
|
|
find_package(nlohmann_json CONFIG REQUIRED)
|
|
|
|
|
find_package(fmt CONFIG REQUIRED)
|
|
|
|
|
find_package(VulkanMemoryAllocator CONFIG REQUIRED)
|
2024-04-22 12:47:05 +02:00
|
|
|
find_package(glslang CONFIG REQUIRED)
|
2024-07-19 11:42:34 +02:00
|
|
|
find_package(Seele CONFIG REQUIRED)
|
2024-04-17 19:45:25 +02:00
|
|
|
|
2024-04-24 23:29:37 +02:00
|
|
|
add_library(slang SHARED IMPORTED)
|
2024-05-17 18:09:56 +02:00
|
|
|
if(WIN32)
|
|
|
|
|
add_library(slang-glslang SHARED IMPORTED)
|
|
|
|
|
set_target_properties(slang-glslang PROPERTIES IMPORTED_LOCATION ${Seele_DIR}../../../../bin/slang-glslang.dll)
|
|
|
|
|
set_target_properties(slang-glslang PROPERTIES IMPORTED_IMPLIB ${Seele_DIR}../../../../lib/slang.lib)
|
|
|
|
|
target_link_libraries(slang INTERFACE slang-glslang)
|
|
|
|
|
set_target_properties(slang PROPERTIES IMPORTED_LOCATION ${Seele_DIR}../../../../bin/slang.dll)
|
|
|
|
|
set_target_properties(slang PROPERTIES IMPORTED_IMPLIB ${Seele_DIR}../../../../lib/slang.lib)
|
|
|
|
|
else()
|
|
|
|
|
set_target_properties(slang PROPERTIES IMPORTED_LOCATION /usr/local/lib/libslang.dylib)
|
|
|
|
|
endif()
|
2024-04-24 23:29:37 +02:00
|
|
|
|
2024-04-22 12:47:05 +02:00
|
|
|
add_library(MeshShadingDemo SHARED "")
|
2024-04-17 19:45:25 +02:00
|
|
|
target_link_libraries(MeshShadingDemo PUBLIC Seele::Engine)
|
2024-04-22 12:47:05 +02:00
|
|
|
|
|
|
|
|
target_include_directories(MeshShadingDemo PRIVATE src/)
|
|
|
|
|
|
|
|
|
|
target_compile_definitions(MeshShadingDemo PRIVATE BUILD_DLL)
|
|
|
|
|
|
|
|
|
|
add_subdirectory(src/)
|