From 947ddc9e1b66e502f137790c6c623486bf0bb2c0 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Tue, 30 Nov 2021 10:09:08 +0000 Subject: [PATCH 1/2] Fix building on CMake 4. This is a partial backport from 2.1. --- CMakeLists.txt | 14 ++------------ include/CMakeLists.txt | 2 +- src/CMakeLists.txt | 2 +- src/tools/CMakeLists.txt | 2 +- 4 files changed, 5 insertions(+), 15 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 822f6f39d..1b999afee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,14 +1,5 @@ # This usage of CMake requires at least version 2.4 (checks are made to determine what to use when certain versions lack functions) -cmake_minimum_required(VERSION 2.4 FATAL_ERROR) -if(COMMAND cmake_policy) - cmake_policy(SET CMP0003 NEW) - if(POLICY CMP0026) - cmake_policy(SET CMP0026 OLD) - endif(POLICY CMP0026) - if(POLICY CMP0007) - cmake_policy(SET CMP0007 OLD) - endif(POLICY CMP0007) -endif(COMMAND cmake_policy) +cmake_minimum_required(VERSION 2.4...3.99 FATAL_ERROR) # Set the project as C++ primarily, but have C enabled for the checks required later project(Anope CXX) @@ -422,7 +413,6 @@ read_from_file(${Anope_SOURCE_DIR}/src/version.sh "^VERSION_" VERSIONS) # Iterate through the strings found foreach(VERSION_STR ${VERSIONS}) string(REGEX REPLACE "^VERSION_([A-Z]+)=\"?([^\"]*)\"?$" "\\1;\\2" VERSION_OUT ${VERSION_STR}) - # Depends on CMP0007 OLD list(LENGTH VERSION_OUT VERSION_LEN) list(GET VERSION_OUT 0 VERSION_TYPE) if(${VERSION_LEN} GREATER 1) @@ -488,7 +478,7 @@ add_subdirectory(modules) add_subdirectory(include) # Get the filename of the Anope binary, to use later -get_target_property(SERVICES_BINARY ${PROGRAM_NAME} LOCATION) +set(SERVICES_BINARY "$") get_filename_component(SERVICES_BINARY ${SERVICES_BINARY} NAME) # At install time, create the following additional directories diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt index a434be6e1..e76df454d 100644 --- a/include/CMakeLists.txt +++ b/include/CMakeLists.txt @@ -3,7 +3,7 @@ set_source_files_properties(version.cpp PROPERTIES LANGUAGE CXX COMPILE_FLAGS "$ # Generate version-bin executable to modify version.h, setting it's linker flags as well add_executable(version-bin version.cpp) set_target_properties(version-bin PROPERTIES LINKER_LANGUAGE CXX LINK_FLAGS "${LDFLAGS}") -get_target_property(version_BINARY version-bin LOCATION) +set(version_BINARY "$") # Modify version.h from the above executable, with dependencies to version.cpp # and all of the source files in the main build add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/version.h ${CMAKE_CURRENT_BINARY_DIR}/build.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b390d164b..bdec61abf 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -97,7 +97,7 @@ if(GETTEXT_FOUND) endif(GETTEXT_FOUND) # Get the filename of the Anope executable as it is in on this system -get_target_property(SERVICES_BINARY ${PROGRAM_NAME} LOCATION) +set(SERVICES_BINARY "$") get_filename_component(SERVICES_BINARY ${SERVICES_BINARY} NAME) # Add the Anope executable to the list of files for CPack to ignore add_to_cpack_ignored_files("${SERVICES_BINARY}$" TRUE) diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt index 3e00b981d..29421aeeb 100644 --- a/src/tools/CMakeLists.txt +++ b/src/tools/CMakeLists.txt @@ -29,7 +29,7 @@ foreach(SRC ${TOOLS_SRCS}) DESTINATION ${BIN_DIR} ) # Add the executable to the list of files for CPack to ignore - get_target_property(EXE_BINARY ${EXE} LOCATION) + set(EXE_BINARY "$") get_filename_component(EXE_BINARY ${EXE_BINARY} NAME) add_to_cpack_ignored_files("${EXE_BINARY}$" TRUE) endif(NOT SKIP) From 0b36ddfaf32b30dba22ec3a66a23b2e284c87e16 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Wed, 2 Apr 2025 09:58:49 +0100 Subject: [PATCH 2/2] Fix building on old versions of RHEL. --- src/mail.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mail.cpp b/src/mail.cpp index fe8bb0b90..bdad2447f 100644 --- a/src/mail.cpp +++ b/src/mail.cpp @@ -9,6 +9,8 @@ * Based on the original code of Services by Andy Church. */ +#include + #include "services.h" #include "mail.h" #include "config.h"