Files
MeshShadingDemo/CMakeLists.txt
T
2024-07-19 11:43:36 +02:00

58 lines
2.4 KiB
CMake

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)
set(VCPKG_INSTALL_OPTIONS "--allow-unsupported")
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake)
project(MeshShadingDemo)
set(CMAKE_DEBUG_POSTFIX "")
set(CMAKE_BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/bin)
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)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_CURRENT_SOURCE_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_CURRENT_SOURCE_DIR}/bin)
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)
find_package(glslang CONFIG REQUIRED)
find_package(Seele CONFIG REQUIRED)
add_library(slang SHARED IMPORTED)
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()
add_library(MeshShadingDemo SHARED "")
target_link_libraries(MeshShadingDemo PUBLIC Seele::Engine)
target_include_directories(MeshShadingDemo PRIVATE src/)
target_compile_definitions(MeshShadingDemo PRIVATE BUILD_DLL)
add_subdirectory(src/)