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
cmake_minimum_required(VERSION 3.1)
project(libbwabstraction)

set(CMAKE_BUILD_TYPE Release)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")

find_package(OpenCV REQUIRED)
find_package(Eigen3 REQUIRED)
find_package(Boost REQUIRED)
find_package(OpenMesh REQUIRED)
find_package(CGAL REQUIRED)
find_package(GMP REQUIRED)
find_package(GLEW REQUIRED)
find_package(GLFW3 REQUIRED)
find_package(OPENGL REQUIRED)

include_directories(
    src
    ${EIGEN3_INCLUDE_DIR}
    ${CGAL_INCLUDE_DIRS}
    ${OPENMESH_INCLUDE_DIR}
    ${GLEW_INCLUDE_PATH}
    ${GLFW3_INCLUDE_PATH}
    ${GMP_INCLUDE_DIR}
    ${OpenCV_INCLUDE_DIRS}
)

file(GLOB libbwabstraction_src "src/*.cpp")
add_library(libbwabstraction ${libbwabstraction_src})
set_target_properties(libbwabstraction PROPERTIES PUBLIC_HEADER "src/bwabstraction.hpp")
install(TARGETS libbwabstraction
	LIBRARY DESTINATION lib/
	PUBLIC_HEADER DESTINATION include/
)

add_definitions(-D_USE_MATH_DEFINES)

set(EXE_LINK_LIBS
    libbwabstraction
    Eigen3::Eigen
    CGAL::CGAL
    ${OpenCV_LIBS}
    ${Boost_LOG_SETUP_LIBRARY}
    ${Boost_LOG_LIBRARY}
    ${Boost_FILESYSTEM_LIBRARY}
    ${Boost_THREAD_LIBRARY}
    ${Boost_SYSTEM_LIBRARY}
    ${OPENMESH_LIBRARIES}
    ${GMP_LIBRARIES}
    ${GLEW_LIBRARY}
    ${GLFW3_LIBRARY}
    ${OPENGL_LIBRARY}
)

add_executable(01_basic examples/01_basic.cpp)
target_link_libraries(01_basic ${EXE_LINK_LIBS})

add_executable(02_rotation examples/02_rotation.cpp)
target_link_libraries(02_rotation ${EXE_LINK_LIBS})

add_executable(03_multiple_models examples/03_multiple_models.cpp)
target_link_libraries(03_multiple_models ${EXE_LINK_LIBS})

add_executable(benchmark tools/benchmark.cpp)
target_link_libraries(benchmark ${EXE_LINK_LIBS})

add_executable(bwa_cli tools/cli.cpp)
target_link_libraries(bwa_cli ${EXE_LINK_LIBS})

#get_cmake_property(_variableNames VARIABLES)
#list (SORT _variableNames)
#foreach (_variableName ${_variableNames})
#    message(STATUS "${_variableName}=${${_variableName}}")
#endforeach()