diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/log4cpp-log4cpp | |
Diffstat (limited to 'vcpkg/ports/log4cpp-log4cpp')
| -rw-r--r-- | vcpkg/ports/log4cpp-log4cpp/fix_link_msvcrt.patch | 31 | ||||
| -rw-r--r-- | vcpkg/ports/log4cpp-log4cpp/portfile.cmake | 79 | ||||
| -rw-r--r-- | vcpkg/ports/log4cpp-log4cpp/vcpkg.json | 13 |
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 + } + ] +} |