diff options
Diffstat (limited to 'vcpkg/ports/cppcms')
| -rw-r--r-- | vcpkg/ports/cppcms/dependencies.diff | 41 | ||||
| -rw-r--r-- | vcpkg/ports/cppcms/dllexport.diff | 13 | ||||
| -rw-r--r-- | vcpkg/ports/cppcms/fix_narrowing_error.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/cppcms/no-tests-and-examples.patch | 33 | ||||
| -rw-r--r-- | vcpkg/ports/cppcms/portfile.cmake | 40 | ||||
| -rw-r--r-- | vcpkg/ports/cppcms/vcpkg.json | 18 |
6 files changed, 158 insertions, 0 deletions
diff --git a/vcpkg/ports/cppcms/dependencies.diff b/vcpkg/ports/cppcms/dependencies.diff new file mode 100644 index 0000000..e202834 --- /dev/null +++ b/vcpkg/ports/cppcms/dependencies.diff @@ -0,0 +1,41 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a9c601b..aa35908 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -246,8 +246,8 @@ check_cxx_source_compiles( + CPPCMS_HAVE_FSEEKI64 + ) + if(NOT DISABLE_GZIP) +- find_library(ZLIB NAMES z zdll zlib${ZLIB_SUFFIX} zlib) +- find_path(ZLIB_INCLUDE_DIR zlib.h) ++ find_package(ZLIB REQUIRED) ++ set(ZLIB "${ZLIB_LIBRARIES}") + if(NOT ZLIB OR NOT ZLIB_INCLUDE_DIR) + set(DISABLE_GZIP ON) + message("Can't fild zlib - disabling compression support") +@@ -403,8 +403,8 @@ if(NOT DISABLE_GCRYPT) + endif() + + if(NOT DISABLE_OPENSSL) +- find_path(OPENSSL_INCLUDE_DIR openssl/aes.h) +- find_library(LIB_OPENSSL NAMES crypto libcrypto libeay32) ++ find_package(OpenSSL REQUIRED) ++ set(LIB_OPENSSL "${OPENSSL_CRYPTO_LIBRARIES}") + endif() + + if (OPENSSL_INCLUDE_DIR AND LIB_OPENSSL) +diff --git a/booster/CMakeLists.txt b/booster/CMakeLists.txt +index 0687d1d..aeaaaa8 100644 +--- a/booster/CMakeLists.txt ++++ b/booster/CMakeLists.txt +@@ -124,6 +124,10 @@ endif() + + if(NOT DISABLE_ICU_LOCALE) + message("-- Looking for ICU libraries") ++ find_package(ICU REQUIRED COMPONENTS i18n uc data) ++ include_directories(${ICU_INCLUDE_DIRS}) ++ set(ICU_I18N "${ICU_LIBRARIES}") ++elseif(0) + + if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") + if(MSVC) diff --git a/vcpkg/ports/cppcms/dllexport.diff b/vcpkg/ports/cppcms/dllexport.diff new file mode 100644 index 0000000..aeb3d76 --- /dev/null +++ b/vcpkg/ports/cppcms/dllexport.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c91ec97..11d475b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -692,7 +692,7 @@ target_link_libraries(hello_world ${CPPCMS_LIB}) + if(NOT DISABLE_TCPCACHE) + add_executable(cppcms_scale src/cache_server_main.cpp) + target_link_libraries(cppcms_scale ${CPPCMS_LIB}) +- if(WIN32 OR CYGWIN) ++ if(NOT DISABLE_SHARED) + set_target_properties(cppcms_scale PROPERTIES COMPILE_DEFINITIONS DLL_EXPORT) + endif() + endif() diff --git a/vcpkg/ports/cppcms/fix_narrowing_error.patch b/vcpkg/ports/cppcms/fix_narrowing_error.patch new file mode 100644 index 0000000..12c7b03 --- /dev/null +++ b/vcpkg/ports/cppcms/fix_narrowing_error.patch @@ -0,0 +1,13 @@ +diff --git a/src/session_win32_file_storage.cpp b/src/session_win32_file_storage.cpp +index ce3fba330..a5e54be84 100644 +--- a/src/session_win32_file_storage.cpp ++++ b/src/session_win32_file_storage.cpp +@@ -186,7 +186,7 @@ void session_file_storage::save_to_file(HANDLE h,time_t timeout,std::string cons + int64_t timeout; + uint32_t crc; + uint32_t size; +- } tmp = { timeout, 0, in.size() }; ++ } tmp = { timeout, 0, static_cast<uint32_t>(in.size()) }; + impl::crc32_calc crc_calc; + crc_calc.process_bytes(in.data(),in.size()); + tmp.crc=crc_calc.checksum(); diff --git a/vcpkg/ports/cppcms/no-tests-and-examples.patch b/vcpkg/ports/cppcms/no-tests-and-examples.patch new file mode 100644 index 0000000..0914842 --- /dev/null +++ b/vcpkg/ports/cppcms/no-tests-and-examples.patch @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d2b91f5..c91ec97 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -647,7 +647,7 @@ add_custom_command( + + + +-if(NOT DISABLE_SHARED) ++if(installing-plugins) + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/skin3.cpp + COMMAND ${PYTHON} ${CMAKE_CURRENT_SOURCE_DIR}/bin/cppcms_tmpl_cc +@@ -779,6 +779,7 @@ endif() + ##################################### + # End of tests + ##################################### ++set_target_properties(${ALL_TESTS} hello_world PROPERTIES EXCLUDE_FROM_ALL 1) + + # These are use export + if(IS_WINDOWS AND NOT DISABLE_SHARED) +diff --git a/booster/CMakeLists.txt b/booster/CMakeLists.txt +index 822c470..0a95248 100644 +--- a/booster/CMakeLists.txt ++++ b/booster/CMakeLists.txt +@@ -674,6 +674,7 @@ macro(add_booster_param_test MODULE TEST PARAMETER) + add_executable(${TEST_NAME} ${TEST_SRC}) + target_link_libraries(${TEST_NAME} ${BOOSTER_LIB}) + set_target_properties(${TEST_NAME} PROPERTIES COMPILE_DEFINITIONS "${EXE_COM_DEFS}") ++ set_target_properties(${TEST_NAME} PROPERTIES EXCLUDE_FROM_ALL 1) + add_test(${TEST_NAME} ${TEST_NAME} ${PARAMETER}) + set_tests_properties(${TEST_NAME} PROPERTIES TIMEOUT 20) + endmacro() diff --git a/vcpkg/ports/cppcms/portfile.cmake b/vcpkg/ports/cppcms/portfile.cmake new file mode 100644 index 0000000..1b72ac9 --- /dev/null +++ b/vcpkg/ports/cppcms/portfile.cmake @@ -0,0 +1,40 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO artyom-beilis/cppcms + REF v${VERSION} + SHA512 b91da68b3e277cf3814f6772a2580db95d55a9022b165b44f9d2fde0bc13779e9198b45e1ebdbd10189cb192109a61777888ce0670644da1e64a0e1008a827a7 + PATCHES + dependencies.diff + dllexport.diff + no-tests-and-examples.patch + fix_narrowing_error.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" DISABLE_SHARED) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" DISABLE_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_CXX_STANDARD=17 + -DPYTHON=: + -DUSE_WINDOWS6_API=ON + -DDISABLE_SHARED=${DISABLE_SHARED} + -DDISABLE_STATIC=${DISABLE_STATIC} + -DDISABLE_GCRYPT=ON + -DDISABLE_ICONV=ON +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +foreach(script IN ITEMS cppcms_tmpl_cc cppcms_run) + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/${script}" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${script}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${script}") +endforeach() +vcpkg_copy_tools(TOOL_NAMES cppcms_scale cppcms_make_key cppcms_config_find_param AUTO_CLEAN) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/MIT.TXT" "${SOURCE_PATH}/THIRD_PARTY_SOFTWARE.TXT") diff --git a/vcpkg/ports/cppcms/vcpkg.json b/vcpkg/ports/cppcms/vcpkg.json new file mode 100644 index 0000000..d3b9bb9 --- /dev/null +++ b/vcpkg/ports/cppcms/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "cppcms", + "version": "2.0.1", + "description": "CppCMS is a Free High Performance Web Development Framework (not a CMS) aimed at Rapid Web Application Development", + "homepage": "https://github.com/artyom-beilis/cppcms", + "license": null, + "supports": "!uwp", + "dependencies": [ + "icu", + "openssl", + "pcre", + { + "name": "vcpkg-cmake", + "host": true + }, + "zlib" + ] +} |