aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt42
1 files changed, 42 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..e3adabf
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,42 @@
+cmake_minimum_required(VERSION 3.0)
+project(cmud VERSION 0.1)
+
+set(CMAKE_C_STANDARD 11 REQUIRED)
+
+include(ExternalProject)
+find_program(MAKE_EXE NAMES make gmake nmake)
+ExternalProject_Add(project_argon2
+ GIT_REPOSITORY https://github.com/P-H-C/phc-winner-argon2
+ GIT_TAG 20190702
+ PATCH_COMMAND sed "s/ln -s/ln -sf/" Makefile
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND ${MAKE_EXE} libs
+ BUILD_IN_SOURCE yes
+
+ INSTALL_COMMAND make PREFIX=<INSTALL_DIR> install
+ )
+
+include(FetchContent)
+FetchContent_Declare(config
+ GIT_REPOSITORY https://github.com/hyperrealm/libconfig
+ GIT_TAG v1.7.3
+ )
+
+FetchContent_MakeAvailable(config)
+
+ExternalProject_Get_Property(project_argon2 INSTALL_DIR)
+#add_library(argon2 STATIC IMPORTED)
+#set_property(TARGET argon2 PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/x86_64-linux-gnu/libargon2.a)
+
+#add_dependencies(argon2 project_argon2)
+#include_directories(${INSTALL_DIR}/src)
+
+add_executable(cmud src/data.c src/game.c src/hash.c src/log.c src/login.c
+ src/main.c src/server.c src/util.c)
+
+add_dependencies(cmud project_argon2)
+
+target_link_libraries(cmud config)
+target_link_libraries(cmud argon2)
+target_link_libraries(cmud m)
+#target_link_libraries(cmud ${INSTALL_DIR}/lib/x86_64-linux-gnu/libargon2.a)