1
1
cmake_minimum_required(VERSION 3.11)
2
- project(PATCHWORK VERSION 1.0.0)
2
+ project(patchworkpp VERSION 1.0.0)
3
3
4
4
set(CMAKE_CXX_STANDARD 20)
5
5
set(PYTHON_EXECUTABLE python3)
6
6
set(CMAKE_BUILD_TYPE Release)
7
7
8
-
9
8
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${Open3D_C_FLAGS}")
10
9
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Open3D_CXX_FLAGS}")
11
10
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${Open3D_EXE_LINKER_FLAGS}")
@@ -17,30 +16,37 @@ else()
17
16
list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
18
17
endif()
19
18
19
+ option(BUILD_CPP_EXAMPLES "Build C++ example codes, which require Open3D for visualization" OFF)
20
20
21
- list(APPEND Open3D_LIBRARIES dl)
21
+ # Parameters in `patchworkpp` subdirectory.
22
+ # Thus, link should be `patchworkpp::ground_seg_cores`
23
+ set(PARENT_PROJECT_NAME ${PROJECT_NAME})
24
+ set(TARGET_NAME ground_seg_cores)
22
25
23
26
add_subdirectory(patchworkpp)
24
27
25
- set(INCLUDE_EXAMPLES ON CACHE BOOL "Build examples")
28
+ if (BUILD_CPP_EXAMPLES)
29
+ list(APPEND Open3D_LIBRARIES dl)
30
+ set(INCLUDE_EXAMPLES ON CACHE BOOL "Build examples")
26
31
27
- if (INCLUDE_EXAMPLES)
32
+ if (INCLUDE_EXAMPLES)
28
33
29
- message(STATUS "Building examples for c++")
30
- find_package(Open3D REQUIRED HINTS ${CMAKE_INSTALL_PREFIX}/lib/CMake)
34
+ message(STATUS "Building examples for c++")
35
+ find_package(Open3D REQUIRED HINTS ${CMAKE_INSTALL_PREFIX}/lib/CMake)
31
36
32
- list(APPEND Open3D_LIBRARIES dl)
33
- link_directories(${Open3D_LIBRARY_DIRS})
34
- message(STATUS "Found Open3D ${Open3D_VERSION}")
37
+ list(APPEND Open3D_LIBRARIES dl)
38
+ link_directories(${Open3D_LIBRARY_DIRS})
39
+ message(STATUS "Found Open3D ${Open3D_VERSION}")
35
40
36
- add_executable(demo_visualize ${CMAKE_CURRENT_SOURCE_DIR}/patchworkpp/examples/demo_visualize.cpp)
37
- target_link_libraries(demo_visualize PRIVATE PATCHWORK::patchworkpp ${Open3D_LIBRARIES} "stdc++fs")
38
- target_include_directories(demo_visualize PUBLIC ${Open3D_INCLUDE_DIRS})
39
- set_target_properties(demo_visualize PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/examples")
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")
40
45
41
- add_executable(demo_sequential ${CMAKE_CURRENT_SOURCE_DIR}/patchworkpp/examples/demo_sequential.cpp)
42
- target_link_libraries(demo_sequential PRIVATE PATCHWORK::patchworkpp ${Open3D_LIBRARIES} "stdc++fs")
43
- target_include_directories(demo_sequential PUBLIC ${Open3D_INCLUDE_DIRS})
44
- set_target_properties(demo_sequential PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/examples")
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")
45
50
46
- endif()
51
+ endif()
52
+ endif()
0 commit comments