]> git.seodisparate.com - UDPConnection/commitdiff
Add example CMake project that uses UDPC
authorStephen Seo <seo.disparate@gmail.com>
Sat, 13 Jul 2024 02:27:48 +0000 (11:27 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Sat, 13 Jul 2024 02:43:01 +0000 (11:43 +0900)
conan_usage_example/CMakeLists.txt [new file with mode: 0644]
conan_usage_example/conanfile.txt [new file with mode: 0644]
conan_usage_example/setup_build_with_conan.sh [new file with mode: 0755]
conan_usage_example/src/UDPC_NetworkTest.c [new symlink]

diff --git a/conan_usage_example/CMakeLists.txt b/conan_usage_example/CMakeLists.txt
new file mode 100644 (file)
index 0000000..381eb12
--- /dev/null
@@ -0,0 +1,25 @@
+cmake_minimum_required(VERSION 3.7)
+project(UDPC_NetworkTest C)
+
+set(UDPC_NetworkTest_SOURCES
+    src/UDPC_NetworkTest.c
+)
+
+add_compile_options(
+    -Wall -Wextra -Wpedantic -Wno-missing-braces
+    $<$<COMPILE_LANGUAGE:CXX>:-Weffc++>
+    $<$<CONFIG:DEBUG>:-Og>
+)
+
+if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
+    message(STATUS "Setting build type to 'Debug', none was specified.")
+    set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE)
+    set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release")
+endif()
+
+find_package(udpc CONFIG REQUIRED)
+
+add_executable(UDPC_NetworkTest
+    ${UDPC_NetworkTest_SOURCES}
+)
+target_link_libraries(UDPC_NetworkTest udpc::udpc)
diff --git a/conan_usage_example/conanfile.txt b/conan_usage_example/conanfile.txt
new file mode 100644 (file)
index 0000000..3454af1
--- /dev/null
@@ -0,0 +1,9 @@
+[requires]
+udpc/1.0
+
+[generators]
+CMakeDeps
+CMakeToolchain
+
+[options]
+udpc*:shared=True
diff --git a/conan_usage_example/setup_build_with_conan.sh b/conan_usage_example/setup_build_with_conan.sh
new file mode 100755 (executable)
index 0000000..61d3588
--- /dev/null
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+
+cd "$(dirname "$0")"
+
+set -ve
+
+if ! [[ -e "${HOME}/.conan2/profiles/default" ]]; then
+    conan profile detect
+fi
+
+if ! grep stephens_forgejo "${HOME}/.conan2/remotes.json" >&/dev/null; then
+    conan remote add stephens_forgejo "https://git.seodisparate.com/api/packages/stephenseo/conan"
+fi
+
+conan install . -r stephens_forgejo -r conancenter --output-folder=buildConan --build=missing
+cmake -S . -B buildConan -DCMAKE_TOOLCHAIN_FILE=buildConan/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release
+cmake --build buildConan
diff --git a/conan_usage_example/src/UDPC_NetworkTest.c b/conan_usage_example/src/UDPC_NetworkTest.c
new file mode 120000 (symlink)
index 0000000..bc7dd49
--- /dev/null
@@ -0,0 +1 @@
+../../src/test/UDPC_NetworkTest.c
\ No newline at end of file