Skip to content

Commit

Permalink
Merge pull request #325 from buildaworldnet/master
Browse files Browse the repository at this point in the history
Pre-release Merge
  • Loading branch information
devshgraphicsprogramming committed Jun 7, 2019
2 parents 0ef6d18 + 1257658 commit ea1d1a3
Show file tree
Hide file tree
Showing 1,917 changed files with 170,409 additions and 929,544 deletions.
18 changes: 14 additions & 4 deletions .gitignore
@@ -1,15 +1,25 @@
# Code::Blocks files
*.depend
*.layout
# Visual Studio Code
.vscode/*
# temporary compiler files
*.objs*
*.d
*.o
# CEGUI's downloaded dependencies on Windows
3rdparty/CEGUI/cegui-deps-0.8.x-src.zip
# usually where people build
build/*
# default install paths
install/*
# legacy temporary and output directories
lib/*
doctemp/*
source/obj
source/Irrlicht/libIrrlichtServer.a
# stuff output by examples
examples_tests/06.MeshLoaders/bin/cow.baw
examples_tests/06.MeshLoaders/bin/extrusionLogo_TEST_fixed.baw
examples_tests/07.HardwareSkinning/bin/dwarf.baw
source/Irrlicht/libIrrlichtServer.a
lib/*
doctemp/*
.vscode/*

76 changes: 76 additions & 0 deletions .gitmodules
@@ -0,0 +1,76 @@
[submodule "3rdparty/SPIRV-Headers"]
path = 3rdparty/SPIRV-Headers
url = https://github.com/KhronosGroup/SPIRV-Headers.git
[submodule "3rdparty/SPIRV-Tools"]
path = 3rdparty/SPIRV-Tools
url = https://github.com/KhronosGroup/SPIRV-Tools.git
[submodule "3rdparty/glslang"]
path = 3rdparty/glslang
url = https://github.com/KhronosGroup/glslang.git
[submodule "3rdparty/shaderc"]
path = 3rdparty/shaderc
url = https://github.com/google/shaderc.git
[submodule "3rdparty/bzip2"]
path = 3rdparty/bzip2
url = https://github.com/sergiud/bzip2.git
[submodule "3rdparty/lz4"]
path = 3rdparty/lz4
url = https://github.com/lz4/lz4.git
[submodule "3rdparty/spirv_cross"]
path = 3rdparty/spirv_cross
url = https://github.com/KhronosGroup/SPIRV-Cross.git
[submodule "3rdparty/zlib"]
path = 3rdparty/zlib
url = https://github.com/madler/zlib.git
[submodule "3rdparty/utfcpp"]
path = 3rdparty/utfcpp
url = https://github.com/nemtrif/utfcpp.git
[submodule "3rdparty/convertutf"]
path = 3rdparty/convertutf
url = https://github.com/plenluno/convertutf.git
[submodule "3rdparty/libpng"]
path = 3rdparty/libpng
url = https://github.com/glennrp/libpng.git
[submodule "3rdparty/openssl/openssl"]
path = 3rdparty/openssl/openssl
url = https://github.com/openssl/openssl.git
branch = OpenSSL_1_0_2-stable
[submodule "3rdparty/libjpeg-turbo"]
path = 3rdparty/libjpeg-turbo
url = https://github.com/libjpeg-turbo/libjpeg-turbo.git
[submodule "3rdparty/libjpeg"]
path = 3rdparty/libjpeg
url = https://github.com/LuaDist/libjpeg.git
[submodule "3rdparty/bullet3"]
path = 3rdparty/bullet3
url = https://github.com/bulletphysics/bullet3.git
[submodule "examples_tests/media/cegui_alfisko"]
path = examples_tests/media/cegui_alfisko
url = https://gitlab.com/InnerPieceOSS/cegui_alfisko.git
[submodule "3rdparty/CEGUI/cegui"]
path = 3rdparty/CEGUI/cegui
url = https://gitlab.com/InnerPieceOSS/cegui.git
branch = saga
[submodule "ext/CEGUI/stb"]
path = ext/CEGUI/stb
url = https://github.com/nothings/stb.git
[submodule "3rdparty/portable-file-dialogs"]
path = 3rdparty/portable-file-dialogs
url = https://github.com/samhocevar/portable-file-dialogs.git
[submodule "3rdparty/libexpat"]
path = 3rdparty/libexpat
url = https://github.com/libexpat/libexpat.git
branch = master
[submodule "3rdparty/glm"]
path = 3rdparty/glm
url = https://github.com/g-truc/glm.git
[submodule "3rdparty/freetype2"]
path = 3rdparty/freetype2
url = https://git.sv.nongnu.org/r/freetype/freetype2.git
[submodule "3rdparty/CEGUI/pcre"]
path = 3rdparty/CEGUI/pcre
url = https://github.com/svn2github/pcre.git
[submodule "3rdparty/CEGUI/glew"]
path = 3rdparty/CEGUI/glew
url = https://github.com/Perlmint/glew-cmake.git
branch = master
95 changes: 95 additions & 0 deletions 3rdparty/CEGUI/CMakeLists.txt
@@ -0,0 +1,95 @@
# Copyright (c) 2019 DevSH Graphics Programming Sp. z O.O.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


set(CEGUI_DEPS_BUILD_PATH ${CMAKE_CURRENT_BINARY_DIR}/dependencies/build)
set(CEGUI_DEPS_INSTALL_PATH ${CMAKE_CURRENT_BINARY_DIR}/dependencies/install CACHE INTERNAL "")

execute_process(
COMMAND ${CMAKE_COMMAND} -E make_directory dependencies/build
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)

function(build_CEGUI_dependency _NAME _SOURCE_PATH)
execute_process(
COMMAND ${CMAKE_COMMAND} -E make_directory ${_NAME}
WORKING_DIRECTORY ${CEGUI_DEPS_BUILD_PATH}
)
if (MSVC)
set(GENERATOR_PLATFORM_OPTION "-A x64")
endif()
execute_process(
COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}/${_SOURCE_PATH} -G "${CMAKE_GENERATOR}" ${GENERATOR_PLATFORM_OPTION} -DCMAKE_INSTALL_PREFIX=${CEGUI_DEPS_INSTALL_PATH} ${ARGN}
WORKING_DIRECTORY ${CEGUI_DEPS_BUILD_PATH}/${_NAME}
)
execute_process(
COMMAND ${CMAKE_COMMAND} --build ${CEGUI_DEPS_BUILD_PATH}/${_NAME} --target install --config Release -j ${IRR_PARALLEL_BUILD_JOBS}
WORKING_DIRECTORY ${CEGUI_DEPS_BUILD_PATH}/${_NAME}
)
endfunction()

message(STATUS "Building and Pseudo-Installing CEGUI 0.8.x dependencies (because CEGUI's CMake just has to rely on find_package)")
build_CEGUI_dependency(EXPAT ../libexpat/expat "-DBUILD_tools=OFF" "-DBUILD_examples=OFF" "-DBUILD_tests=OFF" "-DBUILD_shared=OFF" "-DBUILD_doc=OFF" "-DUSE_libbsd=OFF" "-DMSVC_USE_STATIC_CRT=ON")
if (IRR_FAST_MATH)
build_CEGUI_dependency(GLM ../glm "-DBUILD_SHARED_LIBS=OFF" "-DBUILD_STATIC_LIBS=OFF" "-DGLM_TEST_ENABLE_CXX_14=ON" "-DGLM_TEST_ENABLE_FAST_MATH=ON" "-DGLM_TEST_ENABLE_SIMD_SSE4_2=ON" "-DGLM_TEST_ENABLE=OFF")
else()
build_CEGUI_dependency(GLM ../glm "-DBUILD_SHARED_LIBS=OFF" "-DBUILD_STATIC_LIBS=OFF" "-DGLM_TEST_ENABLE_CXX_14=ON" "-DGLM_TEST_ENABLE_SIMD_SSE4_2=ON" "-DGLM_TEST_ENABLE=OFF")
endif()
build_CEGUI_dependency(Freetype ../freetype2 "-DBUILD_SHARED_LIBS=OFF" "-DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE" "-DCMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE")
build_CEGUI_dependency(PCRE ./pcre "-DPCRE_SUPPORT_UTF=ON" "-DBUILD_SHARED_LIBS=OFF" "-DPCRE_BUILD_PCREGREP=OFF" "-DPCRE_BUILD_TESTS=OFF" "-DBUILD_doc=OFF")
build_CEGUI_dependency(GLEW ./glew/build/cmake "-Dglew-cmake_BUILD_SHARED=OFF" "-Dglew-cmake_BUILD_MULTI_CONTEXT=OFF")
#build_CEGUI_dependency(GLEW ./glew/build/cmake "-Dglew-cmake_BUILD_SHARED=OFF" "-DUSE_GLEW=OFF")
message(STATUS "CEGUI 0.8.x dependencies built and pseudo-installed")


# Disable unused CEGUI options
set(CEGUI_INSTALL_PKGCONFIG OFF CACHE BOOL "")
set(CEGUI_BUILD_APPLICATION_TEMPLATES OFF CACHE BOOL "")
set(CEGUI_BUILD_PYTHON_MODULES OFF CACHE BOOL "")
set(CEGUI_BUILD_LUA_MODULE OFF CACHE BOOL "")
set(CEGUI_BUILD_XMLPARSER_XERCES OFF CACHE BOOL "")
set(CEGUI_BUILD_XMLPARSER_TINYXML OFF CACHE BOOL "")
set(CEGUI_BUILD_XMLPARSER_TINYXML2 OFF CACHE BOOL "")
set(CEGUI_BUILD_XMLPARSER_LIBXML2 OFF CACHE BOOL "")
set(CEGUI_BUILD_XMLPARSER_RAPIDXML OFF CACHE BOOL "")
set(CEGUI_BUILD_RENDERER_OPENGL OFF CACHE BOOL "")
set(CEGUI_USE_FRIBIDI OFF CACHE BOOL "") # enable when Hebrew and Arabic users complain
set(CEGUI_USE_MINIBIDI OFF CACHE BOOL "")
set(CEGUI_SAMPLES_ENABLED OFF CACHE BOOL "")

# Enable required CEGUI options
set(CEGUI_STRING_CLASS "2" CACHE STRING "")
set(CEGUI_HAS_FREETYPE ON CACHE BOOL "")
set(CEGUI_HAS_PCRE_REGEX ON CACHE BOOL "")
set(CEGUI_BUILD_XMLPARSER_EXPAT ON CACHE BOOL "")
set(CEGUI_BUILD_IMAGECODEC_STB ON CACHE BOOL "") # needs at least 1 image codec module
set(CEGUI_BUILD_RENDERER_OPENGL3 ON CACHE BOOL "")
set(CEGUI_BUILD_STATIC_CONFIGURATION ON CACHE BOOL "")
set(CEGUI_BUILD_STATIC_FACTORY_MODULE ON CACHE BOOL "")
set(CEGUI_STATIC_XMLPARSER_MODULE "CEGUIExpatParser" CACHE STRING "")


set(CEGUI_STATIC_DEPENDENCIES ON CACHE BOOL "")
set(CEGUI_BUILD_SHARED_LIBS_WITH_STATIC_DEPENDENCIES ON CACHE BOOL "") # util someone patches CEGUI to define GLEW_STATIC when the above is enabled as well


# override find_package
set(_OLD_CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH})
set(CMAKE_PREFIX_PATH ${CEGUI_DEPS_INSTALL_PATH})
find_package(EXPAT REQUIRED)
find_package(Freetype REQUIRED)
find_package(GLEW REQUIRED)
find_package(PCRE REQUIRED)
add_subdirectory(cegui EXCLUDE_FROM_ALL)
set(CMAKE_PREFIX_PATH ${_OLD_CMAKE_PREFIX_PATH})
1 change: 1 addition & 0 deletions 3rdparty/CEGUI/cegui
Submodule cegui added at 160161
1 change: 1 addition & 0 deletions 3rdparty/CEGUI/glew
Submodule glew added at c14a7a
1 change: 1 addition & 0 deletions 3rdparty/CEGUI/pcre
Submodule pcre added at 4e3965

0 comments on commit ea1d1a3

Please sign in to comment.