Fixing linux build
This commit is contained in:
+13
-2
@@ -24,6 +24,11 @@ ENDIF()
|
|||||||
set(Boost_USE_STATIC_LIBS ON)
|
set(Boost_USE_STATIC_LIBS ON)
|
||||||
set(Boost_LIB_PREFIX lib)
|
set(Boost_LIB_PREFIX lib)
|
||||||
set(Boost_USE_RELEASE_LIBS OFF)
|
set(Boost_USE_RELEASE_LIBS OFF)
|
||||||
|
set(ENKITS_BUILD_EXAMPLES OFF CACHE BOOL "Build basic example applications" )
|
||||||
|
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "GLFW lib only" )
|
||||||
|
set(GLFW_BUILD_TESTS OFF CACHE BOOL "GLFW lib only" )
|
||||||
|
set(GLFW_BUILD_DOCS OFF CACHE BOOL "GLFW lib only" )
|
||||||
|
set(GLFW_BUILD_INSTALL OFF CACHE BOOL "GLFW lib only" )
|
||||||
|
|
||||||
if (USE_SUPERBUILD)
|
if (USE_SUPERBUILD)
|
||||||
project (SUPERBUILD NONE)
|
project (SUPERBUILD NONE)
|
||||||
@@ -35,10 +40,11 @@ else()
|
|||||||
project (Seele)
|
project (Seele)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
add_subdirectory(${GLFW_ROOT})
|
||||||
find_package(Vulkan REQUIRED)
|
find_package(Vulkan REQUIRED)
|
||||||
find_package(Boost REQUIRED COMPONENTS serialization)
|
find_package(Boost REQUIRED COMPONENTS serialization)
|
||||||
|
|
||||||
include_directories(${GLFW_INCLUDE_DIRS})
|
include_directories(${GLFW_ROOT}/include)
|
||||||
include_directories(${GLM_INCLUDE_DIRS})
|
include_directories(${GLM_INCLUDE_DIRS})
|
||||||
include_directories(${Vulkan_INCLUDE_DIR})
|
include_directories(${Vulkan_INCLUDE_DIR})
|
||||||
include_directories(${Boost_INCLUDE_DIRS})
|
include_directories(${Boost_INCLUDE_DIRS})
|
||||||
@@ -48,13 +54,18 @@ add_definitions(${GLM_DEFINITIONS})
|
|||||||
add_definitions(${Vulkan_DEFINITIONS})
|
add_definitions(${Vulkan_DEFINITIONS})
|
||||||
add_definitions(${Boost_DEFINITIONS})
|
add_definitions(${Boost_DEFINITIONS})
|
||||||
add_compile_definitions(GLFW_WINDOWS)
|
add_compile_definitions(GLFW_WINDOWS)
|
||||||
|
if(WIN32)
|
||||||
|
add_compile_definitions(USE_EXTENSIONS)
|
||||||
|
endif()
|
||||||
add_executable(SeeleEngine "")
|
add_executable(SeeleEngine "")
|
||||||
add_subdirectory(src/)
|
add_subdirectory(src/)
|
||||||
target_link_libraries(SeeleEngine ${Boost_LIBRARIES})
|
target_link_libraries(SeeleEngine ${Boost_LIBRARIES})
|
||||||
target_link_libraries(SeeleEngine ${Vulkan_LIBRARY})
|
target_link_libraries(SeeleEngine ${Vulkan_LIBRARY})
|
||||||
target_link_libraries(SeeleEngine ${GLFW_LIBRARY})
|
target_link_libraries(SeeleEngine glfw ${GLFW_LIBRARIES})
|
||||||
target_link_libraries(SeeleEngine ${SLANG_LIBRARY})
|
target_link_libraries(SeeleEngine ${SLANG_LIBRARY})
|
||||||
|
|
||||||
|
message(Libs: ${GLFW_LIBRARIES})
|
||||||
|
|
||||||
add_subdirectory(test/)
|
add_subdirectory(test/)
|
||||||
|
|
||||||
add_custom_command(TARGET SeeleEngine POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${DEPENDENT_BINARIES} $<TARGET_FILE_DIR:SeeleEngine>)
|
add_custom_command(TARGET SeeleEngine POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${DEPENDENT_BINARIES} $<TARGET_FILE_DIR:SeeleEngine>)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
rm -rf bin/
|
rm -rf bin/Debug
|
||||||
mkdir bin/
|
mkdir bin/Debug
|
||||||
cd bin/
|
cd bin/Debug
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=Debug
|
cmake ../.. -DCMAKE_BUILD_TYPE=Debug
|
||||||
make
|
make
|
||||||
|
|||||||
+26
-19
@@ -38,21 +38,21 @@ list(APPEND EXTRA_CMAKE_ARGS
|
|||||||
|
|
||||||
|
|
||||||
#--------------GLFW------------------------------
|
#--------------GLFW------------------------------
|
||||||
list(APPEND DEPENDENCIES glfw)
|
#list(APPEND DEPENDENCIES glfw)
|
||||||
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
|
#set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
|
||||||
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
#set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||||
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
#set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||||
|
#
|
||||||
ExternalProject_Add(glfw
|
#ExternalProject_Add(glfw
|
||||||
SOURCE_DIR ${GLFW_ROOT}
|
# SOURCE_DIR ${GLFW_ROOT}
|
||||||
BINARY_DIR ${CMAKE_BINARY_DIR}/lib
|
# BINARY_DIR ${CMAKE_BINARY_DIR}/lib
|
||||||
INSTALL_COMMAND "")
|
# INSTALL_COMMAND "")
|
||||||
|
#
|
||||||
list(APPEND EXTRA_CMAKE_ARGS
|
#list(APPEND EXTRA_CMAKE_ARGS
|
||||||
-DGLFW_INCLUDE_DIRS=${GLFW_ROOT}/include
|
# -DGLFW_INCLUDE_DIRS=${GLFW_ROOT}/include
|
||||||
-DGLFW_LIBRARY=${CMAKE_BINARY_DIR}/lib/src/glfw3.lib
|
# -DGLFW_LIBRARY=${CMAKE_BINARY_DIR}/lib/src/glfw3.lib
|
||||||
)
|
# )
|
||||||
|
#
|
||||||
#--------------SLang------------------------------
|
#--------------SLang------------------------------
|
||||||
list(APPEND DEPENDENCIES slang)
|
list(APPEND DEPENDENCIES slang)
|
||||||
ExternalProject_Add(slang
|
ExternalProject_Add(slang
|
||||||
@@ -64,13 +64,20 @@ ExternalProject_Add(slang
|
|||||||
# COMMAND msbuild -m /p:WindowsTargetPlatformVersion=10.0 ${SLANG_ROOT}/source/slang/slang.vcxproj
|
# COMMAND msbuild -m /p:WindowsTargetPlatformVersion=10.0 ${SLANG_ROOT}/source/slang/slang.vcxproj
|
||||||
INSTALL_COMMAND "")
|
INSTALL_COMMAND "")
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
string(TOLOWER bin/windows-x64/${CMAKE_BUILD_TYPE}/slang.dll SLANG_BINARY)
|
||||||
|
string(TOLOWER bin/windows-x64/${CMAKE_BUILD_TYPE}/slang.lib SLANG_LIB_PATH)
|
||||||
|
set(SLANG_LIB_PATH ${SLANG_ROOT}/${SLANG_LIB_PATH})
|
||||||
|
elseif(UNIX)
|
||||||
|
string(TOLOWER bin/linux-x86/${CMAKE_BUILD_TYPE}/libslang.so SLANG_BINARY)
|
||||||
|
set(SLANG_LIB_PATH)
|
||||||
|
endif()
|
||||||
|
|
||||||
list(APPEND EXTRA_CMAKE_ARGS
|
list(APPEND EXTRA_CMAKE_ARGS
|
||||||
-DSLANG_INCLUDE_DIRS=${EXTERNAL_ROOT}
|
-DSLANG_INCLUDE_DIRS=${EXTERNAL_ROOT}
|
||||||
-DSLANG_LIBRARY=${SLANG_ROOT}/bin/windows-x64/${CMAKE_BUILD_TYPE}/slang.lib)
|
-DSLANG_LIBRARY=${SLANG_LIB_PATH})
|
||||||
|
|
||||||
set(SLANG_DLL)
|
list(APPEND DEPENDENT_BINARIES ${SLANG_ROOT}/${SLANG_BINARY})
|
||||||
string(TOLOWER bin/windows-x64/${CMAKE_BUILD_TYPE}/slang.dll SLANG_DLL)
|
|
||||||
list(APPEND DEPENDENT_BINARIES ${SLANG_ROOT}/${SLANG_DLL})
|
|
||||||
|
|
||||||
list(APPEND EXTRA_CMAKE_ARGS
|
list(APPEND EXTRA_CMAKE_ARGS
|
||||||
-DDEPENDENT_BINARIES=${DEPENDENT_BINARIES})
|
-DDEPENDENT_BINARIES=${DEPENDENT_BINARIES})
|
||||||
|
|||||||
@@ -28,10 +28,12 @@ VkDescriptorType Seele::cast(const SeDescriptorType& descriptorType)
|
|||||||
return VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC;
|
return VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC;
|
||||||
case SE_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
|
case SE_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
|
||||||
return VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
|
return VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
|
||||||
|
#ifdef USE_EXTENSIONS
|
||||||
case SE_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT:
|
case SE_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT:
|
||||||
return VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT;
|
return VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT;
|
||||||
case SE_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV:
|
case SE_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV:
|
||||||
return VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV;
|
return VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV;
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -65,10 +67,12 @@ SeDescriptorType Seele::cast(const VkDescriptorType& descriptorType)
|
|||||||
return SE_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC;
|
return SE_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC;
|
||||||
case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
|
case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
|
||||||
return SE_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
|
return SE_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
|
||||||
|
#ifdef USE_EXTENSIONS
|
||||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT:
|
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT:
|
||||||
return SE_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT;
|
return SE_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT;
|
||||||
case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV:
|
case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV:
|
||||||
return SE_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV;
|
return SE_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV;
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -96,6 +100,7 @@ VkShaderStageFlagBits Seele::cast(const SeShaderStageFlagBits& stage)
|
|||||||
return VK_SHADER_STAGE_ALL_GRAPHICS;
|
return VK_SHADER_STAGE_ALL_GRAPHICS;
|
||||||
case SE_SHADER_STAGE_ALL:
|
case SE_SHADER_STAGE_ALL:
|
||||||
return VK_SHADER_STAGE_ALL;
|
return VK_SHADER_STAGE_ALL;
|
||||||
|
#ifdef USE_EXTENSIONS
|
||||||
case SE_SHADER_STAGE_RAYGEN_BIT_NV:
|
case SE_SHADER_STAGE_RAYGEN_BIT_NV:
|
||||||
return VK_SHADER_STAGE_RAYGEN_BIT_NV;
|
return VK_SHADER_STAGE_RAYGEN_BIT_NV;
|
||||||
case SE_SHADER_STAGE_ANY_HIT_BIT_NV:
|
case SE_SHADER_STAGE_ANY_HIT_BIT_NV:
|
||||||
@@ -112,6 +117,7 @@ VkShaderStageFlagBits Seele::cast(const SeShaderStageFlagBits& stage)
|
|||||||
return VK_SHADER_STAGE_TASK_BIT_NV;
|
return VK_SHADER_STAGE_TASK_BIT_NV;
|
||||||
case SE_SHADER_STAGE_MESH_BIT_NV:
|
case SE_SHADER_STAGE_MESH_BIT_NV:
|
||||||
return VK_SHADER_STAGE_MESH_BIT_NV;
|
return VK_SHADER_STAGE_MESH_BIT_NV;
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -138,6 +144,7 @@ SeShaderStageFlagBits Seele::cast(const VkShaderStageFlagBits& stage)
|
|||||||
return SE_SHADER_STAGE_ALL_GRAPHICS;
|
return SE_SHADER_STAGE_ALL_GRAPHICS;
|
||||||
case VK_SHADER_STAGE_ALL:
|
case VK_SHADER_STAGE_ALL:
|
||||||
return SE_SHADER_STAGE_ALL;
|
return SE_SHADER_STAGE_ALL;
|
||||||
|
#ifdef USE_EXTENSIONS
|
||||||
case VK_SHADER_STAGE_RAYGEN_BIT_NV:
|
case VK_SHADER_STAGE_RAYGEN_BIT_NV:
|
||||||
return SE_SHADER_STAGE_RAYGEN_BIT_NV;
|
return SE_SHADER_STAGE_RAYGEN_BIT_NV;
|
||||||
case VK_SHADER_STAGE_ANY_HIT_BIT_NV:
|
case VK_SHADER_STAGE_ANY_HIT_BIT_NV:
|
||||||
@@ -154,6 +161,7 @@ SeShaderStageFlagBits Seele::cast(const VkShaderStageFlagBits& stage)
|
|||||||
return SE_SHADER_STAGE_TASK_BIT_NV;
|
return SE_SHADER_STAGE_TASK_BIT_NV;
|
||||||
case VK_SHADER_STAGE_MESH_BIT_NV:
|
case VK_SHADER_STAGE_MESH_BIT_NV:
|
||||||
return SE_SHADER_STAGE_MESH_BIT_NV;
|
return SE_SHADER_STAGE_MESH_BIT_NV;
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -741,7 +741,7 @@ VkPipelineShaderStageCreateInfo Seele::init::PipelineShaderStageCreateInfo(VkSha
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VkBool32 __stdcall Seele::debugCallback(VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objType, uint64_t obj, size_t location, int32_t code, const char* layerPrefix, const char* msg, void* userDataManager) {
|
VkBool32 Seele::debugCallback(VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objType, uint64_t obj, size_t location, int32_t code, const char* layerPrefix, const char* msg, void* userDataManager) {
|
||||||
std::cerr << layerPrefix << ": " << msg << std::endl;
|
std::cerr << layerPrefix << ": " << msg << std::endl;
|
||||||
return VK_FALSE;
|
return VK_FALSE;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
namespace Seele
|
namespace Seele
|
||||||
{
|
{
|
||||||
VkBool32 __stdcall debugCallback(VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objType, uint64_t obj, size_t location, int32_t code, const char* layerPrefix, const char* msg, void* userData);
|
VkBool32 debugCallback(VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objType, uint64_t obj, size_t location, int32_t code, const char* layerPrefix, const char* msg, void* userData);
|
||||||
|
|
||||||
VkResult CreateDebugReportCallbackEXT(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
|
VkResult CreateDebugReportCallbackEXT(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
|
||||||
void DestroyDebugReportCallbackEXT(VkInstance instance, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT pCallback);
|
void DestroyDebugReportCallbackEXT(VkInstance instance, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT pCallback);
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <atomic>
|
#include <atomic>
|
||||||
|
#include <cstring>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include "Math/Math.h"
|
#include "Math/Math.h"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user