summaryrefslogtreecommitdiff
path: root/matching/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'matching/CMakeLists.txt')
-rw-r--r--matching/CMakeLists.txt112
1 files changed, 112 insertions, 0 deletions
diff --git a/matching/CMakeLists.txt b/matching/CMakeLists.txt
new file mode 100644
index 0000000..9384328
--- /dev/null
+++ b/matching/CMakeLists.txt
@@ -0,0 +1,112 @@
+project(matching_distance)
+cmake_minimum_required(VERSION 3.5.1)
+
+set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
+
+include(GenerateExportHeader)
+find_package(Boost REQUIRED)
+
+# Default to Release
+
+if (NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE)
+ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
+endif (NOT CMAKE_BUILD_TYPE)
+
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include
+ SYSTEM ${BOOST_INCLUDE_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/../bottleneck/include)
+
+set(CMAKE_CXX_STANDARD 14)
+
+
+if (NOT WIN32)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+ #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS} -Wall pedantic -Wextra ")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS} -Wall -Wextra ")
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ggdb -D_GLIBCXX_DEBUG")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELEASE} -O2 -g -ggdb")
+endif (NOT WIN32)
+
+file(GLOB BT_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/../bottleneck/include/*.h ${CMAKE_CURRENT_SOURCE_DIR}/../bottleneck/include/*.hpp)
+file(GLOB MD_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/*.h)
+
+file(GLOB SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
+
+file(GLOB SRC_TEST_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/tests/*.cpp)
+
+find_package(Threads)
+set(libraries ${libraries} "stdc++fs" ${CMAKE_THREAD_LIBS_INIT} ${OpenMP_CXX_LIBRARIES})
+
+
+find_package(OpenMP)
+if (OPENMP_FOUND)
+set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
+endif()
+
+
+#add_executable(matching_distance ${SRC_FILES} ${BT_HEADERS} ${MD_HEADERS})
+add_executable(matching_distance "src/main.cpp"
+ "src/box.cpp"
+ "src/common_util.cpp"
+ "src/persistence_module.cpp"
+ "src/simplex.cpp"
+ "src/bifiltration.cpp"
+ "src/matching_distance.cpp"
+ "src/dual_box.cpp"
+ "src/dual_point.cpp"
+ "include/box.h"
+ "include/common_util.h"
+ "include/persistence_module.h"
+ "include/simplex.h"
+ "include/bifiltration.h"
+ "include/matching_distance.h"
+ "include/dual_box.h"
+ "include/dual_point.h"
+ ${BT_HEADERS} include/cell_with_value.h src/cell_with_value.cpp)
+target_link_libraries(matching_distance PUBLIC ${libraries})
+
+#add_executable(matching_distance_test ${SRC_TEST_FILES} ${BT_HEADERS} ${MD_HEADERS})
+add_executable(matching_distance_test ${SRC_TEST_FILES}
+ "src/box.cpp"
+ "src/common_util.cpp"
+ "src/persistence_module.cpp"
+ "src/simplex.cpp"
+ "src/bifiltration.cpp"
+ "src/matching_distance.cpp"
+ "src/dual_box.cpp"
+ "src/dual_point.cpp"
+ "include/box.h"
+ "include/common_util.h"
+ "include/persistence_module.h"
+ "include/simplex.h"
+ "include/bifiltration.h"
+ "include/matching_distance.h"
+ "include/dual_box.h"
+ "include/dual_point.h"
+ ${BT_HEADERS} src/tests/test_common.cpp src/common_util.cpp src/tests/test_matching_distance.cpp src/cell_with_value.cpp)
+target_link_libraries(matching_distance_test PUBLIC ${libraries})
+
+add_executable(test_generator "src/test_generator.cpp"
+ "src/box.cpp"
+ "src/common_util.cpp"
+ "src/persistence_module.cpp"
+ "src/simplex.cpp"
+ "src/bifiltration.cpp"
+ "src/matching_distance.cpp"
+ "src/dual_box.cpp"
+ "src/dual_point.cpp"
+ "include/box.h"
+ "include/common_util.h"
+ "include/persistence_module.h"
+ "include/simplex.h"
+ "include/bifiltration.h"
+ "include/matching_distance.h"
+ "include/dual_box.h"
+ "include/dual_point.h"
+ ${BT_HEADERS} src/cell_with_value.cpp)
+target_link_libraries(test_generator PUBLIC ${libraries})
+
+#add_executable(matching_distance "src/main.cpp" "src/box.cpp" "src/common_util.cpp" "src/line.cpp" "src/persistence_module.cpp" ${BT_HEADERS} ${MD_HEADERS})