Build configuration fixes/improvements on Windows
authorPerttu Ahola <celeron55@gmail.com>
Sun, 25 Mar 2012 01:03:51 +0000 (04:03 +0300)
committerPerttu Ahola <celeron55@gmail.com>
Sun, 25 Mar 2012 01:03:51 +0000 (04:03 +0300)
src/CMakeLists.txt
src/cmake_config.h.in
src/config.h

index 4807e871cc2a476700d3a36794d9e82a45f0540e..fd06503834c20e172d13c4a96d47e2629e06a0a4 100644 (file)
@@ -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}
index 2205e14a2e00abe77f36ea2a4571f2f5a340cbfe..054cca16512634f2bfede066c3982057970a5e2b 100644 (file)
@@ -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
 
index a4a1d351ab884e17ee6d7f952f606f2bbf685ba2..233d747175a956c1c25ffd24b2b10d357284629c 100644 (file)
@@ -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