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() 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 ## Compiler flags
IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW) IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW)
IF(CMAKE_COMPILER_IS_GNUCXX) IF(CMAKE_COMPILER_IS_GNUCXX)

View File

@@ -1,16 +1,20 @@
# common libraries # common libraries
SET(EXTERNAL_LIBS "") SET(EXTERNAL_LIBS "")
SET(TARGET_NAME "megaglest_configurator")
FIND_PACKAGE(SDL REQUIRED) IF(BUILD_MEGAGLEST_CONFIGURATOR)
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR}) MESSAGE(STATUS "Will try to build MegaGlest Configurator")
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${SDL_LIBRARY})
FIND_PACKAGE(OpenGL REQUIRED) FIND_PACKAGE(SDL REQUIRED)
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENGL_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${SDL_LIBRARY})
IF(NOT WIN32) FIND_PACKAGE(OpenGL REQUIRED)
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENGL_LIBRARY})
IF(NOT WIN32)
FIND_PACKAGE(XercesC REQUIRED) FIND_PACKAGE(XercesC REQUIRED)
INCLUDE_DIRECTORIES(${XERCESC_INCLUDE}) INCLUDE_DIRECTORIES(${XERCESC_INCLUDE})
@@ -21,7 +25,7 @@ IF(NOT WIN32)
# wxWidgets include (this will do all the magic to configure everything) # wxWidgets include (this will do all the magic to configure everything)
include( ${wxWidgets_USE_FILE} ) include( ${wxWidgets_USE_FILE} )
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${wxWidgets_LIBRARIES}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${wxWidgets_LIBRARIES})
ELSE() ELSE()
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu-2.8-i586-mingw32msvc.dll.a) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu-2.8-i586-mingw32msvc.dll.a)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu_gl-2.8-i586-mingw32msvc.dll.a) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu_gl-2.8-i586-mingw32msvc.dll.a)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwxpng-2.8-i586-mingw32msvc.a) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwxpng-2.8-i586-mingw32msvc.a)
@@ -50,21 +54,21 @@ ELSE()
link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/lib) link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/lib)
link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib) link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib)
ENDIF() ENDIF()
######################################################################################### #########################################################################################
# megaglest configurator # megaglest configurator
SET(DIRS_WITH_SRC SET(DIRS_WITH_SRC
. .
) )
SET(GLEST_MAIN_INCLUDE_ROOT "../glest_game/") SET(GLEST_MAIN_INCLUDE_ROOT "../glest_game/")
SET(GLEST_LIB_INCLUDE_ROOT "../shared_lib/include/") SET(GLEST_LIB_INCLUDE_ROOT "../shared_lib/include/")
SET(GLEST_LIB_INCLUDE_DIRS SET(GLEST_LIB_INCLUDE_DIRS
${GLEST_LIB_INCLUDE_ROOT}platform/common ${GLEST_LIB_INCLUDE_ROOT}platform/common
# ${GLEST_LIB_INCLUDE_ROOT}platform/sdl # ${GLEST_LIB_INCLUDE_ROOT}platform/sdl
${GLEST_LIB_INCLUDE_ROOT}platform/posix ${GLEST_LIB_INCLUDE_ROOT}platform/posix
${GLEST_LIB_INCLUDE_ROOT}util ${GLEST_LIB_INCLUDE_ROOT}util
${GLEST_LIB_INCLUDE_ROOT}graphics ${GLEST_LIB_INCLUDE_ROOT}graphics
@@ -77,18 +81,18 @@ SET(GLEST_LIB_INCLUDE_DIRS
${GLEST_MAIN_INCLUDE_ROOT}game ${GLEST_MAIN_INCLUDE_ROOT}game
${GLEST_MAIN_INCLUDE_ROOT}global ${GLEST_MAIN_INCLUDE_ROOT}global
) )
INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_DIRS} ) INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_DIRS} )
IF(WIN32) IF(WIN32)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/win32) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/win32)
INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl ) INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl )
ELSE() ELSE()
INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl ) INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl )
ENDIF() ENDIF()
SET(MG_SOURCE_FILES "../glest_game/global/config.cpp") SET(MG_SOURCE_FILES "../glest_game/global/config.cpp")
FOREACH(DIR IN LISTS DIRS_WITH_SRC) FOREACH(DIR IN LISTS DIRS_WITH_SRC)
INCLUDE_DIRECTORIES( ${DIR} ) INCLUDE_DIRECTORIES( ${DIR} )
set(SRC_DIR_TO_GLOB ${DIR}) set(SRC_DIR_TO_GLOB ${DIR})
@@ -104,28 +108,27 @@ FOREACH(DIR IN LISTS DIRS_WITH_SRC)
#MESSAGE(STATUS "SRC_FILES_FROM_THIS_DIR: ${SRC_FILES_FROM_THIS_DIR}") #MESSAGE(STATUS "SRC_FILES_FROM_THIS_DIR: ${SRC_FILES_FROM_THIS_DIR}")
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${SRC_FILES_FROM_THIS_DIR}) SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${SRC_FILES_FROM_THIS_DIR})
ENDIF(APPLE) ENDIF(APPLE)
ENDFOREACH(DIR) ENDFOREACH(DIR)
SET(TARGET_NAME "megaglest_configurator") IF(UNIX AND NOT APPLE)
IF(UNIX AND NOT APPLE)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux) SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux)
ELSE() ELSE()
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game) SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game)
ENDIF() ENDIF()
SET_SOURCE_FILES_PROPERTIES(${MG_INCLUDE_FILES} PROPERTIES HEADER_FILE_ONLY 1) SET_SOURCE_FILES_PROPERTIES(${MG_INCLUDE_FILES} PROPERTIES HEADER_FILE_ONLY 1)
ADD_EXECUTABLE(${TARGET_NAME} ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES}) ADD_EXECUTABLE(${TARGET_NAME} ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES})
TARGET_LINK_LIBRARIES(${TARGET_NAME} streflop) TARGET_LINK_LIBRARIES(${TARGET_NAME} streflop)
IF(WIN32) IF(WIN32)
TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest) TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest)
ELSE() ELSE()
TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest) TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest)
ENDIF() ENDIF()
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS}) TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
#MESSAGE(STATUS "EXTERNAL_LIBS = [${EXTERNAL_LIBS}]") #MESSAGE(STATUS "EXTERNAL_LIBS = [${EXTERNAL_LIBS}]")
ENDIF()
# Requires an install prefix for the items below to work # Requires an install prefix for the items below to work
IF(NOT CMAKE_INSTALL_PREFIX STREQUAL "") IF(NOT CMAKE_INSTALL_PREFIX STREQUAL "")

View File

@@ -1,16 +1,20 @@
# common libraries # common libraries
SET(EXTERNAL_LIBS "") SET(EXTERNAL_LIBS "")
SET(TARGET_NAME "megaglest_g3dviewer")
FIND_PACKAGE(SDL REQUIRED) IF(BUILD_MEGAGLEST_MODEL_VIEWER)
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR}) MESSAGE(STATUS "Will try to build MegaGlest model viewer")
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${SDL_LIBRARY})
FIND_PACKAGE(OpenGL REQUIRED) FIND_PACKAGE(SDL REQUIRED)
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENGL_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${SDL_LIBRARY})
IF(NOT WIN32) FIND_PACKAGE(OpenGL REQUIRED)
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENGL_LIBRARY})
IF(NOT WIN32)
FIND_PACKAGE(XercesC REQUIRED) FIND_PACKAGE(XercesC REQUIRED)
INCLUDE_DIRECTORIES(${XERCESC_INCLUDE}) INCLUDE_DIRECTORIES(${XERCESC_INCLUDE})
@@ -21,7 +25,7 @@ IF(NOT WIN32)
# wxWidgets include (this will do all the magic to configure everything) # wxWidgets include (this will do all the magic to configure everything)
include( ${wxWidgets_USE_FILE} ) include( ${wxWidgets_USE_FILE} )
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${wxWidgets_LIBRARIES}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${wxWidgets_LIBRARIES})
ELSE() ELSE()
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu-2.8-i586-mingw32msvc.dll.a) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu-2.8-i586-mingw32msvc.dll.a)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu_gl-2.8-i586-mingw32msvc.dll.a) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu_gl-2.8-i586-mingw32msvc.dll.a)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwxpng-2.8-i586-mingw32msvc.a) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwxpng-2.8-i586-mingw32msvc.a)
@@ -50,21 +54,21 @@ ELSE()
link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/lib) link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/lib)
link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib) link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib)
ENDIF() ENDIF()
######################################################################################### #########################################################################################
# megaglest G3D Model Viewer # megaglest G3D Model Viewer
SET(DIRS_WITH_SRC SET(DIRS_WITH_SRC
. .
) )
SET(GLEST_MAIN_INCLUDE_ROOT "../glest_game/") SET(GLEST_MAIN_INCLUDE_ROOT "../glest_game/")
SET(GLEST_LIB_INCLUDE_ROOT "../shared_lib/include/") SET(GLEST_LIB_INCLUDE_ROOT "../shared_lib/include/")
SET(GLEST_LIB_INCLUDE_DIRS SET(GLEST_LIB_INCLUDE_DIRS
${GLEST_LIB_INCLUDE_ROOT}platform/common ${GLEST_LIB_INCLUDE_ROOT}platform/common
# ${GLEST_LIB_INCLUDE_ROOT}platform/sdl # ${GLEST_LIB_INCLUDE_ROOT}platform/sdl
${GLEST_LIB_INCLUDE_ROOT}platform/posix ${GLEST_LIB_INCLUDE_ROOT}platform/posix
${GLEST_LIB_INCLUDE_ROOT}util ${GLEST_LIB_INCLUDE_ROOT}util
${GLEST_LIB_INCLUDE_ROOT}graphics ${GLEST_LIB_INCLUDE_ROOT}graphics
@@ -79,18 +83,18 @@ SET(GLEST_LIB_INCLUDE_DIRS
${GLEST_MAIN_INCLUDE_ROOT}global ${GLEST_MAIN_INCLUDE_ROOT}global
${GLEST_MAIN_INCLUDE_ROOT}sound ${GLEST_MAIN_INCLUDE_ROOT}sound
) )
INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_DIRS} ) INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_DIRS} )
IF(WIN32) IF(WIN32)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/win32) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/win32)
INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl ) INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl )
ELSE() ELSE()
INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl ) INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl )
ENDIF() ENDIF()
SET(MG_SOURCE_FILES "../glest_game/graphics/particle_type.cpp" "../glest_game/graphics/unit_particle_type.cpp" "../glest_game/global/config.cpp") SET(MG_SOURCE_FILES "../glest_game/graphics/particle_type.cpp" "../glest_game/graphics/unit_particle_type.cpp" "../glest_game/global/config.cpp")
FOREACH(DIR IN LISTS DIRS_WITH_SRC) FOREACH(DIR IN LISTS DIRS_WITH_SRC)
INCLUDE_DIRECTORIES( ${DIR} ) INCLUDE_DIRECTORIES( ${DIR} )
set(SRC_DIR_TO_GLOB ${DIR}) set(SRC_DIR_TO_GLOB ${DIR})
@@ -106,26 +110,26 @@ FOREACH(DIR IN LISTS DIRS_WITH_SRC)
#MESSAGE(STATUS "SRC_FILES_FROM_THIS_DIR: ${SRC_FILES_FROM_THIS_DIR}") #MESSAGE(STATUS "SRC_FILES_FROM_THIS_DIR: ${SRC_FILES_FROM_THIS_DIR}")
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${SRC_FILES_FROM_THIS_DIR}) SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${SRC_FILES_FROM_THIS_DIR})
ENDIF(APPLE) ENDIF(APPLE)
ENDFOREACH(DIR) ENDFOREACH(DIR)
SET(TARGET_NAME "megaglest_g3dviewer")
IF(UNIX AND NOT APPLE) IF(UNIX AND NOT APPLE)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux) SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux)
ELSE() ELSE()
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game) SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game)
ENDIF() ENDIF()
SET_SOURCE_FILES_PROPERTIES(${MG_INCLUDE_FILES} PROPERTIES HEADER_FILE_ONLY 1) SET_SOURCE_FILES_PROPERTIES(${MG_INCLUDE_FILES} PROPERTIES HEADER_FILE_ONLY 1)
ADD_EXECUTABLE(${TARGET_NAME} ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES}) ADD_EXECUTABLE(${TARGET_NAME} ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES})
TARGET_LINK_LIBRARIES(${TARGET_NAME} streflop) TARGET_LINK_LIBRARIES(${TARGET_NAME} streflop)
IF(WIN32) IF(WIN32)
TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest) TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest)
ELSE() ELSE()
TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest) TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest)
ENDIF()
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
ENDIF() ENDIF()
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
# Requires an install prefix for the items below to work # Requires an install prefix for the items below to work
IF(NOT CMAKE_INSTALL_PREFIX STREQUAL "") IF(NOT CMAKE_INSTALL_PREFIX STREQUAL "")

View File

@@ -2,8 +2,12 @@
# common libraries # common libraries
SET(EXTERNAL_LIBS "") SET(EXTERNAL_LIBS "")
SET(TARGET_NAME "megaglest")
IF(WIN32) IF(BUILD_MEGAGLEST)
MESSAGE(STATUS "Will try to build MegaGlest game")
IF(WIN32)
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH}
${PROJECT_SOURCE_DIR}/source/win32_deps/lib ${PROJECT_SOURCE_DIR}/source/win32_deps/lib
${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib) ${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib)
@@ -22,68 +26,75 @@ IF(WIN32)
link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/lib) link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/lib)
link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib) link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib)
ENDIF() ENDIF()
FIND_PACKAGE(SDL REQUIRED) FIND_PACKAGE(SDL REQUIRED)
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${SDL_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${SDL_LIBRARY})
ENDIF() ENDIF()
FIND_PACKAGE(OpenGL REQUIRED) FIND_PACKAGE(OpenGL REQUIRED)
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENGL_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENGL_LIBRARY})
ENDIF() ENDIF()
FIND_PACKAGE(XercesC REQUIRED) FIND_PACKAGE(XercesC REQUIRED)
INCLUDE_DIRECTORIES(${XERCESC_INCLUDE}) INCLUDE_DIRECTORIES(${XERCESC_INCLUDE})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${XERCESC_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${XERCESC_LIBRARY})
ENDIF() ENDIF()
FIND_PACKAGE(OpenAL REQUIRED) FIND_PACKAGE(OpenAL REQUIRED)
INCLUDE_DIRECTORIES(${OPENAL_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${OPENAL_INCLUDE_DIR})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENAL_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENAL_LIBRARY})
ENDIF() ENDIF()
FIND_PACKAGE(OGG REQUIRED) FIND_PACKAGE(OGG REQUIRED)
INCLUDE_DIRECTORIES(${OGG_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${OGG_INCLUDE_DIR})
IF(UNIX OR APPLE) IF(UNIX OR APPLE)
# SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OGG_LIBRARY}) # SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OGG_LIBRARY})
# SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${VORBIS_LIBRARY}) # SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${VORBIS_LIBRARY})
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${VORBIS_FILE_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${VORBIS_FILE_LIBRARY})
ENDIF() ENDIF()
FIND_PACKAGE(LUA REQUIRED) FIND_PACKAGE(LUA REQUIRED)
INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LUA_LIBRARIES}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LUA_LIBRARIES})
ENDIF() ENDIF()
FIND_PACKAGE(JPEG REQUIRED) FIND_PACKAGE(JPEG REQUIRED)
INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${JPEG_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${JPEG_LIBRARY})
ENDIF() ENDIF()
FIND_PACKAGE(PNG REQUIRED) FIND_PACKAGE(PNG REQUIRED)
INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PNG_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PNG_LIBRARY})
ENDIF() ENDIF()
FIND_PACKAGE(CURL REQUIRED) FIND_PACKAGE(CURL REQUIRED)
INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${CURL_LIBRARIES}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${CURL_LIBRARIES})
ENDIF() ENDIF()
######################################################################################### FIND_PACKAGE(GLEW REQUIRED)
# megaglest game INCLUDE_DIRECTORIES(${GLEW_INCLUDE_PATH})
IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${GLEW_LIBRARY})
ENDIF()
SET(DIRS_WITH_SRC
#########################################################################################
# megaglest game
SET(DIRS_WITH_SRC
ai ai
facilities facilities
game game
@@ -98,13 +109,14 @@ SET(DIRS_WITH_SRC
types types
world) world)
SET(GLEST_LIB_INCLUDE_ROOT "../shared_lib/include/") SET(GLEST_LIB_INCLUDE_ROOT "../shared_lib/include/")
SET(GLEST_LIB_INCLUDE_DIRS SET(GLEST_LIB_INCLUDE_DIRS
${GLEST_LIB_INCLUDE_ROOT}platform/common ${GLEST_LIB_INCLUDE_ROOT}platform/common
${GLEST_LIB_INCLUDE_ROOT}platform/posix ${GLEST_LIB_INCLUDE_ROOT}platform/posix
${GLEST_LIB_INCLUDE_ROOT}util ${GLEST_LIB_INCLUDE_ROOT}util
${GLEST_LIB_INCLUDE_ROOT}graphics ${GLEST_LIB_INCLUDE_ROOT}graphics
${GLEST_LIB_INCLUDE_ROOT}graphics/gl ${GLEST_LIB_INCLUDE_ROOT}graphics/gl
${GLEST_LIB_INCLUDE_ROOT}graphics/md5
${GLEST_LIB_INCLUDE_ROOT}sound ${GLEST_LIB_INCLUDE_ROOT}sound
${GLEST_LIB_INCLUDE_ROOT}sound/openal ${GLEST_LIB_INCLUDE_ROOT}sound/openal
${GLEST_LIB_INCLUDE_ROOT}xml ${GLEST_LIB_INCLUDE_ROOT}xml
@@ -113,25 +125,25 @@ SET(GLEST_LIB_INCLUDE_DIRS
${GLEST_LIB_INCLUDE_ROOT}streflop ${GLEST_LIB_INCLUDE_ROOT}streflop
${GLEST_LIB_INCLUDE_ROOT}streflop/libm_flt32_source ${GLEST_LIB_INCLUDE_ROOT}streflop/libm_flt32_source
${GLEST_LIB_INCLUDE_ROOT}map) ${GLEST_LIB_INCLUDE_ROOT}map)
INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_DIRS} ) INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_DIRS} )
#INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl ) #INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl )
IF(WIN32) IF(WIN32)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/include) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/include)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/posix) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/posix)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/win32) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/win32)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/sound/ds8) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/sound/ds8)
INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl ) INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl )
ELSE() ELSE()
INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl ) INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl )
SET(GLEST_LIB_INCLUDE_DIRS ${GLEST_LIB_INCLUDE_DIRS} ${GLEST_LIB_INCLUDE_ROOT}platform/sdl) SET(GLEST_LIB_INCLUDE_DIRS ${GLEST_LIB_INCLUDE_DIRS} ${GLEST_LIB_INCLUDE_ROOT}platform/sdl)
SET(GLEST_LIB_INCLUDE_DIRS ${GLEST_LIB_INCLUDE_DIRS} ${GLEST_LIB_INCLUDE_ROOT}platform/unix) SET(GLEST_LIB_INCLUDE_DIRS ${GLEST_LIB_INCLUDE_DIRS} ${GLEST_LIB_INCLUDE_ROOT}platform/unix)
ENDIF() ENDIF()
SET(MG_SOURCE_FILES "") SET(MG_SOURCE_FILES "")
FOREACH(DIR IN LISTS DIRS_WITH_SRC) FOREACH(DIR IN LISTS DIRS_WITH_SRC)
INCLUDE_DIRECTORIES( ${DIR} ) INCLUDE_DIRECTORIES( ${DIR} )
set(SRC_DIR_TO_GLOB ${DIR}) set(SRC_DIR_TO_GLOB ${DIR})
@@ -150,48 +162,43 @@ FOREACH(DIR IN LISTS DIRS_WITH_SRC)
#MESSAGE(STATUS "SRC_FILES_FROM_THIS_DIR: ${SRC_FILES_FROM_THIS_DIR}") #MESSAGE(STATUS "SRC_FILES_FROM_THIS_DIR: ${SRC_FILES_FROM_THIS_DIR}")
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${SRC_FILES_FROM_THIS_DIR}) SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${SRC_FILES_FROM_THIS_DIR})
ENDIF(APPLE) ENDIF(APPLE)
ENDFOREACH(DIR) ENDFOREACH(DIR)
# Force the version and date/time stamp file to be touched so the compile stamp is always right # Force the version and date/time stamp file to be touched so the compile stamp is always right
IF(UNIX) IF(UNIX)
add_custom_command( add_custom_command(
OUTPUT mg.tmp OUTPUT mg.tmp
COMMAND touch ${PROJECT_SOURCE_DIR}/source/glest_game/facilities/game_util.cpp) COMMAND touch ${PROJECT_SOURCE_DIR}/source/glest_game/facilities/game_util.cpp)
add_custom_target(run ALL add_custom_target(run ALL
DEPENDS mg.tmp) DEPENDS mg.tmp)
ENDIF() ENDIF()
IF(WIN32) IF(WIN32)
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wl,-subsystem,console -mconsole") SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wl,-subsystem,console -mconsole")
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wl,-subsystem,console -mconsole") SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wl,-subsystem,console -mconsole")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -Wl,-subsystem,console -mconsole") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -Wl,-subsystem,console -mconsole")
SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -Wl,-subsystem,console -mconsole") SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -Wl,-subsystem,console -mconsole")
ENDIF() ENDIF()
IF(WIN32) IF(UNIX AND NOT APPLE)
SET(TARGET_NAME "megaglest")
ELSE()
SET(TARGET_NAME "megaglest")
ENDIF()
IF(UNIX AND NOT APPLE)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux) SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux)
ELSE() ELSE()
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game) SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game)
ENDIF() ENDIF()
SET_SOURCE_FILES_PROPERTIES(${MG_INCLUDE_FILES} PROPERTIES HEADER_FILE_ONLY 1) SET_SOURCE_FILES_PROPERTIES(${MG_INCLUDE_FILES} PROPERTIES HEADER_FILE_ONLY 1)
ADD_EXECUTABLE(${TARGET_NAME} ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES}) ADD_EXECUTABLE(${TARGET_NAME} ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES})
IF(WIN32) IF(WIN32)
TARGET_LINK_LIBRARIES(${TARGET_NAME} stdc++ gcc odbc32 wsock32 winspool winmm shell32 comctl32 ctl3d32 advapi32 wsock32 opengl32 glu32 ole32 oleaut32 uuid mingw32 ddraw dsound dxguid ws2_32 iphlpapi wsock32 libogg libvorbis libvorbisfile zlib jpeg libpng xerces-c2_8_0 OpenAL32 libcurl winmm gdi32 opengl32 glu32 SDL SDLmain lua5.1 streflop libmegaglest stdc++ moldname mingwex msvcrt user32 kernel32) TARGET_LINK_LIBRARIES(${TARGET_NAME} stdc++ gcc odbc32 wsock32 winspool winmm shell32 comctl32 ctl3d32 advapi32 wsock32 opengl32 glu32 ole32 oleaut32 uuid mingw32 ddraw dsound dxguid ws2_32 iphlpapi wsock32 libogg libvorbis libvorbisfile zlib jpeg libpng xerces-c2_8_0 OpenAL32 libcurl winmm gdi32 opengl32 glu32 SDL SDLmain lua5.1 streflop libmegaglest stdc++ moldname mingwex msvcrt user32 kernel32)
ENDIF() ENDIF()
IF(NOT WIN32) IF(NOT WIN32)
TARGET_LINK_LIBRARIES(${TARGET_NAME} streflop) TARGET_LINK_LIBRARIES(${TARGET_NAME} streflop)
TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest) TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest)
ENDIF()
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
ENDIF() ENDIF()
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
# Requires an install prefix for the items below to work # Requires an install prefix for the items below to work
IF(NOT CMAKE_INSTALL_PREFIX STREQUAL "") IF(NOT CMAKE_INSTALL_PREFIX STREQUAL "")

View File

@@ -1,16 +1,20 @@
# common libraries # common libraries
SET(EXTERNAL_LIBS "") SET(EXTERNAL_LIBS "")
SET(TARGET_NAME "megaglest_editor")
FIND_PACKAGE(SDL REQUIRED) IF(BUILD_MEGAGLEST_MAP_EDITOR)
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR}) MESSAGE(STATUS "Will try to build MegaGlest map editor")
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${SDL_LIBRARY})
FIND_PACKAGE(OpenGL REQUIRED) FIND_PACKAGE(SDL REQUIRED)
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENGL_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${SDL_LIBRARY})
IF(NOT WIN32) FIND_PACKAGE(OpenGL REQUIRED)
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENGL_LIBRARY})
IF(NOT WIN32)
# It was noticed that when using MinGW gcc it is essential that 'core' is mentioned before 'base'. # It was noticed that when using MinGW gcc it is essential that 'core' is mentioned before 'base'.
IF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") IF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
@@ -23,7 +27,7 @@ IF(NOT WIN32)
# wxWidgets include (this will do all the magic to configure everything) # wxWidgets include (this will do all the magic to configure everything)
include( ${wxWidgets_USE_FILE} ) include( ${wxWidgets_USE_FILE} )
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${wxWidgets_LIBRARIES}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${wxWidgets_LIBRARIES})
ELSE() ELSE()
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu-2.8-i586-mingw32msvc.dll.a) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu-2.8-i586-mingw32msvc.dll.a)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu_gl-2.8-i586-mingw32msvc.dll.a) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwx_mswu_gl-2.8-i586-mingw32msvc.dll.a)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwxpng-2.8-i586-mingw32msvc.a) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib/libwxpng-2.8-i586-mingw32msvc.a)
@@ -52,20 +56,20 @@ ELSE()
link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/lib) link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/lib)
link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib) link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib)
ENDIF() ENDIF()
######################################################################################### #########################################################################################
# megaglest map editor # megaglest map editor
SET(DIRS_WITH_SRC SET(DIRS_WITH_SRC
. ) . )
SET(GLEST_MAIN_INCLUDE_ROOT "../glest_game/") SET(GLEST_MAIN_INCLUDE_ROOT "../glest_game/")
SET(GLEST_LIB_INCLUDE_ROOT "../shared_lib/include/") SET(GLEST_LIB_INCLUDE_ROOT "../shared_lib/include/")
SET(GLEST_LIB_INCLUDE_DIRS SET(GLEST_LIB_INCLUDE_DIRS
${GLEST_LIB_INCLUDE_ROOT}platform/common ${GLEST_LIB_INCLUDE_ROOT}platform/common
# ${GLEST_LIB_INCLUDE_ROOT}platform/sdl # ${GLEST_LIB_INCLUDE_ROOT}platform/sdl
${GLEST_LIB_INCLUDE_ROOT}platform/posix ${GLEST_LIB_INCLUDE_ROOT}platform/posix
${GLEST_LIB_INCLUDE_ROOT}util ${GLEST_LIB_INCLUDE_ROOT}util
${GLEST_LIB_INCLUDE_ROOT}graphics ${GLEST_LIB_INCLUDE_ROOT}graphics
@@ -76,19 +80,19 @@ SET(GLEST_LIB_INCLUDE_DIRS
${GLEST_MAIN_INCLUDE_ROOT}game ${GLEST_MAIN_INCLUDE_ROOT}game
${GLEST_MAIN_INCLUDE_ROOT}global) ${GLEST_MAIN_INCLUDE_ROOT}global)
INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_DIRS} ) INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_DIRS} )
IF(WIN32) IF(WIN32)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/win32) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/win32)
INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl ) INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl )
ELSE() ELSE()
INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl ) INCLUDE_DIRECTORIES( ${GLEST_LIB_INCLUDE_ROOT}platform/sdl )
ENDIF() ENDIF()
SET(MG_SOURCE_FILES "../glest_game/global/config.cpp") SET(MG_SOURCE_FILES "../glest_game/global/config.cpp")
FOREACH(DIR IN LISTS DIRS_WITH_SRC) FOREACH(DIR IN LISTS DIRS_WITH_SRC)
INCLUDE_DIRECTORIES( ${DIR} ) INCLUDE_DIRECTORIES( ${DIR} )
set(SRC_DIR_TO_GLOB ${DIR}) set(SRC_DIR_TO_GLOB ${DIR})
@@ -104,30 +108,29 @@ FOREACH(DIR IN LISTS DIRS_WITH_SRC)
#MESSAGE(STATUS "SRC_FILES_FROM_THIS_DIR: ${SRC_FILES_FROM_THIS_DIR}") #MESSAGE(STATUS "SRC_FILES_FROM_THIS_DIR: ${SRC_FILES_FROM_THIS_DIR}")
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${SRC_FILES_FROM_THIS_DIR}) SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${SRC_FILES_FROM_THIS_DIR})
ENDIF(APPLE) ENDIF(APPLE)
ENDFOREACH(DIR) ENDFOREACH(DIR)
SET(TARGET_NAME "megaglest_editor") IF(UNIX AND NOT APPLE)
IF(UNIX AND NOT APPLE)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux) SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux)
ELSE() ELSE()
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game) SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game)
ENDIF() ENDIF()
SET_SOURCE_FILES_PROPERTIES(${MG_INCLUDE_FILES} PROPERTIES HEADER_FILE_ONLY 1) SET_SOURCE_FILES_PROPERTIES(${MG_INCLUDE_FILES} PROPERTIES HEADER_FILE_ONLY 1)
ADD_EXECUTABLE(${TARGET_NAME} ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES}) ADD_EXECUTABLE(${TARGET_NAME} ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES})
IF(WIN32) IF(WIN32)
TARGET_LINK_LIBRARIES(${TARGET_NAME} stdc++ gcc odbc32 wsock32 winspool winmm shell32 comctl32 ctl3d32 advapi32 wsock32 opengl32 glu32 ole32 oleaut32 uuid mingw32 ddraw dsound dxguid ws2_32 iphlpapi wsock32 libogg libvorbis libvorbisfile zlib jpeg libpng xerces-c2_8_0 OpenAL32 libcurl winmm gdi32 opengl32 glu32 SDL SDLmain lua5.1 streflop libmegaglest stdc++ moldname mingwex msvcrt user32 kernel32) TARGET_LINK_LIBRARIES(${TARGET_NAME} stdc++ gcc odbc32 wsock32 winspool winmm shell32 comctl32 ctl3d32 advapi32 wsock32 opengl32 glu32 ole32 oleaut32 uuid mingw32 ddraw dsound dxguid ws2_32 iphlpapi wsock32 libogg libvorbis libvorbisfile zlib jpeg libpng xerces-c2_8_0 OpenAL32 libcurl winmm gdi32 opengl32 glu32 SDL SDLmain lua5.1 streflop libmegaglest stdc++ moldname mingwex msvcrt user32 kernel32)
ENDIF() ENDIF()
TARGET_LINK_LIBRARIES(${TARGET_NAME} streflop) TARGET_LINK_LIBRARIES(${TARGET_NAME} streflop)
IF(WIN32) IF(WIN32)
TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest) TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest)
ELSE() ELSE()
TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest) TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest)
ENDIF()
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
ENDIF() ENDIF()
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
# Requires an install prefix for the items below to work # Requires an install prefix for the items below to work
IF(NOT CMAKE_INSTALL_PREFIX STREQUAL "") IF(NOT CMAKE_INSTALL_PREFIX STREQUAL "")

View File

@@ -8,10 +8,14 @@ ADD_SUBDIRECTORY(sources/streflop)
# common libraries # common libraries
SET(EXTERNAL_LIBS "") SET(EXTERNAL_LIBS "")
SET(TARGET_NAME "libmegaglest")
INCLUDE (CheckIncludeFiles) 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")
IF(WIN32) INCLUDE (CheckIncludeFiles)
IF(WIN32)
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH}
${PROJECT_SOURCE_DIR}/source/win32_deps/lib ${PROJECT_SOURCE_DIR}/source/win32_deps/lib
${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib ${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib
@@ -37,113 +41,113 @@ IF(WIN32)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/include) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/include)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/posix) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/posix)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/win32) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/win32)
ENDIF() ENDIF()
FIND_PACKAGE(CURL REQUIRED) FIND_PACKAGE(CURL REQUIRED)
INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${CURL_LIBRARIES}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${CURL_LIBRARIES})
ENDIF() ENDIF()
# check libcurl version # # check libcurl version #
IF(WIN32) IF(WIN32)
file (READ ${PROJECT_SOURCE_DIR}${CURL_INCLUDE_DIR}/curl/curlver.h CURL_VERSION_H_CONTENTS) file (READ ${PROJECT_SOURCE_DIR}${CURL_INCLUDE_DIR}/curl/curlver.h CURL_VERSION_H_CONTENTS)
ELSE() ELSE()
file (READ ${CURL_INCLUDE_DIR}/curl/curlver.h CURL_VERSION_H_CONTENTS) file (READ ${CURL_INCLUDE_DIR}/curl/curlver.h CURL_VERSION_H_CONTENTS)
ENDIF() ENDIF()
string (REGEX MATCH "LIBCURL_VERSION_MAJOR[ \t]+([0-9]+)" LIBCURL_VERSION_MJ ${CURL_VERSION_H_CONTENTS}) string (REGEX MATCH "LIBCURL_VERSION_MAJOR[ \t]+([0-9]+)" LIBCURL_VERSION_MJ ${CURL_VERSION_H_CONTENTS})
string (REGEX MATCH "([0-9]+)" LIBCURL_VERSION_MJ ${LIBCURL_VERSION_MJ}) string (REGEX MATCH "([0-9]+)" LIBCURL_VERSION_MJ ${LIBCURL_VERSION_MJ})
string (REGEX MATCH "LIBCURL_VERSION_MINOR[ \t]+([0-9]+)" LIBCURL_VERSION_MI ${CURL_VERSION_H_CONTENTS}) string (REGEX MATCH "LIBCURL_VERSION_MINOR[ \t]+([0-9]+)" LIBCURL_VERSION_MI ${CURL_VERSION_H_CONTENTS})
string (REGEX MATCH "([0-9]+)" LIBCURL_VERSION_MI ${LIBCURL_VERSION_MI}) string (REGEX MATCH "([0-9]+)" LIBCURL_VERSION_MI ${LIBCURL_VERSION_MI})
string (REGEX MATCH "LIBCURL_VERSION_PATCH[ \t]+([0-9]+)" LIBCURL_VERSION_PT ${CURL_VERSION_H_CONTENTS}) string (REGEX MATCH "LIBCURL_VERSION_PATCH[ \t]+([0-9]+)" LIBCURL_VERSION_PT ${CURL_VERSION_H_CONTENTS})
string (REGEX MATCH "([0-9]+)" LIBCURL_VERSION_PT ${LIBCURL_VERSION_PT}) string (REGEX MATCH "([0-9]+)" LIBCURL_VERSION_PT ${LIBCURL_VERSION_PT})
set (CURL_MAJOR_VERSION ${LIBCURL_VERSION_MJ}) set (CURL_MAJOR_VERSION ${LIBCURL_VERSION_MJ})
set (CURL_MINOR_VERSION ${LIBCURL_VERSION_MI}) set (CURL_MINOR_VERSION ${LIBCURL_VERSION_MI})
set (CURL_PATCH_VERSION ${LIBCURL_VERSION_PT}) set (CURL_PATCH_VERSION ${LIBCURL_VERSION_PT})
include_regular_expression("^.*$") include_regular_expression("^.*$")
# Setup package meta-data # Setup package meta-data
set(CURL_VERSION ${CURL_MAJOR_VERSION}.${CURL_MINOR_VERSION}.${CURL_PATCH_VERSION}) set(CURL_VERSION ${CURL_MAJOR_VERSION}.${CURL_MINOR_VERSION}.${CURL_PATCH_VERSION})
message(STATUS "curl version=[${CURL_VERSION}]") message(STATUS "curl version=[${CURL_VERSION}]")
#IF( ${CURL_VERSION} VERSION_LESS 7.21.0) #IF( ${CURL_VERSION} VERSION_LESS 7.21.0)
IF( ${CURL_VERSION} VERSION_LESS 7.16.4) IF( ${CURL_VERSION} VERSION_LESS 7.16.4)
message(STATUS "(please visit http://curl.haxx.se/libcurl/ to find a newer version)") message(STATUS "(please visit http://curl.haxx.se/libcurl/ to find a newer version)")
#message(FATAL_ERROR " CURL version = [${CURL_VERSION}] we require AT LEAST [7.21.0]") #message(FATAL_ERROR " CURL version = [${CURL_VERSION}] we require AT LEAST [7.21.0]")
message(FATAL_ERROR " CURL version = [${CURL_VERSION}] we require AT LEAST [7.16.4]") message(FATAL_ERROR " CURL version = [${CURL_VERSION}] we require AT LEAST [7.16.4]")
ENDIF() ENDIF()
FIND_PACKAGE(SDL REQUIRED) FIND_PACKAGE(SDL REQUIRED)
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${SDL_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${SDL_LIBRARY})
ENDIF() ENDIF()
FIND_PACKAGE(OpenGL REQUIRED) FIND_PACKAGE(OpenGL REQUIRED)
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENGL_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENGL_LIBRARY})
ENDIF() ENDIF()
FIND_PACKAGE(XercesC REQUIRED) FIND_PACKAGE(XercesC REQUIRED)
INCLUDE_DIRECTORIES(${XERCESC_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${XERCESC_INCLUDE_DIR})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${XERCESC_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${XERCESC_LIBRARY})
ENDIF() ENDIF()
FIND_PACKAGE(OpenAL REQUIRED) FIND_PACKAGE(OpenAL REQUIRED)
INCLUDE_DIRECTORIES(${OPENAL_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${OPENAL_INCLUDE_DIR})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENAL_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENAL_LIBRARY})
ENDIF() ENDIF()
# FIND_PACKAGE(OGG REQUIRED) # FIND_PACKAGE(OGG REQUIRED)
# INCLUDE_DIRECTORIES(${OGG_INCLUDE_DIR}) # INCLUDE_DIRECTORIES(${OGG_INCLUDE_DIR})
# IF(UNIX) # IF(UNIX)
# SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OGG_LIBRARY}) # SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OGG_LIBRARY})
# SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${VORBIS_LIBRARY}) # SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${VORBIS_LIBRARY})
# SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${VORBIS_FILE_LIBRARY}) # SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${VORBIS_FILE_LIBRARY})
# ENDIF() # ENDIF()
FIND_PACKAGE(LUA REQUIRED) FIND_PACKAGE(LUA REQUIRED)
INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LUA_LIBRARIES}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LUA_LIBRARIES})
ENDIF() ENDIF()
FIND_PACKAGE(JPEG REQUIRED) FIND_PACKAGE(JPEG REQUIRED)
INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${JPEG_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${JPEG_LIBRARY})
ENDIF() ENDIF()
FIND_PACKAGE(PNG REQUIRED) FIND_PACKAGE(PNG REQUIRED)
INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
IF(UNIX) IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PNG_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PNG_LIBRARY})
ENDIF() ENDIF()
FIND_PACKAGE(FontConfig) FIND_PACKAGE(FontConfig)
IF(FONTCONFIG_FOUND) IF(FONTCONFIG_FOUND)
SET(HAVE_FONTCONFIG 1) SET(HAVE_FONTCONFIG 1)
INCLUDE_DIRECTORIES( ${FONTCONFIG_INCLUDE_DIR} ) INCLUDE_DIRECTORIES( ${FONTCONFIG_INCLUDE_DIR} )
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${FONTCONFIG_LIBRARIES} ) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${FONTCONFIG_LIBRARIES} )
ENDIF(FONTCONFIG_FOUND) ENDIF(FONTCONFIG_FOUND)
OPTION(USE_FTGL "Use FTGL for on-screen fonts (found on your system)" ON) OPTION(USE_FTGL "Use FTGL for on-screen fonts (found on your system)" ON)
if(USE_FTGL) if(USE_FTGL)
ADD_DEFINITIONS(-DUSE_FTGL) ADD_DEFINITIONS(-DUSE_FTGL)
find_package( Freetype REQUIRED) find_package( Freetype REQUIRED)
include_directories( ${FREETYPE_INCLUDE_DIRS} ) include_directories( ${FREETYPE_INCLUDE_DIRS} )
endif(USE_FTGL) endif(USE_FTGL)
#INCLUDE(FindPkgConfig.cmake) #INCLUDE(FindPkgConfig.cmake)
#pkg_search_module (FTGL ftgl) #pkg_search_module (FTGL ftgl)
FIND_PACKAGE(FTGL) FIND_PACKAGE(FTGL)
IF(USE_FTGL) IF(USE_FTGL)
if (FTGL_FOUND) if (FTGL_FOUND)
MESSAGE(STATUS "**NOTE: FTGL font support was detected and enabled.") MESSAGE(STATUS "**NOTE: FTGL font support was detected and enabled.")
else() else()
@@ -160,7 +164,7 @@ IF(USE_FTGL)
INCLUDE_DIRECTORIES(${FTGL_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${FTGL_INCLUDE_DIR})
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${FTGL_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${FTGL_LIBRARY})
ELSE() ELSE()
IF(FTGL_FOUND) IF(FTGL_FOUND)
MESSAGE(STATUS "**NOTE: Warning: FTGL font support was detected but NOT enabled. You can enable it by setting USE_FTGL=true") MESSAGE(STATUS "**NOTE: Warning: FTGL font support was detected but NOT enabled. You can enable it by setting USE_FTGL=true")
ELSE() ELSE()
@@ -171,23 +175,24 @@ ELSE()
#set (FTGL_INCLUDE_DIRS ) #set (FTGL_INCLUDE_DIRS )
#set (FTGL_LINK_DIRS ) #set (FTGL_LINK_DIRS )
#set (FTGL_LINK_TARGETS ) #set (FTGL_LINK_TARGETS )
ENDIF(USE_FTGL) ENDIF(USE_FTGL)
IF(MINIUPNPC_VERSION_PRE1_5) IF(MINIUPNPC_VERSION_PRE1_5)
ADD_DEFINITIONS(-DMINIUPNPC_VERSION_PRE1_5) ADD_DEFINITIONS(-DMINIUPNPC_VERSION_PRE1_5)
ENDIF() ENDIF()
IF(MINIUPNPC_VERSION_PRE1_6) IF(MINIUPNPC_VERSION_PRE1_6)
ADD_DEFINITIONS(-DMINIUPNPC_VERSION_PRE1_6) ADD_DEFINITIONS(-DMINIUPNPC_VERSION_PRE1_6)
ENDIF() ENDIF()
######################################################################################### #########################################################################################
# megaglest lib # megaglest lib
SET(DIRS_WITH_SRC SET(DIRS_WITH_SRC
feathery_ftp feathery_ftp
glew glew
graphics graphics
graphics/gl graphics/gl
graphics/md5
lua lua
map map
platform/common platform/common
@@ -198,60 +203,60 @@ SET(DIRS_WITH_SRC
util util
xml) xml)
IF(NOT WANT_STATIC_LIBS) IF(NOT WANT_STATIC_LIBS)
MESSAGE(STATUS "*** Searching for miniupnpc since WANT_STATIC_LIBS is off ...") MESSAGE(STATUS "*** Searching for miniupnpc since WANT_STATIC_LIBS is off ...")
FIND_PACKAGE(Miniupnpc) FIND_PACKAGE(Miniupnpc)
ENDIF() ENDIF()
if(NOT MINIUPNP_FOUND) if(NOT MINIUPNP_FOUND)
MESSAGE(STATUS "*** Using EMBEDDED miniupnpc since dev system does not have it... MINIUPNP_FOUND [${MINIUPNP_FOUND}]") MESSAGE(STATUS "*** Using EMBEDDED miniupnpc since dev system does not have it... MINIUPNP_FOUND [${MINIUPNP_FOUND}]")
SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/miniupnpc) SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/miniupnpc)
else() else()
MESSAGE(STATUS "*** Using SHARED miniupnpc found in [${MINIUPNP_INCLUDE_DIR}] MINIUPNP_FOUND [${MINIUPNP_FOUND}] MINIUPNP_LIBRARY [${MINIUPNP_LIBRARY}]") MESSAGE(STATUS "*** Using SHARED miniupnpc found in [${MINIUPNP_INCLUDE_DIR}] MINIUPNP_FOUND [${MINIUPNP_FOUND}] MINIUPNP_LIBRARY [${MINIUPNP_LIBRARY}]")
INCLUDE_DIRECTORIES(${MINIUPNP_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${MINIUPNP_INCLUDE_DIR})
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${MINIUPNP_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${MINIUPNP_LIBRARY})
endif() endif()
IF(APPLE) IF(APPLE)
SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/sdl) SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/sdl)
SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/posix) SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/posix)
SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/macosx) SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/macosx)
ELSEIF(WIN32) ELSEIF(WIN32)
SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/win32) SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/win32)
SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} sound/ds8) SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} sound/ds8)
SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} ${PROJECT_SOURCE_DIR}/source/win32_deps/src) SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} ${PROJECT_SOURCE_DIR}/source/win32_deps/src)
ELSE() ELSE()
SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/sdl) SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/sdl)
SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/posix) SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/posix)
SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/unix) SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/unix)
ENDIF() ENDIF()
SET(MG_INCLUDES_ROOT "include/") SET(MG_INCLUDES_ROOT "include/")
SET(MG_SOURCES_ROOT "sources/") SET(MG_SOURCES_ROOT "sources/")
SET(MG_INCLUDE_FILES "") SET(MG_INCLUDE_FILES "")
SET(MG_SOURCE_FILES "") SET(MG_SOURCE_FILES "")
INCLUDE_DIRECTORIES( ${MG_INCLUDES_ROOT}platform/sdl ) INCLUDE_DIRECTORIES( ${MG_INCLUDES_ROOT}platform/sdl )
IF(NOT WANT_STATIC_LIBS) IF(NOT WANT_STATIC_LIBS)
MESSAGE(STATUS "*** Searching for libircclient since WANT_STATIC_LIBS is off ...") MESSAGE(STATUS "*** Searching for libircclient since WANT_STATIC_LIBS is off ...")
FIND_PACKAGE(Ircclient) FIND_PACKAGE(Ircclient)
ENDIF() ENDIF()
if(NOT IRCCLIENT_FOUND) if(NOT IRCCLIENT_FOUND)
MESSAGE(STATUS "*** Using EMBEDDED libircclient since dev system does not have it... IRCCLIENT_FOUND [${IRCCLIENT_FOUND}]") MESSAGE(STATUS "*** Using EMBEDDED libircclient since dev system does not have it... IRCCLIENT_FOUND [${IRCCLIENT_FOUND}]")
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/libircclient/src/libircclient.c) SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/libircclient/src/libircclient.c)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/libircclient/include) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/libircclient/include)
else() else()
MESSAGE(STATUS "*** Using SHARED libircclient found in [${IRCCLIENT_INCLUDE_DIR}] IRCCLIENT_FOUND [${IRCCLIENT_FOUND}] IRCCLIENT_LIBRARY [${IRCCLIENT_LIBRARY}]") MESSAGE(STATUS "*** Using SHARED libircclient found in [${IRCCLIENT_INCLUDE_DIR}] IRCCLIENT_FOUND [${IRCCLIENT_FOUND}] IRCCLIENT_LIBRARY [${IRCCLIENT_LIBRARY}]")
INCLUDE_DIRECTORIES(${IRCCLIENT_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${IRCCLIENT_INCLUDE_DIR})
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${IRCCLIENT_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${IRCCLIENT_LIBRARY})
endif() endif()
IF(WIN32) IF(WIN32)
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/posix/socket.cpp) SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/posix/socket.cpp)
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/posix/ircclient.cpp) SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/posix/ircclient.cpp)
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/posix/miniftpserver.cpp) SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/posix/miniftpserver.cpp)
@@ -261,9 +266,9 @@ IF(WIN32)
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/sdl/window.cpp) SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/sdl/window.cpp)
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/sdl/window_gl.cpp) SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/sdl/window_gl.cpp)
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/win32_deps/src/glprocs.c) SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/win32_deps/src/glprocs.c)
ENDIF() ENDIF()
FOREACH(DIR IN LISTS DIRS_WITH_SRC) FOREACH(DIR IN LISTS DIRS_WITH_SRC)
set(INCLUDE_DIR_TO_GLOB ${MG_INCLUDES_ROOT}${DIR}) set(INCLUDE_DIR_TO_GLOB ${MG_INCLUDES_ROOT}${DIR})
INCLUDE_DIRECTORIES( ${INCLUDE_DIR_TO_GLOB} ) INCLUDE_DIRECTORIES( ${INCLUDE_DIR_TO_GLOB} )
IF(APPLE) IF(APPLE)
@@ -293,52 +298,51 @@ FOREACH(DIR IN LISTS DIRS_WITH_SRC)
#MESSAGE(STATUS "SRC_FILES_FROM_THIS_DIR: ${SRC_FILES_FROM_THIS_DIR}") #MESSAGE(STATUS "SRC_FILES_FROM_THIS_DIR: ${SRC_FILES_FROM_THIS_DIR}")
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${SRC_FILES_FROM_THIS_DIR}) SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${SRC_FILES_FROM_THIS_DIR})
ENDIF(APPLE) ENDIF(APPLE)
ENDFOREACH(DIR) ENDFOREACH(DIR)
#MESSAGE(STATUS "Source files: ${MG_INCLUDE_FILES}") #MESSAGE(STATUS "Source files: ${MG_INCLUDE_FILES}")
#MESSAGE(STATUS "Source files: ${MG_SOURCE_FILES}") #MESSAGE(STATUS "Source files: ${MG_SOURCE_FILES}")
#MESSAGE(STATUS "Include dirs: ${INCLUDE_DIRECTORIES}") #MESSAGE(STATUS "Include dirs: ${INCLUDE_DIRECTORIES}")
# FIXME: hackish, should be tested for # FIXME: hackish, should be tested for
IF(APPLE) IF(APPLE)
SET(PLATFORM_SPECIFIC_DEFINES "-DHAVE_SYS_IOCTL_H") SET(PLATFORM_SPECIFIC_DEFINES "-DHAVE_SYS_IOCTL_H")
ELSEIF(WIN32) ELSEIF(WIN32)
SET(PLATFORM_SPECIFIC_DEFINES "-DX11_AVAILABLE") SET(PLATFORM_SPECIFIC_DEFINES "-DX11_AVAILABLE")
ELSE() ELSE()
SET(PLATFORM_SPECIFIC_DEFINES "-DX11_AVAILABLE -DHAVE_SYS_IOCTL_H") SET(PLATFORM_SPECIFIC_DEFINES "-DX11_AVAILABLE -DHAVE_SYS_IOCTL_H")
ENDIF() ENDIF()
# FIXME: hackish... # FIXME: hackish...
SET(STREFLOP_PROPERTIES "-DSTREFLOP_SSE -DLIBM_COMPILING_FLT32") SET(STREFLOP_PROPERTIES "-DSTREFLOP_SSE -DLIBM_COMPILING_FLT32")
SET_SOURCE_FILES_PROPERTIES(${MG_SOURCE_FILES} PROPERTIES COMPILE_FLAGS SET_SOURCE_FILES_PROPERTIES(${MG_SOURCE_FILES} PROPERTIES COMPILE_FLAGS
"${PLATFORM_SPECIFIC_DEFINES} ${STREFLOP_PROPERTIES} ${CXXFLAGS}") "${PLATFORM_SPECIFIC_DEFINES} ${STREFLOP_PROPERTIES} ${CXXFLAGS}")
SET_SOURCE_FILES_PROPERTIES(${MG_INCLUDE_FILES} PROPERTIES HEADER_FILE_ONLY 1) SET_SOURCE_FILES_PROPERTIES(${MG_INCLUDE_FILES} PROPERTIES HEADER_FILE_ONLY 1)
SET(TARGET_NAME "libmegaglest") IF(NOT WIN32)
IF(NOT WIN32)
ADD_LIBRARY(${TARGET_NAME} STATIC ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES}) 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}]") MESSAGE(STATUS "Building shared game library as a STATIC library and saving to [${LIBRARY_OUTPUT_PATH}]")
ELSE() ELSE()
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game) SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game)
ADD_LIBRARY(${TARGET_NAME} STATIC ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES}) ADD_LIBRARY(${TARGET_NAME} STATIC ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES})
MESSAGE(STATUS "Building shared game library as a SHARED library and saving to [${LIBRARY_OUTPUT_PATH}]") MESSAGE(STATUS "Building shared game library as a SHARED library and saving to [${LIBRARY_OUTPUT_PATH}]")
ENDIF() ENDIF()
# ADD_LIBRARY(libmegaglest SHARED ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES}) # ADD_LIBRARY(libmegaglest SHARED ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES})
# ADD_LIBRARY(libmegaglest STATIC ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES}) # ADD_LIBRARY(libmegaglest STATIC ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES})
MESSAGE(STATUS "EXTERNAL_LIBS = [${EXTERNAL_LIBS}]") MESSAGE(STATUS "EXTERNAL_LIBS = [${EXTERNAL_LIBS}]")
IF(WIN32) IF(WIN32)
TARGET_LINK_LIBRARIES(${TARGET_NAME} stdc++ gcc odbc32 wsock32 winspool winmm shell32 comctl32 ctl3d32 advapi32 wsock32 opengl32 glu32 ole32 oleaut32 uuid mingw32 ddraw dsound dxguid ws2_32 iphlpapi wsock32 libogg libvorbis libvorbisfile zlib jpeg libpng xerces-c2_8_0 OpenAL32 libcurl winmm gdi32 opengl32 glu32 SDL SDLmain lua5.1 streflop stdc++ moldname mingwex msvcrt user32 kernel32) TARGET_LINK_LIBRARIES(${TARGET_NAME} stdc++ gcc odbc32 wsock32 winspool winmm shell32 comctl32 ctl3d32 advapi32 wsock32 opengl32 glu32 ole32 oleaut32 uuid mingw32 ddraw dsound dxguid ws2_32 iphlpapi wsock32 libogg libvorbis libvorbisfile zlib jpeg libpng xerces-c2_8_0 OpenAL32 libcurl winmm gdi32 opengl32 glu32 SDL SDLmain lua5.1 streflop stdc++ moldname mingwex msvcrt user32 kernel32)
TARGET_LINK_LIBRARIES(${TARGET_NAME} streflop) TARGET_LINK_LIBRARIES(${TARGET_NAME} streflop)
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS}) TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
ELSE() ELSE()
TARGET_LINK_LIBRARIES(${TARGET_NAME} streflop) TARGET_LINK_LIBRARIES(${TARGET_NAME} streflop)
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS}) TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
ENDIF()
ENDIF() ENDIF()

View File

@@ -1,17 +1,21 @@
# glexemel # glexemel
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/source/tools/glexemel) IF(BUILD_MEGAGLEST_MODEL_IMPORT_EXPORT_TOOLS)
add_executable(g2xml g2xml.c g3dv4.h) MESSAGE(STATUS "Will try to build MegaGlest model import/export tools")
IF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/source/tools/glexemel)
add_executable(g2xml g2xml.c g3dv4.h)
IF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
SET(CMAKE_INCLUDE_PATH /usr/local/include) SET(CMAKE_INCLUDE_PATH /usr/local/include)
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
find_package(LibXml2) find_package(LibXml2)
IF(LIBXML2_FOUND) IF(LIBXML2_FOUND)
include_directories(${CMAKE_INCLUDE_PATH} ${LIBXML2_INCLUDE_DIR}) include_directories(${CMAKE_INCLUDE_PATH} ${LIBXML2_INCLUDE_DIR})
add_executable(xml2g xml2g.c g3dv4.h) add_executable(xml2g xml2g.c g3dv4.h)
target_link_libraries(xml2g ${LIBXML2_LIBRARIES}) target_link_libraries(xml2g ${LIBXML2_LIBRARIES})
ELSE() ELSE()
MESSAGE(STATUS "WARNING... xml2g will NOT be built since we cannot find libXml2 on this machine") MESSAGE(STATUS "WARNING... xml2g will NOT be built since we cannot find libXml2 on this machine")
ENDIF()
ENDIF() ENDIF()