]> git.lizzy.rs Git - minetest.git/blobdiff - src/CMakeLists.txt
Organize and sort out some library dependency issues
[minetest.git] / src / CMakeLists.txt
index 2627a0b97db95221919e4e9c561b9ed54a35ae31..567722d62e5781a3f5c75d75db34b4b2b1e71c79 100644 (file)
@@ -104,15 +104,18 @@ endif()
 
 option(ENABLE_GLES "Use OpenGL ES instead of OpenGL" FALSE)
 mark_as_advanced(ENABLE_GLES)
-if(ENABLE_GLES)
-       find_package(OpenGLES2 REQUIRED)
-elseif()
-       if(NOT WIN32) # Unix probably
-               set(OPENGL_GL_PREFERENCE "LEGACY" CACHE STRING
-                       "See CMake Policy CMP0072 for reference. GLVND is broken on some nvidia setups")
-               set(OpenGL_GL_PREFERENCE ${OPENGL_GL_PREFERENCE})
+if(BUILD_CLIENT)
+       if(ENABLE_GLES)
+               find_package(OpenGLES2 REQUIRED)
+       else()
+               # transitive dependency from Irrlicht (see longer explanation below)
+               if(NOT WIN32)
+                       set(OPENGL_GL_PREFERENCE "LEGACY" CACHE STRING
+                               "See CMake Policy CMP0072 for reference. GLVND is broken on some nvidia setups")
+                       set(OpenGL_GL_PREFERENCE ${OPENGL_GL_PREFERENCE})
 
-               find_package(OpenGL REQUIRED)
+                       find_package(OpenGL REQUIRED)
+               endif()
        endif()
 endif()
 
@@ -279,17 +282,28 @@ if(WIN32)
 else()
        # Unix probably
        if(BUILD_CLIENT)
-               if(NOT HAIKU)
+               if(NOT HAIKU AND NOT APPLE)
                        find_package(X11 REQUIRED)
-               endif(NOT HAIKU)
+               endif(NOT HAIKU AND NOT APPLE)
+
+               ##
+               # The following dependencies are transitive dependencies from Irrlicht.
+               # Minetest itself does not use them, but we link them so that statically
+               # linking Irrlicht works.
+               if(NOT HAIKU AND NOT APPLE)
+                       # This way Xxf86vm is found on OpenBSD too
+                       find_library(XXF86VM_LIBRARY Xxf86vm)
+                       mark_as_advanced(XXF86VM_LIBRARY)
+                       set(CLIENT_PLATFORM_LIBS ${CLIENT_PLATFORM_LIBS} ${XXF86VM_LIBRARY})
+               endif(NOT HAIKU AND NOT APPLE)
 
                find_package(JPEG REQUIRED)
                find_package(BZip2 REQUIRED)
                find_package(PNG REQUIRED)
                if(APPLE)
-                       find_library(CARBON_LIB Carbon)
-                       find_library(COCOA_LIB Cocoa)
-                       find_library(IOKIT_LIB IOKit)
+                       find_library(CARBON_LIB Carbon REQUIRED)
+                       find_library(COCOA_LIB Cocoa REQUIRED)
+                       find_library(IOKIT_LIB IOKit REQUIRED)
                        mark_as_advanced(
                                CARBON_LIB
                                COCOA_LIB
@@ -297,7 +311,9 @@ else()
                        )
                        SET(CLIENT_PLATFORM_LIBS ${CLIENT_PLATFORM_LIBS} ${CARBON_LIB} ${COCOA_LIB} ${IOKIT_LIB})
                endif(APPLE)
+               ##
        endif(BUILD_CLIENT)
+
        find_package(ZLIB REQUIRED)
        set(PLATFORM_LIBS -lpthread ${CMAKE_DL_LIBS})
        if(APPLE)
@@ -309,13 +325,6 @@ else()
                endif(HAVE_LIBRT)
        endif(APPLE)
 
-       if(NOT HAIKU AND NOT APPLE)
-       # This way Xxf86vm is found on OpenBSD too
-               find_library(XXF86VM_LIBRARY Xxf86vm)
-               mark_as_advanced(XXF86VM_LIBRARY)
-               set(CLIENT_PLATFORM_LIBS ${CLIENT_PLATFORM_LIBS} ${XXF86VM_LIBRARY})
-       endif(NOT HAIKU AND NOT APPLE)
-
        # Prefer local iconv if installed
        find_library(ICONV_LIBRARY iconv)
        mark_as_advanced(ICONV_LIBRARY)
@@ -404,7 +413,6 @@ set(common_SRCS
        player.cpp
        porting.cpp
        profiler.cpp
-       quicktune.cpp
        raycast.cpp
        reflowscan.cpp
        remoteplayer.cpp
@@ -645,8 +653,6 @@ set(GETTEXT_BLACKLISTED_LOCALES
        he
        ko
        ky
-       zh_CN
-       zh_TW
 )
 
 option(APPLY_LOCALE_BLACKLIST "Use a blacklist to avoid broken locales" TRUE)
@@ -737,7 +743,7 @@ if(WIN32)
        if(VCPKG_APPLOCAL_DEPS)
                # Collect the dll's from the output path
                install(DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/Release/
-                               DESTINATION ${BINDIR} 
+                               DESTINATION ${BINDIR}
                                CONFIGURATIONS Release
                                FILES_MATCHING PATTERN "*.dll")
                install(DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/Debug/