Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cppserver: add version 1.0.4.1 #21534

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions recipes/cppserver/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
sources:
"1.0.4.1":
url: "https://github.com/chronoxor/CppServer/archive/1.0.4.1.tar.gz"
sha256: "252f66d6c245641b9ed73eae77324513e597debd0615523d16b83b043d31035f"
"1.0.2.0":
url: "https://github.com/chronoxor/CppServer/archive/1.0.2.0.tar.gz"
sha256: "512b2ada2ddebcedcfac814e3d0784ccef410506dab5dcf64c56302b40e042d4"
Expand All @@ -9,6 +12,16 @@ sources:
url: "https://github.com/chronoxor/CppServer/archive/1.0.0.0.tar.gz"
sha256: "dc70fb24231ac4c06e813a0489ff911dd5c48f844b75856b1e753ac8dbd64772"
patches:
"1.0.4.1":
- patch_file: "patches/0001-cmake-clean-up-1-0-4-1.patch"
patch_description: "use cci packages, disable test/example builds"
patch_type: "conan"
- patch_file: "patches/0002-define-win32-winnt-1-0-4-1.patch"
patch_description: "add win32/winnt defines"
patch_type: "portability"
- patch_file: "patches/0003-remove-asio-defines-1-0-0-0.patch"
patch_description: "remove asio defines"
patch_type: "portability"
"1.0.2.0":
- patch_file: "patches/0001-cmake-clean-up-1-0-2-0.patch"
patch_description: "use cci packages, disable test/example builds"
Expand Down
8 changes: 3 additions & 5 deletions recipes/cppserver/all/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,17 +57,15 @@ def layout(self):
cmake_layout(self, src_folder="src")

def requirements(self):
self.requires("asio/1.27.0")
self.requires("asio/1.28.2", transitive_headers=True)
self.requires("openssl/[>=1.1 <4]")
self.requires("cppcommon/1.0.3.0")
self.requires("cppcommon/1.0.4.0", transitive_headers=True)

def validate(self):
if self.settings.compiler.get_safe("cppstd"):
check_min_cppstd(self, self._min_cppstd)
minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
if not minimum_version:
self.output.warn(f"{self.ref} requires C++17. Your compiler is unknown. Assuming it supports C++17.")
elif Version(self.settings.compiler.version) < minimum_version:
if minimum_version and Version(self.settings.compiler.version) < minimum_version:
raise ConanInvalidConfiguration(f"{self.ref} requires a compiler that supports at least C++17")

def build_requirements(self):
Expand Down
201 changes: 201 additions & 0 deletions recipes/cppserver/all/patches/0001-cmake-clean-up-1-0-4-1.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f02f6d2..7349f1e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,53 +18,53 @@ if(DOXYGEN_FOUND)
endif()

# CMake module path
-set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+#set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

# Compiler features
-include(SetCompilerFeatures)
-include(SetCompilerWarnings)
-include(SetPlatformFeatures)
-include(SystemInformation)
+#include(SetCompilerFeatures)
+#include(SetCompilerWarnings)
+#include(SetPlatformFeatures)
+#include(SystemInformation)

# External packages
-if(APPLE)
- set(OPENSSL_ROOT_DIR "/usr/local/opt/openssl@1.1")
-elseif(CYGWIN)
- set(OPENSSL_ROOT_DIR "/usr/lib")
- set(OPENSSL_INCLUDE_DIR "/usr/include")
- set(OPENSSL_CRYPTO_LIBRARY "/usr/lib/libcrypto.dll.a")
- set(OPENSSL_SSL_LIBRARY "/usr/lib/libssl.dll.a")
-elseif(MINGW)
- set(OPENSSL_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/modules/OpenSSL/MinGW")
- set(OPENSSL_USE_STATIC_LIBS TRUE)
-elseif(MSVC)
- set(OPENSSL_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/modules/OpenSSL/VS")
- set(OPENSSL_USE_STATIC_LIBS TRUE)
- set(OPENSSL_MSVC_STATIC_RT TRUE)
-endif()
+#if(APPLE)
+# set(OPENSSL_ROOT_DIR "/usr/local/opt/openssl@1.1")
+#elseif(CYGWIN)
+# set(OPENSSL_ROOT_DIR "/usr/lib")
+# set(OPENSSL_INCLUDE_DIR "/usr/include")
+# set(OPENSSL_CRYPTO_LIBRARY "/usr/lib/libcrypto.dll.a")
+# set(OPENSSL_SSL_LIBRARY "/usr/lib/libssl.dll.a")
+#elseif(MINGW)
+# set(OPENSSL_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/modules/OpenSSL/MinGW")
+# set(OPENSSL_USE_STATIC_LIBS TRUE)
+#elseif(MSVC)
+# set(OPENSSL_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/modules/OpenSSL/VS")
+# set(OPENSSL_USE_STATIC_LIBS TRUE)
+# set(OPENSSL_MSVC_STATIC_RT TRUE)
+#endif()
find_package(OpenSSL REQUIRED)
-if(WIN32)
+if(FALSE)
find_package(Crypt)
find_package(WinSock)
endif()

# Modules
-add_subdirectory("modules")
+#add_subdirectory("modules")

# Link libraries
-list(APPEND LINKLIBS ${OPENSSL_LIBRARIES})
+list(APPEND LINKLIBS OpenSSL::SSL)
if(WIN32)
- list(APPEND LINKLIBS ${CRYPT_LIBRARIES})
- list(APPEND LINKLIBS ${WINSOCK_LIBRARIES})
+ list(APPEND LINKLIBS crypt32)
+ list(APPEND LINKLIBS ws2_32)
endif()
-list(APPEND LINKLIBS cppcommon)
-
+find_package(cppcommon REQUIRED)
+list(APPEND LINKLIBS cppcommon::cppcommon)
# OpenSSL libraries
message(STATUS "OpenSSL version: ${OPENSSL_VERSION} ${OPENSSL_INCLUDE_DIR} ${OPENSSL_LIBRARIES}")

# System directories
-include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/modules")
-
+#include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/modules")
+find_package(asio REQUIRED)
# Library
file(GLOB_RECURSE LIB_HEADER_FILES "include/*.h" "source/*.h")
file(GLOB_RECURSE LIB_INLINE_FILES "include/*.inl" "source/*.inl")
@@ -72,10 +72,10 @@ file(GLOB_RECURSE LIB_SOURCE_FILES "include/*.cpp" "source/*.cpp")
add_library(cppserver ${LIB_HEADER_FILES} ${LIB_INLINE_FILES} ${LIB_SOURCE_FILES})
set_target_properties(cppserver PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS}" FOLDER "libraries")
target_include_directories(cppserver PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
-target_link_libraries(cppserver ${LINKLIBS} asio)
+target_link_libraries(cppserver ${LINKLIBS} asio::asio)
list(APPEND INSTALL_TARGETS cppserver)
list(APPEND LINKLIBS cppserver)
-
+target_compile_features(cppserver PUBLIC cxx_std_17)
# Additional module components: benchmarks, examples, plugins, tests, tools and install
if(NOT CPPSERVER_MODULE)

@@ -91,59 +91,59 @@ if(NOT CPPSERVER_MODULE)
list(APPEND LINKLIBS proto)

# Examples
- file(GLOB EXAMPLE_HEADER_FILES "examples/*.h")
- file(GLOB EXAMPLE_INLINE_FILES "examples/*.inl")
- file(GLOB EXAMPLE_SOURCE_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/examples" "examples/*.cpp")
- foreach(EXAMPLE_SOURCE_FILE ${EXAMPLE_SOURCE_FILES})
- string(REGEX REPLACE "(.*)\\.cpp" "\\1" EXAMPLE_NAME ${EXAMPLE_SOURCE_FILE})
- set(EXAMPLE_TARGET "cppserver-example-${EXAMPLE_NAME}")
- add_executable(${EXAMPLE_TARGET} ${EXAMPLE_HEADER_FILES} ${EXAMPLE_INLINE_FILES} "examples/${EXAMPLE_SOURCE_FILE}")
- set_target_properties(${EXAMPLE_TARGET} PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS}" FOLDER "examples")
- target_link_libraries(${EXAMPLE_TARGET} ${LINKLIBS})
- list(APPEND INSTALL_TARGETS ${EXAMPLE_TARGET})
- list(APPEND INSTALL_TARGETS_PDB ${EXAMPLE_TARGET})
- endforeach()
+# file(GLOB EXAMPLE_HEADER_FILES "examples/*.h")
+# file(GLOB EXAMPLE_INLINE_FILES "examples/*.inl")
+# file(GLOB EXAMPLE_SOURCE_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/examples" "examples/*.cpp")
+# foreach(EXAMPLE_SOURCE_FILE ${EXAMPLE_SOURCE_FILES})
+# string(REGEX REPLACE "(.*)\\.cpp" "\\1" EXAMPLE_NAME ${EXAMPLE_SOURCE_FILE})
+# set(EXAMPLE_TARGET "cppserver-example-${EXAMPLE_NAME}")
+# add_executable(${EXAMPLE_TARGET} ${EXAMPLE_HEADER_FILES} ${EXAMPLE_INLINE_FILES} "examples/${EXAMPLE_SOURCE_FILE}")
+# set_target_properties(${EXAMPLE_TARGET} PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS}" FOLDER "examples")
+# target_link_libraries(${EXAMPLE_TARGET} ${LINKLIBS})
+# list(APPEND INSTALL_TARGETS ${EXAMPLE_TARGET})
+# list(APPEND INSTALL_TARGETS_PDB ${EXAMPLE_TARGET})
+# endforeach()

# Benchmarks
- file(GLOB BENCHMARK_HEADER_FILES "performance/*.h")
- file(GLOB BENCHMARK_INLINE_FILES "performance/*.inl")
- file(GLOB BENCHMARK_SOURCE_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/performance" "performance/*.cpp")
- foreach(BENCHMARK_SOURCE_FILE ${BENCHMARK_SOURCE_FILES})
- string(REGEX REPLACE "(.*)\\.cpp" "\\1" BENCHMARK_NAME ${BENCHMARK_SOURCE_FILE})
- set(BENCHMARK_TARGET "cppserver-performance-${BENCHMARK_NAME}")
- add_executable(${BENCHMARK_TARGET} ${BENCHMARK_HEADER_FILES} ${BENCHMARK_INLINE_FILES} "performance/${BENCHMARK_SOURCE_FILE}")
- set_target_properties(${BENCHMARK_TARGET} PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS}" FOLDER "performance")
- target_link_libraries(${BENCHMARK_TARGET} ${LINKLIBS} cppbenchmark)
- list(APPEND INSTALL_TARGETS ${BENCHMARK_TARGET})
- list(APPEND INSTALL_TARGETS_PDB ${BENCHMARK_TARGET})
- endforeach()
+# file(GLOB BENCHMARK_HEADER_FILES "performance/*.h")
+# file(GLOB BENCHMARK_INLINE_FILES "performance/*.inl")
+# file(GLOB BENCHMARK_SOURCE_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/performance" "performance/*.cpp")
+# foreach(BENCHMARK_SOURCE_FILE ${BENCHMARK_SOURCE_FILES})
+# string(REGEX REPLACE "(.*)\\.cpp" "\\1" BENCHMARK_NAME ${BENCHMARK_SOURCE_FILE})
+# set(BENCHMARK_TARGET "cppserver-performance-${BENCHMARK_NAME}")
+# add_executable(${BENCHMARK_TARGET} ${BENCHMARK_HEADER_FILES} ${BENCHMARK_INLINE_FILES} "performance/${BENCHMARK_SOURCE_FILE}")
+# set_target_properties(${BENCHMARK_TARGET} PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS}" FOLDER "performance")
+# target_link_libraries(${BENCHMARK_TARGET} ${LINKLIBS} cppbenchmark)
+# list(APPEND INSTALL_TARGETS ${BENCHMARK_TARGET})
+# list(APPEND INSTALL_TARGETS_PDB ${BENCHMARK_TARGET})
+# endforeach()

# Tests
- file(GLOB TESTS_HEADER_FILES "tests/*.h")
- file(GLOB TESTS_INLINE_FILES "tests/*.inl")
- file(GLOB TESTS_SOURCE_FILES "tests/*.cpp")
- add_executable(cppserver-tests ${TESTS_HEADER_FILES} ${TESTS_INLINE_FILES} ${TESTS_SOURCE_FILES})
- set_target_properties(cppserver-tests PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS}" FOLDER "tests")
- target_include_directories(cppserver-tests PRIVATE Catch2)
- target_link_libraries(cppserver-tests ${LINKLIBS} Catch2)
- list(APPEND INSTALL_TARGETS cppserver-tests)
- list(APPEND INSTALL_TARGETS_PDB cppserver-tests)
+# file(GLOB TESTS_HEADER_FILES "tests/*.h")
+# file(GLOB TESTS_INLINE_FILES "tests/*.inl")
+# file(GLOB TESTS_SOURCE_FILES "tests/*.cpp")
+# add_executable(cppserver-tests ${TESTS_HEADER_FILES} ${TESTS_INLINE_FILES} ${TESTS_SOURCE_FILES})
+# set_target_properties(cppserver-tests PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS}" FOLDER "tests")
+# target_include_directories(cppserver-tests PRIVATE Catch2)
+# target_link_libraries(cppserver-tests ${LINKLIBS} Catch2)
+# list(APPEND INSTALL_TARGETS cppserver-tests)
+# list(APPEND INSTALL_TARGETS_PDB cppserver-tests)

# CTest
- enable_testing()
- add_test(cppserver-tests cppserver-tests --durations yes --order lex)
+# enable_testing()
+# add_test(cppserver-tests cppserver-tests --durations yes --order lex)

# Install
install(TARGETS ${INSTALL_TARGETS}
- RUNTIME DESTINATION "${PROJECT_SOURCE_DIR}/bin"
- LIBRARY DESTINATION "${PROJECT_SOURCE_DIR}/bin"
- ARCHIVE DESTINATION "${PROJECT_SOURCE_DIR}/bin")
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})

# Install *.pdb files
if(MSVC)
- foreach(INSTALL_TARGET_PDB ${INSTALL_TARGETS_PDB})
- install(FILES $<TARGET_PDB_FILE:${INSTALL_TARGET_PDB}> DESTINATION "${PROJECT_SOURCE_DIR}/bin")
- endforeach()
+# foreach(INSTALL_TARGET_PDB ${INSTALL_TARGETS_PDB})
+# install(FILES $<TARGET_PDB_FILE:${INSTALL_TARGET_PDB}> DESTINATION "${PROJECT_SOURCE_DIR}/bin")
+# endforeach()
endif()

endif()
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 51f0246..a014af6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -76,6 +76,11 @@ target_link_libraries(cppserver ${LINKLIBS} asio::asio)
list(APPEND INSTALL_TARGETS cppserver)
list(APPEND LINKLIBS cppserver)
target_compile_features(cppserver PUBLIC cxx_std_17)
+
+if(WIN32 AND NOT MSVC)
+ target_compile_definitions(cppserver PUBLIC -D_WIN32_WINNT=_WIN32_WINNT_VISTA)
+endif()
+
# Additional module components: benchmarks, examples, plugins, tests, tools and install
if(NOT CPPSERVER_MODULE)

2 changes: 2 additions & 0 deletions recipes/cppserver/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
versions:
"1.0.4.1":
folder: all
"1.0.2.0":
folder: all
"1.0.1.0":
Expand Down