1- cmake_minimum_required (VERSION 3.10 )
1+ cmake_minimum_required (VERSION 3.16 )
22project (teaserpp VERSION 1.0.0)
33
44set (CMAKE_CXX_STANDARD 14)
@@ -18,10 +18,11 @@ if (DEFINED SKBUILD)
1818endif ()
1919
2020# Options
21+ option (BUILD_SHARED_LIBS "Build shared libraries" ON )
2122option (BUILD_TESTS "Build tests" ON )
2223option (BUILD_TEASER_FPFH "Build TEASER++ wrappers for PCL FPFH estimation." OFF )
2324option (BUILD_MATLAB_BINDINGS "Build MATLAB bindings" OFF )
24- option (BUILD_PYTHON_BINDINGS "Build Python bindings" ON )
25+ option (BUILD_PYTHON_BINDINGS "Build Python bindings" OFF )
2526option (BUILD_DOC "Build documentation" ON )
2627option (BUILD_WITH_MARCH_NATIVE "Build with flag march=native" OFF )
2728option (ENABLE_MKL "Try to use Eigen with MKL" OFF )
@@ -32,11 +33,6 @@ if (ENABLE_DIAGNOSTIC_PRINT)
3233 add_definitions (-DTEASER_DIAG_PRINT)
3334endif ()
3435
35- # Cache Variables
36- if (NOT TEASERPP_PYTHON_VERSION)
37- set (TEASERPP_PYTHON_VERSION "" CACHE STRING "Python version to use for TEASER++ bindings." )
38- endif ()
39-
4036# Find dependencies
4137# Eigen3
4238find_package (Eigen3 3.2 QUIET REQUIRED NO_MODULE)
@@ -78,44 +74,6 @@ if (BUILD_TEASER_FPFH)
7874 endif ()
7975endif ()
8076
81- # googletest
82- configure_file (cmake/GoogleTest.CMakeLists.txt.in googletest-download/CMakeLists.txt)
83- execute_process (COMMAND "${CMAKE_COMMAND} " -G "${CMAKE_GENERATOR} " .
84- WORKING_DIRECTORY "${CMAKE_BINARY_DIR} /googletest-download" )
85- execute_process (COMMAND "${CMAKE_COMMAND} " --build .
86- WORKING_DIRECTORY "${CMAKE_BINARY_DIR} /googletest-download" )
87- set (gtest_force_shared_crt ON CACHE BOOL "" FORCE)
88- add_subdirectory ("${CMAKE_BINARY_DIR} /googletest-src"
89- "${CMAKE_BINARY_DIR} /googletest-build" EXCLUDE_FROM_ALL )
90-
91- # pmc (Parallel Maximum Clique)
92- configure_file (cmake/pmc.CMakeLists.txt.in pmc-download/CMakeLists.txt)
93- execute_process (COMMAND "${CMAKE_COMMAND} " -G "${CMAKE_GENERATOR} " .
94- WORKING_DIRECTORY "${CMAKE_BINARY_DIR} /pmc-download" )
95- execute_process (COMMAND "${CMAKE_COMMAND} " --build .
96- WORKING_DIRECTORY "${CMAKE_BINARY_DIR} /pmc-download" )
97- add_subdirectory ("${CMAKE_BINARY_DIR} /pmc-src"
98- "${CMAKE_BINARY_DIR} /pmc-build" )
99-
100- # tinyply
101- configure_file (cmake/tinyply.CMakeLists.txt.in tinyply-download/CMakeLists.txt)
102- execute_process (COMMAND "${CMAKE_COMMAND} " -G "${CMAKE_GENERATOR} " .
103- WORKING_DIRECTORY "${CMAKE_BINARY_DIR} /tinyply-download" )
104- execute_process (COMMAND "${CMAKE_COMMAND} " --build .
105- WORKING_DIRECTORY "${CMAKE_BINARY_DIR} /tinyply-download" )
106- add_subdirectory ("${CMAKE_BINARY_DIR} /tinyply-src"
107- "${CMAKE_BINARY_DIR} /tinyply-build" )
108- target_include_directories (tinyply PUBLIC
109- $<BUILD_INTERFACE:${CMAKE_BINARY_DIR} /tinyply-src/source >)
110-
111- # spectra
112- configure_file (cmake/spectra.CMakeLists.txt.in spectra-download/CMakeLists.txt)
113- execute_process (COMMAND "${CMAKE_COMMAND} " -G "${CMAKE_GENERATOR} " .
114- WORKING_DIRECTORY "${CMAKE_BINARY_DIR} /spectra-download" )
115- execute_process (COMMAND "${CMAKE_COMMAND} " --build .
116- WORKING_DIRECTORY "${CMAKE_BINARY_DIR} /spectra-download" )
117- set (SPECTRA_INCLUDE_DIRS "${CMAKE_BINARY_DIR} /spectra-src/include" )
118-
11977# Building Targets
12078set (TEASERPP_ROOT ${CMAKE_CURRENT_LIST_DIR} )
12179add_subdirectory (teaser)
@@ -135,17 +93,6 @@ if (BUILD_MATLAB_BINDINGS)
13593endif ()
13694
13795if (BUILD_PYTHON_BINDINGS)
138- set (PYBIND11_PYTHON_VERSION ${TEASERPP_PYTHON_VERSION} )
139-
140- # download the pybind11 repo
141- configure_file (cmake/pybind11.CMakeLists.txt.in pybind11-download/CMakeLists.txt)
142- execute_process (COMMAND "${CMAKE_COMMAND} " -G "${CMAKE_GENERATOR} " .
143- WORKING_DIRECTORY "${CMAKE_BINARY_DIR} /pybind11-download" )
144- execute_process (COMMAND "${CMAKE_COMMAND} " --build .
145- WORKING_DIRECTORY "${CMAKE_BINARY_DIR} /pybind11-download" )
146- add_subdirectory ("${CMAKE_BINARY_DIR} /pybind11-src"
147- "${CMAKE_BINARY_DIR} /pybind11-build" )
148-
14996 message (STATUS "TEASER++ Python binding will be built." )
15097 add_subdirectory (python)
15198endif ()
0 commit comments