From 125ef0aaf517d230c5ef01e709d661bb0c7b5083 Mon Sep 17 00:00:00 2001 From: Stephen Seo Date: Sat, 13 Jul 2024 11:27:48 +0900 Subject: [PATCH] Add example CMake project that uses UDPC --- conan_usage_example/CMakeLists.txt | 25 +++++++++++++++++++ conan_usage_example/conanfile.txt | 9 +++++++ conan_usage_example/setup_build_with_conan.sh | 17 +++++++++++++ conan_usage_example/src/UDPC_NetworkTest.c | 1 + 4 files changed, 52 insertions(+) create mode 100644 conan_usage_example/CMakeLists.txt create mode 100644 conan_usage_example/conanfile.txt create mode 100755 conan_usage_example/setup_build_with_conan.sh create mode 120000 conan_usage_example/src/UDPC_NetworkTest.c diff --git a/conan_usage_example/CMakeLists.txt b/conan_usage_example/CMakeLists.txt new file mode 100644 index 0000000..381eb12 --- /dev/null +++ b/conan_usage_example/CMakeLists.txt @@ -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 + $<$:-Weffc++> + $<$:-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 index 0000000..3454af1 --- /dev/null +++ b/conan_usage_example/conanfile.txt @@ -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 index 0000000..61d3588 --- /dev/null +++ b/conan_usage_example/setup_build_with_conan.sh @@ -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 index 0000000..bc7dd49 --- /dev/null +++ b/conan_usage_example/src/UDPC_NetworkTest.c @@ -0,0 +1 @@ +../../src/test/UDPC_NetworkTest.c \ No newline at end of file