197 lines
10 KiB
CMake
Executable File
197 lines
10 KiB
CMake
Executable File
cmake_minimum_required(VERSION 3.27)
|
|
project(z3d)
|
|
|
|
set(CMAKE_CXX_STANDARD 23)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Ofast -pedantic -Wall -Werror ")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmacro-prefix-map=${CMAKE_CURRENT_SOURCE_DIR}/=")
|
|
|
|
add_executable(z3d main.cpp
|
|
include/assets/components/material_components.hpp
|
|
include/assets/components/point_cloud_vertex_components.hpp
|
|
include/assets/components/mesh_vertex_components.hpp
|
|
include/assets/dynamic_read_buffers/dynamic_material_buffer.hpp
|
|
include/assets/dynamic_read_buffers/dynamic_mesh_buffer.hpp
|
|
include/assets/dynamic_read_buffers/dynamic_point_cloud_buffer.hpp
|
|
include/assets/data_loaders/kitti_loader.hpp
|
|
include/assets/data_loaders/obj_loader.hpp
|
|
include/assets/data_loaders/stl_loader.hpp
|
|
include/assets/data_loaders/uos_loader.hpp
|
|
include/assets/components/mesh_vertex_components.hpp
|
|
include/scene/camera.hpp
|
|
include/scene/flying_camera.hpp
|
|
include/opengl/handles/mesh_handle.hpp
|
|
include/opengl/handles/point_cloud_handle.hpp
|
|
include/opengl/handles/shader_program_handle.hpp
|
|
include/opengl/handles/texture_handle.hpp
|
|
include/opengl/data/mesh_data.hpp
|
|
include/opengl/data/point_cloud_data.hpp
|
|
include/opengl/data/shader_program_data.hpp
|
|
include/opengl/data/texture_data.hpp
|
|
include/scene/lighting_setup.hpp
|
|
include/rendering/batch_renderers/mesh_batch_renderer.hpp
|
|
include/opengl/error.hpp
|
|
include/rendering/batches/mesh_batch.hpp
|
|
include/rendering/batches/point_cloud_batch.hpp
|
|
include/util/arx.hpp
|
|
include/util/extra_arx_parsers.hpp
|
|
include/util/for_each.hpp
|
|
include/util/function.hpp
|
|
include/util/image.hpp
|
|
include/util/logger.hpp
|
|
include/util/string_indexer.hpp
|
|
include/util/string_literal.hpp
|
|
include/util/uix.hpp
|
|
source/assets/data_loaders/stl_loader.cpp
|
|
source/assets/data_loaders/obj_loader.cpp
|
|
source/scene/flying_camera.cpp
|
|
source/opengl/data/point_cloud_data.cpp
|
|
source/opengl/handles/shader_program_handle.ipp
|
|
source/opengl/data/texture_data.ipp
|
|
source/opengl/data/mesh_data.cpp
|
|
include/opengl/error.hpp
|
|
source/opengl/data/shader_program_data.cpp
|
|
source/opengl/handles/mesh_handle.ipp
|
|
source/opengl/handles/point_cloud_handle.ipp
|
|
source/opengl/handles/texture_handle.ipp
|
|
include/assets/data/surface_properties.hpp
|
|
include/util/unroll_bool_template.hpp
|
|
include/rendering/batch_renderers/point_cloud_batch_renderer.hpp
|
|
source/rendering/batches/mesh_batch.ipp
|
|
source/rendering/batches/point_cloud_batch.ipp
|
|
include/opengl/shader_program_variable.hpp
|
|
include/opengl/type_utils.hpp
|
|
include/util/binary_ifstream.hpp
|
|
source/assets/data_loaders/kitti_loader.cpp
|
|
include/assets/data_loaders/generic/generic_3dtk_loader.hpp
|
|
include/assets/data_loaders/uosr_loader.hpp
|
|
include/assets/data_loaders/uos_normal_loader.hpp
|
|
include/assets/data_loaders/uos_rgb_loader.hpp
|
|
include/assets/dynamic_data_loaders/dynamic_mesh_loader.hpp
|
|
source/assets/dynamic_data_loaders/dynamic_mesh_loader.cpp
|
|
source/assets/dynamic_data_loaders/dynamic_mesh_loader.cpp
|
|
include/assets/dynamic_data_loaders/dynamic_point_cloud_loader.hpp
|
|
include/assets/dynamic_data_loaders/generic/base_dynamic_loader.hpp
|
|
source/assets/dynamic_data_loaders/generic/base_dynamic_loader.ipp
|
|
source/assets/dynamic_data_loaders/dynamic_point_cloud_loader.cpp
|
|
include/opengl/handles/matrix_handles.hpp
|
|
include/viewer/instance.hpp
|
|
include/opengl/data/material_data.hpp
|
|
include/opengl/handles/material_handle.hpp
|
|
include/opengl/handles/surface_properties_handle.hpp
|
|
include/opengl/handles/alpha_handle.hpp
|
|
source/opengl/data/material_data.ipp
|
|
include/util/specialised_lambda.hpp
|
|
include/viewer/asset_types.hpp
|
|
source/viewer/instance.cpp
|
|
include/viewer/asset_loader.hpp
|
|
source/viewer/asset_loader.cpp
|
|
include/assets/data_loaders/glsl_loader.hpp
|
|
include/assets/dynamic_read_buffers/dynamic_shader_buffer.hpp
|
|
source/assets/data_loaders/glsl_loader.cpp
|
|
include/viewer/settings.hpp
|
|
include/opengl/data/shader_data.hpp
|
|
source/opengl/data/shader_data.ipp
|
|
source/opengl/data/point_cloud_data.ipp
|
|
source/opengl/data/shader_data.cpp
|
|
include/opengl/handles/shader_handle.hpp
|
|
include/util/string_lookup.hpp
|
|
include/viewer/dynamic_shader_program_loading.hpp
|
|
source/viewer/dynamic_shader_program_loading.cpp
|
|
source/opengl/handles/shader_program_handle.cpp
|
|
include/opengl/shader_program_lookup.hpp
|
|
source/opengl/shader_program_lookup.cpp
|
|
include/shader_program/attributes/mesh_attributes.hpp
|
|
include/shader_program/attributes/point_cloud_attributes.hpp
|
|
include/shader_program/uniforms/mesh_uniforms.hpp
|
|
include/shader_program/uniforms/point_cloud_uniforms.hpp
|
|
include/shader_program/capabilities/mesh_capabilities.hpp
|
|
include/shader_program/capabilities/point_cloud_capabilities.hpp
|
|
include/rendering/requirements/mesh_requirements.hpp
|
|
include/rendering/requirements/point_cloud_requirements.hpp
|
|
include/rendering/modes/mesh_modes.hpp
|
|
include/rendering/modes/point_cloud_modes.hpp
|
|
source/rendering/batch_renderers/mesh_batch_renderer.cpp
|
|
source/rendering/batch_renderers/point_cloud_batch_renderer.cpp
|
|
include/rendering/shader_program_lookups/mesh_lookup.hpp
|
|
include/rendering/shader_program_lookups/mesh_lookup.hpp
|
|
source/rendering/shader_program_lookups/mesh_lookup.cpp
|
|
source/rendering/shader_program_lookups/point_cloud_lookup.cpp
|
|
include/rendering/shader_program_lookups/point_cloud_lookup.hpp
|
|
include/geometry/aabb.hpp
|
|
source/geometry/normal_estimation.cpp
|
|
include/geometry/normal_estimation.hpp
|
|
include/assets/components/texture_components.hpp
|
|
include/util/enum_operators.hpp
|
|
include/assets/dynamic_read_buffers/dynamic_texture_buffer.hpp
|
|
source/assets/dynamic_read_buffers/dynamic_mesh_buffer.ipp
|
|
source/assets/dynamic_read_buffers/dynamic_material_buffer.ipp
|
|
include/assets/dynamic_read_buffers/dynamic_vertex_buffer.hpp
|
|
source/assets/dynamic_read_buffers/dynamic_model_buffer.ipp
|
|
source/assets/dynamic_read_buffers/dynamic_texture_buffer.ipp
|
|
source/assets/dynamic_read_buffers/dynamic_point_cloud_buffer.ipp
|
|
include/assets/data_loaders/mtl_loader.hpp
|
|
include/assets/dynamic_data_loaders/dynamic_material_loader.hpp
|
|
include/util/id_type.hpp
|
|
include/assets/dynamic_data_stores/generic/generic_dynamic_store.hpp
|
|
source/assets/dynamic_data_stores/generic/generic_dynamic_store.ipp
|
|
include/assets/dynamic_data_stores/dynamic_material_store.hpp
|
|
include/assets/dynamic_data_stores/dynamic_mesh_store.hpp
|
|
include/assets/dynamic_data_stores/dynamic_point_cloud_store.hpp
|
|
include/util/result.hpp
|
|
source/assets/data_loaders/mtl_loader.cpp
|
|
include/util/line_parser.hpp
|
|
include/assets/dynamic_data_loaders/dynamic_texture_loader.hpp
|
|
source/assets/dynamic_data_loaders/dynamic_texture_loader.cpp
|
|
include/assets/dynamic_data_stores/dynamic_texture_store.hpp
|
|
include/opengl/data_uploaders/texture_data_uploader.hpp
|
|
include/assets/dynamic_data_stores/dynamic_vertex_store.hpp
|
|
include/assets/prefetch_lookups/mesh_prefetch_lookup.hpp
|
|
include/assets/prefetch_lookups/point_cloud_prefetch_lookup.hpp
|
|
include/assets/prefetch_lookups/material_prefetch_lookup.hpp
|
|
include/assets/prefetch_lookups/texture_prefetch_lookup.hpp
|
|
include/assets/prefetch_lookups/pose_prefetch_lookup.hpp
|
|
include/assets/dynamic_data_stores/dynamic_pose_store.hpp
|
|
include/assets/data_loaders/kitti_pose_loader.hpp
|
|
include/assets/data_loaders/threedtk_pose_loader.hpp
|
|
source/assets/data_loaders/threedtk_pose_loader.cpp
|
|
include/assets/dynamic_read_buffers/dynamic_pose_buffer.hpp
|
|
source/assets/data_loaders/kitti_pose_loader.cpp
|
|
include/assets/prefetch_queue.hpp
|
|
include/util/string_list.hpp
|
|
include/assets/dynamic_data_stores/dynamic_material_library_store.hpp
|
|
include/assets/dynamic_data_stores/generic/generic_dynamic_component_store.hpp
|
|
source/assets/dynamic_data_stores/generic/generic_dynamic_component_store.ipp
|
|
source/assets/dynamic_data_stores/dynamic_material_store.cpp
|
|
include/assets/dynamic_data_stores/generic/generic_dynamic_component_array_store.hpp
|
|
source/assets/dynamic_data_stores/generic/generic_dynamic_component_array_store.ipp
|
|
source/assets/dynamic_data_stores/dynamic_mesh_store.cpp
|
|
include/assets/dynamic_data_stores/generic/generic_dynamic_indexed_component_array_store.hpp
|
|
source/assets/dynamic_data_stores/dynamic_point_cloud_store.cpp
|
|
include/assets/dynamic_read_buffers/dynamic_material_library_buffer.hpp
|
|
include/assets/dynamic_data_loaders/dynamic_material_library_loader.hpp
|
|
include/assets/prefetch_lookups/material_library_prefetch_lookup.hpp
|
|
include/assets/prefetch_lookups/shader_prefetch_lookup.hpp
|
|
include/assets/dynamic_data_stores/dynamic_shader_store.hpp
|
|
include/assets/data_loaders/generic/generic_3dtk_loader.hpp
|
|
source/assets/data_loaders/generic/generic_3dtk_loader.ipp
|
|
include/assets/prefetch_lookup.hpp
|
|
source/assets/prefetch_lookups/pose_prefetch_lookup.cpp
|
|
include/assets/dynamic_data_store.hpp
|
|
)
|
|
|
|
target_include_directories(z3d PRIVATE include)
|
|
target_include_directories(z3d PRIVATE source) # for ipp headers
|
|
target_include_directories(z3d PRIVATE libraries/include/glm)
|
|
target_include_directories(z3d PRIVATE libraries/include/stb)
|
|
|
|
find_package(GLEW REQUIRED)
|
|
find_package(OpenGL REQUIRED)
|
|
find_package(SFML REQUIRED COMPONENTS graphics system)
|
|
find_package(Eigen3 3.4 REQUIRED NO_MODULE)
|
|
|
|
include_directories(${SFML_INCLUDE_DIR})
|
|
include_directories(SYSTEM ${eigen_INCLUDE_DIR})
|
|
target_link_libraries(z3d Eigen3::Eigen sfml-graphics sfml-system sfml-window ${OPENGL_LIBRARIES} ${GLEW_LIBRARIES})
|