-
Notifications
You must be signed in to change notification settings - Fork 3
/
CMakeLists.txt
85 lines (71 loc) · 2.01 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
cmake_minimum_required(VERSION 3.9)
project(TM2IN)
set(CMAKE_CXX_STANDARD 11)
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/Modules;${CMAKE_MODULE_PATH}" )
find_package(CGAL REQUIRED )
if ( CGAL_FOUND )
include( ${CGAL_USE_FILE} )
include( CGAL_CreateSingleSourceCGALProgram )
endif()
if ( NOT CGAL_FOUND )
message(STATUS "This project requires the CGAL library, and will not be compiled.")
return()
endif()
FIND_PACKAGE( Boost 1.40 REQUIRED COMPONENTS filesystem REQUIRED )
INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIR} )
find_package(Eigen3 3.3 REQUIRED NO_MODULE)
find_package(CURL REQUIRED)
file(GLOB DETAIL_FILES
"detail/io/*.h"
"detail/io/*.cpp"
"detail/cgal/*.h"
"detail/cgal/*.cpp"
"detail/cgal_config.h"
"detail/algorithm/*.h"
"detail/algorithm/*.cpp"
"detail/features/*.h"
"detail/features/*.cpp"
)
file(GLOB FEATURES_FILES
"features/RoomBoundary/*.h"
"features/RoomBoundary/*.cpp"
"features/Wall/*.h"
"features/Wall/*.cpp"
"features/HalfEdge.h"
"features/HalfEdge.cpp"
"features/IndoorComponent.cpp"
"features/IndoorComponent.h"
"features/Room.h"
"features/Room.cpp"
"features/Vertex.h"
"features/Vertex.cpp"
"features/MinimumBoundingBox.cpp"
"features/MinimumBoundingBox.h"
)
file(GLOB SOURCE_FILES
"io/*.h"
"io/*.cpp"
"cgal/*.h"
"cgal/*.cpp"
"compute/*.h"
"compute/*.cpp"
"converter/*.h"
"converter/*.cpp"
"algorithm/*.h"
"algorithm/*.cpp"
config.h
util.cpp
util.h
)
add_executable(TM2IN
${SOURCE_FILES}
${DETAIL_FILES}
${FEATURES_FILES}
Options.h
Options.cpp
TM2IN.cpp)
TARGET_LINK_LIBRARIES(TM2IN LINK_PUBLIC ${Boost_LIBRARIES} Eigen3::Eigen restclient-cpp ${CURL_LIBRARIES}
)
include_directories(
.)