Fixing linux build
This commit is contained in:
+13
-2
@@ -24,6 +24,11 @@ ENDIF()
|
||||
set(Boost_USE_STATIC_LIBS ON)
|
||||
set(Boost_LIB_PREFIX lib)
|
||||
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)
|
||||
project (SUPERBUILD NONE)
|
||||
@@ -35,10 +40,11 @@ else()
|
||||
project (Seele)
|
||||
endif()
|
||||
|
||||
add_subdirectory(${GLFW_ROOT})
|
||||
find_package(Vulkan REQUIRED)
|
||||
find_package(Boost REQUIRED COMPONENTS serialization)
|
||||
|
||||
include_directories(${GLFW_INCLUDE_DIRS})
|
||||
include_directories(${GLFW_ROOT}/include)
|
||||
include_directories(${GLM_INCLUDE_DIRS})
|
||||
include_directories(${Vulkan_INCLUDE_DIR})
|
||||
include_directories(${Boost_INCLUDE_DIRS})
|
||||
@@ -48,13 +54,18 @@ add_definitions(${GLM_DEFINITIONS})
|
||||
add_definitions(${Vulkan_DEFINITIONS})
|
||||
add_definitions(${Boost_DEFINITIONS})
|
||||
add_compile_definitions(GLFW_WINDOWS)
|
||||
if(WIN32)
|
||||
add_compile_definitions(USE_EXTENSIONS)
|
||||
endif()
|
||||
add_executable(SeeleEngine "")
|
||||
add_subdirectory(src/)
|
||||
target_link_libraries(SeeleEngine ${Boost_LIBRARIES})
|
||||
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})
|
||||
|
||||
message(Libs: ${GLFW_LIBRARIES})
|
||||
|
||||
add_subdirectory(test/)
|
||||
|
||||
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
|
||||
rm -rf bin/
|
||||
mkdir bin/
|
||||
cd bin/
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug
|
||||
rm -rf bin/Debug
|
||||
mkdir bin/Debug
|
||||
cd bin/Debug
|
||||
cmake ../.. -DCMAKE_BUILD_TYPE=Debug
|
||||
make
|
||||
|
||||
+27
-20
@@ -38,21 +38,21 @@ list(APPEND EXTRA_CMAKE_ARGS
|
||||
|
||||
|
||||
#--------------GLFW------------------------------
|
||||
list(APPEND DEPENDENCIES glfw)
|
||||
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
|
||||
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||
|
||||
ExternalProject_Add(glfw
|
||||
SOURCE_DIR ${GLFW_ROOT}
|
||||
BINARY_DIR ${CMAKE_BINARY_DIR}/lib
|
||||
INSTALL_COMMAND "")
|
||||
|
||||
list(APPEND EXTRA_CMAKE_ARGS
|
||||
-DGLFW_INCLUDE_DIRS=${GLFW_ROOT}/include
|
||||
-DGLFW_LIBRARY=${CMAKE_BINARY_DIR}/lib/src/glfw3.lib
|
||||
)
|
||||
|
||||
#list(APPEND DEPENDENCIES glfw)
|
||||
#set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
|
||||
#set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||
#set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||
#
|
||||
#ExternalProject_Add(glfw
|
||||
# SOURCE_DIR ${GLFW_ROOT}
|
||||
# BINARY_DIR ${CMAKE_BINARY_DIR}/lib
|
||||
# INSTALL_COMMAND "")
|
||||
#
|
||||
#list(APPEND EXTRA_CMAKE_ARGS
|
||||
# -DGLFW_INCLUDE_DIRS=${GLFW_ROOT}/include
|
||||
# -DGLFW_LIBRARY=${CMAKE_BINARY_DIR}/lib/src/glfw3.lib
|
||||
# )
|
||||
#
|
||||
#--------------SLang------------------------------
|
||||
list(APPEND DEPENDENCIES slang)
|
||||
ExternalProject_Add(slang
|
||||
@@ -64,13 +64,20 @@ ExternalProject_Add(slang
|
||||
# COMMAND msbuild -m /p:WindowsTargetPlatformVersion=10.0 ${SLANG_ROOT}/source/slang/slang.vcxproj
|
||||
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
|
||||
-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)
|
||||
string(TOLOWER bin/windows-x64/${CMAKE_BUILD_TYPE}/slang.dll SLANG_DLL)
|
||||
list(APPEND DEPENDENT_BINARIES ${SLANG_ROOT}/${SLANG_DLL})
|
||||
list(APPEND DEPENDENT_BINARIES ${SLANG_ROOT}/${SLANG_BINARY})
|
||||
|
||||
list(APPEND EXTRA_CMAKE_ARGS
|
||||
-DDEPENDENT_BINARIES=${DEPENDENT_BINARIES})
|
||||
@@ -80,4 +87,4 @@ ExternalProject_Add(SeeleEngine
|
||||
SOURCE_DIR ${PROJECT_SOURCE_DIR}
|
||||
CMAKE_ARGS -DUSE_SUPERBUILD=OFF ${EXTRA_CMAKE_ARGS}
|
||||
INSTALL_COMMAND ""
|
||||
BINARY_DIR ${CMAKE_BINARY_DIR})
|
||||
BINARY_DIR ${CMAKE_BINARY_DIR})
|
||||
|
||||
@@ -28,10 +28,12 @@ VkDescriptorType Seele::cast(const SeDescriptorType& descriptorType)
|
||||
return VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC;
|
||||
case SE_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
|
||||
return VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
|
||||
#ifdef USE_EXTENSIONS
|
||||
case SE_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT:
|
||||
return VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT;
|
||||
case SE_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV:
|
||||
return VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV;
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -65,10 +67,12 @@ SeDescriptorType Seele::cast(const VkDescriptorType& descriptorType)
|
||||
return SE_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC;
|
||||
case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
|
||||
return SE_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
|
||||
#ifdef USE_EXTENSIONS
|
||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT:
|
||||
return SE_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT;
|
||||
case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV:
|
||||
return SE_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV;
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -96,6 +100,7 @@ VkShaderStageFlagBits Seele::cast(const SeShaderStageFlagBits& stage)
|
||||
return VK_SHADER_STAGE_ALL_GRAPHICS;
|
||||
case SE_SHADER_STAGE_ALL:
|
||||
return VK_SHADER_STAGE_ALL;
|
||||
#ifdef USE_EXTENSIONS
|
||||
case SE_SHADER_STAGE_RAYGEN_BIT_NV:
|
||||
return VK_SHADER_STAGE_RAYGEN_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;
|
||||
case SE_SHADER_STAGE_MESH_BIT_NV:
|
||||
return VK_SHADER_STAGE_MESH_BIT_NV;
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -138,6 +144,7 @@ SeShaderStageFlagBits Seele::cast(const VkShaderStageFlagBits& stage)
|
||||
return SE_SHADER_STAGE_ALL_GRAPHICS;
|
||||
case VK_SHADER_STAGE_ALL:
|
||||
return SE_SHADER_STAGE_ALL;
|
||||
#ifdef USE_EXTENSIONS
|
||||
case VK_SHADER_STAGE_RAYGEN_BIT_NV:
|
||||
return SE_SHADER_STAGE_RAYGEN_BIT_NV;
|
||||
case VK_SHADER_STAGE_ANY_HIT_BIT_NV:
|
||||
@@ -154,8 +161,9 @@ SeShaderStageFlagBits Seele::cast(const VkShaderStageFlagBits& stage)
|
||||
return SE_SHADER_STAGE_TASK_BIT_NV;
|
||||
case VK_SHADER_STAGE_MESH_BIT_NV:
|
||||
return SE_SHADER_STAGE_MESH_BIT_NV;
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return SE_SHADER_STAGE_ALL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
return VK_FALSE;
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
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);
|
||||
void DestroyDebugReportCallbackEXT(VkInstance instance, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT pCallback);
|
||||
@@ -298,4 +298,4 @@ namespace Seele
|
||||
VkShaderModule module,
|
||||
const char* entryName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include <assert.h>
|
||||
#include <memory>
|
||||
#include <atomic>
|
||||
#include <cstring>
|
||||
#include <iostream>
|
||||
#include "Math/Math.h"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user