aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/log4cpp-log4cpp
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/log4cpp-log4cpp
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/log4cpp-log4cpp')
-rw-r--r--vcpkg/ports/log4cpp-log4cpp/fix_link_msvcrt.patch31
-rw-r--r--vcpkg/ports/log4cpp-log4cpp/portfile.cmake79
-rw-r--r--vcpkg/ports/log4cpp-log4cpp/vcpkg.json13
3 files changed, 123 insertions, 0 deletions
diff --git a/vcpkg/ports/log4cpp-log4cpp/fix_link_msvcrt.patch b/vcpkg/ports/log4cpp-log4cpp/fix_link_msvcrt.patch
new file mode 100644
index 0000000..7e08edc
--- /dev/null
+++ b/vcpkg/ports/log4cpp-log4cpp/fix_link_msvcrt.patch
@@ -0,0 +1,31 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 140910b..08cde3b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -81,8 +81,12 @@ ADD_LIBRARY ( ${LOG4CPP_LIBRARY_NAME}
+ )
+
+ IF (WIN32)
+- TARGET_LINK_LIBRARIES (${LOG4CPP_LIBRARY_NAME} kernel32 user32 ws2_32 advapi32 )
+- SET_TARGET_PROPERTIES(${LOG4CPP_LIBRARY_NAME} PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt )
++ TARGET_LINK_LIBRARIES (${LOG4CPP_LIBRARY_NAME} kernel32 user32 ws2_32 advapi32)
++ IF ( CMAKE_BUILD_TYPE MATCHES "Debug" )
++ SET_TARGET_PROPERTIES(${LOG4CPP_LIBRARY_NAME} PROPERTIES LINK_FLAGS /NODEFAULTLIB:MSVCRT)
++ ELSE(CMAKE_BUILD_TYPE MATCHES "Debug" )
++ SET_TARGET_PROPERTIES(${LOG4CPP_LIBRARY_NAME} PROPERTIES LINK_FLAGS /NODEFAULTLIB:MSVCRTD)
++ ENDIF(CMAKE_BUILD_TYPE MATCHES "Debug" )
+ ENDIF (WIN32)
+
+ INSTALL (
+@@ -92,9 +96,11 @@ INSTALL (
+ PATTERN ".svn" EXCLUDE
+ PATTERN "*.am" EXCLUDE
+ PATTERN "*.in" EXCLUDE
++ PATTERN ".cvsignore" EXCLUDE
+ )
+
+ INSTALL (
+ TARGETS ${LOG4CPP_LIBRARY_NAME}
+ ARCHIVE DESTINATION lib
++ RUNTIME DESTINATION bin
+ )
diff --git a/vcpkg/ports/log4cpp-log4cpp/portfile.cmake b/vcpkg/ports/log4cpp-log4cpp/portfile.cmake
new file mode 100644
index 0000000..bab255a
--- /dev/null
+++ b/vcpkg/ports/log4cpp-log4cpp/portfile.cmake
@@ -0,0 +1,79 @@
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO log4cpp/log4cpp-1.1.x%20%28new%29
+ REF log4cpp-1.1
+ FILENAME "log4cpp-1.1.4.tar.gz"
+ SHA512 0cdbd46ccd048d70bea3c35d22080dc5dd21fc3b9c415fe464847e60775954f57e9c8344506f0f94f16e90e8bdaa9cc6d84d3aa65191501e52ee8dfc639f0398
+ PATCHES
+ fix_link_msvcrt.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_cmake_install()
+ vcpkg_copy_pdbs()
+
+ set(VCPKG_POLICY_DLLS_WITHOUT_EXPORTS enabled)
+ set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib" "${CURRENT_PACKAGES_DIR}/lib")
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")
+ endif()
+elseif(VCPKG_TARGET_IS_LINUX)
+ #message(STATUS "Configuring ${TARGET_TRIPLET}")
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ set(SHARED_STATIC --enable-static --disable-shared)
+ else()
+ set(SHARED_STATIC --disable-static --enable-shared)
+ endif()
+
+ set(OPTIONS ${SHARED_STATIC})
+ message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
+ set(CFLAGS "${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_DEBUG} -fPIC -O0 -g -I${SOURCE_PATH}/include")
+ set(LDFLAGS "${VCPKG_LINKER_FLAGS}")
+ #create makefile
+ vcpkg_execute_required_process(
+ COMMAND ${SOURCE_PATH}/configure --prefix=${CURRENT_PACKAGES_DIR}/debug ${OPTIONS} --with-sysroot=${CURRENT_INSTALLED_DIR}/debug
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
+ LOGNAME configure-${TARGET_TRIPLET}-dbg)
+
+ message(STATUS "Building ${TARGET_TRIPLET}-dbg")
+ vcpkg_execute_required_process(
+ COMMAND make -j install "CFLAGS=${CFLAGS}" "LDFLAGS=${LDFLAGS}"
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
+ LOGNAME install-${TARGET_TRIPLET}-dbg
+ )
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+ #build release log4cpp
+ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+ file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+ message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
+ set(CFLAGS "${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_RELEASE} -fPIC -O3 -I${SOURCE_PATH}/include")
+ set(LDFLAGS "${VCPKG_LINKER_FLAGS}")
+ vcpkg_execute_required_process(
+ COMMAND ${SOURCE_PATH}/configure --prefix=${CURRENT_PACKAGES_DIR} ${OPTIONS} --with-sysroot=${CURRENT_INSTALLED_DIR}
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
+ LOGNAME configure-${TARGET_TRIPLET}-rel
+ )
+ message(STATUS "Building ${TARGET_TRIPLET}-rel")
+ vcpkg_execute_required_process(
+ COMMAND make -j install "CFLAGS=${CFLAGS}" "LDFLAGS=${LDFLAGS}"
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
+ LOGNAME install-${TARGET_TRIPLET}-rel
+ )
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+ endif()
+ vcpkg_fixup_pkgconfig()
+endif()
+
+# Handle copyright
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
diff --git a/vcpkg/ports/log4cpp-log4cpp/vcpkg.json b/vcpkg/ports/log4cpp-log4cpp/vcpkg.json
new file mode 100644
index 0000000..d6c1188
--- /dev/null
+++ b/vcpkg/ports/log4cpp-log4cpp/vcpkg.json
@@ -0,0 +1,13 @@
+{
+ "name": "log4cpp-log4cpp",
+ "version": "1.1.4",
+ "description": "A library of C++ classes for flexible logging to files (rolling), syslog, IDSA and other destinations. It is modeled after the Log for Java library (http://www.log4j.org), staying as close to their API as is reasonable.",
+ "homepage": "https://sourceforge.net/projects/log4cpp/",
+ "supports": "(linux | windows) & !uwp",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ]
+}