Files
Seele/cmake/SuperBuild.cmake
T

97 lines
3.1 KiB
CMake
Raw Normal View History

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 "")
2021-03-31 12:18:16 +02:00
set(ASSIMP_BUILD_SAMPLES OFF CACHE INTERNAL "")
set(ASSIMP_BUILD_OVERALLS OFF CACHE INTERNAL "")
2020-06-02 11:46:18 +02:00
set(ASSIMP_BUILD_ASSIMP_TOOLS OFF CACHE INTERNAL "")
set(ASSIMP_INSTALL OFF CACHE INTERNAL "")
2021-03-31 12:18:16 +02:00
set(ASSIMP_BUILD_ZLIB 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)
2021-04-13 23:09:16 +02:00
#if(WIN32)
# target_compile_options(assimp PRIVATE /WX-)
#else()
# target_compile_options(assimp PRIVATE -Wno-error)
#endif()
2020-02-05 20:58:58 +01:00
#-------------BOOST----------------
list(APPEND DEPENDENCIES boost)
if(WIN32)
set(BOOTSTRAP_EXTENSION bat)
2020-03-25 11:55:50 +01:00
else()
set(BOOTSTRAP_EXTENSION sh)
endif()
2020-02-05 20:58:58 +01:00
ExternalProject_Add(boost
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
2021-04-01 16:40:14 +02:00
-DBoost_NO_SYSTEM_PATHS=OFF)
2020-02-05 20:58:58 +01:00
2021-08-21 18:02:53 +02:00
#-----------------KTX----------------------------
list(APPEND DEPENDENCIES ktx)
add_subdirectory(${KTX_ROOT} ${KTX_ROOT})
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-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
SOURCE_DIR ${SLANG_ROOT}
2021-08-21 18:02:53 +02:00
BINARY_DIR ${SLANG_ROOT}
CONFIGURE_COMMAND ""
BUILD_COMMAND msbuild slang.sln
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}
2021-08-21 18:02:53 +02:00
BINARY_DIR ${SLANG_ROOT}/lib
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
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 "")