summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2021-11-30 10:09:08 +0000
committerSadie Powell <sadie@witchery.services>2025-04-02 09:53:10 +0100
commit947ddc9e1b66e502f137790c6c623486bf0bb2c0 (patch)
treef324a1c84188bff7786f7ba4e61079a15c330208
parent43dc6f75096b63efc9df8f6e313e10f076203e93 (diff)
Fix building on CMake 4.
This is a partial backport from 2.1.
-rw-r--r--CMakeLists.txt14
-rw-r--r--include/CMakeLists.txt2
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--src/tools/CMakeLists.txt2
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 "$<TARGET_FILE:${PROGRAM_NAME}>")
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 "$<TARGET_FILE:version-bin>")
# 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 "$<TARGET_FILE:${PROGRAM_NAME}>")
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 "$<TARGET_FILE:${EXE}>")
get_filename_component(EXE_BINARY ${EXE_BINARY} NAME)
add_to_cpack_ignored_files("${EXE_BINARY}$" TRUE)
endif(NOT SKIP)