mirror of
https://github.com/glest/glest-source.git
synced 2025-08-18 06:01:17 +02:00
CMakeLists.txt:checking, tuning the build system (#232)
* build.zg.sh scripts deprected * update for BSD * removed checking for VLC (not implemented) * docs updated * Install.md created. * scripts moved to scripts/ directory
This commit is contained in:
@@ -3,6 +3,8 @@
|
||||
|
||||
OPTION(FORCE_EMBEDDED_LIBS "Force use of embedded libraries' code." OFF)
|
||||
|
||||
add_definitions("-DDATADIR=${INSTALL_DIR_DATA}")
|
||||
|
||||
# IMPORTANT: should come BEFORE finding packages
|
||||
find_package(PkgConfig REQUIRED)
|
||||
IF(FORCE_STREFLOP_SOFTWRAPPER)
|
||||
@@ -45,7 +47,7 @@ ENDIF()
|
||||
SET(EXTERNAL_LIBS "")
|
||||
SET(TARGET_NAME "libzetaglest")
|
||||
|
||||
IF(BUILD_ZETAGLEST_MODEL_VIEWER OR BUILD_ZETAGLEST_MAP_EDITOR OR BUILD_ZETAGLEST)
|
||||
IF(BUILD_MODEL_VIEWER OR BUILD_MAP_EDITOR OR BUILD_ZETAGLEST)
|
||||
MESSAGE(STATUS "Building ZetaGlest shared library...")
|
||||
|
||||
INCLUDE (CheckIncludeFiles)
|
||||
@@ -169,21 +171,20 @@ IF(BUILD_ZETAGLEST_MODEL_VIEWER OR BUILD_ZETAGLEST_MAP_EDITOR OR BUILD_ZETAGLEST
|
||||
FIND_PACKAGE(FTGL)
|
||||
IF(WANT_USE_FTGL)
|
||||
if (FTGL_FOUND)
|
||||
MESSAGE(STATUS "**NOTE: FTGL font support was detected and enabled.")
|
||||
|
||||
ADD_DEFINITIONS(-DUSE_FTGL)
|
||||
INCLUDE_DIRECTORIES(${FTGL_INCLUDE_DIR})
|
||||
IF(UNIX)
|
||||
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${FTGL_LIBRARY})
|
||||
ENDIF()
|
||||
MESSAGE(STATUS "**NOTE: FTGL font support was detected and enabled.")
|
||||
ADD_DEFINITIONS(-DUSE_FTGL)
|
||||
INCLUDE_DIRECTORIES(${FTGL_INCLUDE_DIR})
|
||||
IF(UNIX)
|
||||
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${FTGL_LIBRARY})
|
||||
ENDIF()
|
||||
else()
|
||||
MESSAGE("**NOTE: Warning! FTGL has been enabled but not detected. Your compilation will probably break. Turn off FTGL support by setting WANT_USE_FTGL to false, or visit http://ftgl.wiki.sourceforge.net/ for help on installing FTGL.")
|
||||
MESSAGE("**NOTE: Warning! FTGL has been enabled but not detected. Your compilation will probably break. Turn off FTGL support by setting WANT_USE_FTGL to false, or visit http://ftgl.wiki.sourceforge.net/ for help on installing FTGL.")
|
||||
endif()
|
||||
ELSE()
|
||||
IF(FTGL_FOUND)
|
||||
MESSAGE(STATUS "**NOTE: Warning: FTGL font support was detected but NOT enabled. You can enable it by setting WANT_USE_FTGL=true")
|
||||
MESSAGE(STATUS "**NOTE: Warning: FTGL font support was detected but NOT enabled. You can enable it by setting WANT_USE_FTGL=true")
|
||||
ELSE()
|
||||
MESSAGE(STATUS "**NOTE: Warning: FTGL font support was not detected. Visit http://ftgl.wiki.sourceforge.net/ for help on installing FTGL.")
|
||||
MESSAGE(STATUS "**NOTE: Warning: FTGL font support was not detected. Visit http://ftgl.wiki.sourceforge.net/ for help on installing FTGL.")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
@@ -201,37 +202,7 @@ IF(BUILD_ZETAGLEST_MODEL_VIEWER OR BUILD_ZETAGLEST_MAP_EDITOR OR BUILD_ZETAGLEST
|
||||
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${GLEW_LIBRARIES})
|
||||
ENDIF()
|
||||
|
||||
IF(VLC_MIN_VERSION_MG)
|
||||
SET(LIBVLC_MIN_VERSION "${VLC_MIN_VERSION_MG}")
|
||||
ELSE()
|
||||
SET(LIBVLC_MIN_VERSION "1.1.0")
|
||||
ENDIF()
|
||||
IF(WANT_USE_VLC)
|
||||
FIND_PACKAGE(LIBVLC)
|
||||
MESSAGE(STATUS "LIBVLC version: ${LIBVLC_VERSION}")
|
||||
ENDIF()
|
||||
IF(LIBVLC_FOUND AND NOT LIBVLC_VERSION STRLESS "${LIBVLC_MIN_VERSION}")
|
||||
MESSAGE(STATUS "**NOTE: LIBVLC found so videos are supported.")
|
||||
INCLUDE_DIRECTORIES(${LIBVLC_INCLUDE_DIR})
|
||||
IF(UNIX)
|
||||
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LIBVLCCORE_LIBRARY} ${LIBVLC_LIBRARY})
|
||||
ADD_DEFINITIONS(-DHAS_LIBVLC)
|
||||
ENDIF()
|
||||
IF(LIBVLC_VERSION_PRE_V2)
|
||||
ADD_DEFINITIONS(-DLIBVLC_VERSION_PRE_2)
|
||||
ENDIF()
|
||||
IF(LIBVLC_VERSION_PRE_1_1_13)
|
||||
ADD_DEFINITIONS(-DLIBVLC_VERSION_PRE_1_1_13)
|
||||
ENDIF()
|
||||
ELSE()
|
||||
IF(WANT_USE_VLC)
|
||||
MESSAGE(STATUS "**WARNING: LIBVLC NOT found so videos are NOT supported.")
|
||||
ELSE()
|
||||
MESSAGE(STATUS "LIBVLC disabled so videos are NOT supported.")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
if(WANT_USE_FriBiDi)
|
||||
if(WANT_USE_FriBiDi)
|
||||
find_package( FriBiDi )
|
||||
if(FRIBIDI_FOUND)
|
||||
add_definitions(-DHAVE_FRIBIDI)
|
||||
@@ -253,7 +224,7 @@ IF(BUILD_ZETAGLEST_MODEL_VIEWER OR BUILD_ZETAGLEST_MAP_EDITOR OR BUILD_ZETAGLEST
|
||||
#SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${BREAKPAD_EXCEPTION_HANDLER_LIBRARIES})
|
||||
|
||||
else()
|
||||
message(STATUS "** WARNING: Could not find GoogleBreakpad. Disabling GoogleBreakpad support.")
|
||||
message(STATUS "** Message: Could not find GoogleBreakpad. Disabling GoogleBreakpad support.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -349,8 +320,8 @@ IF(BUILD_ZETAGLEST_MODEL_VIEWER OR BUILD_ZETAGLEST_MAP_EDITOR OR BUILD_ZETAGLEST
|
||||
|
||||
SET(MG_INCLUDES_ROOT "include/")
|
||||
SET(MG_SOURCES_ROOT "sources/")
|
||||
SET(MG_INCLUDE_FILES "")
|
||||
SET(MG_SOURCE_FILES "")
|
||||
SET(ZG_INCLUDE_FILES "")
|
||||
SET(ZG_SOURCE_FILES "")
|
||||
INCLUDE_DIRECTORIES( ${MG_INCLUDES_ROOT}platform/${SDL_VERSION_SNAME} )
|
||||
INCLUDE_DIRECTORIES( ${MG_INCLUDES_ROOT}xml/rapidxml )
|
||||
INCLUDE_DIRECTORIES("sources/")
|
||||
@@ -375,7 +346,7 @@ IF(BUILD_ZETAGLEST_MODEL_VIEWER OR BUILD_ZETAGLEST_MAP_EDITOR OR BUILD_ZETAGLEST
|
||||
else()
|
||||
MESSAGE(STATUS "*** Using EMBEDDED libircclient because it was forced by option")
|
||||
endif()
|
||||
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/libircclient/src/libircclient.c)
|
||||
SET(ZG_SOURCE_FILES ${ZG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/libircclient/src/libircclient.c)
|
||||
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/sources/libircclient/include)
|
||||
else()
|
||||
MESSAGE(STATUS "*** Using libircclient found in [${IRCCLIENT_INCLUDE_DIR}] IRCCLIENT_FOUND [${IRCCLIENT_FOUND}] IRCCLIENT_LIBRARY [${IRCCLIENT_LIBRARY}]")
|
||||
@@ -412,20 +383,20 @@ IF(BUILD_ZETAGLEST_MODEL_VIEWER OR BUILD_ZETAGLEST_MAP_EDITOR OR BUILD_ZETAGLEST
|
||||
ADD_DEFINITIONS(-DLIBIRCCLIENT_PRE1_6)
|
||||
ENDIF()
|
||||
else()
|
||||
message(STATUS "****WARNING DISABLING libircclient!!")
|
||||
message(STATUS "****MESSAGE Disabling libircclient!!")
|
||||
ADD_DEFINITIONS(-DDISABLE_IRCCLIENT)
|
||||
endif()
|
||||
|
||||
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/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/miniftpclient.cpp)
|
||||
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/${SDL_VERSION_SNAME}/gl_wrap.cpp)
|
||||
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/${SDL_VERSION_SNAME}/thread.cpp)
|
||||
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/${SDL_VERSION_SNAME}/window.cpp)
|
||||
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/${SDL_VERSION_SNAME}/window_gl.cpp)
|
||||
SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/win32_deps/src/glprocs.c)
|
||||
SET(ZG_SOURCE_FILES ${ZG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/posix/socket.cpp)
|
||||
SET(ZG_SOURCE_FILES ${ZG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/posix/ircclient.cpp)
|
||||
SET(ZG_SOURCE_FILES ${ZG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/posix/miniftpserver.cpp)
|
||||
SET(ZG_SOURCE_FILES ${ZG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/posix/miniftpclient.cpp)
|
||||
SET(ZG_SOURCE_FILES ${ZG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/${SDL_VERSION_SNAME}/gl_wrap.cpp)
|
||||
SET(ZG_SOURCE_FILES ${ZG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/${SDL_VERSION_SNAME}/thread.cpp)
|
||||
SET(ZG_SOURCE_FILES ${ZG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/${SDL_VERSION_SNAME}/window.cpp)
|
||||
SET(ZG_SOURCE_FILES ${ZG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/${SDL_VERSION_SNAME}/window_gl.cpp)
|
||||
SET(ZG_SOURCE_FILES ${ZG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/win32_deps/src/glprocs.c)
|
||||
ENDIF()
|
||||
|
||||
FOREACH(DIR IN LISTS DIRS_WITH_SRC)
|
||||
@@ -435,33 +406,33 @@ IF(BUILD_ZETAGLEST_MODEL_VIEWER OR BUILD_ZETAGLEST_MAP_EDITOR OR BUILD_ZETAGLEST
|
||||
#MESSAGE(STATUS "INCLUDE_DIR_TO_GLOB: ${INCLUDE_DIR_TO_GLOB}")
|
||||
FILE(GLOB INC_FILES_FROM_THIS_DIR ${INCLUDE_DIR_TO_GLOB}/*.h)
|
||||
#MESSAGE(STATUS "INCLUDE FILES GLOBBED: ${INC_FILES_FROM_THIS_DIR}")
|
||||
SET(MG_INCLUDE_FILES ${MG_INCLUDE_FILES} ${INC_FILES_FROM_THIS_DIR})
|
||||
SET(ZG_INCLUDE_FILES ${ZG_INCLUDE_FILES} ${INC_FILES_FROM_THIS_DIR})
|
||||
ENDIF(APPLE)
|
||||
|
||||
set(SRC_DIR_TO_GLOB ${MG_SOURCES_ROOT}${DIR})
|
||||
#MESSAGE(STATUS "SRC_DIR_TO_GLOB: ${SRC_DIR_TO_GLOB}")
|
||||
FILE(GLOB SRC_FILES_FROM_THIS_DIR ${SRC_DIR_TO_GLOB}/*.cpp)
|
||||
#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(ZG_SOURCE_FILES ${ZG_SOURCE_FILES} ${SRC_FILES_FROM_THIS_DIR})
|
||||
|
||||
set(SRC_DIR_TO_GLOB ${MG_SOURCES_ROOT}${DIR})
|
||||
#MESSAGE(STATUS "SRC_DIR_TO_GLOB: ${SRC_DIR_TO_GLOB}")
|
||||
FILE(GLOB SRC_FILES_FROM_THIS_DIR ${SRC_DIR_TO_GLOB}/*.c)
|
||||
#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(ZG_SOURCE_FILES ${ZG_SOURCE_FILES} ${SRC_FILES_FROM_THIS_DIR})
|
||||
|
||||
IF(APPLE)
|
||||
FILE(GLOB SRC_FILES_FROM_THIS_DIR ${SRC_DIR_TO_GLOB}/*.mm)
|
||||
#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(ZG_SOURCE_FILES ${ZG_SOURCE_FILES} ${SRC_FILES_FROM_THIS_DIR})
|
||||
FILE(GLOB SRC_FILES_FROM_THIS_DIR ${SRC_DIR_TO_GLOB}/*.m)
|
||||
#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(ZG_SOURCE_FILES ${ZG_SOURCE_FILES} ${SRC_FILES_FROM_THIS_DIR})
|
||||
ENDIF(APPLE)
|
||||
ENDFOREACH(DIR)
|
||||
|
||||
#MESSAGE(STATUS "Source files: ${MG_INCLUDE_FILES}")
|
||||
#MESSAGE(STATUS "Source files: ${MG_SOURCE_FILES}")
|
||||
#MESSAGE(STATUS "Source files: ${ZG_INCLUDE_FILES}")
|
||||
#MESSAGE(STATUS "Source files: ${ZG_SOURCE_FILES}")
|
||||
#MESSAGE(STATUS "Include dirs: ${INCLUDE_DIRECTORIES}")
|
||||
|
||||
IF(APPLE)
|
||||
@@ -472,17 +443,17 @@ IF(BUILD_ZETAGLEST_MODEL_VIEWER OR BUILD_ZETAGLEST_MAP_EDITOR OR BUILD_ZETAGLEST
|
||||
SET(PLATFORM_SPECIFIC_DEFINES "-DX11_AVAILABLE -DHAVE_SYS_IOCTL_H")
|
||||
ENDIF()
|
||||
|
||||
SET_SOURCE_FILES_PROPERTIES(${MG_SOURCE_FILES} PROPERTIES COMPILE_FLAGS
|
||||
SET_SOURCE_FILES_PROPERTIES(${ZG_SOURCE_FILES} PROPERTIES COMPILE_FLAGS
|
||||
"${PLATFORM_SPECIFIC_DEFINES} ${STREFLOP_PROPERTIES} ${CXXFLAGS}")
|
||||
|
||||
SET_SOURCE_FILES_PROPERTIES(${MG_INCLUDE_FILES} PROPERTIES HEADER_FILE_ONLY 1)
|
||||
SET_SOURCE_FILES_PROPERTIES(${ZG_INCLUDE_FILES} PROPERTIES HEADER_FILE_ONLY 1)
|
||||
|
||||
IF(NOT WIN32)
|
||||
ADD_LIBRARY(${TARGET_NAME} STATIC ${MG_SOURCE_FILES} ${MG_INCLUDE_FILES})
|
||||
ADD_LIBRARY(${TARGET_NAME} STATIC ${ZG_SOURCE_FILES} ${ZG_INCLUDE_FILES})
|
||||
#MESSAGE(STATUS "Building shared game library as a STATIC library and saving to [${LIBRARY_OUTPUT_PATH}]")
|
||||
ELSE()
|
||||
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 ${ZG_SOURCE_FILES} ${ZG_INCLUDE_FILES})
|
||||
MESSAGE(STATUS "Building shared game library as a SHARED library and saving to [${LIBRARY_OUTPUT_PATH}]")
|
||||
ENDIF()
|
||||
|
||||
|
Reference in New Issue
Block a user