TalkSHOW / mesh-master /mesh /CMakeLists.txt
feifeifeiliu's picture
first version
865fd8a
raw
history blame
2.75 kB
# Copyright 2016, Max Planck Society.
# Not licensed
# author Raffi Enficiaud
cmake_minimum_required (VERSION 2.8.12)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
enable_testing()
project(Mesh)
add_custom_target(cmake_files SOURCES
cmake/python_helper.cmake
cmake/thirdparty.cmake
src/hijack_python_headers.hpp)
include(cmake/thirdparty.cmake)
include(cmake/python_helper.cmake)
include_directories(${PYTHON_INCLUDE_PATH})
set(MESHPYTHON_SRC
__init__.py
mesh.py
meshviewer.py
colors.py
search.py
)
# for convenience
add_custom_target(MeshPython SOURCES ${MESHPYTHON_SRC})
# aabb_normals
# CGAL_NDEBUG removes calls to logging, warning and error functions that would need
# a link to the CGAL libraries
# CGAL_HAS_NO_THREADS removes the thread safety of the AABB tree with the advantage
# of removing the dependency to boost::thread (and indirectly boost::system compiled library)
# MESH_CGAL_AVOID_COMPILED_VERSION is a define of our own in order to hack a remaining
# log of error without the need to include CGAL generated libraries
# CGAL_NO_AUTOLINK_CGA prevents autolinking on Visual
set(DEFINES_MESH_EXTENSIONS_WITH_CGAL_WITHOUT_LINK
-DCGAL_NDEBUG=1
-DMESH_CGAL_AVOID_COMPILED_VERSION=1
-DCGAL_HAS_NO_THREADS=1
-DCGAL_NO_AUTOLINK_CGAL=1)
python_add_library(TARGET aabb_normals SOURCES
src/cgal_error_emulation.hpp
src/AABB_n_tree.h
src/aabb_normals.cpp)
set_property(TARGET aabb_normals PROPERTY FOLDER "GeometryExt/")
target_include_directories(aabb_normals PRIVATE
${libcgalroot}/include
${NUMPY_INCLUDE_PATH}
${Boost_INCLUDE_DIRS})
target_compile_definitions(aabb_normals PRIVATE
${DEFINES_MESH_EXTENSIONS_WITH_CGAL_WITHOUT_LINK})
# spatial search
python_add_library(TARGET spatialsearch SOURCES
src/cgal_error_emulation.hpp
src/nearest_point_triangle_3.h
src/nearest_triangle_normals.hpp
src/nearest_triangle.hpp
src/spatialsearchmodule.cpp
)
set_property(TARGET spatialsearch PROPERTY FOLDER "GeometryExt/")
target_include_directories(spatialsearch PRIVATE
${libcgalroot}/include
${NUMPY_INCLUDE_PATH}
${Boost_INCLUDE_DIRS})
target_compile_definitions(spatialsearch PRIVATE
${DEFINES_MESH_EXTENSIONS_WITH_CGAL_WITHOUT_LINK})
# serialization extensions
# plyutils
python_add_library(TARGET plyutils SOURCES
src/plyutils.h
src/plyutils.c
src/rply.h
src/rply.c)
set_property(TARGET plyutils PROPERTY FOLDER "SerializationExt/")
# loadobj
python_add_library(TARGET loadobj SOURCES src/py_loadobj.cpp)
target_include_directories(loadobj PRIVATE
${NUMPY_INCLUDE_PATH}
${Boost_INCLUDE_DIRS})
set_property(TARGET loadobj PROPERTY FOLDER "SerializationExt/")