better support for macos, this also closes #36
This commit is contained in:
parent
e7ae5d2ca2
commit
966da32472
|
@ -31,6 +31,7 @@ OPTION(BUILD_MEGAGLEST_MAP_EDITOR "Build map editor" ON)
|
|||
OPTION(BUILD_MEGAGLEST "Build MegaGlest" ON)
|
||||
OPTION(BUILD_MEGAGLEST_TESTS "Build MegaGlest Unit Tests" OFF)
|
||||
OPTION(WITH_VLC "Use libVLC to play videos" ON)
|
||||
OPTION(SINGLE_INSTALL_DIRECTORY "Use single install directory for everything. It is useful for example for MacOS cpack bundles." OFF)
|
||||
|
||||
FIND_PROGRAM(HELP2MAN "help2man")
|
||||
|
||||
|
@ -77,7 +78,6 @@ MESSAGE(STATUS "Detected MegaGlest Version is [v${MEGAGLEST_VERSION}] ")
|
|||
|
||||
## Compiler flags, CPACK configuration and other Apple specific code.
|
||||
IF(APPLE)
|
||||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++")
|
||||
include(${PROJECT_SOURCE_DIR}/mk/macosx/CMakeLists.txt)
|
||||
ENDIF(APPLE)
|
||||
|
||||
|
@ -247,7 +247,7 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW)
|
|||
MESSAGE(STATUS "Using GIT revision stamp: [${GIT_COMMIT_COUNT}.${GIT_SHA1}] CMD [${GIT_LIVE_REV_CMD}]")
|
||||
|
||||
IF(CMAKE_GENERATOR STREQUAL Xcode)
|
||||
SET(GIT_VERSION_CMD "-DGITVERSION='\\\\'${GIT_LIVE_REV_CMD}\\\\''")
|
||||
SET(GIT_VERSION_CMD "-DGITVERSION='\\\\'${GIT_COMMIT_COUNT}.${GIT_SHA1}\\\\''")
|
||||
ELSE()
|
||||
SET(GIT_VERSION_CMD "-DGITVERSION='\\\"${GIT_LIVE_REV_CMD}\\\"'")
|
||||
ENDIF()
|
||||
|
@ -257,30 +257,51 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW)
|
|||
IF(CMAKE_INSTALL_PREFIX STREQUAL "")
|
||||
MESSAGE(STATUS "*NOTE: NOT USING a Custom Data Install Path...")
|
||||
ELSE()
|
||||
IF(SINGLE_INSTALL_DIRECTORY AND NOT MEGAGLEST_SINGLE_DIRECTORY_INSTALL_PATH)
|
||||
SET(MEGAGLEST_SINGLE_DIRECTORY_INSTALL_PATH "megaglest-game/" CACHE STRING "The single directory installation path for game (this is appended to the CMAKE_INSTALL_PREFIX)")
|
||||
ENDIF()
|
||||
IF(NOT MEGAGLEST_BIN_INSTALL_PATH)
|
||||
SET(MEGAGLEST_BIN_INSTALL_PATH "bin/" CACHE STRING "The installation path for binaries (this is appended to the CMAKE_INSTALL_PREFIX)")
|
||||
IF(NOT SINGLE_INSTALL_DIRECTORY)
|
||||
SET(MEGAGLEST_BIN_INSTALL_PATH "bin/" CACHE STRING "The installation path for binaries (this is appended to the CMAKE_INSTALL_PREFIX)")
|
||||
ELSE()
|
||||
SET(MEGAGLEST_BIN_INSTALL_PATH "${MEGAGLEST_SINGLE_DIRECTORY_INSTALL_PATH}")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
IF(NOT MEGAGLEST_DATA_INSTALL_PATH)
|
||||
SET(MEGAGLEST_DATA_INSTALL_PATH "share/megaglest/" CACHE STRING "The installation path for data files (this is appended to the CMAKE_INSTALL_PREFIX)")
|
||||
IF(NOT SINGLE_INSTALL_DIRECTORY)
|
||||
SET(MEGAGLEST_DATA_INSTALL_PATH "share/megaglest/" CACHE STRING "The installation path for data files (this is appended to the CMAKE_INSTALL_PREFIX)")
|
||||
ELSE()
|
||||
SET(MEGAGLEST_DATA_INSTALL_PATH "${MEGAGLEST_SINGLE_DIRECTORY_INSTALL_PATH}")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
IF(NOT MEGAGLEST_DESKTOP_INSTALL_PATH)
|
||||
SET(MEGAGLEST_DESKTOP_INSTALL_PATH "share/applications/" CACHE STRING "The installation path for desktop files (this is appended to the CMAKE_INSTALL_PREFIX)")
|
||||
IF(NOT SINGLE_INSTALL_DIRECTORY)
|
||||
SET(MEGAGLEST_DESKTOP_INSTALL_PATH "share/applications/" CACHE STRING "The installation path for desktop files (this is appended to the CMAKE_INSTALL_PREFIX)")
|
||||
ELSE()
|
||||
SET(MEGAGLEST_DESKTOP_INSTALL_PATH "${MEGAGLEST_SINGLE_DIRECTORY_INSTALL_PATH}")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
IF(NOT MEGAGLEST_ICON_INSTALL_PATH)
|
||||
SET(MEGAGLEST_ICON_INSTALL_PATH "share/pixmaps/" CACHE STRING "The installation path for icon files (this is appended to the CMAKE_INSTALL_PREFIX)")
|
||||
IF(NOT SINGLE_INSTALL_DIRECTORY)
|
||||
SET(MEGAGLEST_ICON_INSTALL_PATH "share/pixmaps/" CACHE STRING "The installation path for icon files (this is appended to the CMAKE_INSTALL_PREFIX)")
|
||||
ELSE()
|
||||
SET(MEGAGLEST_ICON_INSTALL_PATH "${MEGAGLEST_SINGLE_DIRECTORY_INSTALL_PATH}")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
IF(NOT MEGAGLEST_MANPAGE_INSTALL_PATH)
|
||||
SET(MEGAGLEST_MANPAGE_INSTALL_PATH "share/man/man6/" CACHE STRING "The installation path for manpage files (this is appended to the CMAKE_INSTALL_PREFIX)")
|
||||
IF(NOT MEGAGLEST_MANPAGE_INSTALL_PATH AND NOT SINGLE_INSTALL_DIRECTORY)
|
||||
IF(NOT SINGLE_INSTALL_DIRECTORY)
|
||||
SET(MEGAGLEST_MANPAGE_INSTALL_PATH "share/man/man6/" CACHE STRING "The installation path for manpage files (this is appended to the CMAKE_INSTALL_PREFIX)")
|
||||
ELSE()
|
||||
SET(MEGAGLEST_MANPAGE_INSTALL_PATH "${MEGAGLEST_SINGLE_DIRECTORY_INSTALL_PATH}")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
IF(NOT CUSTOM_DATA_INSTALL_PATH AND NOT SINGLE_INSTALL_DIRECTORY)
|
||||
SET(CUSTOM_DATA_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/${MEGAGLEST_DATA_INSTALL_PATH}" CACHE STRING "The FULL installation path for data files (this is build automatically by combining CMAKE_INSTALL_PREFIX and MEGAGLEST_DATA_INSTALL_PATH)")
|
||||
SET(CUSTOM_DATA_INSTALL_PATH_VALUE "-DCUSTOM_DATA_INSTALL_PATH=${CUSTOM_DATA_INSTALL_PATH}")
|
||||
ENDIF()
|
||||
|
||||
IF(NOT CUSTOM_DATA_INSTALL_PATH)
|
||||
SET (CUSTOM_DATA_INSTALL_PATH "\"${CMAKE_INSTALL_PREFIX}/${MEGAGLEST_DATA_INSTALL_PATH}\"" CACHE STRING "The FULL installation path for data files (this is build automatically by combining CMAKE_INSTALL_PREFIX and MEGAGLEST_DATA_INSTALL_PATH)")
|
||||
ENDIF()
|
||||
SET(CUSTOM_DATA_INSTALL_PATH_VALUE "-DCUSTOM_DATA_INSTALL_PATH=${CUSTOM_DATA_INSTALL_PATH}")
|
||||
|
||||
SET(PKG_DATADIR ${CUSTOM_DATA_INSTALL_PATH_VALUE})
|
||||
SET(PKG_BINDIR ${MEGAGLEST_BIN_INSTALL_PATH})
|
||||
|
||||
SET(PKG_DATADIR ${CUSTOM_DATA_INSTALL_PATH_VALUE})
|
||||
SET(PKG_BINDIR ${MEGAGLEST_BIN_INSTALL_PATH})
|
||||
MESSAGE(STATUS "*NOTE: Custom Data Install Path is [${CUSTOM_DATA_INSTALL_PATH}]")
|
||||
ENDIF()
|
||||
|
||||
|
|
|
@ -1,91 +1,64 @@
|
|||
# Set defaults for Universal Binaries. We want 32-bit Intel/PPC on 10.4
|
||||
# and 32/64-bit Intel/PPC on >= 10.5. Anything <= 10.3 doesn't support.
|
||||
# These are just defaults/recommendations, but how we want to build
|
||||
# out of the box. But the user needs to be able to change these options.
|
||||
# Anything <= 10.3 isn't supported. We want 32-bit Intel/PPC on 10.4, 10.5.
|
||||
# On 10.6 32/64-bit Intel. On >= 10.7 unset architecture mean default 64-bit Intel.
|
||||
# Using oldest available sdk with current Xcode is recommended.
|
||||
# User needs to be able to change these options.
|
||||
# So we must only set the values the first time CMake is run, or we
|
||||
# will overwrite any changes the user sets.
|
||||
# FORCE is used because the options are not reflected in the UI otherwise.
|
||||
# Seems like a good place to add version specific compiler flags too.
|
||||
|
||||
IF(NOT CONFIG_HAS_BEEN_RUN_BEFORE)
|
||||
IF(EXISTS /Developer/SDKs/MacOSX10.6.sdk)
|
||||
SET(CMAKE_OSX_ARCHITECTURES "i386" CACHE STRING "Build architectures for OSX" FORCE)
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.6 -ftree-vectorize -fvisibility-inlines-hidden" CACHE STRING "Flags used by the compiler during all build types." FORCE)
|
||||
|
||||
ELSEIF(EXISTS /Developer/SDKs/MacOSX10.5.sdk)
|
||||
# 64-bit compiles are not supported with Carbon. We should enable
|
||||
# 64-bit compilation by default once osgviewer has been
|
||||
# rewritten with Cocoa.
|
||||
#SET(CMAKE_OSX_ARCHITECTURES "ppc;i386;ppc64;x86_64" CACHE STRING "Build architectures for OSX" FORCE)
|
||||
SET(CMAKE_OSX_ARCHITECTURES "i386" CACHE STRING "Build architectures for OSX" FORCE)
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.5 -ftree-vectorize -fvisibility-inlines-hidden" CACHE STRING "Flags used by the compiler during all build types." FORCE)
|
||||
ELSE()
|
||||
# No Universal Binary support
|
||||
# Should break down further to set the -mmacosx-version-min,
|
||||
# but the SDK detection is too unreliable here.
|
||||
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++")
|
||||
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden")
|
||||
ENDIF()
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftree-vectorize" CACHE STRING "Flags used by the compiler during all build types." FORCE)
|
||||
ENDIF(NOT CONFIG_HAS_BEEN_RUN_BEFORE)
|
||||
|
||||
# don't try to be too much "modern"
|
||||
ADD_DEFINITIONS(-Wno-deprecated -Wno-deprecated-declarations)
|
||||
|
||||
# Include extra paths to search for includes; this is the default system wide macports path.
|
||||
INCLUDE_DIRECTORIES(/opt/local/include)
|
||||
LINK_DIRECTORIES(/opt/local/lib)
|
||||
|
||||
# Set custom data path as macos apps don't use /local/
|
||||
SET(CUSTOM_DATA_INSTALL_PATH "/Applications/MegaGlest.app/Contents/Resources/share/megaglest/")
|
||||
|
||||
##install part
|
||||
|
||||
# This file is in git CRLF but that causes the cpack run to fail
|
||||
EXECUTE_PROCESS(COMMAND dos2unix -k docs/COPYRIGHT.source_code.txt WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
|
||||
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/docs/COPYRIGHT.source_code.txt"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/docs/COPYRIGHT.source_code.txt" NEWLINE_STYLE UNIX)
|
||||
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_BINARY_DIR}/docs/COPYRIGHT.source_code.txt")
|
||||
|
||||
# This changes Info.plist from something with variables and CMakeisms to
|
||||
# something that can be installed on disk.
|
||||
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/mk/macosx/Info.plist"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/Info.plist")
|
||||
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/mk/macosx/bundle_resources/Info.plist.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/mk/macosx/bundle_resources/Info.plist")
|
||||
SET(CPACK_BUNDLE_PLIST "${CMAKE_CURRENT_BINARY_DIR}/mk/macosx/bundle_resources/Info.plist")
|
||||
|
||||
include (InstallRequiredSystemLibraries)
|
||||
|
||||
# Use bundle generator (OSX has 3 other options if you feel adventurous)
|
||||
set (CPACK_GENERATOR "Bundle")
|
||||
|
||||
# The following CPACK_* options are all required
|
||||
set (CPACK_PACKAGE_FILE_NAME MegaGlest-${VER_MAJOR}.${VER_MINOR}.${VER_RELEASE})
|
||||
set (CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/mk/macosx/MegaGlest.icns")
|
||||
|
||||
set (CPACK_RESOURCE_FILE_LICENSE
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/docs/COPYRIGHT.source_code.txt")
|
||||
set (CPACK_BUNDLE_NAME "MegaGlest")
|
||||
|
||||
# This variable changs depending on the build type
|
||||
IF(CMAKE_GENERATOR STREQUAL Xcode)
|
||||
IF(CMAKE_BUILD_TYPE STREQUAL Release)
|
||||
set (CPACK_BUNDLE_STARTUP_COMMAND "${PROJECT_SOURCE_DIR}/source/glest_game/Release/megaglest")
|
||||
ELSEIF(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||
set (CPACK_BUNDLE_STARTUP_COMMAND "${PROJECT_SOURCE_DIR}/source/glest_game/Debug/megaglest")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
# Assume gnumake
|
||||
set (CPACK_BUNDLE_STARTUP_COMMAND "${PROJECT_SOURCE_DIR}/source/glest_game/megaglest")
|
||||
ENDIF()
|
||||
|
||||
|
||||
set (CPACK_BUNDLE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/mk/macosx/MegaGlest.icns")
|
||||
set (CPACK_BUNDLE_PLIST "${CMAKE_CURRENT_BINARY_DIR}/Info.plist")
|
||||
SET(CPACK_GENERATOR "Bundle")
|
||||
SET(CPACK_BUNDLE_NAME "MegaGlest")
|
||||
SET(CPACK_PACKAGE_FILE_NAME "MegaGlest-game-macos-${MEGAGLEST_VERSION}")
|
||||
SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/mk/macosx/bundle_resources/MegaGlest.icns")
|
||||
SET(CPACK_BUNDLE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/mk/macosx/bundle_resources/MegaGlest.icns")
|
||||
SET(CPACK_BUNDLE_STARTUP_COMMAND "${PROJECT_SOURCE_DIR}/mk/macosx/bundle_resources/MegaGlest.sh")
|
||||
|
||||
# Install files in to the package (FIXME: how? we sure?)
|
||||
INSTALL(FILES
|
||||
INSTALL(FILES
|
||||
${LUA_LIBRARIES}
|
||||
DESTINATION ../Frameworks
|
||||
DESTINATION ../Frameworks
|
||||
)
|
||||
|
||||
#the SDL_LIBRARY is seen as a framework thus we need to remove the suffix...
|
||||
STRING(REGEX REPLACE ";.*" "" SDL_LIBRARY_DIR "${SDL_LIBRARY}")
|
||||
|
||||
#INSTALL(DIRECTORY
|
||||
#INSTALL(DIRECTORY
|
||||
# ${OGG_LIBRARY}
|
||||
# ${XERCESC_LIBRARY}
|
||||
# ${VORBIS_LIBRARY}
|
||||
# ${SDL_LIBRARY_DIR}
|
||||
# ${PNG_LIBRARY}
|
||||
# DESTINATION ../Frameworks
|
||||
# )
|
||||
|
||||
# DESTINATION ../Frameworks
|
||||
# )
|
||||
|
|
|
@ -6,6 +6,10 @@ SET(TARGET_NAME_MANPAGE "${TARGET_NAME}.6")
|
|||
|
||||
IF(BUILD_MEGAGLEST_MODEL_VIEWER)
|
||||
MESSAGE(STATUS "Will try to build MegaGlest model viewer")
|
||||
|
||||
IF(UNIX AND APPLE AND NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
ADD_DEFINITIONS("-std=c++11")
|
||||
ENDIF()
|
||||
|
||||
FIND_PACKAGE(SDL REQUIRED)
|
||||
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
|
||||
|
@ -128,13 +132,15 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER)
|
|||
ENDFOREACH(DIR)
|
||||
|
||||
OPTION(WANT_DEV_OUTPATH "use developer friendly output paths" OFF)
|
||||
IF(WANT_DEV_OUTPATH)
|
||||
IF(UNIX AND NOT APPLE)
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux/)
|
||||
ELSE()
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game/)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
IF(WANT_DEV_OUTPATH)
|
||||
IF(UNIX AND NOT APPLE)
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux/)
|
||||
ELSEIF(UNIX AND APPLE)
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/macosx/)
|
||||
ELSE()
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game/)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
SET(HELP2MAN_OUT_PATH ${EXECUTABLE_OUTPUT_PATH})
|
||||
IF("${EXECUTABLE_OUTPUT_PATH}" STREQUAL "")
|
||||
|
@ -199,12 +205,21 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER)
|
|||
"${PROJECT_SOURCE_DIR}/mk/shared/g3dviewer.ico"
|
||||
DESTINATION ${MEGAGLEST_DATA_INSTALL_PATH})
|
||||
|
||||
# Installation of the program desktop file
|
||||
SET(MG_DESKTOP_FILE ${PROJECT_SOURCE_DIR}/mk/linux/megaglest_g3dviewer.desktop)
|
||||
IF(UNIX AND NOT APPLE)
|
||||
# Installation of the program desktop file
|
||||
SET(MG_DESKTOP_FILE ${PROJECT_SOURCE_DIR}/mk/linux/megaglest_g3dviewer.desktop)
|
||||
|
||||
INSTALL(FILES
|
||||
"${MG_DESKTOP_FILE}"
|
||||
DESTINATION ${MEGAGLEST_DESKTOP_INSTALL_PATH})
|
||||
INSTALL(FILES
|
||||
"${MG_DESKTOP_FILE}"
|
||||
DESTINATION ${MEGAGLEST_DESKTOP_INSTALL_PATH})
|
||||
|
||||
IF(NOT BUILD_MEGAGLEST)
|
||||
INSTALL(FILES
|
||||
"${PROJECT_SOURCE_DIR}/mk/linux/megaglest.png"
|
||||
"${PROJECT_SOURCE_DIR}/mk/linux/megaglest.xpm"
|
||||
DESTINATION ${MEGAGLEST_ICON_INSTALL_PATH})
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
|
|
@ -217,13 +217,15 @@ IF(BUILD_MEGAGLEST)
|
|||
ENDIF()
|
||||
|
||||
OPTION(WANT_DEV_OUTPATH "use developer friendly output paths" OFF)
|
||||
IF(WANT_DEV_OUTPATH)
|
||||
IF(UNIX AND NOT APPLE)
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux/)
|
||||
ELSE()
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game/)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
IF(WANT_DEV_OUTPATH)
|
||||
IF(UNIX AND NOT APPLE)
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux/)
|
||||
ELSEIF(UNIX AND APPLE)
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/macosx/)
|
||||
ELSE()
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game/)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
MESSAGE(STATUS "***Note: The final output path for Megaglest Game will be [${EXECUTABLE_OUTPUT_PATH}]")
|
||||
|
||||
|
@ -299,17 +301,27 @@ IF(BUILD_MEGAGLEST)
|
|||
DESTINATION ${MEGAGLEST_MANPAGE_INSTALL_PATH})
|
||||
ENDIF()
|
||||
|
||||
# rename the ini for installation
|
||||
INSTALL(FILES
|
||||
"${PROJECT_SOURCE_DIR}/mk/shared/glestkeys.ini"
|
||||
"${PROJECT_SOURCE_DIR}/mk/shared/servers.ini"
|
||||
DESTINATION ${MEGAGLEST_DATA_INSTALL_PATH})
|
||||
IF(WIN32)
|
||||
INSTALL(FILES
|
||||
"${PROJECT_SOURCE_DIR}/mk/windoze/glest.ini"
|
||||
"${PROJECT_SOURCE_DIR}/mk/shared/glestkeys.ini"
|
||||
DESTINATION ${MEGAGLEST_DATA_INSTALL_PATH})
|
||||
ELSE()
|
||||
INSTALL(FILES
|
||||
"${PROJECT_SOURCE_DIR}/mk/linux/glest.ini"
|
||||
"${PROJECT_SOURCE_DIR}/mk/shared/glestkeys.ini"
|
||||
DESTINATION ${MEGAGLEST_DATA_INSTALL_PATH})
|
||||
INSTALL(FILES
|
||||
"${PROJECT_SOURCE_DIR}/mk/windoze/glest.ini"
|
||||
DESTINATION ${MEGAGLEST_DATA_INSTALL_PATH})
|
||||
ELSEIF(UNIX AND NOT APPLE)
|
||||
INSTALL(FILES
|
||||
"${PROJECT_SOURCE_DIR}/mk/linux/glest.ini"
|
||||
DESTINATION ${MEGAGLEST_DATA_INSTALL_PATH})
|
||||
ELSEIF(UNIX AND APPLE)
|
||||
INSTALL(FILES
|
||||
"${PROJECT_SOURCE_DIR}/mk/macosx/glest.ini"
|
||||
DESTINATION ${MEGAGLEST_DATA_INSTALL_PATH})
|
||||
IF(SINGLE_INSTALL_DIRECTORY AND EXISTS "${PROJECT_SOURCE_DIR}/mk/macosx/p7zip/")
|
||||
INSTALL(DIRECTORY
|
||||
"${PROJECT_SOURCE_DIR}/mk/macosx/p7zip"
|
||||
DESTINATION ${MEGAGLEST_DATA_INSTALL_PATH})
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
# Installation of data files from outside normal data folder
|
||||
|
@ -319,19 +331,32 @@ IF(BUILD_MEGAGLEST)
|
|||
|
||||
#MESSAGE(STATUS "**Source package detected git folder structure.")
|
||||
|
||||
# Installation of the program desktop file
|
||||
INSTALL(FILES
|
||||
"${PROJECT_SOURCE_DIR}/mk/linux/megaglest.desktop"
|
||||
DESTINATION ${MEGAGLEST_DESKTOP_INSTALL_PATH})
|
||||
IF(NOT APPLE)
|
||||
# Installation of the program desktop file
|
||||
INSTALL(FILES
|
||||
"${PROJECT_SOURCE_DIR}/mk/linux/megaglest.desktop"
|
||||
DESTINATION ${MEGAGLEST_DESKTOP_INSTALL_PATH})
|
||||
ENDIF()
|
||||
|
||||
# Installation of the program desktop icon file
|
||||
INSTALL(FILES
|
||||
"${PROJECT_SOURCE_DIR}/mk/linux/megaglest.png"
|
||||
"${PROJECT_SOURCE_DIR}/mk/linux/megaglest.xpm"
|
||||
"${PROJECT_SOURCE_DIR}/mk/linux/megaglest.bmp"
|
||||
"${PROJECT_SOURCE_DIR}/mk/shared/editor.ico"
|
||||
"${PROJECT_SOURCE_DIR}/mk/shared/glest.ico"
|
||||
"${PROJECT_SOURCE_DIR}/mk/shared/g3dviewer.ico"
|
||||
DESTINATION ${MEGAGLEST_ICON_INSTALL_PATH})
|
||||
ENDIF()
|
||||
# Installation of the program desktop icon file
|
||||
INSTALL(FILES
|
||||
"${PROJECT_SOURCE_DIR}/mk/shared/megaglest.ico"
|
||||
DESTINATION ${MEGAGLEST_ICON_INSTALL_PATH})
|
||||
IF(UNIX AND NOT APPLE)
|
||||
INSTALL(FILES
|
||||
"${PROJECT_SOURCE_DIR}/mk/linux/megaglest.png"
|
||||
"${PROJECT_SOURCE_DIR}/mk/linux/megaglest.xpm"
|
||||
DESTINATION ${MEGAGLEST_ICON_INSTALL_PATH})
|
||||
ELSEIF(UNIX AND APPLE)
|
||||
IF(NOT SINGLE_INSTALL_DIRECTORY)
|
||||
INSTALL(FILES
|
||||
"${PROJECT_SOURCE_DIR}/mk/macosx/bundle_resources/MegaGlest.icns"
|
||||
DESTINATION ${MEGAGLEST_ICON_INSTALL_PATH})
|
||||
ENDIF()
|
||||
ELSE()
|
||||
INSTALL(FILES
|
||||
"${PROJECT_SOURCE_DIR}/mk/linux/megaglest.bmp"
|
||||
DESTINATION ${MEGAGLEST_ICON_INSTALL_PATH})
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
|
|
@ -6,6 +6,10 @@ SET(TARGET_NAME_MANPAGE "${TARGET_NAME}.6")
|
|||
|
||||
IF(BUILD_MEGAGLEST_MAP_EDITOR)
|
||||
MESSAGE(STATUS "Will try to build MegaGlest map editor")
|
||||
|
||||
IF(UNIX AND APPLE AND NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
ADD_DEFINITIONS("-std=c++11")
|
||||
ENDIF()
|
||||
|
||||
FIND_PACKAGE(SDL REQUIRED)
|
||||
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
|
||||
|
@ -112,13 +116,15 @@ IF(BUILD_MEGAGLEST_MAP_EDITOR)
|
|||
ENDFOREACH(DIR)
|
||||
|
||||
OPTION(WANT_DEV_OUTPATH "use developer friendly output paths" OFF)
|
||||
IF(WANT_DEV_OUTPATH)
|
||||
IF(UNIX AND NOT APPLE)
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux/)
|
||||
ELSE()
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game/)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
IF(WANT_DEV_OUTPATH)
|
||||
IF(UNIX AND NOT APPLE)
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux/)
|
||||
ELSEIF(UNIX AND APPLE)
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/macosx/)
|
||||
ELSE()
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game/)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
SET(HELP2MAN_OUT_PATH ${EXECUTABLE_OUTPUT_PATH})
|
||||
IF("${EXECUTABLE_OUTPUT_PATH}" STREQUAL "")
|
||||
|
@ -193,12 +199,20 @@ IF(BUILD_MEGAGLEST_MAP_EDITOR)
|
|||
"${PROJECT_SOURCE_DIR}/mk/shared/editor.ico"
|
||||
DESTINATION ${MEGAGLEST_DATA_INSTALL_PATH})
|
||||
|
||||
# Installation of the program desktop file
|
||||
SET(MG_DESKTOP_FILE ${PROJECT_SOURCE_DIR}/mk/linux/megaglest_editor.desktop)
|
||||
IF(UNIX AND NOT APPLE)
|
||||
# Installation of the program desktop file
|
||||
SET(MG_DESKTOP_FILE ${PROJECT_SOURCE_DIR}/mk/linux/megaglest_editor.desktop)
|
||||
|
||||
INSTALL(FILES
|
||||
"${MG_DESKTOP_FILE}"
|
||||
DESTINATION ${MEGAGLEST_DESKTOP_INSTALL_PATH})
|
||||
INSTALL(FILES
|
||||
"${MG_DESKTOP_FILE}"
|
||||
DESTINATION ${MEGAGLEST_DESKTOP_INSTALL_PATH})
|
||||
|
||||
IF(NOT BUILD_MEGAGLEST)
|
||||
INSTALL(FILES
|
||||
"${PROJECT_SOURCE_DIR}/mk/linux/megaglest.png"
|
||||
"${PROJECT_SOURCE_DIR}/mk/linux/megaglest.xpm"
|
||||
DESTINATION ${MEGAGLEST_ICON_INSTALL_PATH})
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
|
|
@ -140,13 +140,15 @@ IF(BUILD_MEGAGLEST_TESTS)
|
|||
SET_SOURCE_FILES_PROPERTIES(${MG_INCLUDE_FILES} PROPERTIES HEADER_FILE_ONLY 1)
|
||||
|
||||
OPTION(WANT_DEV_OUTPATH "use developer friendly output paths" OFF)
|
||||
IF(WANT_DEV_OUTPATH)
|
||||
IF(UNIX AND NOT APPLE)
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux/)
|
||||
ELSE()
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game/)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
IF(WANT_DEV_OUTPATH)
|
||||
IF(UNIX AND NOT APPLE)
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/linux/)
|
||||
ELSEIF(UNIX AND APPLE)
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/mk/macosx/)
|
||||
ELSE()
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/data/glest_game/)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
MESSAGE(STATUS "EXTERNAL_LIBS = [${EXTERNAL_LIBS}]")
|
||||
|
||||
|
@ -164,19 +166,19 @@ IF(BUILD_MEGAGLEST_TESTS)
|
|||
ENDIF()
|
||||
|
||||
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
|
||||
IF(NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode")
|
||||
# Run the unit tests after build
|
||||
IF(EXISTS ${XVFB_EXEC})
|
||||
MESSAGE("***-- Found xvfb-run: ${XVFB_EXEC} will run tests with it.")
|
||||
|
||||
# Run the unit tests after build
|
||||
IF(EXISTS ${XVFB_EXEC})
|
||||
MESSAGE("***-- Found xvfb-run: ${XVFB_EXEC} will run tests with it.")
|
||||
|
||||
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
|
||||
COMMAND ${XVFB_EXEC} --auto-servernum --server-num=770 ${EXECUTABLE_OUTPUT_PATH}${TARGET_NAME}
|
||||
COMMENT "***-- Found megaglest test runner: ${TARGET_NAME} about to run unit tests via xvfb...")
|
||||
|
||||
ELSE()
|
||||
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
|
||||
COMMAND ${EXECUTABLE_OUTPUT_PATH}${TARGET_NAME}
|
||||
COMMENT "***-- Found megaglest test runner: ${TARGET_NAME} about to run unit tests...")
|
||||
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
|
||||
COMMAND ${XVFB_EXEC} --auto-servernum --server-num=770 ${EXECUTABLE_OUTPUT_PATH}${TARGET_NAME}
|
||||
COMMENT "***-- Found megaglest test runner: ${TARGET_NAME} about to run unit tests via xvfb...")
|
||||
ELSE()
|
||||
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
|
||||
COMMAND ${EXECUTABLE_OUTPUT_PATH}${TARGET_NAME}
|
||||
COMMENT "***-- Found megaglest test runner: ${TARGET_NAME} about to run unit tests...")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
ENDIF()
|
||||
|
|
Loading…
Reference in New Issue