2020-02-05 20:58:58 +01:00
|
|
|
include (ExternalProject)
|
|
|
|
|
|
|
|
|
|
set(DEPENDENCIES)
|
|
|
|
|
set(EXTRA_CMAKE_ARGS)
|
2020-06-02 11:46:18 +02:00
|
|
|
#------------ASSIMP---------------
|
|
|
|
|
list(APPEND DEPENDENCIES assimp)
|
|
|
|
|
set(ASSIMP_BUILD_TESTS OFF CACHE INTERNAL "")
|
|
|
|
|
set(ASSIMP_BUILD_ASSIMP_TOOLS OFF CACHE INTERNAL "")
|
|
|
|
|
set(ASSIMP_INSTALL OFF CACHE INTERNAL "")
|
2020-10-14 01:49:43 +02:00
|
|
|
set(BUILD_SHARED_LIBS ON CACHE INTERNAL "")
|
2020-06-02 11:46:18 +02:00
|
|
|
|
2020-10-14 01:49:43 +02:00
|
|
|
add_subdirectory(${ASSIMP_ROOT} ${ASSIMP_ROOT})
|
2020-06-02 11:46:18 +02:00
|
|
|
target_compile_definitions(assimp PRIVATE _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING)
|
|
|
|
|
|
2020-02-05 20:58:58 +01:00
|
|
|
#-------------BOOST----------------
|
|
|
|
|
list(APPEND DEPENDENCIES boost)
|
2020-02-25 00:44:40 +01:00
|
|
|
if(WIN32)
|
|
|
|
|
set(BOOTSTRAP_EXTENSION bat)
|
2020-03-25 11:55:50 +01:00
|
|
|
else()
|
2020-02-25 00:44:40 +01:00
|
|
|
set(BOOTSTRAP_EXTENSION sh)
|
|
|
|
|
endif()
|
2020-02-05 20:58:58 +01:00
|
|
|
ExternalProject_Add(boost
|
2020-02-25 00:44:40 +01:00
|
|
|
SOURCE_DIR ${BOOST_ROOT}
|
|
|
|
|
UPDATE_COMMAND ""
|
|
|
|
|
CONFIGURE_COMMAND ./bootstrap.${BOOTSTRAP_EXTENSION} --with-libraries=serialization,test
|
2020-05-05 01:51:13 +02:00
|
|
|
BUILD_COMMAND ./b2 link=static -d0
|
2020-02-05 20:58:58 +01:00
|
|
|
BUILD_IN_SOURCE 1
|
|
|
|
|
INSTALL_COMMAND "")
|
|
|
|
|
|
|
|
|
|
list (APPEND EXTRA_CMAKE_ARGS
|
|
|
|
|
-DBoost_NO_SYSTEM_PATHS=ON)
|
|
|
|
|
|
2020-05-05 01:51:13 +02:00
|
|
|
#--------------------JSON------------------
|
2020-06-02 11:46:18 +02:00
|
|
|
list(APPEND DEPENDENCIES nlohmann_json)
|
2020-05-05 01:51:13 +02:00
|
|
|
set(JSON_MultipleHeaders ON CACHE INTERNAL "")
|
|
|
|
|
set(JSON_BuildTests OFF CACHE INTERNAL "")
|
|
|
|
|
set(JSON_Install OFF CACHE INTERNAL "")
|
|
|
|
|
|
2020-10-14 01:49:43 +02:00
|
|
|
add_subdirectory(${JSON_ROOT} ${JSON_ROOT})
|
2020-02-25 00:44:40 +01:00
|
|
|
|
2020-02-05 20:58:58 +01:00
|
|
|
#--------------GLFW------------------------------
|
2020-05-05 01:51:13 +02:00
|
|
|
list(APPEND DEPENDENCIES glfw)
|
2020-06-02 11:46:18 +02:00
|
|
|
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" )
|
2020-05-05 01:51:13 +02:00
|
|
|
|
2020-06-02 11:46:18 +02:00
|
|
|
add_subdirectory(${GLFW_ROOT} ${GLFW_ROOT})
|
2020-05-05 01:51:13 +02:00
|
|
|
|
2020-02-05 20:58:58 +01:00
|
|
|
#--------------SLang------------------------------
|
|
|
|
|
list(APPEND DEPENDENCIES slang)
|
2020-06-02 11:46:18 +02:00
|
|
|
string(TOLOWER release_${CMAKE_PLATFORM} SLANG_CONFIG)
|
2020-03-25 11:55:50 +01:00
|
|
|
if(WIN32)
|
2020-02-05 20:58:58 +01:00
|
|
|
ExternalProject_Add(slang
|
2020-02-25 00:44:40 +01:00
|
|
|
SOURCE_DIR ${SLANG_ROOT}
|
2020-02-05 20:58:58 +01:00
|
|
|
BINARY_DIR ${CMAKE_BINARY_DIR}/lib
|
2020-08-11 21:23:20 +02:00
|
|
|
CONFIGURE_COMMAND devenv /upgrade ${SLANG_ROOT}/source/slang/slang.vcxproj
|
2020-08-06 00:54:43 +02:00
|
|
|
BUILD_COMMAND msbuild -p:Configuration=Release -p:WarningLevel=0 -p:Platform=${CMAKE_PLATFORM} -p:WindowsTargetPlatformVersion=10.0 ${SLANG_ROOT}/source/slang/slang.vcxproj
|
2020-02-05 20:58:58 +01:00
|
|
|
INSTALL_COMMAND "")
|
2020-03-25 21:29:43 +01:00
|
|
|
|
|
|
|
|
set(SLANG_LIB_PATH ${SLANG_ROOT}/${SLANG_LIB_PATH})
|
2020-03-25 11:55:50 +01:00
|
|
|
elseif(UNIX)
|
|
|
|
|
ExternalProject_Add(slang
|
|
|
|
|
SOURCE_DIR ${SLANG_ROOT}
|
|
|
|
|
BINARY_DIR ${CMAKE_BINARY_DIR}/lib
|
2020-03-26 00:25:33 +01:00
|
|
|
CONFIGURE_COMMAND ${CMAKE_SOURCE_DIR}/premake5 --file=${CMAKE_SOURCE_DIR}/external/slang/premake5.lua gmake2 --build-location=build.linux
|
|
|
|
|
BUILD_COMMAND make -C ${CMAKE_SOURCE_DIR}/external/slang/build.linux config=${SLANG_CONFIG}
|
2020-03-25 11:55:50 +01:00
|
|
|
INSTALL_COMMAND "")
|
2020-03-25 21:29:43 +01:00
|
|
|
|
2020-06-02 11:46:18 +02:00
|
|
|
string(TOLOWER bin/linux-${CMAKE_PLATFORM}/Release/libslang.so SLANG_BINARY)
|
|
|
|
|
string(TOLOWER bin/linux-${CMAKE_PLATFORM}/Release/libslang-glslang.so SLANG_GLSLANG)
|
2020-03-17 02:41:33 +01:00
|
|
|
set(SLANG_LIB_PATH)
|
|
|
|
|
endif()
|
|
|
|
|
|
2020-10-03 11:00:10 +02:00
|
|
|
#----------------SPIR-V-CROSS--------------------
|
|
|
|
|
list(APPEND DEPENDENCIES spirv-cross-reflect)
|
|
|
|
|
set(SPIRV_CROSS_ENABLE_HLSL OFF CACHE BOOL "")
|
|
|
|
|
set(SPIRV_CROSS_ENABLE_TESTS OFF CACHE BOOL "")
|
|
|
|
|
set(SPIRV_CROSS_CLI OFF CACHE BOOL "")
|
|
|
|
|
set(SPIRV_CROSS_ENABLE_C_API OFF CACHE BOOL "")
|
|
|
|
|
set(SPIRV_CROSS_ENABLE_UTIL OFF CACHE BOOL "")
|
|
|
|
|
set(SPIRV_CROSS_SKIP_INSTALL ON CACHE BOOL "")
|
|
|
|
|
add_subdirectory(${SPIRV_ROOT})
|
|
|
|
|
|
|
|
|
|
|
2020-02-05 20:58:58 +01:00
|
|
|
#-----------------SeeleEngine--------------------
|
|
|
|
|
ExternalProject_Add(SeeleEngine
|
|
|
|
|
DEPENDS ${DEPENDENCIES}
|
|
|
|
|
SOURCE_DIR ${PROJECT_SOURCE_DIR}
|
2020-06-02 11:46:18 +02:00
|
|
|
PREFIX ${CMAKE_BINARY_DIR}
|
|
|
|
|
BINARY_DIR ${CMAKE_BINARY_DIR}
|
2020-02-05 20:58:58 +01:00
|
|
|
CMAKE_ARGS -DUSE_SUPERBUILD=OFF ${EXTRA_CMAKE_ARGS}
|
2020-06-02 11:46:18 +02:00
|
|
|
INSTALL_COMMAND "")
|