mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-11-04 09:15:29 +01:00 
			
		
		
		
	Build configuration fixes/improvements on Windows
This commit is contained in:
		@@ -5,13 +5,22 @@ if(RUN_IN_PLACE)
 | 
			
		||||
	add_definitions ( -DRUN_IN_PLACE )
 | 
			
		||||
endif(RUN_IN_PLACE)
 | 
			
		||||
 | 
			
		||||
# Set some random things default to not being visible in the GUI
 | 
			
		||||
mark_as_advanced(EXECUTABLE_OUTPUT_PATH LIBRARY_OUTPUT_PATH)
 | 
			
		||||
mark_as_advanced(JTHREAD_INCLUDE_DIR JTHREAD_LIBRARY)
 | 
			
		||||
mark_as_advanced(SQLITE3_INCLUDE_DIR SQLITE3_LIBRARY)
 | 
			
		||||
 | 
			
		||||
# user-visible option to enable/disable gettext usage
 | 
			
		||||
OPTION(ENABLE_GETTEXT "Use GetText for internationalization" ON)
 | 
			
		||||
OPTION(ENABLE_GETTEXT "Use GetText for internationalization" 0)
 | 
			
		||||
 | 
			
		||||
# this is only set to 1 if gettext is enabled _and_ available
 | 
			
		||||
set(USE_GETTEXT 0)
 | 
			
		||||
 | 
			
		||||
find_package(GettextLib)
 | 
			
		||||
if(ENABLE_GETTEXT)
 | 
			
		||||
	find_package(GettextLib)
 | 
			
		||||
else()
 | 
			
		||||
	MARK_AS_ADVANCED(GETTEXT_ICONV_DLL GETTEXT_INCLUDE_DIR GETTEXT_LIBRARY GETTEXT_MSGFMT)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if(GETTEXT_FOUND AND ENABLE_GETTEXT)
 | 
			
		||||
	message(STATUS "gettext include path: ${GETTEXT_INCLUDE_DIR}")
 | 
			
		||||
@@ -29,36 +38,48 @@ else(GETTEXT_FOUND AND ENABLE_GETTEXT)
 | 
			
		||||
	message(STATUS "GetText disabled")
 | 
			
		||||
endif(GETTEXT_FOUND AND ENABLE_GETTEXT)
 | 
			
		||||
 | 
			
		||||
# user visible option to enable/disable audio
 | 
			
		||||
OPTION(ENABLE_AUDIO "Enable audio" ON)
 | 
			
		||||
# user visible option to enable/disable sound
 | 
			
		||||
OPTION(ENABLE_SOUND "Enable sound" ON)
 | 
			
		||||
 | 
			
		||||
# this is only set to 1 if audio is enabled _and_ available
 | 
			
		||||
set(USE_AUDIO 0)
 | 
			
		||||
# this is only set to 1 if sound is enabled _and_ available
 | 
			
		||||
set(USE_SOUND 0)
 | 
			
		||||
set(SOUND_PROBLEM 0)
 | 
			
		||||
 | 
			
		||||
if(ENABLE_AUDIO)
 | 
			
		||||
if(ENABLE_SOUND)
 | 
			
		||||
	# Sound libraries
 | 
			
		||||
	find_package(OpenAL)
 | 
			
		||||
	if (OPENAL_FOUND)
 | 
			
		||||
		find_package(Vorbis)
 | 
			
		||||
		if (VORBIS_FOUND)
 | 
			
		||||
			set(USE_AUDIO 1)
 | 
			
		||||
			set(audio_SRCS sound_openal.cpp)
 | 
			
		||||
			set(AUDIO_INCLUDE_DIRS
 | 
			
		||||
				${OPENAL_INCLUDE_DIR}
 | 
			
		||||
				${VORBIS_INCLUDE_DIR}
 | 
			
		||||
				)
 | 
			
		||||
			set(AUDIO_LIBRARIES
 | 
			
		||||
				${OPENAL_LIBRARY}
 | 
			
		||||
				${VORBIS_LIBRARIES}
 | 
			
		||||
				)
 | 
			
		||||
			message(STATUS "Sound enabled")
 | 
			
		||||
		else(VORBIS_FOUND)
 | 
			
		||||
			message(FATAL_ERROR "Sound enabled, but Vorbis libraries not found!")
 | 
			
		||||
		endif(VORBIS_FOUND)
 | 
			
		||||
	else(OPENAL_FOUND)
 | 
			
		||||
		message(FATAL_ERROR "Sound enabled, but OpenAL not found!")
 | 
			
		||||
	endif(OPENAL_FOUND)
 | 
			
		||||
endif(ENABLE_AUDIO)
 | 
			
		||||
	find_package(Vorbis)
 | 
			
		||||
	if(NOT OPENAL_FOUND)
 | 
			
		||||
		message(STATUS "Sound enabled, but OpenAL not found!")
 | 
			
		||||
		set(SOUND_PROBLEM 1)
 | 
			
		||||
		MARK_AS_ADVANCED(CLEAR OPENAL_LIBRARY OPENAL_INCLUDE_DIR)
 | 
			
		||||
	endif()
 | 
			
		||||
	if(NOT VORBIS_FOUND)
 | 
			
		||||
		message(STATUS "Sound enabled, but Vorbis libraries not found!")
 | 
			
		||||
		set(SOUND_PROBLEM 1)
 | 
			
		||||
		MARK_AS_ADVANCED(CLEAR OGG_INCLUDE_DIR VORBIS_INCLUDE_DIR OGG_LIBRARY VORBIS_LIBRARY VORBISFILE_LIBRARY)
 | 
			
		||||
	endif()
 | 
			
		||||
	if(OPENAL_FOUND AND VORBIS_FOUND)
 | 
			
		||||
		set(USE_SOUND 1)
 | 
			
		||||
		message(STATUS "Sound enabled")
 | 
			
		||||
	endif()
 | 
			
		||||
endif(ENABLE_SOUND)
 | 
			
		||||
 | 
			
		||||
if(SOUND_PROBLEM)
 | 
			
		||||
	message(FATAL_ERROR "Sound enabled, but cannot be used.\n"
 | 
			
		||||
		"To continue, either fill in the required paths or disable sound.")
 | 
			
		||||
endif()
 | 
			
		||||
if(USE_SOUND)
 | 
			
		||||
	set(sound_SRCS sound_openal.cpp)
 | 
			
		||||
	set(SOUND_INCLUDE_DIRS
 | 
			
		||||
		${OPENAL_INCLUDE_DIR}
 | 
			
		||||
		${VORBIS_INCLUDE_DIR}
 | 
			
		||||
		)
 | 
			
		||||
	set(SOUND_LIBRARIES
 | 
			
		||||
		${OPENAL_LIBRARY}
 | 
			
		||||
		${VORBIS_LIBRARIES}
 | 
			
		||||
		)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if(NOT MSVC)
 | 
			
		||||
	set(USE_GPROF 0 CACHE BOOL "Use -pg flag for g++")
 | 
			
		||||
@@ -191,7 +212,7 @@ endif()
 | 
			
		||||
# Client sources
 | 
			
		||||
set(minetest_SRCS
 | 
			
		||||
	${common_SRCS}
 | 
			
		||||
	${audio_SRCS}
 | 
			
		||||
	${sound_SRCS}
 | 
			
		||||
	sky.cpp
 | 
			
		||||
	clientmap.cpp
 | 
			
		||||
	content_cso.cpp
 | 
			
		||||
@@ -235,7 +256,7 @@ include_directories(
 | 
			
		||||
	${CMAKE_BUILD_TYPE}
 | 
			
		||||
	${PNG_INCLUDE_DIR}
 | 
			
		||||
	${GETTEXT_INCLUDE_DIR}
 | 
			
		||||
	${AUDIO_INCLUDE_DIRS}
 | 
			
		||||
	${SOUND_INCLUDE_DIRS}
 | 
			
		||||
	${JTHREAD_INCLUDE_DIR}
 | 
			
		||||
	${SQLITE3_INCLUDE_DIR}
 | 
			
		||||
	${LUA_INCLUDE_DIR}
 | 
			
		||||
@@ -255,7 +276,7 @@ if(BUILD_CLIENT)
 | 
			
		||||
		${PNG_LIBRARIES}
 | 
			
		||||
		${X11_LIBRARIES}
 | 
			
		||||
		${GETTEXT_LIBRARY}
 | 
			
		||||
		${AUDIO_LIBRARIES}
 | 
			
		||||
		${SOUND_LIBRARIES}
 | 
			
		||||
		${JTHREAD_LIBRARY}
 | 
			
		||||
		${SQLITE3_LIBRARY}
 | 
			
		||||
		${LUA_LIBRARY}
 | 
			
		||||
 
 | 
			
		||||
@@ -12,8 +12,8 @@
 | 
			
		||||
	#define CMAKE_BUILD_TYPE "Debug"
 | 
			
		||||
#endif
 | 
			
		||||
#define CMAKE_USE_GETTEXT @USE_GETTEXT@
 | 
			
		||||
#define CMAKE_USE_AUDIO @USE_AUDIO@
 | 
			
		||||
#define CMAKE_BUILD_INFO "VER=@VERSION_STRING@ BUILD_TYPE="CMAKE_BUILD_TYPE" RUN_IN_PLACE=@RUN_IN_PLACE@ USE_GETTEXT=@USE_GETTEXT@ USE_AUDIO=@USE_AUDIO@ INSTALL_PREFIX=@CMAKE_INSTALL_PREFIX@"
 | 
			
		||||
#define CMAKE_USE_SOUND @USE_SOUND@
 | 
			
		||||
#define CMAKE_BUILD_INFO "VER=@VERSION_STRING@ BUILD_TYPE="CMAKE_BUILD_TYPE" RUN_IN_PLACE=@RUN_IN_PLACE@ USE_GETTEXT=@USE_GETTEXT@ USE_SOUND=@USE_SOUND@ INSTALL_PREFIX=@CMAKE_INSTALL_PREFIX@"
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@
 | 
			
		||||
#define VERSION_STRING "unknown"
 | 
			
		||||
#define BUILD_TYPE "unknown"
 | 
			
		||||
#define USE_GETTEXT 0
 | 
			
		||||
#define USE_AUDIO 0
 | 
			
		||||
#define USE_SOUND 0
 | 
			
		||||
#define BUILD_INFO "non-cmake"
 | 
			
		||||
 | 
			
		||||
#ifdef USE_CMAKE_CONFIG_H
 | 
			
		||||
@@ -23,8 +23,8 @@
 | 
			
		||||
	#define BUILD_INFO CMAKE_BUILD_INFO
 | 
			
		||||
	#undef USE_GETTEXT
 | 
			
		||||
	#define USE_GETTEXT CMAKE_USE_GETTEXT
 | 
			
		||||
	#undef USE_AUDIO
 | 
			
		||||
	#define USE_AUDIO CMAKE_USE_AUDIO
 | 
			
		||||
	#undef USE_SOUND
 | 
			
		||||
	#define USE_SOUND CMAKE_USE_SOUND
 | 
			
		||||
	#undef BUILD_INFO
 | 
			
		||||
	#define BUILD_INFO CMAKE_BUILD_INFO
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user