ogrecave / ogre-next-deps Goto Github PK
View Code? Open in Web Editor NEWPackaged ogre-next dependencies' sources with a convenient CMake build system.
Packaged ogre-next dependencies' sources with a convenient CMake build system.
With version 16.9.3 of VS 2019 (but I suspect with every version greater-equal than 16.8.x as well) Freeimage doesn't build in non-debug modes. The error is related to OpenJPEG library: uclouvain/openjpeg#1333. For what I've understood, OpenJPEG 2.x versions aren't affected by this issue.
An Freeimage upgrade should hopefully fix the problem.
Here you can find a quick and dirty patch to ovverride the issue.
Following the instructions under: https://ogrecave.github.io/ogre-next/api/2.3/_setting_up_ogre_linux.html
Attempting to build dependencies under Linux results in compiler errors about ISO C++17 such as the following:
ogre-next-deps/src/FreeImage/Source/OpenEXR/Imath/ImathVec.h:227:41: error: ISO C++17 does not allow dynamic exception specifications
227 | const Vec2 & normalizeExc () throw (Iex::MathExc);
Looks like SDL2 is absent in the repo,
CMake Error at C:/Program Files/CMake/share/cmake-3.19/Modules/ExternalProject.cmake:2748 (message):
No download info given for 'SDL2' and its source directory:
F:/DOWNLOADS/ogre-next-deps-master/src/SDL2
is not an existing non-empty directory. Please specify one of:
* SOURCE_DIR with an existing non-empty directory
* DOWNLOAD_COMMAND
* URL
* GIT_REPOSITORY
* SVN_REPOSITORY
* HG_REPOSITORY
* CVS_REPOSITORY and CVS_MODULE
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.19/Modules/ExternalProject.cmake:3430 (_ep_add_download_command)
src/CMakeLists.txt:174 (ExternalProject_Add)
CMake Deprecation Warning at src/zlib/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Configuring incomplete, errors occurred!
I am not really familiar with cmake
. I am very sorry if I am reporting something silly. :-)
I have used ogre-next-deps
. I have setup CMAKE_CXX_FLAGS
and CMAKE_INSTALL_PREFIX
. This is the content of my src/CMakeLists.txt
:
# This is the CMakeCache file.
# For build in directory: /home/andre/hd_extra/repositorios/ogre-next-deps/build
# It was generated by CMake: /usr/bin/cmake
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.
########################
# EXTERNAL cache entries
########################
//Path to a program.
CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
//Path to a program.
CMAKE_AR:FILEPATH=/usr/bin/ar
//Choose the type of build, options are: Debug, Release, RelWithDebInfo
CMAKE_BUILD_TYPE:STRING=Release
//Enable/Disable color output during build.
CMAKE_COLOR_MAKEFILE:BOOL=ON
//CXX compiler
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
//A wrapper around 'ar' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-14
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-14
//Flags used by the CXX compiler during all build types.
CMAKE_CXX_FLAGS:STRING=-I/home/andre/.local/include
//Flags used by the CXX compiler during DEBUG builds.
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
//Flags used by the CXX compiler during MINSIZEREL builds.
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
//Flags used by the CXX compiler during RELEASE builds.
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
//C compiler
CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
//A wrapper around 'ar' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-14
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-14
//Flags used by the C compiler during all build types.
CMAKE_C_FLAGS:STRING=
//Flags used by the C compiler during DEBUG builds.
CMAKE_C_FLAGS_DEBUG:STRING=-g
//Flags used by the C compiler during MINSIZEREL builds.
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
//Flags used by the C compiler during RELEASE builds.
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
//Flags used by the C compiler during RELWITHDEBINFO builds.
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
//Path to a program.
CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
//Flags used by the linker during all build types.
CMAKE_EXE_LINKER_FLAGS:STRING=
//Flags used by the linker during DEBUG builds.
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during MINSIZEREL builds.
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during RELEASE builds.
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during RELWITHDEBINFO builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Enable/Disable output of compile commands during generation.
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
//Value Computed by CMake.
CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/andre/hd_extra/repositorios/ogre-next-deps/build/CMakeFiles/pkgRedirects
//Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/home/andre/.local
//Path to a program.
CMAKE_LINKER:FILEPATH=/usr/bin/ld
//Path to a program.
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake
//Flags used by the linker during the creation of modules during
// all build types.
CMAKE_MODULE_LINKER_FLAGS:STRING=
//Flags used by the linker during the creation of modules during
// DEBUG builds.
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of modules during
// MINSIZEREL builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of modules during
// RELEASE builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of modules during
// RELWITHDEBINFO builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Path to a program.
CMAKE_NM:FILEPATH=/usr/bin/nm
//Path to a program.
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
//Path to a program.
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
//Value Computed by CMake
CMAKE_PROJECT_DESCRIPTION:STATIC=
//Value Computed by CMake
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=OGREDEPS
//Path to a program.
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
//Path to a program.
CMAKE_READELF:FILEPATH=/usr/bin/readelf
//Flags used by the linker during the creation of shared libraries
// during all build types.
CMAKE_SHARED_LINKER_FLAGS:STRING=
//Flags used by the linker during the creation of shared libraries
// during DEBUG builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of shared libraries
// during MINSIZEREL builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of shared libraries
// during RELEASE builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of shared libraries
// during RELWITHDEBINFO builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//If set, runtime paths are not added when installing shared libraries,
// but are added when building.
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
//If set, runtime paths are not added when using shared libraries.
CMAKE_SKIP_RPATH:BOOL=NO
//Flags used by the linker during the creation of static libraries
// during all build types.
CMAKE_STATIC_LINKER_FLAGS:STRING=
//Flags used by the linker during the creation of static libraries
// during DEBUG builds.
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of static libraries
// during MINSIZEREL builds.
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of static libraries
// during RELEASE builds.
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of static libraries
// during RELWITHDEBINFO builds.
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Path to a program.
CMAKE_STRIP:FILEPATH=/usr/bin/strip
//Path to a program.
CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
//If this value is on, makefiles will be generated without the
// .SILENT directive, and all commands will be echoed to the console
// during the make. This is useful for debugging only. With Visual
// Studio IDE projects all commands are done without /nologo.
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
//Value Computed by CMake
OGREDEPS_BINARY_DIR:STATIC=/home/andre/hd_extra/repositorios/ogre-next-deps/build
//Build FreeImage dependency
OGREDEPS_BUILD_FREEIMAGE:BOOL=0
//Build FreeType dependency
OGREDEPS_BUILD_FREETYPE:BOOL=0
//Install prebuilt OpenVR dependency
OGREDEPS_BUILD_OPENVR:BOOL=ON
//Build rapidjson dependency
OGREDEPS_BUILD_RAPIDJSON:BOOL=ON
//Build Remotery dependency
OGREDEPS_BUILD_REMOTERY:BOOL=ON
//Build RenderDoc dependency
OGREDEPS_BUILD_RENDERDOC:BOOL=ON
//Build Vulkan's shaderc dependency
OGREDEPS_BUILD_SHADERC:BOOL=ON
//Build zlib dependency
OGREDEPS_BUILD_ZLIB:BOOL=0
//Build zziplib dependency
OGREDEPS_BUILD_ZZIPLIB:BOOL=ON
//Install development headers and libraries
OGREDEPS_INSTALL_DEV:BOOL=ON
//Value Computed by CMake
OGREDEPS_IS_TOP_LEVEL:STATIC=ON
//Install path for libraries, e.g. 'lib64' on some 64-bit Linux
// distros.
OGREDEPS_LIB_DIRECTORY:STRING=lib
//Value Computed by CMake
OGREDEPS_SOURCE_DIR:STATIC=/home/andre/hd_extra/repositorios/ogre-next-deps
//Value Computed by CMake
OPENVR_BINARY_DIR:STATIC=/home/andre/hd_extra/repositorios/ogre-next-deps/build/src/openvr
OPENVR_BIN_DIR:PATH=/home/andre/hd_extra/repositorios/ogre-next-deps/src/openvr/bin/linux64
OPENVR_INCLUDE_DIR:PATH=/home/andre/hd_extra/repositorios/ogre-next-deps/src/openvr/headers
//Value Computed by CMake
OPENVR_IS_TOP_LEVEL:STATIC=OFF
OPENVR_LIB_DIR:PATH=/home/andre/hd_extra/repositorios/ogre-next-deps/src/openvr/lib/linux64
//Value Computed by CMake
OPENVR_SOURCE_DIR:STATIC=/home/andre/hd_extra/repositorios/ogre-next-deps/src/openvr
//Value Computed by CMake
Remotery_BINARY_DIR:STATIC=/home/andre/hd_extra/repositorios/ogre-next-deps/build/src/Remotery
//Value Computed by CMake
Remotery_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Remotery_SOURCE_DIR:STATIC=/home/andre/hd_extra/repositorios/ogre-next-deps/src/Remotery
//Value Computed by CMake
RenderDoc_BINARY_DIR:STATIC=/home/andre/hd_extra/repositorios/ogre-next-deps/build/src/RenderDoc
//Value Computed by CMake
RenderDoc_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
RenderDoc_SOURCE_DIR:STATIC=/home/andre/hd_extra/repositorios/ogre-next-deps/src/RenderDoc
//Value Computed by CMake
VulkanBasicSdk_BINARY_DIR:STATIC=/home/andre/hd_extra/repositorios/ogre-next-deps/build/src/vulkan/basic-sdk
VulkanBasicSdk_INCLUDE_DIR:PATH=/home/andre/hd_extra/repositorios/ogre-next-deps/src/vulkan/basic-sdk/include
//Value Computed by CMake
VulkanBasicSdk_IS_TOP_LEVEL:STATIC=OFF
VulkanBasicSdk_LIB_DIR:PATH=/home/andre/hd_extra/repositorios/ogre-next-deps/src/vulkan/basic-sdk/lib/linux64
//Value Computed by CMake
VulkanBasicSdk_SOURCE_DIR:STATIC=/home/andre/hd_extra/repositorios/ogre-next-deps/src/vulkan/basic-sdk
ZZip_INCLUDE_DIR:PATH=/home/andre/hd_extra/repositorios/ogre-next-deps/src/zziplib
ZZip_LIBRARY_DBG:STRING=zziplib
ZZip_LIBRARY_REL:STRING=zziplib
//Value Computed by CMake
rapidjson_BINARY_DIR:STATIC=/home/andre/hd_extra/repositorios/ogre-next-deps/build/src/rapidjson
rapidjson_INCLUDE_DIR:PATH=/home/andre/hd_extra/repositorios/ogre-next-deps/src/rapidjson
//Value Computed by CMake
rapidjson_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
rapidjson_SOURCE_DIR:STATIC=/home/andre/hd_extra/repositorios/ogre-next-deps/src/rapidjson
//Value Computed by CMake
zziplib_BINARY_DIR:STATIC=/home/andre/hd_extra/repositorios/ogre-next-deps/build/src/zziplib
//Value Computed by CMake
zziplib_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
zziplib_SOURCE_DIR:STATIC=/home/andre/hd_extra/repositorios/ogre-next-deps/src/zziplib
########################
# INTERNAL cache entries
########################
//ADVANCED property for variable: CMAKE_ADDR2LINE
CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_AR
CMAKE_AR-ADVANCED:INTERNAL=1
//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=/home/andre/hd_extra/repositorios/ogre-next-deps/build
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=29
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=2
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
//Path to CMake executable.
CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
//ADVANCED property for variable: CMAKE_CXX_COMPILER
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER_AR
CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_DLLTOOL
CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
//Path to cache edit program executable.
CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake
//Executable file format
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
//Name of external makefile project generator.
CMAKE_EXTRA_GENERATOR:INTERNAL=
//Name of generator.
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
//Generator instance identifier.
CMAKE_GENERATOR_INSTANCE:INTERNAL=
//Name of generator platform.
CMAKE_GENERATOR_PLATFORM:INTERNAL=
//Name of generator toolset.
CMAKE_GENERATOR_TOOLSET:INTERNAL=
//Source directory with the top level CMakeLists.txt file for this
// project
CMAKE_HOME_DIRECTORY:INTERNAL=/home/andre/hd_extra/repositorios/ogre-next-deps
//Install .so files without execute permission.
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
//ADVANCED property for variable: CMAKE_LINKER
CMAKE_LINKER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_NM
CMAKE_NM-ADVANCED:INTERNAL=1
//number of local generators
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=8
//ADVANCED property for variable: CMAKE_OBJCOPY
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_OBJDUMP
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
//Platform information initialized
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RANLIB
CMAKE_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_READELF
CMAKE_READELF-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.29
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_RPATH
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STRIP
CMAKE_STRIP-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_TAPI
CMAKE_TAPI-ADVANCED:INTERNAL=1
//uname command
CMAKE_UNAME:INTERNAL=/usr/bin/uname
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
//Result of TRY_COMPILE
HAVE_OGREDEPS_PTR_SIZE:INTERNAL=TRUE
//ADVANCED property for variable: OGREDEPS_LIB_DIRECTORY
OGREDEPS_LIB_DIRECTORY-ADVANCED:INTERNAL=1
//CHECK_TYPE_SIZE: sizeof(void*)
OGREDEPS_PTR_SIZE:INTERNAL=8
//ADVANCED property for variable: OPENVR_BIN_DIR
OPENVR_BIN_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OPENVR_INCLUDE_DIR
OPENVR_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OPENVR_LIB_DIR
OPENVR_LIB_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: VulkanBasicSdk_INCLUDE_DIR
VulkanBasicSdk_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: VulkanBasicSdk_LIB_DIR
VulkanBasicSdk_LIB_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: ZZip_INCLUDE_DIR
ZZip_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: ZZip_LIBRARY_DBG
ZZip_LIBRARY_DBG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: ZZip_LIBRARY_REL
ZZip_LIBRARY_REL-ADVANCED:INTERNAL=1
//linker supports push/pop state
_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE
//ADVANCED property for variable: rapidjson_INCLUDE_DIR
rapidjson_INCLUDE_DIR-ADVANCED:INTERNAL=1
Now, I have realized that the generated files pkgconfig/shaderc*.pc
give a wrong libdir
:
prefix=/home/andre/.local
exec_prefix=${prefix}
libdir=${prefix}//home/andre/.local/lib
includedir=${prefix}/include
Name: shaderc
Description: Tools and libraries for Vulkan shader compilation
Version: 2020.2.1
URL: https://github.com/google/shaderc
Libs: -L${libdir} -lshaderc_shared
Cflags: -I${includedir}
I do not really understand much... but I see two options:
@CMAKE_INSTALL_LIBDIR@
should simply be lib
, but it is being configured with an absolute path. The file ./build/src/shaderc-prefix/tmp/shaderc-cfgcmd.txt
contains -DCMAKE_INSTALL_PREFIX:PATH=/home/andre/.local;-DCMAKE_INSTALL_LIBDIR:PATH=/home/andre/.local/lib/;-DCMAKE_INSTALL_BINDIR:PATH=/home/andre/.local/bin/
.includedir
, ${prefix}
should not be there either. And "two wrongs made a right", because @CMAKE_INSTALL_INCLUDEDIR@
is relative, not absolute.The template files are like this:
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
Name: shaderc
Description: Tools and libraries for Vulkan shader compilation
Version: @CURRENT_VERSION@
URL: https://github.com/google/shaderc
Libs: -L${libdir} @LIBS@
Cflags: -I${includedir}
Maybe none of them (libdir
or includedir
) should have a ${prefix}/
. It is strange, in my opinion, that @CMAKE_INSTALL_INCLUDEDIR@
actually gives a relative include
path, instead of an absolute path. But this is also true for SYSCONFDIR
, DATAROOTDIR
, etc.
I do not really know which one is the correct one. But making all those XXXDIR
relative to PREFIX
is what makes more sense. In this case, BINDIR
and LIBDIR
are wrong.
Hello.
I tried to compile for Android. I used this command line:
# Download ogre-next-deps
git clone --recurse-submodules --shallow-submodules https://github.com/OGRECave/ogre-next-deps
# Compile ogre-next-deps
cd ogre-next-deps
mkdir -p build/Android/Release
cd build/Android/Release
cmake \
-DCMAKE_TOOLCHAIN_FILE=/home/username/Android/Sdk/ndk/21.0.6113669/build/cmake/android.toolchain.cmake \
-DANDROID_ABI=arm64-v8a \
-DANDROID_NATIVE_API_LEVEL=24 \
-DCMAKE_BUILD_TYPE=Release \
../../../
make -j9
After make I have these error:
user@WH0118119 Release % make
[ 0%] Creating directories for 'shaderc'
[ 0%] No download step for 'shaderc'
[ 0%] No update step for 'shaderc'
[ 1%] No patch step for 'shaderc'
[ 2%] Performing configure step for 'shaderc'
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Users/user/Library/Android/sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Users/user/Library/Android/sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Shaderc: build type is "Release".
-- Configuring Shaderc to avoid building tests.
-- asciidoctor was not found - no documentation will be generated
-- Found PythonInterp: /usr/local/bin/python3 (found suitable version "3.9.8", minimum required is "3")
-- Found BISON: /usr/bin/bison (found version "2.3")
-- Performing Test COMPILER_SUPPORTS_FALLTHROUGH_WARNING
-- Performing Test COMPILER_SUPPORTS_FALLTHROUGH_WARNING - Success
-- Performing Test COMPILER_SUPPORTS_EXTRA_SEMI_WARNING
-- Performing Test COMPILER_SUPPORTS_EXTRA_SEMI_WARNING - Success
-- Performing Test COMPILER_SUPPORTS_PIC
-- Performing Test COMPILER_SUPPORTS_PIC - Success
CMake Warning (dev) at third_party/spirv-tools/CMakeLists.txt:71 (option):
Policy CMP0077 is not set: option() honors normal variables. Run "cmake
--help-policy CMP0077" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
For compatibility with older versions of CMake, option is clearing the
normal variable 'SKIP_SPIRV_TOOLS_INSTALL'.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Error at third_party/spirv-tools/external/CMakeLists.txt:37 (add_subdirectory):
The source directory
/Users/user/work/ogre-next-deps/src/vulkan/shaderc/src/third_party/spirv-tools/external/SPIRV-Headers
does not contain a CMakeLists.txt file.
CMake Error at third_party/CMakeLists.txt:70 (add_subdirectory):
The source directory
/Users/user/work/ogre-next-deps/src/vulkan/shaderc/src/third_party/glslang
does not contain a CMakeLists.txt file.
CMake Error at third_party/CMakeLists.txt:73 (message):
glslang was not found - required for compilation
How I understand I should place SPIRV-Headers and glslang to this directory. Could you please where I should take them and what version?
When attempting to build the dependencies using Xcode 14.3 beta, I got an error:
ld: file not found: /Applications/Xcode14.3-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a
This doesn't happen with Xcode 14.2. As I understand it, libarclite has something to do with providing runtime compatibility for old versions of macOS. So maybe the problem is that CMakeLists.txt sets CMAKE_OSX_DEPLOYMENT_TARGET
to 10.7, while the minimum officially-supported deployment target for Xcode 14.2 and later is 10.13.
Apparently this is a problem on Windows only, MSVC 14 moved std::binary_function into header file "functional"
The solution that worked for me was to add:
#include <functional>
info about this bug was found here:
https://learn.microsoft.com/en-us/answers/questions/1348183/std-binary-function-is-missing-in-msvc-14-37-32822
Hi, just when building these dependencies, python 3.* (I used Pythin 3.10 x64) was beeded to build the "shaderc" project.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.