# For iOS, we need CMake 3.5 for the universal build function cmake_minimum_required(VERSION 3.5) # project project(SCOLDEPS) message(STATUS "----------------------------------------------") message(STATUS " /!\\ Build order is important /!\\ ") message(STATUS " - Common dependencies -- no config change") message(STATUS " - Assimp, ARToolKit, libharu, Newton, cAudio, Ogre, (FFmpeg)") message(STATUS " - SkyX, HydraX") message(STATUS "----------------------------------------------") if (WIN32) enable_language(ASM_NASM) endif (WIN32) if (NOT CMAKE_ASM_NASM_COMPILER_LOADED AND WIN32) message(ERROR "! Install Nasm compiler for dependencies, remane it as nasm.exe and add it the PATH variable! https://www.nasm.us/") else() # Guess dependencies dir if not set if (NOT EXISTS $ENV{SCOL_DEPENDENCIES_PATH}) SET(ENV{SCOL_DEPENDENCIES_PATH} ${CMAKE_SOURCE_DIR}) endif() message("Scol dependencies path: $ENV{SCOL_DEPENDENCIES_PATH}") # Include necessary submodules set(CMAKE_MODULE_PATH "$ENV{SCOL_DEPENDENCIES_PATH}/CMake" "$ENV{SCOL_DEPENDENCIES_PATH}/CMake/Utils" "$ENV{SCOL_DEPENDENCIES_PATH}/CMake/Packages" ${CMAKE_MODULE_PATH}) # make install prefix, some project ask for it to generate install scripts include (InstallPrefix) MakeInstallPrefix($ENV{SCOL_DEPENDENCIES_PATH}) SET(CMAKE_PREFIX_PATH "${CMAKE_INSTALL_PREFIX};${CMAKE_CURRENT_LIST_DIR}") if (NOT EXISTS $ENV{BOOST_ROOT}) SET(ENV{BOOST_ROOT} "$ENV{SCOL_DEPENDENCIES_PATH}/boost") endif() set(BOOST_ROOT $ENV{BOOST_ROOT}) set(SCOL_PARALLEL_MAKE_JOBS "4" CACHE STRING "Number of parallel jobs for Makefile-based builds") include (FindPkgMacros) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if (ANDROID) SET(TargetPlatform "Android") SET(SCOL_PLATFORM SCOL_PLATFORM_ANDROID) # Set by the Android toolchain but prevent to find Boost_INCLUDE_DIR, so we change the values set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH) endif() # Specify build paths. # This causes a problem with universal libraries on IOS, so we let Xcode decide of them. if (NOT APPLE_IOS) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${SCOLDEPS_BINARY_DIR}/lib") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${SCOLDEPS_BINARY_DIR}/lib") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${SCOLDEPS_BINARY_DIR}/bin") endif() # Boost is always required in Scol project; look for it and build it if it's not found set(Boost_USE_STATIC_LIBS ON) if (ANDROID) set(Boost_USE_STATIC_RUNTIME ON) set(Boost_COMPILER -clang) set(Boost_THREADAPI "pthread") set(Boost_LIBRARY_DIR "$ENV{BOOST_ROOT}/stage/lib/${ANDROID_ABI}" CACHE PATH "Boost library directory" FORCE) set(BOOST_INCLUDEDIR "$ENV{BOOST_ROOT}" CACHE PATH "Boost include directory" FORCE) if (ANDROID_ABI STREQUAL "armeabi-v7a") set (Boost_ARCHITECTURE "-a32") elseif (ANDROID_ABI STREQUAL "arm64-v8a") set (Boost_ARCHITECTURE "-a64") elseif(ANDROID_ABI STREQUAL "x86") set (Boost_ARCHITECTURE "-x32") elseif(ANDROID_ABI STREQUAL "x86_64") set (Boost_ARCHITECTURE "-x64") endif() elseif(APPLE_IOS) set(Boost_USE_STATIC_RUNTIME ON) set(Boost_COMPILER -clang) set(Boost_THREADAPI "pthread") set(Boost_LIBRARY_DIR "$ENV{BOOST_ROOT}/stage/ios/lib" CACHE PATH "Boost library directory" FORCE) set(Boost_INCLUDE_DIR "$ENV{BOOST_ROOT}" CACHE PATH "Boost include directory" FORCE) elseif(APPLE) set(Boost_USE_STATIC_RUNTIME ON) set(Boost_COMPILER -clang) set(Boost_THREADAPI "pthread") set(Boost_LIBRARY_DIR "$ENV{BOOST_ROOT}/stage/osx/lib" CACHE PATH "Boost library directory" FORCE) set(Boost_INCLUDE_DIR "$ENV{BOOST_ROOT}" CACHE PATH "Boost include directory" FORCE) elseif(PIZERO) set(Boost_USE_STATIC_RUNTIME ON) set(Boost_COMPILER -gcc) set(Boost_THREADAPI "pthread") set(Boost_LIBRARY_DIR "$ENV{BOOST_ROOT}/stage/armv6/lib" CACHE PATH "Boost library directory" FORCE) set(BOOST_INCLUDEDIR "$ENV{BOOST_ROOT}" CACHE PATH "Boost include directory" FORCE) elseif(PITHREE) set(Boost_USE_STATIC_RUNTIME ON) set(Boost_COMPILER -gcc) set(Boost_THREADAPI "pthread") set(Boost_LIBRARY_DIR "$ENV{BOOST_ROOT}/stage/armv8a/lib" CACHE PATH "Boost library directory" FORCE) set(BOOST_INCLUDEDIR "$ENV{BOOST_ROOT}" CACHE PATH "Boost include directory" FORCE) elseif(RPI) set(Boost_USE_STATIC_RUNTIME ON) set(Boost_COMPILER -gcc) set(Boost_THREADAPI "pthread") set(Boost_LIBRARY_DIR "$ENV{BOOST_ROOT}/stage/armv7a/lib" CACHE PATH "Boost library directory" FORCE) set(BOOST_INCLUDEDIR "$ENV{BOOST_ROOT}" CACHE PATH "Boost include directory" FORCE) elseif(LINUX32) set(Boost_USE_STATIC_RUNTIME ON) set(Boost_COMPILER -gcc) set(Boost_THREADAPI "pthread") set(Boost_LIBRARY_DIR "$ENV{BOOST_ROOT}/stage/linux32/lib" CACHE PATH "Boost library directory" FORCE) set(BOOST_INCLUDEDIR "$ENV{BOOST_ROOT}" CACHE PATH "Boost include directory" FORCE) elseif(LINUX64) set(Boost_USE_STATIC_RUNTIME ON) set(Boost_COMPILER -gcc) set(Boost_THREADAPI "pthread") set(Boost_LIBRARY_DIR "$ENV{BOOST_ROOT}/stage/linux64/lib" CACHE PATH "Boost library directory" FORCE) set(BOOST_INCLUDEDIR "$ENV{BOOST_ROOT}" CACHE PATH "Boost include directory" FORCE) elseif(EMSCRIPTEN) #set(Boost_LIB_PREFIX lib) #set(Boost_THREADAPI "pthread") #set(Boost_LIBRARY_DIR "$ENV{BOOST_ROOT}/stage/em/lib" CACHE PATH "Boost library directory" FORCE) #will use emsdk ports USE_BOOST_HEADERS=1 endif() set(SCOL_BOOST_COMPONENTS system thread date_time regex filesystem) if (NOT EMSCRIPTEN) find_package(Boost COMPONENTS ${SCOL_BOOST_COMPONENTS}) if(NOT Boost_FOUND) message(STATUS "Boost not found, building it ...") add_subdirectory(boost) # Now that Boost has been built, we can find it find_package(Boost COMPONENTS ${SCOL_BOOST_COMPONENTS}) else() message(STATUS "Boost found, no need to build it") endif() endif() # provide configuration options to choose which of the dependencies to build if(WIN32) option(SCOLDEPS_BUILD_CG "Build Cg dependency" TRUE) option(SCOLDEPS_BUILD_AMD_QBS "Build AMD Quad Buffer SDK dependency" FALSE) option(SCOLDEPS_BUILD_NVIDIA_NVAPI "Build NVIDIA NVAPI dependency" FALSE) endif() if(RPI OR APPLE) option(SCOLDEPS_BUILD_OPENXR_SDK "Build OpenXR dependency" FALSE) else() option(SCOLDEPS_BUILD_OPENXR_SDK "Build OpenXR dependency" TRUE) endif() option(SCOLDEPS_BUILD_ARUCO "Build Aruco dependency" TRUE) option(SCOLDEPS_BUILD_ARTK "Build ARToolKit dependency" TRUE) if(NOT APPLE) option(SCOLDEPS_BUILD_LIBHARU "Build lib Haru dependency" TRUE) endif(NOT APPLE) option(SCOLDEPS_BUILD_ASSIMP "Build Assimp dependency" TRUE) option(SCOLDEPS_BUILD_OGRE "Build Ogre3d dependency" TRUE) option(SCOLDEPS_BUILD_VOSK "Build Vosk-api dependency" TRUE) if(ANDROID) option(SCOLDEPS_BUILD_HLSL2GLSL "Build HLSL2GLSL dependency" TRUE) option(SCOLDEPS_BUILD_GLSLOPTIMIZER "Build GLSL Optimizer dependency" TRUE) else() option(SCOLDEPS_BUILD_HLSL2GLSL "Build HLSL2GLSL dependency" FALSE) option(SCOLDEPS_BUILD_GLSLOPTIMIZER "Build GLSL Optimizer dependency" FALSE) endif() option(SCOLDEPS_BUILD_NEWTON "Build Newton dependency" TRUE) option(SCOLDEPS_BUILD_DSO "Build DSO dependency" FALSE) option(SCOLDEPS_BUILD_VINS "Build VINS dependency" FALSE) # Depend on Ogre set (OGRE_STATIC ON CACHE BOOL "" FORCE) set (OGRE_DEPENDENCIES_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "" FORCE) option(SCOLDEPS_BUILD_HYDRAX "Build Hydrax dependency" FALSE) option(SCOLDEPS_BUILD_SKYX "Build SkyX dependency" FALSE) option(SCOLDEPS_BUILD_OGRECROWD "Build OgreCrowd dependency" FALSE) # Depends on OpenAL, Ogg, Vorbis option(SCOLDEPS_BUILD_CAUDIO "Build cAudio dependency" TRUE) if (NOT ANDROID) # Qt depends on libjpeg and libpng option(SCOLDEPS_BUILD_QT "Build Qt dependency" FALSE) endif() if (NOT ANDROID AND NOT APPLE_IOS) option(SCOLDEPS_BUILD_OPENVR "Build OpenVR dependency" FALSE) endif (NOT ANDROID AND NOT APPLE_IOS) if (RPI) option(SCOLDEPS_BUILD_WIRINGPI "Build WiringPi dependency" TRUE) endif() if (NOT APPLE) option(SCOLDEPS_BUILD_VRPN "Build VRPN library" TRUE) else (NOT APPLE) option(SCOLDEPS_BUILD_VRPN "Build VRPN library" FALSE) endif(NOT APPLE) if (ANDROID) option(SCOLDEPS_BUILD_LIBUVC "Build UVC camera library" TRUE) endif() option(SCOLDEPS_BUILD_TUIO "Build TUIO library" FALSE) option(SCOLDEPS_INSTALL_DEV "Install development headers and libraries" TRUE) set(SCOLDEPS_LIB_DIRECTORY "lib${LIB_SUFFIX}" CACHE STRING "Install path for libraries, e.g. 'lib64' on some 64-bit Linux distros.") mark_as_advanced(SCOLDEPS_LIB_DIRECTORY) # choose paths to build and install dependencies to if (NOT SCOLDEPS_RUNTIME_OUTPUT) set(SCOLDEPS_RUNTIME_OUTPUT ${SCOLDEPS_BINARY_DIR}/bin) endif () if (WIN32) set(SCOLDEPS_RELEASE_PATH "/Release") set(SCOLDEPS_DEBUG_PATH "/Debug") else () set(SCOLDEPS_RELEASE_PATH "") set(SCOLDEPS_DEBUG_PATH "") endif () # postfix debug libraries with a _d if (NOT APPLE) set(CMAKE_DEBUG_POSTFIX "_d") else() set(CMAKE_DEBUG_POSTFIX "d") endif() # determine if we are compiling for a 32bit or 64bit system include(CheckTypeSize) CHECK_TYPE_SIZE("void*" SCOLDEPS_PTR_SIZE BUILTIN_TYPES_ONLY) if (SCOLDEPS_PTR_SIZE EQUAL 8) set(SCOLDEPS_PLATFORM_X64 TRUE) else () set(SCOLDEPS_PLATFORM_X64 FALSE) endif () if (WIN32 AND SCOLDEPS_PLATFORM_X64) set (WIN64 TRUE) endif (WIN32 AND SCOLDEPS_PLATFORM_X64) # Add -fPIC flag to x64 GCC builds if (CMAKE_COMPILER_IS_GNUCXX AND NOT MINGW) if (SCOLDEPS_PLATFORM_X64 AND NOT APPLE) add_definitions(-fPIC) endif () endif () macro(set_xcode_property targ xc_prop_name xc_prop_val) set_property( TARGET ${targ} PROPERTY XCODE_ATTRIBUTE_${xc_prop_name} ${xc_prop_val} ) endmacro(set_xcode_property) # enforce that CMAKE_BUILD_TYPE is set, otherwise install commands # will not work for Makefile based generators. if (NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: Debug, Release" FORCE) endif () # configure and install dependency LIBRARY # INCLUDE_DIR specifies where header files need to be installed # Any additional parameters are treated as a list of header files # to install. macro(install_dep LIBRARY INCLUDE_DIR) set_target_properties(${LIBRARY} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${SCOLDEPS_RUNTIME_OUTPUT}) if (NOT SCOLDEPS_INSTALL_DEV) # always install runtime libraries (i.e. DLL, so) install(TARGETS ${LIBRARY} RUNTIME DESTINATION "bin${SCOLDEPS_RELEASE_PATH}" CONFIGURATIONS Release LIBRARY DESTINATION "${SCOLDEPS_LIB_DIRECTORY}${SCOLDEPS_RELEASE_PATH}" CONFIGURATIONS Release ARCHIVE DESTINATION "${SCOLDEPS_BINARY_DIR}/notwanted" CONFIGURATIONS Release ) install(TARGETS ${LIBRARY} RUNTIME DESTINATION "bin${SCOLDEPS_DEBUG_PATH}" CONFIGURATIONS Debug LIBRARY DESTINATION "${SCOLDEPS_LIB_DIRECTORY}${SCOLDEPS_DEBUG_PATH}" CONFIGURATIONS Debug ARCHIVE DESTINATION "${SCOLDEPS_BINARY_DIR}/notwanted" CONFIGURATIONS Debug ) else () # also install development parts install(TARGETS ${LIBRARY} RUNTIME DESTINATION "bin${SCOLDEPS_RELEASE_PATH}" CONFIGURATIONS Release LIBRARY DESTINATION "${SCOLDEPS_LIB_DIRECTORY}${SCOLDEPS_RELEASE_PATH}" CONFIGURATIONS Release ARCHIVE DESTINATION "${SCOLDEPS_LIB_DIRECTORY}${SCOLDEPS_RELEASE_PATH}" CONFIGURATIONS Release ) install(TARGETS ${LIBRARY} RUNTIME DESTINATION "bin${SCOLDEPS_DEBUG_PATH}" CONFIGURATIONS Debug LIBRARY DESTINATION "${SCOLDEPS_LIB_DIRECTORY}${SCOLDEPS_DEBUG_PATH}" CONFIGURATIONS Debug ARCHIVE DESTINATION "${SCOLDEPS_LIB_DIRECTORY}${SCOLDEPS_DEBUG_PATH}" CONFIGURATIONS Debug ) install(FILES ${ARGN} DESTINATION ${INCLUDE_DIR}) endif () endmacro() # need directx in several dependencies if (WIN32 AND NOT EMSCRIPTEN) # look for DirectX which is needed by OIS find_package(DirectX11 REQUIRED) #find_package(DirectX REQUIRED) find_package(DirectInput REQUIRED) #add_definitions(-DWINVER=0x0500) endif () option(SCOL_COMMON_DEPS_BUILD "Build common dependencies" ON) if (SCOL_COMMON_DEPS_BUILD) include(BuildCommonDeps) build_common_deps(${SCOLDEPS_BINARY_DIR}/autobuild) SET (SCOL_COMMON_DEPS_BUILD OFF CACHE BOOL "" FORCE) endif() # setup the individual dependencies #put it first to avoid openCV error if (SCOLDEPS_BUILD_ARUCO) SET (BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) SET (ARUCO_DEVINSTALL ON CACHE BOOL "" FORCE) add_subdirectory(aruco) endif() if (SCOLDEPS_BUILD_ARTK) add_subdirectory(artoolkit) endif() if (SCOLDEPS_BUILD_HLSL2GLSL) add_subdirectory(hlsl2glslfork) endif() if (SCOLDEPS_BUILD_GLSLOPTIMIZER) add_subdirectory(glsl-optimizer) endif() if (SCOLDEPS_BUILD_ASSIMP) SET (ASSIMP_BUILD_ASSIMP_TOOLS OFF CACHE BOOL "" FORCE) SET (ASSIMP_BUILD_TESTS OFF CACHE BOOL "" FORCE) SET (ASSIMP_BUILD_SAMPLES OFF CACHE BOOL "" FORCE) SET (BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) SET (ASSIMP_INSTALL_PDB OFF CACHE BOOL "" FORCE) SET (ASSIMP_NO_EXPORT ON CACHE BOOL "" FORCE) SET (ASSIMP_WARNINGS_AS_ERRORS OFF CACHE BOOL "" FORCE) SET (ASSIMP_BUILD_MMD_IMPORTER OFF CACHE BOOL "" FORCE) #this one don't work on some build system (ARM linux) and crash on windows #if (WIN32) # SET (ASSIMP_BUILD_IFC_IMPORTER ON CACHE BOOL "" FORCE) #else(WIN32) # SET (ASSIMP_BUILD_IFC_IMPORTER OFF CACHE BOOL "" FORCE) #endif(WIN32) # GLTF doesn't build on Apple Clang as of Xcode 7.3 (at least on iOS) because of a constructor redeclaration error. See https://github.com/assimp/assimp/issues/723 if (APPLE) SET (ASSIMP_BUILD_GLTF_IMPORTER OFF CACHE BOOL "" FORCE) SET (ASSIMP_BUILD_ASE_IMPORTER OFF CACHE BOOL "" FORCE) endif() add_subdirectory(assimp) endif() if (SCOLDEPS_BUILD_NEWTON) SET (NEWTON_BUILD_STATIC ON CACHE BOOL "" FORCE) SET (NEWTON_DISABLE_ASSERT ON CACHE BOOL "" FORCE) SET (NEWTON_DEMOS OFF CACHE BOOL "" FORCE) SET (NEWTON_INSTALL_PDB OFF CACHE BOOL "" FORCE) add_subdirectory(newton-dynamics) endif() if (SCOLDEPS_BUILD_CAUDIO) add_subdirectory(cAudio) SET (CAUDIO_STATIC ON CACHE BOOL "" FORCE) SET (CAUDIO_BUILD_SAMPLES OFF CACHE BOOL "" FORCE) SET (CAUDIO_BUILD_CSHARP_WRAPPER OFF CACHE BOOL "" FORCE) SET (CAUDIO_BUILD_MP3DECODER_PLUGIN ON CACHE BOOL "" FORCE) SET (CAUDIO_ENABLE_OGG ON CACHE BOOL "" FORCE) SET (CAUDIO_ENABLE_WAV ON CACHE BOOL "" FORCE) SET (CAUDIO_ENABLE_DEFAULT_FILESYSTEM ON CACHE BOOL "" FORCE) SET (CAUDIO_ENABLE_DEFAULT_FILE_LOGGER OFF CACHE BOOL "" FORCE) SET (CAUDIO_ENABLE_DEFAULT_CONSOLE_LOGGER OFF CACHE BOOL "" FORCE) if(ANDROID OR APPLE) SET(CAUDIO_ENABLE_REROUTE_STL_ALLOCATIONS OFF CACHE BOOL "" FORCE) endif() if(APPLE_IOS) SET (CAUDIO_IOS_BUILD ON CACHE BOOL "" FORCE) SET (CAUDIO_BUILD_EAX_PLUGIN OFF CACHE BOOL "" FORCE) SET (OPENAL_STATIC OFF CACHE BOOL "" FORCE) elseif(APPLE) SET (OPENAL_STATIC ON CACHE BOOL "" FORCE) SET (CAUDIO_BUILD_EAX_PLUGIN OFF CACHE BOOL "" FORCE) else() SET (OPENAL_STATIC ON CACHE BOOL "" FORCE) SET (CAUDIO_BUILD_EAX_PLUGIN ON CACHE BOOL "" FORCE) endif() endif() if (SCOLDEPS_BUILD_LIBHARU) SET (LIBHPDF_SHARED OFF CACHE BOOL "" FORCE) SET (LIBHPDF_STATIC ON CACHE BOOL "" FORCE) SET (LIBHPDF_EXAMPLES OFF CACHE BOOL "" FORCE) add_subdirectory(libharu) endif() if (SCOLDEPS_BUILD_QT) add_subdirectory(qt) endif() if (SCOLDEPS_BUILD_WIRINGPI) add_subdirectory(wiringPi) endif() if (SCOLDEPS_BUILD_OPENVR) add_subdirectory(openvr) endif() if (SCOLDEPS_BUILD_OPENXR_SDK) add_subdirectory(OpenXR-SDK) endif() if (SCOLDEPS_BUILD_VRPN) add_subdirectory(vrpn/sources) SET (VRPN_BUILD_CLIENT_LIBRARY ON CACHE BOOL "" FORCE) SET (VRPN_BUILD_CLIENTS OFF CACHE BOOL "" FORCE) SET (VRPN_BUILD_SERVERS OFF CACHE BOOL "" FORCE) SET (VRPN_BUILD_JAVA OFF CACHE BOOL "" FORCE) SET (VRPN_INSTALL ON CACHE BOOL "" FORCE) SET (BUILD_TESTING OFF CACHE BOOL "" FORCE) if(ANDROID) SET (BUILD_WITH_ANDROID_NDK ON CACHE BOOL "" FORCE) endif() endif() if (SCOLDEPS_BUILD_LIBUVC) add_subdirectory(libuvc) endif(SCOLDEPS_BUILD_LIBUVC) if (SCOLDEPS_BUILD_DSO) add_subdirectory(dso) endif() if (SCOLDEPS_BUILD_VINS) add_subdirectory(VINS_Mobile) endif() if (SCOLDEPS_BUILD_TUIO) add_subdirectory(TUIO_CPP) endif() if (SCOLDEPS_BUILD_AMD_QBS) add_subdirectory(AMD_Quad_Buffer_SDK_v11) endif () if (SCOLDEPS_BUILD_NVIDIA_NVAPI) add_subdirectory(NVAPI-R313-developer) endif () if(NOT APPLE) if (SCOLDEPS_BUILD_CG) add_subdirectory(Cg) endif () endif () #add_subdirectory(pocketsphinx) if (ANDROID OR WIN32) if (SCOLDEPS_BUILD_VOSK) add_subdirectory(vosk-api) endif (SCOLDEPS_BUILD_VOSK) endif (ANDROID OR WIN32) #if(WIN32) # add_subdirectory(pugixml) # # SET (SDL_TEST FALSE CACHE BOOL "" FORCE) # SET (SDL_STATIC TRUE CACHE BOOL "" FORCE) # SET (SDL2_DISABLE_INSTALL FALSE CACHE BOOL "" FORCE) # # add_subdirectory(SDL2) # # SET (BUILD_PYBULLET FALSE CACHE BOOL "" FORCE) # SET (USE_DOUBLE_PRECISION FALSE CACHE BOOL "" FORCE) # SET (BUILD_CPU_DEMO FALSE CACHE BOOL "" FORCE) # SET (BUILD_BULLET2_DEMOS FALSE CACHE BOOL "" FORCE) # SET (BUILD_EXTRAS FALSE CACHE BOOL "" FORCE) # SET (BUILD_EGL FALSE CACHE BOOL "" FORCE) # SET (BUILD_ENET FALSE CACHE BOOL "" FORCE) # SET (BUILD_UNIT_TESTS FALSE CACHE BOOL "" FORCE) # SET (BUILD_CLSOCKET FALSE CACHE BOOL "" FORCE) # SET (CMAKE_RELWITHDEBINFO_POSTFIX "") # fixes FindBullet on MSV # # add_subdirectory(bullet3) #endif(WIN32) if (SCOLDEPS_BUILD_OGRE) SET (OGRE_BUILD_SAMPLES FALSE CACHE BOOL "" FORCE) SET (OGRE_INSTALL_SAMPLES FALSE CACHE BOOL "" FORCE) SET (OGRE_BUILD_TOOLS FALSE CACHE BOOL "" FORCE) SET (OGRE_BUILD_COMPONENT_BITES FALSE CACHE BOOL "" FORCE) SET (OGRE_INSTALL_DEPENDENCIES FALSE CACHE BOOL "" FORCE) SET (OGRE_STATIC TRUE CACHE BOOL "" FORCE) SET (OGREDEPS_SHARED FALSE CACHE BOOL "" FORCE) SET (OGRE_ASSERT_MODE 1 CACHE INT "" FORCE) SET (OGRE_BUILD_COMPONENT_JAVA FALSE CACHE BOOL "" FORCE) SET (OGRE_BUILD_COMPONENT_PYTHON FALSE CACHE BOOL "" FORCE) SET (OGRE_BUILD_COMPONENT_OVERLAY_IMGUI TRUE CACHE BOOL "" FORCE) SET (OGRE_BUILD_DEPENDENCIES FALSE CACHE BOOL "" FORCE) SET (OGRE_COPY_DEPENDENCIES FALSE CACHE BOOL "" FORCE) SET (OGRE_BUILD_COMPONENT_RTSHADERSYSTEM TRUE CACHE BOOL "" FORCE) SET (OGRE_INSTALL_PDB FALSE CACHE BOOL "" FORCE) SET (OGRE_INSTALL_DOCS FALSE CACHE BOOL "" FORCE) SET (OGRE_INSTALL_CMAKE FALSE CACHE BOOL "" FORCE) SET (OGRE_CONFIG_ENABLE_GL_STATE_CACHE_SUPPORT FALSE CACHE BOOL "" FORCE) SET (OGRE_CONFIG_ENABLE_STBI TRUE CACHE BOOL "" FORCE) SET (OGRE_RESOURCEMANAGER_STRICT 0 CACHE INT "" FORCE) SET (OGRE_BUILD_RTSHADERSYSTEM_EXT_SHADERS TRUE CACHE BOOL "" FORCE) SET (OGRE_BUILD_PLUGIN_DOT_SCENE FALSE CACHE BOOL "" FORCE) SET (OGRE_BUILD_PLUGIN_ASSIMP FALSE CACHE BOOL "" FORCE) SET (OGRE_NODELESS_POSITIONING FALSE CACHE BOOL "" FORCE) SET (OGRE_BUILD_PLUGIN_CG TRUE CACHE BOOL "" FORCE) SET (OGRE_BUILD_RENDERSYSTEM_D3D9 FALSE CACHE BOOL "" FORCE) if(APPLE) SET (OGRE_BUILD_LIBS_AS_FRAMEWORKS FALSE CACHE BOOL "" FORCE) SET (OGRE_BUILD_RENDERSYSTEM_GL3PLUS FALSE CACHE BOOL "" FORCE) SET (OGRE_BUILD_RENDERSYSTEM_METAL FALSE CACHE BOOL "" FORCE) endif(APPLE) if(APPLE_IOS) SET (OGRE_BUILD_PLATFORM_APPLE_IOS TRUE CACHE BOOL "" FORCE) SET (OGRE_CONFIG_ENABLE_GLES3_SUPPORT FALSE CACHE BOOL "" FORCE) SET (OGRE_BUILD_RENDERSYSTEM_METAL FALSE CACHE BOOL "" FORCE) SET (OGRE_BUILD_PLUGIN_CG FALSE CACHE BOOL "" FORCE) endif(APPLE_IOS) if (ANDROID) SET (OGRE_CONFIG_ENABLE_GLES3_SUPPORT FALSE CACHE BOOL "" FORCE) SET (OGRE_CONFIG_ENABLE_GLES2_VAO_SUPPORT FALSE CACHE BOOL "" FORCE) SET (OGRE_BUILD_PLUGIN_CG FALSE CACHE BOOL "" FORCE) endif(ANDROID) if (WIN64) SET (OGRE_BUILD_RENDERSYSTEM_VULKAN TRUE CACHE BOOL "" FORCE) else(WIN32) SET (OGRE_BUILD_RENDERSYSTEM_VULKAN FALSE CACHE BOOL "" FORCE) endif() #if (NOT ANDROID) # SET (OGRE_BUILD_RENDERSYSTEM_TINY TRUE CACHE BOOL "" FORCE) #else(WIN32) # SET (OGRE_BUILD_RENDERSYSTEM_TINY FALSE CACHE BOOL "" FORCE) #endif() # RPI if (ANDROID OR RPI OR APPLE_IOS OR EMSCRIPTEN) SET (OGRE_BUILD_RENDERSYSTEM_GL FALSE CACHE BOOL "" FORCE) SET (OGRE_BUILD_RENDERSYSTEM_GLES2 TRUE CACHE BOOL "" FORCE) elseif (LINUX32 OR LINUX64 OR WIN32) SET (OGRE_BUILD_RENDERSYSTEM_GL TRUE CACHE BOOL "" FORCE) SET (OGRE_BUILD_RENDERSYSTEM_GLES2 FALSE CACHE BOOL "" FORCE) endif() if(ANDROID OR APPLE_IOS) SET (OGRE_CONFIG_ENABLE_GLES2_CG_SUPPORT FALSE CACHE BOOL "" FORCE) SET (OGRE_CONFIG_ENABLE_GLES2_GLSL_OPTIMISER FALSE CACHE BOOL "" FORCE) #SET (OGRE_CONFIG_ENABLE_GLES2_VAO_SUPPORT FALSE CACHE BOOL "" FORCE) endif() if (NOT WIN32) SET (OGRE_ENABLE_PRECOMPILED_HEADERS FALSE CACHE BOOL "" FORCE) endif(NOT WIN32) add_subdirectory(Ogre) endif() if (SCOLDEPS_BUILD_HYDRAX) SET (HYDRAX_BUILD_SAMPLES FALSE CACHE BOOL "" FORCE) SET (HYDRAX_STATIC ON CACHE BOOL "" FORCE) add_subdirectory(hydrax) endif() if (SCOLDEPS_BUILD_SKYX) SET (SKYX_BUILD_SAMPLES FALSE CACHE BOOL "" FORCE) SET (SKYX_STATIC ON CACHE BOOL "" FORCE) SET (SKYX_INSTALL_SAMPLES FALSE CACHE BOOL "" FORCE) add_subdirectory(skyx) endif() if (SCOLDEPS_BUILD_OGRECROWD) SET (BUILD_DEMO FALSE CACHE BOOL "" FORCE) add_subdirectory(OgreCrowd) endif() # reset install prefix in case of other project overide it MakeInstallPrefix($ENV{SCOL_DEPENDENCIES_PATH}) endif() #NASM