16
16
list (PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR} /cmake)
17
17
endif ()
18
18
19
- option (BUILD_CPP_EXAMPLES "Build C++ example codes, which require Open3D for visualization" OFF )
19
+ option (INCLUDE_CPP_EXAMPLES "Include C++ example codes, which require Open3D for visualization" OFF )
20
20
21
21
# Parameters in `patchworkpp` subdirectory.
22
22
# Thus, link should be `patchworkpp::ground_seg_cores`
@@ -25,28 +25,38 @@ set(TARGET_NAME ground_seg_cores)
25
25
26
26
add_subdirectory (patchworkpp)
27
27
28
- if (BUILD_CPP_EXAMPLES)
29
- list (APPEND Open3D_LIBRARIES dl)
30
- set (INCLUDE_EXAMPLES ON CACHE BOOL "Build examples" )
28
+ if (INCLUDE_CPP_EXAMPLES)
29
+ if (CMAKE_VERSION VERSION_LESS "3.15" )
30
+ # Just automatically update cmake version
31
+ execute_process (COMMAND bash ../scripts/install_latest.cmake.bash
32
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
33
+ endif ()
31
34
32
- if (INCLUDE_EXAMPLES )
35
+ list ( APPEND Open3D_LIBRARIES dl )
33
36
34
- message (STATUS "Building examples for c++" )
37
+ message (STATUS "Building examples for c++" )
38
+ find_package (Open3D QUIET )
39
+ if (NOT Open3D_FOUND)
40
+ message (STATUS "Open3D not found, installing Open3D..." )
41
+ execute_process (COMMAND bash ../scripts/install_open3d.bash
42
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
35
43
find_package (Open3D REQUIRED HINTS ${CMAKE_INSTALL_PREFIX} /lib/CMake)
36
-
37
- list (APPEND Open3D_LIBRARIES dl)
38
- link_directories (${Open3D_LIBRARY_DIRS} )
44
+ else ()
39
45
message (STATUS "Found Open3D ${Open3D_VERSION} " )
46
+ endif ()
47
+
48
+ list (APPEND Open3D_LIBRARIES dl)
49
+ link_directories (${Open3D_LIBRARY_DIRS} )
50
+ message (STATUS "Found Open3D ${Open3D_VERSION} " )
40
51
41
- add_executable (demo_visualize ${CMAKE_CURRENT_SOURCE_DIR} /patchworkpp/examples/demo_visualize.cpp)
42
- target_link_libraries (demo_visualize PRIVATE ${PARENT_PROJECT_NAME} ::${TARGET_NAME} ${Open3D_LIBRARIES} "stdc++fs" )
43
- target_include_directories (demo_visualize PUBLIC ${Open3D_INCLUDE_DIRS} )
44
- set_target_properties (demo_visualize PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /examples" )
52
+ add_executable (demo_visualize ${CMAKE_CURRENT_SOURCE_DIR} /patchworkpp/examples/demo_visualize.cpp)
53
+ target_link_libraries (demo_visualize PRIVATE ${PARENT_PROJECT_NAME} ::${TARGET_NAME} ${Open3D_LIBRARIES} "stdc++fs" )
54
+ target_include_directories (demo_visualize PUBLIC ${Open3D_INCLUDE_DIRS} )
55
+ set_target_properties (demo_visualize PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /examples" )
45
56
46
- add_executable (demo_sequential ${CMAKE_CURRENT_SOURCE_DIR} /patchworkpp/examples/demo_sequential.cpp)
47
- target_link_libraries (demo_sequential PRIVATE ${PARENT_PROJECT_NAME} ::${TARGET_NAME} ${Open3D_LIBRARIES} "stdc++fs" )
48
- target_include_directories (demo_sequential PUBLIC ${Open3D_INCLUDE_DIRS} )
49
- set_target_properties (demo_sequential PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /examples" )
57
+ add_executable (demo_sequential ${CMAKE_CURRENT_SOURCE_DIR} /patchworkpp/examples/demo_sequential.cpp)
58
+ target_link_libraries (demo_sequential PRIVATE ${PARENT_PROJECT_NAME} ::${TARGET_NAME} ${Open3D_LIBRARIES} "stdc++fs" )
59
+ target_include_directories (demo_sequential PUBLIC ${Open3D_INCLUDE_DIRS} )
60
+ set_target_properties (demo_sequential PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /examples" )
50
61
51
- endif ()
52
62
endif ()
0 commit comments