aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--CMakeLists.txt13
-rw-r--r--cmake/GetSNAP.cmake21
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--src/main.cc6
5 files changed, 45 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 837db7b..a7a32be 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,5 @@
1# LaTeX auxiliary files 1# LaTeX auxiliary files
2.aux/ 2.aux/
3
4# CMake build folder
5build/
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..da1f520
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,13 @@
1cmake_minimum_required(VERSION 3.12)
2project(tipping-points LANGUAGES CXX)
3
4cmake_policy(SET CMP0135 NEW)
5
6list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
7
8include(GetSNAP)
9
10add_subdirectory(src)
11if(BUILD_TESTING)
12 add_subdirectory(test)
13endif()
diff --git a/cmake/GetSNAP.cmake b/cmake/GetSNAP.cmake
new file mode 100644
index 0000000..87b8c65
--- /dev/null
+++ b/cmake/GetSNAP.cmake
@@ -0,0 +1,21 @@
1include(ExternalProject)
2ExternalProject_Add(
3 SNAP
4 DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}
5 DOWNLOAD_NO_PROGRESS TRUE
6 URL https://snap.stanford.edu/releases/Snap-6.0.zip
7 URL_MD5 e32a1dbea584ba4f287c616627a71ac5
8 CONFIGURE_COMMAND ""
9 BUILD_IN_SOURCE TRUE
10 BUILD_COMMAND make
11 COMMAND make -C snap-core lib
12 INSTALL_COMMAND ""
13 LOG_BUILD TRUE
14)
15ExternalProject_Get_Property(SNAP SOURCE_DIR)
16set(SNAP_SOURCE_DIR "${SOURCE_DIR}")
17add_library(SNAP::SNAP STATIC IMPORTED)
18set_property(TARGET SNAP::SNAP
19 PROPERTY IMPORTED_LOCATION
20 ${SNAP_SOURCE_DIR}/snap-core/libsnap.a
21)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..c66a468
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,2 @@
1add_executable(main main.cc)
2target_link_libraries(main PRIVATE SNAP::SNAP)
diff --git a/src/main.cc b/src/main.cc
new file mode 100644
index 0000000..6e80c53
--- /dev/null
+++ b/src/main.cc
@@ -0,0 +1,6 @@
1#include <iostream>
2
3int main(int argc, char* argv[]) {
4 std::cout << "Hello world." << std::endl;
5 return 0;
6}