1 cmake_minimum_required(VERSION 3.12)
3 project(PoissonRecon LANGUAGES NONE)
5 set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed")
6 set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed")
7 set(INSTALL_INCLUDE_DIR "include/${PROJECT_NAME}" CACHE PATH "Path where headers will be installed")
8 set(INSTALL_CMAKE_DIR "share/poissonrecon" CACHE PATH "Path where cmake configs will be installed")
10 find_package(PNG REQUIRED)
11 find_package(JPEG REQUIRED)
13 set(PoissonRecon_HEADERS
34 "Src/PointStreamData.h"
42 "Src/SparseMatrixInterface.h"
46 set(PoissonRecon_INLINES
50 "Src/CmdLineParser.inl"
51 "Src/FEMTree.Evaluation.inl"
52 "Src/FEMTree.Initialize.inl"
54 "Src/FEMTree.IsoSurface.specialized.inl"
55 "Src/FEMTree.SortedTreeNodes.inl"
56 "Src/FEMTree.System.inl"
57 "Src/FEMTree.WeightedSamples.inl"
58 "Src/FunctionData.inl"
68 #"Src/RegularGrid.inl"
70 "Src/SparseMatrix.inl"
71 "Src/SparseMatrixInterface.inl"
75 add_library(PoissonRecon INTERFACE)
76 target_link_libraries(PoissonRecon INTERFACE PNG::PNG JPEG::JPEG)
77 set_target_properties(PoissonRecon PROPERTIES PUBLIC_HEADER "${PoissonRecon_HEADERS};${PoissonRecon_INLINES}")
78 target_include_directories(PoissonRecon INTERFACE $<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR}>)
80 install(TARGETS PoissonRecon EXPORT PoissonReconTargets
81 RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
82 LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
83 ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
84 PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}"
86 install(EXPORT PoissonReconTargets
87 NAMESPACE PoissonRecon::
88 DESTINATION ${INSTALL_CMAKE_DIR}