aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2022-09-26 17:02:49 +0200
committersfan5 <sfan5@live.de>2022-10-13 23:02:11 +0200
commitf680d102599878b02c694127afb9260b5e53b8ed (patch)
treee27c0aae64e99cc94dae5ea3c7ab8fd935f1e764
parente8ee4cb40d9ca3bb738ec2c3b320349f2a7dd733 (diff)
downloadminetest-f680d102599878b02c694127afb9260b5e53b8ed.tar.xz
Other minor CMake improvements
-rw-r--r--CMakeLists.txt26
-rw-r--r--lib/bitop/CMakeLists.txt5
-rw-r--r--src/CMakeLists.txt8
3 files changed, 19 insertions, 20 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2681f8259..d4ecda37b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -136,6 +136,17 @@ if(BUILD_CLIENT AND TARGET IrrlichtMt::IrrlichtMt)
endif()
endif()
+if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+ if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "${GCC_MINIMUM_VERSION}")
+ message(FATAL_ERROR "Insufficient gcc version, found ${CMAKE_CXX_COMPILER_VERSION}. "
+ "Version ${GCC_MINIMUM_VERSION} or higher is required.")
+ endif()
+elseif(CMAKE_CXX_COMPILER_ID MATCHES "(Apple)?Clang")
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "${CLANG_MINIMUM_VERSION}")
+ message(FATAL_ERROR "Insufficient clang version, found ${CMAKE_CXX_COMPILER_VERSION}. "
+ "Version ${CLANG_MINIMUM_VERSION} or higher is required.")
+ endif()
+endif()
# Installation
@@ -278,23 +289,9 @@ find_package(GMP REQUIRED)
find_package(Json REQUIRED)
find_package(Lua REQUIRED)
if(NOT USE_LUAJIT)
- set(LUA_BIT_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/bitop)
- set(LUA_BIT_LIBRARY bitop)
add_subdirectory(lib/bitop)
endif()
-if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
- if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "${GCC_MINIMUM_VERSION}")
- message(FATAL_ERROR "Insufficient gcc version, found ${CMAKE_CXX_COMPILER_VERSION}. "
- "Version ${GCC_MINIMUM_VERSION} or higher is required.")
- endif()
-elseif(CMAKE_CXX_COMPILER_ID MATCHES "(Apple)?Clang")
- if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "${CLANG_MINIMUM_VERSION}")
- message(FATAL_ERROR "Insufficient clang version, found ${CMAKE_CXX_COMPILER_VERSION}. "
- "Version ${CLANG_MINIMUM_VERSION} or higher is required.")
- endif()
-endif()
-
if(BUILD_BENCHMARKS)
add_subdirectory(lib/catch2)
endif()
@@ -303,7 +300,6 @@ endif()
# Be sure to add all relevant definitions above this
add_subdirectory(src)
-
# CPack
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A free open-source voxel game engine with easy modding and game creation.")
diff --git a/lib/bitop/CMakeLists.txt b/lib/bitop/CMakeLists.txt
index 80b627446..2aec86f27 100644
--- a/lib/bitop/CMakeLists.txt
+++ b/lib/bitop/CMakeLists.txt
@@ -1,4 +1,5 @@
add_library(bitop STATIC bit.cpp)
-target_link_libraries(bitop)
+target_include_directories(bitop PRIVATE ${LUA_INCLUDE_DIR})
-include_directories(${LUA_INCLUDE_DIR})
+set(LUA_BIT_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)
+set(LUA_BIT_LIBRARY bitop PARENT_SCOPE)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1f1e987f7..64aef356a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -241,6 +241,10 @@ endif()
# Use cmake_config.h
add_definitions(-DUSE_CMAKE_CONFIG_H)
+set(THREADS_PREFER_PTHREAD_FLAG ON)
+find_package(Threads REQUIRED)
+set(PLATFORM_LIBS Threads::Threads)
+
if(WIN32)
# Windows
if(MSVC) # MSVC Specifics
@@ -251,8 +255,6 @@ if(WIN32)
add_definitions(/D "_USE_MATH_DEFINES")
# Dont define min/max macros in minwindef.h
add_definitions(/D "NOMINMAX")
- else() # Probably MinGW = GCC
- set(PLATFORM_LIBS "")
endif()
set(PLATFORM_LIBS ws2_32.lib version.lib shlwapi.lib winmm.lib ${PLATFORM_LIBS})
@@ -282,7 +284,7 @@ else()
endif(NOT HAIKU AND NOT APPLE)
endif()
- set(PLATFORM_LIBS -lpthread ${CMAKE_DL_LIBS})
+ set(PLATFORM_LIBS ${PLATFORM_LIBS} ${CMAKE_DL_LIBS})
if(APPLE)
set(PLATFORM_LIBS "-framework CoreFoundation" ${PLATFORM_LIBS})
else()