diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..378e70b --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.10) +project(qnet C) + +set(CMAKE_C_STANDARD 11) +set(CMAKE_C_STANDARD_REQUIRED ON) + +file(GLOB_RECURSE SRC_FILES "${PROJECT_SOURCE_DIR}/src/*.c") +add_library(qnet STATIC ${SRC_FILES}) +target_include_directories(qnet PUBLIC ${PROJECT_SOURCE_DIR}/include) + +if (WIN32) + target_link_libraries(qnet PRIVATE ws2_32) +endif() + +if(MSVC) + target_compile_options(qnet PRIVATE /W4) +else() + target_compile_options(qnet PRIVATE -Wall -Wextra -pedantic) +endif() + +file(GLOB_RECURSE SRC_TEST_FILES "${PROJECT_SOURCE_DIR}/tests/*.c") +add_executable(qnet-test ${SRC_TEST_FILES}) + +target_include_directories(qnet-test PRIVATE ${PROJECT_SOURCE_DIR}/tests) +target_link_libraries(qnet-test qnet) \ No newline at end of file