mirror of
https://github.com/lucaspalomodevelop/meshlab.git
synced 2026-03-13 16:14:38 +00:00
tmp commit - cmake
This commit is contained in:
parent
1ff3714284
commit
a033b070ac
@ -38,27 +38,6 @@ set(BUILD_ADDITIONAL_PLUGINS
|
||||
"A list of other plugin subdirectories to recurse into (e.g. select experimental or unsupported plugins) - relative to meshlab/src"
|
||||
)
|
||||
|
||||
option(ALLOW_BUNDLED_EIGEN "Allow use of bundled Eigen source" ON)
|
||||
option(ALLOW_BUNDLED_GLEW "Allow use of bundled GLEW source" ON)
|
||||
option(ALLOW_BUNDLED_NEWUOA "Allow use of bundled newuoa source" ON)
|
||||
option(ALLOW_BUNDLED_LEVMAR "Allow use of bundled levmar source" ON)
|
||||
option(ALLOW_BUNDLED_LIB3DS "Allow use of bundled lib3ds source" ON)
|
||||
# option(ALLOW_BUNDLED_MPIR "Allow use of bundled MPIR binaries" ON) # TODO
|
||||
option(ALLOW_BUNDLED_MUPARSER "Allow use of bundled muparser source" ON)
|
||||
option(ALLOW_BUNDLED_OPENCTM "Allow use of bundled OpenCTM source" ON)
|
||||
option(ALLOW_BUNDLED_SSYNTH "Allow use of bundled structure-synth source" ON)
|
||||
option(ALLOW_BUNDLED_QHULL "Allow use of bundled Qhull source" ON)
|
||||
option(ALLOW_BUNDLED_U3D "Allow use of bundled u3d source" ON)
|
||||
option(ALLOW_BUNDLED_OPENGR "Allow use of bundled OpenGR source" ON)
|
||||
|
||||
option(ALLOW_SYSTEM_EIGEN "Allow use of system-provided Eigen" ON)
|
||||
option(ALLOW_SYSTEM_GLEW "Allow use of system-provided GLEW" ON)
|
||||
option(ALLOW_SYSTEM_LIB3DS "Allow use of system-provided lib3ds" ON)
|
||||
option(ALLOW_SYSTEM_GMP "Allow use of system-provided GMP" ON)
|
||||
option(ALLOW_SYSTEM_MUPARSER "Allow use of system-provided muparser" ON)
|
||||
option(ALLOW_SYSTEM_OPENCTM "Allow use of system-provided OpenCTM" ON)
|
||||
option(ALLOW_SYSTEM_QHULL "Allow use of system-provided QHull" ON)
|
||||
|
||||
### Dependencies
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
message(STATUS "Searching for required components")
|
||||
@ -118,7 +97,7 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
|
||||
### Bundled dependencies in the "external" directory
|
||||
set(EXTERNAL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external)
|
||||
include("${CMAKE_CURRENT_SOURCE_DIR}/external.cmake")
|
||||
include("${EXTERNAL_DIR}/external.cmake")
|
||||
|
||||
### Install directories and build/staging directories
|
||||
include(GNUInstallDirs)
|
||||
|
||||
@ -1,366 +0,0 @@
|
||||
# Copyright 2019 Collabora, Ltd.
|
||||
# SPDX-License-Identifier: BSL-1.0
|
||||
|
||||
# GLEW - required
|
||||
set(GLEW_DIR ${EXTERNAL_DIR}/glew-2.1.0)
|
||||
if(ALLOW_SYSTEM_GLEW AND TARGET GLEW::GLEW)
|
||||
message(STATUS "- glew - using system-provided library")
|
||||
add_library(external-glew INTERFACE)
|
||||
target_link_libraries(external-glew INTERFACE GLEW::GLEW)
|
||||
if(TARGET OpenGL::OpenGL)
|
||||
target_link_libraries(external-glew INTERFACE OpenGL::OpenGL)
|
||||
elseif(TARGET OpenGL::GL)
|
||||
target_link_libraries(external-glew INTERFACE OpenGL::GL)
|
||||
else()
|
||||
message(FATAL_ERROR "OpenGL not found or your CMake version is too old!")
|
||||
endif()
|
||||
elseif(ALLOW_BUNDLED_GLEW AND EXISTS "${GLEW_DIR}/src/glew.c")
|
||||
message(STATUS "- glew - using bundled source")
|
||||
add_library(external-glew STATIC "${GLEW_DIR}/src/glew.c")
|
||||
target_compile_definitions(external-glew PUBLIC GLEW_STATIC)
|
||||
target_include_directories(external-glew SYSTEM PUBLIC ${GLEW_DIR}/include)
|
||||
if(TARGET OpenGL::OpenGL)
|
||||
target_link_libraries(external-glew PUBLIC OpenGL::OpenGL)
|
||||
elseif(TARGET OpenGL::GL)
|
||||
target_link_libraries(external-glew PUBLIC OpenGL::GL)
|
||||
else()
|
||||
message(FATAL_ERROR "OpenGL not found or your CMake version is too old!")
|
||||
endif()
|
||||
if(TARGET OpenGL::GLX)
|
||||
target_link_libraries(external-glew PUBLIC OpenGL::GLX)
|
||||
endif()
|
||||
set_property(TARGET external-glew PROPERTY FOLDER External)
|
||||
else()
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"GLEW is required - at least one of ALLOW_SYSTEM_GLEW or ALLOW_BUNDLED_GLEW must be enabled and found.")
|
||||
endif()
|
||||
|
||||
# Eigen3 - required
|
||||
set(EIGEN_DIR ${VCGDIR}/eigenlib)
|
||||
if(ALLOW_SYSTEM_EIGEN AND EIGEN3_INCLUDE_DIR)
|
||||
message(STATUS "- Eigen - using system-provided library")
|
||||
set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR})
|
||||
elseif(ALLOW_BUNDLED_EIGEN AND EXISTS "${EIGEN_DIR}/Eigen/Eigen")
|
||||
message(STATUS "- Eigen - using bundled source")
|
||||
set(EIGEN_INCLUDE_DIRS ${EIGEN_DIR})
|
||||
else()
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"Eigen is required - at least one of ALLOW_SYSTEM_EIGEN or ALLOW_BUNDLED_EIGEN must be enabled and found.")
|
||||
endif()
|
||||
|
||||
# newuoa - optional and header-only, for several plugins including all that use levmar
|
||||
set(NEWUOA_DIR ${VCGDIR}/wrap/newuoa)
|
||||
if(ALLOW_BUNDLED_NEWUOA AND EXISTS "${NEWUOA_DIR}/include/newuoa.h")
|
||||
message(STATUS "- newuoa - using bundled source")
|
||||
add_library(external-newuoa INTERFACE)
|
||||
target_include_directories(external-newuoa INTERFACE ${NEWUOA_DIR}/include)
|
||||
endif()
|
||||
|
||||
# levmar - optional, for several plugins
|
||||
set(LEVMAR_DIR ${EXTERNAL_DIR}/levmar-2.3)
|
||||
if(ALLOW_BUNDLED_LEVMAR AND EXISTS "${LEVMAR_DIR}/lm.h")
|
||||
message(STATUS "- levmar - using bundled source")
|
||||
add_library(
|
||||
external-levmar STATIC
|
||||
"${LEVMAR_DIR}/compiler.h"
|
||||
"${LEVMAR_DIR}/lm.h"
|
||||
"${LEVMAR_DIR}/misc.h"
|
||||
"${LEVMAR_DIR}/Axb.c"
|
||||
"${LEVMAR_DIR}/lm.c"
|
||||
"${LEVMAR_DIR}/lmbc.c"
|
||||
"${LEVMAR_DIR}/lmblec.c"
|
||||
"${LEVMAR_DIR}/lmlec.c"
|
||||
"${LEVMAR_DIR}/misc.c")
|
||||
target_include_directories(external-levmar PUBLIC ${LEVMAR_DIR})
|
||||
set_property(TARGET external-levmar PROPERTY FOLDER External)
|
||||
endif()
|
||||
|
||||
# lib3ds - optional, for io_3ds
|
||||
set(LIB3DS_DIR ${EXTERNAL_DIR}/lib3ds-1.3.0)
|
||||
if(ALLOW_SYSTEM_LIB3DS AND TARGET Lib3ds::Lib3ds)
|
||||
message(STATUS "- lib3ds - using system-provided library")
|
||||
add_library(external-lib3ds INTERFACE)
|
||||
target_link_libraries(external-lib3ds INTERFACE Lib3ds::Lib3ds)
|
||||
elseif(ALLOW_BUNDLED_LIB3DS AND EXISTS "${LIB3DS_DIR}/lib3ds/types.h")
|
||||
message(STATUS "- lib3ds - using bundled source")
|
||||
add_library(
|
||||
external-lib3ds STATIC
|
||||
"${LIB3DS_DIR}/lib3ds/atmosphere.c"
|
||||
"${LIB3DS_DIR}/lib3ds/atmosphere.h"
|
||||
"${LIB3DS_DIR}/lib3ds/background.c"
|
||||
"${LIB3DS_DIR}/lib3ds/background.h"
|
||||
"${LIB3DS_DIR}/lib3ds/camera.c"
|
||||
"${LIB3DS_DIR}/lib3ds/camera.h"
|
||||
"${LIB3DS_DIR}/lib3ds/chunk.c"
|
||||
"${LIB3DS_DIR}/lib3ds/chunk.h"
|
||||
"${LIB3DS_DIR}/lib3ds/chunktable.h"
|
||||
"${LIB3DS_DIR}/lib3ds/ease.c"
|
||||
"${LIB3DS_DIR}/lib3ds/ease.h"
|
||||
"${LIB3DS_DIR}/lib3ds/file.c"
|
||||
"${LIB3DS_DIR}/lib3ds/file.h"
|
||||
"${LIB3DS_DIR}/lib3ds/io.c"
|
||||
"${LIB3DS_DIR}/lib3ds/io.h"
|
||||
"${LIB3DS_DIR}/lib3ds/light.c"
|
||||
"${LIB3DS_DIR}/lib3ds/light.h"
|
||||
"${LIB3DS_DIR}/lib3ds/material.c"
|
||||
"${LIB3DS_DIR}/lib3ds/material.h"
|
||||
"${LIB3DS_DIR}/lib3ds/matrix.c"
|
||||
"${LIB3DS_DIR}/lib3ds/matrix.h"
|
||||
"${LIB3DS_DIR}/lib3ds/mesh.c"
|
||||
"${LIB3DS_DIR}/lib3ds/mesh.h"
|
||||
"${LIB3DS_DIR}/lib3ds/node.c"
|
||||
"${LIB3DS_DIR}/lib3ds/node.h"
|
||||
"${LIB3DS_DIR}/lib3ds/quat.c"
|
||||
"${LIB3DS_DIR}/lib3ds/quat.h"
|
||||
"${LIB3DS_DIR}/lib3ds/shadow.c"
|
||||
"${LIB3DS_DIR}/lib3ds/shadow.h"
|
||||
"${LIB3DS_DIR}/lib3ds/tcb.c"
|
||||
"${LIB3DS_DIR}/lib3ds/tcb.h"
|
||||
"${LIB3DS_DIR}/lib3ds/tracks.c"
|
||||
"${LIB3DS_DIR}/lib3ds/tracks.h"
|
||||
"${LIB3DS_DIR}/lib3ds/types.h"
|
||||
"${LIB3DS_DIR}/lib3ds/vector.c"
|
||||
"${LIB3DS_DIR}/lib3ds/vector.h"
|
||||
"${LIB3DS_DIR}/lib3ds/viewport.c"
|
||||
"${LIB3DS_DIR}/lib3ds/viewport.h")
|
||||
target_include_directories(external-lib3ds SYSTEM PUBLIC "${LIB3DS_DIR}")
|
||||
target_compile_definitions(external-lib3ds PUBLIC LIB3DS_STATIC)
|
||||
set_property(TARGET external-lib3ds PROPERTY FOLDER External)
|
||||
endif()
|
||||
|
||||
# gmp or mpir - optional, for filter_csg
|
||||
if(ALLOW_SYSTEM_GMP AND GMP_FOUND)
|
||||
message(STATUS "- GMP/MPIR - using system-provided GMP library")
|
||||
add_library(external-gmp INTERFACE)
|
||||
target_include_directories(external-gmp SYSTEM INTERFACE ${GMP_INCLUDE_DIRS})
|
||||
target_link_libraries(external-gmp INTERFACE ${GMP_LIBRARIES})
|
||||
else()
|
||||
# TODO set up external-mpir per-os for bundled mpir
|
||||
endif()
|
||||
|
||||
# muparser - optional, for filter_func
|
||||
set(MUPARSER_DIR ${EXTERNAL_DIR}/muparser_v225)
|
||||
if(ALLOW_SYSTEM_MUPARSER AND TARGET muparser::muparser)
|
||||
message(STATUS "- muparser - using system-provided library")
|
||||
add_library(external-muparser INTERFACE)
|
||||
target_link_libraries(external-muparser INTERFACE muparser::muparser)
|
||||
elseif(ALLOW_BUNDLED_MUPARSER AND EXISTS "${MUPARSER_DIR}/src/muParser.cpp")
|
||||
message(STATUS "- muparser - using bundled source")
|
||||
add_library(
|
||||
external-muparser STATIC
|
||||
"${MUPARSER_DIR}/src/muParser.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserBase.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserBytecode.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserCallback.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserDLL.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserError.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserInt.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserTest.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserTokenReader.cpp")
|
||||
target_include_directories(external-muparser SYSTEM PUBLIC ${MUPARSER_DIR}/include)
|
||||
target_compile_definitions(external-muparser PUBLIC _UNICODE)
|
||||
set_property(TARGET external-muparser PROPERTY FOLDER External)
|
||||
endif()
|
||||
|
||||
# OpenCTM - optional, for io_ctm
|
||||
set(OPENCTM_DIR ${EXTERNAL_DIR}/OpenCTM-1.0.3)
|
||||
if(ALLOW_SYSTEM_OPENCTM AND TARGET OpenCTM::OpenCTM)
|
||||
message(STATUS "- OpenCTM - using system-provided library")
|
||||
add_library(external-openctm INTERFACE)
|
||||
target_link_libraries(external-openctm INTERFACE OpenCTM::OpenCTM)
|
||||
elseif(ALLOW_BUNDLED_OPENCTM AND EXISTS "${OPENCTM_DIR}/lib/openctm.c")
|
||||
message(STATUS "- OpenCTM - using bundled source")
|
||||
# Modified liblzma included - can't build against system version
|
||||
add_library(
|
||||
external-openctm STATIC
|
||||
"${OPENCTM_DIR}/lib/openctm.c"
|
||||
"${OPENCTM_DIR}/lib/stream.c"
|
||||
"${OPENCTM_DIR}/lib/compressRAW.c"
|
||||
"${OPENCTM_DIR}/lib/compressMG1.c"
|
||||
"${OPENCTM_DIR}/lib/compressMG2.c"
|
||||
"${OPENCTM_DIR}/lib/liblzma/Alloc.c"
|
||||
"${OPENCTM_DIR}/lib/liblzma/LzFind.c"
|
||||
"${OPENCTM_DIR}/lib/liblzma/LzmaDec.c"
|
||||
"${OPENCTM_DIR}/lib/liblzma/LzmaEnc.c"
|
||||
"${OPENCTM_DIR}/lib/liblzma/LzmaLib.c")
|
||||
target_compile_definitions(external-openctm PUBLIC OPENCTM_STATIC)
|
||||
target_include_directories(
|
||||
external-openctm SYSTEM
|
||||
PUBLIC "${OPENCTM_DIR}/lib" SYSTEM
|
||||
PRIVATE "${OPENCTM_DIR}/lib/liblzma")
|
||||
if(MSVC)
|
||||
target_compile_definitions(external-openctm PRIVATE _CRT_SECURE_NO_WARNINGS)
|
||||
endif()
|
||||
set_property(TARGET external-openctm PROPERTY FOLDER External)
|
||||
endif()
|
||||
|
||||
# structure-synth - optional, for filter_ssynth
|
||||
set(SSYNTH_DIR ${EXTERNAL_DIR}/structuresynth-1.5)
|
||||
if(ALLOW_BUNDLED_SSYNTH AND EXISTS "${LEVMAR_DIR}/lm.h")
|
||||
message(STATUS "- structure-synth - using bundled source")
|
||||
# Can't use a system version because using StructureSynth as a library is not common
|
||||
add_library(
|
||||
external-ssynth STATIC
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Action.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/AmbiguousRule.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Builder.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/ColorPool.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/CustomRule.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/ExecutionStack.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/PrimitiveClass.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/PrimitiveRule.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/RandomStreams.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rule.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/RuleRef.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/RuleSet.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/State.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Transformation.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/TransformationLoop.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Parser/EisenParser.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Parser/Preprocessor.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Parser/Tokenizer.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Exceptions/Exception.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Box.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Dot.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/EngineWidget.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Grid.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Line.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Mesh.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Object3D.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/AtomicCounter.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/RenderThread.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/Sampler.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/RaytraceTriangle.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Sphere.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Triangle.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Logging/ListWidgetLogger.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Logging/Logging.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Math/Matrix4.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Math/Random.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Math/Vector3.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/ColorUtils.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/MiniParser.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/Persistence.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/Version.h"
|
||||
"${SSYNTH_DIR}/ssynth/ThirdPartyCode/MersenneTwister/MersenneTwister.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rendering/OpenGLRenderer.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rendering/Renderer.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rendering/TemplateRenderer.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Action.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/AmbiguousRule.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Builder.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/ColorPool.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/CustomRule.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/ExecutionStack.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/PrimitiveClass.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/PrimitiveRule.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/RandomStreams.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rule.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/RuleRef.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/RuleSet.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/State.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Transformation.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/TransformationLoop.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Parser/EisenParser.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Parser/Preprocessor.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Parser/Tokenizer.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Box.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Dot.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Grid.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Line.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Mesh.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Object3D.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/AtomicCounter.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/RenderThread.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/Sampler.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/RaytraceTriangle.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Triangle.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Logging/ListWidgetLogger.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Logging/Logging.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Math/Matrix4.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Math/Random.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Math/Vector3.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/ColorUtils.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/MiniParser.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/Persistence.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/Version.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rendering/Renderer.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rendering/TemplateRenderer.cpp")
|
||||
|
||||
# These sources were disabled in the .pro file: "${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/EngineWidget.cpp"
|
||||
# "${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp"
|
||||
# "${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Sphere.cpp"
|
||||
# "${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rendering/OpenGLRenderer.cpp"
|
||||
target_include_directories(external-ssynth SYSTEM PUBLIC "${SSYNTH_DIR}/ssynth")
|
||||
target_link_libraries(external-ssynth PRIVATE Qt5::Core Qt5::Xml Qt5::OpenGL OpenGL::GLU)
|
||||
set_property(TARGET external-ssynth PROPERTY FOLDER External)
|
||||
endif()
|
||||
|
||||
# qhull - optional, for filter_qhull
|
||||
set(QHULL_DIR ${EXTERNAL_DIR}/qhull-2003.1)
|
||||
if(ALLOW_SYSTEM_QHULL AND TARGET Qhull::libqhull)
|
||||
message(STATUS "- qhull - using system-provided library")
|
||||
add_library(external-qhull INTERFACE)
|
||||
target_link_libraries(external-qhull INTERFACE Qhull::libqhull)
|
||||
target_compile_definitions(external-qhull INTERFACE SYSTEM_QHULL)
|
||||
target_include_directories(external-qhull INTERFACE ${QHULL_libqhull_INCLUDE_DIR}/libqhull)
|
||||
elseif(ALLOW_BUNDLED_QHULL AND EXISTS "${QHULL_DIR}/src/qhull.h")
|
||||
message(STATUS "- qhull - using bundled source")
|
||||
add_library(
|
||||
external-qhull STATIC
|
||||
"${QHULL_DIR}/src/geom2.c"
|
||||
"${QHULL_DIR}/src/global.c"
|
||||
"${QHULL_DIR}/src/io.c"
|
||||
"${QHULL_DIR}/src/io.h"
|
||||
"${QHULL_DIR}/src/mem.c"
|
||||
"${QHULL_DIR}/src/mem.h"
|
||||
"${QHULL_DIR}/src/merge.c"
|
||||
"${QHULL_DIR}/src/merge.h"
|
||||
"${QHULL_DIR}/src/poly.c"
|
||||
"${QHULL_DIR}/src/poly.h"
|
||||
"${QHULL_DIR}/src/poly2.c"
|
||||
"${QHULL_DIR}/src/qconvex.c"
|
||||
"${QHULL_DIR}/src/qhull.c"
|
||||
"${QHULL_DIR}/src/qhull.h"
|
||||
"${QHULL_DIR}/src/qset.c"
|
||||
"${QHULL_DIR}/src/qset.h"
|
||||
"${QHULL_DIR}/src/stat.c"
|
||||
"${QHULL_DIR}/src/stat.h"
|
||||
"${QHULL_DIR}/src/geom.c"
|
||||
"${QHULL_DIR}/src/geom.h"
|
||||
"${QHULL_DIR}/src/user.c"
|
||||
"${QHULL_DIR}/src/user.h")
|
||||
target_include_directories(external-qhull INTERFACE "${QHULL_DIR}/src")
|
||||
set_property(TARGET external-qhull PROPERTY FOLDER External)
|
||||
endif()
|
||||
|
||||
# u3d - optional, for io_u3d
|
||||
set(U3D_DIR ${EXTERNAL_DIR}/u3d)
|
||||
if(ALLOW_BUNDLED_U3D)
|
||||
message(STATUS "- u3d - using bundled source")
|
||||
|
||||
include("${U3D_DIR}/src/u3d.cmake")
|
||||
set_property(TARGET external-IDTFConverter PROPERTY FOLDER External)
|
||||
|
||||
# These sources were disabled in the .pro file: "${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/EngineWidget.cpp"
|
||||
# "${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp"
|
||||
# "${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Sphere.cpp"
|
||||
# "${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rendering/OpenGLRenderer.cpp"
|
||||
|
||||
#target_include_directories(external-IDTFConverter SYSTEM PUBLIC "${U3D_DIR}/IDTF")
|
||||
#set_property(TARGET external-IDTFConverter PROPERTY FOLDER External)
|
||||
endif()
|
||||
|
||||
# opengr - optional and header-only, for filter_globalregistration
|
||||
set(OPENGR_DIR ${EXTERNAL_DIR}/OpenGR)
|
||||
if(ALLOW_BUNDLED_OPENGR AND EXISTS "${OPENGR_DIR}/src/gr/algorithms/match4pcsBase.h")
|
||||
message(STATUS "- OpenGR - using bundled source")
|
||||
add_library(external-opengr INTERFACE)
|
||||
target_include_directories(external-opengr INTERFACE ${OPENGR_DIR}/src/)
|
||||
endif()
|
||||
|
||||
341
src/external/external.cmake
vendored
Normal file
341
src/external/external.cmake
vendored
Normal file
@ -0,0 +1,341 @@
|
||||
# Copyright 2019 Collabora, Ltd.
|
||||
# SPDX-License-Identifier: BSL-1.0
|
||||
|
||||
# GLEW - required
|
||||
set(GLEW_DIR ${EXTERNAL_DIR}/glew-2.1.0)
|
||||
if(TARGET GLEW::GLEW)
|
||||
message(STATUS "- glew - using system-provided library")
|
||||
add_library(external-glew INTERFACE)
|
||||
target_link_libraries(external-glew INTERFACE GLEW::GLEW)
|
||||
if(TARGET OpenGL::OpenGL)
|
||||
target_link_libraries(external-glew INTERFACE OpenGL::OpenGL)
|
||||
elseif(TARGET OpenGL::GL)
|
||||
target_link_libraries(external-glew INTERFACE OpenGL::GL)
|
||||
else()
|
||||
message(FATAL_ERROR "OpenGL not found or your CMake version is too old!")
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "- glew - using bundled source")
|
||||
add_library(external-glew STATIC "${GLEW_DIR}/src/glew.c")
|
||||
target_compile_definitions(external-glew PUBLIC GLEW_STATIC)
|
||||
target_include_directories(external-glew SYSTEM PUBLIC ${GLEW_DIR}/include)
|
||||
if(TARGET OpenGL::OpenGL)
|
||||
target_link_libraries(external-glew PUBLIC OpenGL::OpenGL)
|
||||
elseif(TARGET OpenGL::GL)
|
||||
target_link_libraries(external-glew PUBLIC OpenGL::GL)
|
||||
else()
|
||||
message(FATAL_ERROR "OpenGL not found or your CMake version is too old!")
|
||||
endif()
|
||||
if(TARGET OpenGL::GLX)
|
||||
target_link_libraries(external-glew PUBLIC OpenGL::GLX)
|
||||
endif()
|
||||
set_property(TARGET external-glew PROPERTY FOLDER External)
|
||||
endif()
|
||||
|
||||
# Eigen3 - required
|
||||
set(EIGEN_DIR ${VCGDIR}/eigenlib)
|
||||
if(EIGEN3_INCLUDE_DIR)
|
||||
message(STATUS "- Eigen - using system-provided library")
|
||||
set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR})
|
||||
else()
|
||||
message(STATUS "- Eigen - using bundled source")
|
||||
set(EIGEN_INCLUDE_DIRS ${EIGEN_DIR})
|
||||
endif()
|
||||
|
||||
# newuoa - optional and header-only, for several plugins including all that use levmar
|
||||
set(NEWUOA_DIR ${VCGDIR}/wrap/newuoa)
|
||||
message(STATUS "- newuoa - using bundled source")
|
||||
add_library(external-newuoa INTERFACE)
|
||||
target_include_directories(external-newuoa INTERFACE ${NEWUOA_DIR}/include)
|
||||
|
||||
# levmar - optional, for several plugins
|
||||
set(LEVMAR_DIR ${EXTERNAL_DIR}/levmar-2.3)
|
||||
message(STATUS "- levmar - using bundled source")
|
||||
add_library(
|
||||
external-levmar STATIC
|
||||
"${LEVMAR_DIR}/compiler.h"
|
||||
"${LEVMAR_DIR}/lm.h"
|
||||
"${LEVMAR_DIR}/misc.h"
|
||||
"${LEVMAR_DIR}/Axb.c"
|
||||
"${LEVMAR_DIR}/lm.c"
|
||||
"${LEVMAR_DIR}/lmbc.c"
|
||||
"${LEVMAR_DIR}/lmblec.c"
|
||||
"${LEVMAR_DIR}/lmlec.c"
|
||||
"${LEVMAR_DIR}/misc.c")
|
||||
target_include_directories(external-levmar PUBLIC ${LEVMAR_DIR})
|
||||
set_property(TARGET external-levmar PROPERTY FOLDER External)
|
||||
|
||||
# lib3ds - optional, for io_3ds
|
||||
set(LIB3DS_DIR ${EXTERNAL_DIR}/lib3ds-1.3.0)
|
||||
if(TARGET Lib3ds::Lib3ds)
|
||||
message(STATUS "- lib3ds - using system-provided library")
|
||||
add_library(external-lib3ds INTERFACE)
|
||||
target_link_libraries(external-lib3ds INTERFACE Lib3ds::Lib3ds)
|
||||
else()
|
||||
message(STATUS "- lib3ds - using bundled source")
|
||||
add_library(
|
||||
external-lib3ds STATIC
|
||||
"${LIB3DS_DIR}/lib3ds/atmosphere.c"
|
||||
"${LIB3DS_DIR}/lib3ds/atmosphere.h"
|
||||
"${LIB3DS_DIR}/lib3ds/background.c"
|
||||
"${LIB3DS_DIR}/lib3ds/background.h"
|
||||
"${LIB3DS_DIR}/lib3ds/camera.c"
|
||||
"${LIB3DS_DIR}/lib3ds/camera.h"
|
||||
"${LIB3DS_DIR}/lib3ds/chunk.c"
|
||||
"${LIB3DS_DIR}/lib3ds/chunk.h"
|
||||
"${LIB3DS_DIR}/lib3ds/chunktable.h"
|
||||
"${LIB3DS_DIR}/lib3ds/ease.c"
|
||||
"${LIB3DS_DIR}/lib3ds/ease.h"
|
||||
"${LIB3DS_DIR}/lib3ds/file.c"
|
||||
"${LIB3DS_DIR}/lib3ds/file.h"
|
||||
"${LIB3DS_DIR}/lib3ds/io.c"
|
||||
"${LIB3DS_DIR}/lib3ds/io.h"
|
||||
"${LIB3DS_DIR}/lib3ds/light.c"
|
||||
"${LIB3DS_DIR}/lib3ds/light.h"
|
||||
"${LIB3DS_DIR}/lib3ds/material.c"
|
||||
"${LIB3DS_DIR}/lib3ds/material.h"
|
||||
"${LIB3DS_DIR}/lib3ds/matrix.c"
|
||||
"${LIB3DS_DIR}/lib3ds/matrix.h"
|
||||
"${LIB3DS_DIR}/lib3ds/mesh.c"
|
||||
"${LIB3DS_DIR}/lib3ds/mesh.h"
|
||||
"${LIB3DS_DIR}/lib3ds/node.c"
|
||||
"${LIB3DS_DIR}/lib3ds/node.h"
|
||||
"${LIB3DS_DIR}/lib3ds/quat.c"
|
||||
"${LIB3DS_DIR}/lib3ds/quat.h"
|
||||
"${LIB3DS_DIR}/lib3ds/shadow.c"
|
||||
"${LIB3DS_DIR}/lib3ds/shadow.h"
|
||||
"${LIB3DS_DIR}/lib3ds/tcb.c"
|
||||
"${LIB3DS_DIR}/lib3ds/tcb.h"
|
||||
"${LIB3DS_DIR}/lib3ds/tracks.c"
|
||||
"${LIB3DS_DIR}/lib3ds/tracks.h"
|
||||
"${LIB3DS_DIR}/lib3ds/types.h"
|
||||
"${LIB3DS_DIR}/lib3ds/vector.c"
|
||||
"${LIB3DS_DIR}/lib3ds/vector.h"
|
||||
"${LIB3DS_DIR}/lib3ds/viewport.c"
|
||||
"${LIB3DS_DIR}/lib3ds/viewport.h")
|
||||
target_include_directories(external-lib3ds SYSTEM PUBLIC "${LIB3DS_DIR}")
|
||||
target_compile_definitions(external-lib3ds PUBLIC LIB3DS_STATIC)
|
||||
set_property(TARGET external-lib3ds PROPERTY FOLDER External)
|
||||
endif()
|
||||
|
||||
# gmp or mpir - optional, for filter_csg
|
||||
if(GMP_FOUND)
|
||||
message(STATUS "- GMP/MPIR - using system-provided GMP library")
|
||||
add_library(external-gmp INTERFACE)
|
||||
target_include_directories(external-gmp SYSTEM INTERFACE ${GMP_INCLUDE_DIRS})
|
||||
target_link_libraries(external-gmp INTERFACE ${GMP_LIBRARIES})
|
||||
else()
|
||||
# TODO set up external-mpir per-os for bundled mpir
|
||||
endif()
|
||||
|
||||
# muparser - optional, for filter_func
|
||||
set(MUPARSER_DIR ${EXTERNAL_DIR}/muparser_v225)
|
||||
if(TARGET muparser::muparser)
|
||||
message(STATUS "- muparser - using system-provided library")
|
||||
add_library(external-muparser INTERFACE)
|
||||
target_link_libraries(external-muparser INTERFACE muparser::muparser)
|
||||
else()
|
||||
message(STATUS "- muparser - using bundled source")
|
||||
add_library(
|
||||
external-muparser STATIC
|
||||
"${MUPARSER_DIR}/src/muParser.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserBase.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserBytecode.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserCallback.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserDLL.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserError.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserInt.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserTest.cpp"
|
||||
"${MUPARSER_DIR}/src/muParserTokenReader.cpp")
|
||||
target_include_directories(external-muparser SYSTEM PUBLIC ${MUPARSER_DIR}/include)
|
||||
target_compile_definitions(external-muparser PUBLIC _UNICODE)
|
||||
set_property(TARGET external-muparser PROPERTY FOLDER External)
|
||||
endif()
|
||||
|
||||
# OpenCTM - optional, for io_ctm
|
||||
set(OPENCTM_DIR ${EXTERNAL_DIR}/OpenCTM-1.0.3)
|
||||
if(TARGET OpenCTM::OpenCTM)
|
||||
message(STATUS "- OpenCTM - using system-provided library")
|
||||
add_library(external-openctm INTERFACE)
|
||||
target_link_libraries(external-openctm INTERFACE OpenCTM::OpenCTM)
|
||||
else()
|
||||
message(STATUS "- OpenCTM - using bundled source")
|
||||
# Modified liblzma included - can't build against system version
|
||||
add_library(
|
||||
external-openctm STATIC
|
||||
"${OPENCTM_DIR}/lib/openctm.c"
|
||||
"${OPENCTM_DIR}/lib/stream.c"
|
||||
"${OPENCTM_DIR}/lib/compressRAW.c"
|
||||
"${OPENCTM_DIR}/lib/compressMG1.c"
|
||||
"${OPENCTM_DIR}/lib/compressMG2.c"
|
||||
"${OPENCTM_DIR}/lib/liblzma/Alloc.c"
|
||||
"${OPENCTM_DIR}/lib/liblzma/LzFind.c"
|
||||
"${OPENCTM_DIR}/lib/liblzma/LzmaDec.c"
|
||||
"${OPENCTM_DIR}/lib/liblzma/LzmaEnc.c"
|
||||
"${OPENCTM_DIR}/lib/liblzma/LzmaLib.c")
|
||||
target_compile_definitions(external-openctm PUBLIC OPENCTM_STATIC)
|
||||
target_include_directories(
|
||||
external-openctm SYSTEM
|
||||
PUBLIC "${OPENCTM_DIR}/lib" SYSTEM
|
||||
PRIVATE "${OPENCTM_DIR}/lib/liblzma")
|
||||
if(MSVC)
|
||||
target_compile_definitions(external-openctm PRIVATE _CRT_SECURE_NO_WARNINGS)
|
||||
endif()
|
||||
set_property(TARGET external-openctm PROPERTY FOLDER External)
|
||||
endif()
|
||||
|
||||
# structure-synth - optional, for filter_ssynth
|
||||
set(SSYNTH_DIR ${EXTERNAL_DIR}/structuresynth-1.5)
|
||||
message(STATUS "- structure-synth - using bundled source")
|
||||
# Can't use a system version because using StructureSynth as a library is not common
|
||||
add_library(
|
||||
external-ssynth STATIC
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Action.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/AmbiguousRule.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Builder.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/ColorPool.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/CustomRule.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/ExecutionStack.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/PrimitiveClass.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/PrimitiveRule.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/RandomStreams.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rule.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/RuleRef.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/RuleSet.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/State.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Transformation.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/TransformationLoop.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Parser/EisenParser.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Parser/Preprocessor.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Parser/Tokenizer.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Exceptions/Exception.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Box.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Dot.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/EngineWidget.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Grid.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Line.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Mesh.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Object3D.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/AtomicCounter.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/RenderThread.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/Sampler.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/RaytraceTriangle.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Sphere.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Triangle.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Logging/ListWidgetLogger.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Logging/Logging.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Math/Matrix4.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Math/Random.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Math/Vector3.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/ColorUtils.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/MiniParser.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/Persistence.h"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/Version.h"
|
||||
"${SSYNTH_DIR}/ssynth/ThirdPartyCode/MersenneTwister/MersenneTwister.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rendering/OpenGLRenderer.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rendering/Renderer.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rendering/TemplateRenderer.h"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Action.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/AmbiguousRule.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Builder.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/ColorPool.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/CustomRule.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/ExecutionStack.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/PrimitiveClass.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/PrimitiveRule.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/RandomStreams.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rule.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/RuleRef.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/RuleSet.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/State.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Transformation.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/TransformationLoop.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Parser/EisenParser.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Parser/Preprocessor.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Parser/Tokenizer.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Box.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Dot.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Grid.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Line.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Mesh.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Object3D.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/AtomicCounter.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/RenderThread.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/Sampler.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/RaytraceTriangle.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Triangle.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Logging/ListWidgetLogger.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Logging/Logging.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Math/Matrix4.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Math/Random.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Math/Vector3.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/ColorUtils.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/MiniParser.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/Persistence.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/SyntopiaCore/Misc/Version.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rendering/Renderer.cpp"
|
||||
"${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rendering/TemplateRenderer.cpp")
|
||||
|
||||
# These sources were disabled in the .pro file: "${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/EngineWidget.cpp"
|
||||
# "${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp"
|
||||
# "${SSYNTH_DIR}/ssynth/SyntopiaCore/GLEngine/Sphere.cpp"
|
||||
# "${SSYNTH_DIR}/ssynth/StructureSynth/Model/Rendering/OpenGLRenderer.cpp"
|
||||
target_include_directories(external-ssynth SYSTEM PUBLIC "${SSYNTH_DIR}/ssynth")
|
||||
target_link_libraries(external-ssynth PRIVATE Qt5::Core Qt5::Xml Qt5::OpenGL OpenGL::GLU)
|
||||
set_property(TARGET external-ssynth PROPERTY FOLDER External)
|
||||
|
||||
# qhull - optional, for filter_qhull
|
||||
set(QHULL_DIR ${EXTERNAL_DIR}/qhull-2003.1)
|
||||
if(TARGET Qhull::libqhull)
|
||||
message(STATUS "- qhull - using system-provided library")
|
||||
add_library(external-qhull INTERFACE)
|
||||
target_link_libraries(external-qhull INTERFACE Qhull::libqhull)
|
||||
target_compile_definitions(external-qhull INTERFACE SYSTEM_QHULL)
|
||||
target_include_directories(external-qhull INTERFACE ${QHULL_libqhull_INCLUDE_DIR}/libqhull)
|
||||
else()
|
||||
message(STATUS "- qhull - using bundled source")
|
||||
add_library(
|
||||
external-qhull STATIC
|
||||
"${QHULL_DIR}/src/geom2.c"
|
||||
"${QHULL_DIR}/src/global.c"
|
||||
"${QHULL_DIR}/src/io.c"
|
||||
"${QHULL_DIR}/src/io.h"
|
||||
"${QHULL_DIR}/src/mem.c"
|
||||
"${QHULL_DIR}/src/mem.h"
|
||||
"${QHULL_DIR}/src/merge.c"
|
||||
"${QHULL_DIR}/src/merge.h"
|
||||
"${QHULL_DIR}/src/poly.c"
|
||||
"${QHULL_DIR}/src/poly.h"
|
||||
"${QHULL_DIR}/src/poly2.c"
|
||||
"${QHULL_DIR}/src/qconvex.c"
|
||||
"${QHULL_DIR}/src/qhull.c"
|
||||
"${QHULL_DIR}/src/qhull.h"
|
||||
"${QHULL_DIR}/src/qset.c"
|
||||
"${QHULL_DIR}/src/qset.h"
|
||||
"${QHULL_DIR}/src/stat.c"
|
||||
"${QHULL_DIR}/src/stat.h"
|
||||
"${QHULL_DIR}/src/geom.c"
|
||||
"${QHULL_DIR}/src/geom.h"
|
||||
"${QHULL_DIR}/src/user.c"
|
||||
"${QHULL_DIR}/src/user.h")
|
||||
target_include_directories(external-qhull INTERFACE "${QHULL_DIR}/src")
|
||||
set_property(TARGET external-qhull PROPERTY FOLDER External)
|
||||
endif()
|
||||
|
||||
# u3d - optional, for io_u3d
|
||||
set(U3D_DIR ${EXTERNAL_DIR}/u3d)
|
||||
message(STATUS "- u3d - using bundled source")
|
||||
include("${U3D_DIR}/src/u3d.cmake")
|
||||
set_property(TARGET external-IDTFConverter PROPERTY FOLDER External)
|
||||
#target_include_directories(external-IDTFConverter SYSTEM PUBLIC "${U3D_DIR}/IDTF")
|
||||
#set_property(TARGET external-IDTFConverter PROPERTY FOLDER External)
|
||||
|
||||
# opengr - optional and header-only, for filter_globalregistration
|
||||
set(OPENGR_DIR ${EXTERNAL_DIR}/OpenGR)
|
||||
message(STATUS "- OpenGR - using bundled source")
|
||||
add_library(external-opengr INTERFACE)
|
||||
target_include_directories(external-opengr INTERFACE ${OPENGR_DIR}/src/)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user