added some new cmake directives to optional turn off subprojects from the build process. The new cmake options include:

BUILD_MEGAGLEST_MODEL_IMPORT_EXPORT_TOOLS
BUILD_MEGAGLEST_MODEL_VIEWER
BUILD_MEGAGLEST_MAP_EDITOR
BUILD_MEGAGLEST_CONFIGURATOR
BUILD_MEGAGLEST

By default these are all enabled (On). Turn turn off a module run cmake with the option turned off:
-DBUILD_MEGAGLEST_CONFIGURATOR=OFF
This commit is contained in:
Mark Vejvoda
2011-10-17 16:59:22 +00:00
parent 9d1b6d592c
commit dac61b9f5d
7 changed files with 905 additions and 874 deletions

View File

@@ -40,6 +40,12 @@ FUNCTION(Subversion_IS_WC FOLDER RESULT_VAR)
ENDFUNCTION()
OPTION(BUILD_MEGAGLEST_MODEL_IMPORT_EXPORT_TOOLS "Build model import/export tools" ON)
OPTION(BUILD_MEGAGLEST_MODEL_VIEWER "Build model viewer" ON)
OPTION(BUILD_MEGAGLEST_MAP_EDITOR "Build map editor" ON)
OPTION(BUILD_MEGAGLEST_CONFIGURATOR "Build configurator" ON)
OPTION(BUILD_MEGAGLEST "Build MegaGlest" ON)
## Compiler flags
IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW)
IF(CMAKE_COMPILER_IS_GNUCXX)

View File

@@ -1,6 +1,10 @@
# common libraries
SET(EXTERNAL_LIBS "")
SET(TARGET_NAME "megaglest_configurator")
IF(BUILD_MEGAGLEST_CONFIGURATOR)
MESSAGE(STATUS "Will try to build MegaGlest Configurator")
FIND_PACKAGE(SDL REQUIRED)
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
@@ -106,8 +110,6 @@ FOREACH(DIR IN LISTS DIRS_WITH_SRC)
ENDIF(APPLE)
ENDFOREACH(DIR)
SET(TARGET_NAME "megaglest_configurator")
IF(UNIX AND NOT APPLE)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux)
ELSE()
@@ -126,6 +128,7 @@ ENDIF()
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
#MESSAGE(STATUS "EXTERNAL_LIBS = [${EXTERNAL_LIBS}]")
ENDIF()
# Requires an install prefix for the items below to work
IF(NOT CMAKE_INSTALL_PREFIX STREQUAL "")

View File

@@ -1,6 +1,10 @@
# common libraries
SET(EXTERNAL_LIBS "")
SET(TARGET_NAME "megaglest_g3dviewer")
IF(BUILD_MEGAGLEST_MODEL_VIEWER)
MESSAGE(STATUS "Will try to build MegaGlest model viewer")
FIND_PACKAGE(SDL REQUIRED)
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
@@ -108,7 +112,6 @@ FOREACH(DIR IN LISTS DIRS_WITH_SRC)
ENDIF(APPLE)
ENDFOREACH(DIR)
SET(TARGET_NAME "megaglest_g3dviewer")
IF(UNIX AND NOT APPLE)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux)
@@ -126,6 +129,7 @@ ELSE()
TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest)
ENDIF()
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
ENDIF()
# Requires an install prefix for the items below to work
IF(NOT CMAKE_INSTALL_PREFIX STREQUAL "")

View File

@@ -2,6 +2,10 @@
# common libraries
SET(EXTERNAL_LIBS "")
SET(TARGET_NAME "megaglest")
IF(BUILD_MEGAGLEST)
MESSAGE(STATUS "Will try to build MegaGlest game")
IF(WIN32)
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH}
@@ -80,6 +84,13 @@ IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${CURL_LIBRARIES})
ENDIF()
FIND_PACKAGE(GLEW REQUIRED)
INCLUDE_DIRECTORIES(${GLEW_INCLUDE_PATH})
IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${GLEW_LIBRARY})
ENDIF()
#########################################################################################
# megaglest game
@@ -105,6 +116,7 @@ SET(GLEST_LIB_INCLUDE_DIRS
${GLEST_LIB_INCLUDE_ROOT}util
${GLEST_LIB_INCLUDE_ROOT}graphics
${GLEST_LIB_INCLUDE_ROOT}graphics/gl
${GLEST_LIB_INCLUDE_ROOT}graphics/md5
${GLEST_LIB_INCLUDE_ROOT}sound
${GLEST_LIB_INCLUDE_ROOT}sound/openal
${GLEST_LIB_INCLUDE_ROOT}xml
@@ -169,12 +181,6 @@ IF(WIN32)
ENDIF()
IF(WIN32)
SET(TARGET_NAME "megaglest")
ELSE()
SET(TARGET_NAME "megaglest")
ENDIF()
IF(UNIX AND NOT APPLE)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux)
ELSE()
@@ -192,6 +198,7 @@ IF(NOT WIN32)
TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest)
ENDIF()
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
ENDIF()
# Requires an install prefix for the items below to work
IF(NOT CMAKE_INSTALL_PREFIX STREQUAL "")

View File

@@ -1,6 +1,10 @@
# common libraries
SET(EXTERNAL_LIBS "")
SET(TARGET_NAME "megaglest_editor")
IF(BUILD_MEGAGLEST_MAP_EDITOR)
MESSAGE(STATUS "Will try to build MegaGlest map editor")
FIND_PACKAGE(SDL REQUIRED)
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
@@ -106,8 +110,6 @@ FOREACH(DIR IN LISTS DIRS_WITH_SRC)
ENDIF(APPLE)
ENDFOREACH(DIR)
SET(TARGET_NAME "megaglest_editor")
IF(UNIX AND NOT APPLE)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux)
ELSE()
@@ -128,6 +130,7 @@ ELSE()
TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest)
ENDIF()
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
ENDIF()
# Requires an install prefix for the items below to work
IF(NOT CMAKE_INSTALL_PREFIX STREQUAL "")

View File

@@ -8,6 +8,10 @@ ADD_SUBDIRECTORY(sources/streflop)
# common libraries
SET(EXTERNAL_LIBS "")
SET(TARGET_NAME "libmegaglest")
IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST_CONFIGURATOR OR BUILD_MEGAGLEST)
MESSAGE(STATUS "Will try to build MegaGlest shared library")
INCLUDE (CheckIncludeFiles)
@@ -188,6 +192,7 @@ SET(DIRS_WITH_SRC
glew
graphics
graphics/gl
graphics/md5
lua
map
platform/common
@@ -316,8 +321,6 @@ SET_SOURCE_FILES_PROPERTIES(${MG_SOURCE_FILES} PROPERTIES COMPILE_FLAGS
SET_SOURCE_FILES_PROPERTIES(${MG_INCLUDE_FILES} PROPERTIES HEADER_FILE_ONLY 1)
SET(TARGET_NAME "libmegaglest")
IF(NOT WIN32)
ADD_LIBRARY(${TARGET_NAME} STATIC ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES})
MESSAGE(STATUS "Building shared game library as a STATIC library and saving to [${LIBRARY_OUTPUT_PATH}]")
@@ -342,3 +345,4 @@ ELSE()
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
ENDIF()
ENDIF()

View File

@@ -1,5 +1,8 @@
# glexemel
IF(BUILD_MEGAGLEST_MODEL_IMPORT_EXPORT_TOOLS)
MESSAGE(STATUS "Will try to build MegaGlest model import/export tools")
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/source/tools/glexemel)
add_executable(g2xml g2xml.c g3dv4.h)
@@ -15,3 +18,4 @@ IF(LIBXML2_FOUND)
ELSE()
MESSAGE(STATUS "WARNING... xml2g will NOT be built since we cannot find libXml2 on this machine")
ENDIF()
ENDIF()