mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-23 04:11:53 +00:00
Update cmake rules.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5263 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
20be3f8161
commit
e143173e21
1 changed files with 33 additions and 7 deletions
|
@ -1,7 +1,7 @@
|
||||||
#Note: this file was made primarily to support msvc and its project file incompatibilities nightmare.
|
#Note: this file was made primarily to support msvc and its project file incompatibilities nightmare.
|
||||||
|
|
||||||
|
|
||||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.9)
|
||||||
PROJECT(fteqw)
|
PROJECT(fteqw)
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
|
@ -14,7 +14,7 @@ INCLUDE_DIRECTORIES(
|
||||||
)
|
)
|
||||||
|
|
||||||
EXECUTE_PROCESS(COMMAND
|
EXECUTE_PROCESS(COMMAND
|
||||||
"echo" hello world
|
"svnversion"
|
||||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||||
OUTPUT_VARIABLE FTE_REVISON
|
OUTPUT_VARIABLE FTE_REVISON
|
||||||
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE
|
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
@ -31,7 +31,11 @@ set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
||||||
set(CMAKE_C_VISIBILITY_PRESET hidden)
|
set(CMAKE_C_VISIBILITY_PRESET hidden)
|
||||||
|
|
||||||
#use LTO where possible. reportedly requires cmake 3.9 to actually work
|
#use LTO where possible. reportedly requires cmake 3.9 to actually work
|
||||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
|
INCLUDE(CheckIPOSupported)
|
||||||
|
check_ipo_supported(RESULT result)
|
||||||
|
IF(result)
|
||||||
|
SET(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(${WIN32})
|
IF(${WIN32})
|
||||||
INCLUDE_DIRECTORIES(engine/libs engine/libs/freetype2/include)
|
INCLUDE_DIRECTORIES(engine/libs engine/libs/freetype2/include)
|
||||||
|
@ -79,12 +83,13 @@ IF(${WIN32})
|
||||||
engine/server/sv_sys_win.c
|
engine/server/sv_sys_win.c
|
||||||
)
|
)
|
||||||
ELSEIF(${UNIX}) #linux(ish)
|
ELSEIF(${UNIX}) #linux(ish)
|
||||||
|
#openbsd will have issues with snd_linux.c
|
||||||
FIND_PACKAGE(Freetype REQUIRED)
|
FIND_PACKAGE(Freetype REQUIRED)
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES( ${FREETYPE_INCLUDE_DIRS} )
|
INCLUDE_DIRECTORIES( ${FREETYPE_INCLUDE_DIRS} )
|
||||||
|
|
||||||
SET(FTE_DEFINES GLQUAKE;VKQUAKE;DYNAMIC_LIBPNG;DYNAMIC_LIBJPEG;DYNAMIC_SDL;MULTITHREAD;stricmp=strcasecmp;strnicmp=strncasecmp)
|
SET(FTE_DEFINES GLQUAKE;VKQUAKE;DYNAMIC_LIBPNG;DYNAMIC_LIBJPEG;DYNAMIC_SDL;MULTITHREAD;stricmp=strcasecmp;strnicmp=strncasecmp)
|
||||||
SET(FTE_LIBS z m dl pthread ${SDL2_LIBRARIES})
|
SET(FTE_LIBS z m ${CMAKE_DL_LIBS} pthread ${SDL2_LIBRARIES})
|
||||||
SET(FTE_ARCH_FILES
|
SET(FTE_ARCH_FILES
|
||||||
engine/client/sys_linux.c
|
engine/client/sys_linux.c
|
||||||
engine/common/sys_linux_threads.c
|
engine/common/sys_linux_threads.c
|
||||||
|
@ -103,13 +108,34 @@ ELSEIF(${UNIX}) #linux(ish)
|
||||||
# engine/gl/gl_vidwayland.c
|
# engine/gl/gl_vidwayland.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
#openbsd uses a libossaudio library for all the oss stuff, use that to ensure that we still get sound
|
||||||
|
FIND_LIBRARY(
|
||||||
|
OSSAUDIO_LIBRARY
|
||||||
|
NAMES ossaudio
|
||||||
|
)
|
||||||
|
IF(OSSAUDIO_LIBRARY)
|
||||||
|
SET(FTE_LIBS ${FTE_LIBS} ${OSSAUDIO_LIBRARY})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
#on linux, use wayland.
|
||||||
|
FIND_LIBRARY(
|
||||||
|
WAYLAND_CLIENT_LIBRARY
|
||||||
|
NAMES wayland-client libwayland-client
|
||||||
|
)
|
||||||
|
IF(WAYLAND_CLIENT_LIBRARY)
|
||||||
|
SET(FTE_DEFINES ${FTE_DEFINES};WAYLANDQUAKE;USE_EGL)
|
||||||
|
SET(FTE_ARCH_FILES ${FTE_ARCH_FILES}
|
||||||
|
engine/gl/gl_vidwayland.c
|
||||||
|
)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
SET(FTESV_DEFINES stricmp=strcasecmp;strnicmp=strncasecmp)
|
SET(FTESV_DEFINES stricmp=strcasecmp;strnicmp=strncasecmp)
|
||||||
SET(FTESV_ARCH_FILES
|
SET(FTESV_ARCH_FILES
|
||||||
engine/server/sv_sys_unix.c
|
engine/server/sv_sys_unix.c
|
||||||
engine/common/sys_linux_threads.c
|
engine/common/sys_linux_threads.c
|
||||||
engine/common/net_ssl_gnutls.c
|
engine/common/net_ssl_gnutls.c
|
||||||
)
|
)
|
||||||
SET(FTESV_LIBS z m dl)
|
SET(FTESV_LIBS z m ${CMAKE_DL_LIBS})
|
||||||
ELSEIF(1) #SDL
|
ELSEIF(1) #SDL
|
||||||
FIND_PACKAGE(Freetype REQUIRED)
|
FIND_PACKAGE(Freetype REQUIRED)
|
||||||
# INCLUDE_DIRECTORIES(engine/libs engine/libs/freetype2/include)
|
# INCLUDE_DIRECTORIES(engine/libs engine/libs/freetype2/include)
|
||||||
|
@ -123,7 +149,7 @@ ELSEIF(1) #SDL
|
||||||
|
|
||||||
#SDL2.0.7 supports vulkan, so lets use it.
|
#SDL2.0.7 supports vulkan, so lets use it.
|
||||||
SET(FTE_DEFINES GLQUAKE;VKQUAKE;FTE_SDL;DYNAMIC_LIBPNG;DYNAMIC_LIBJPEG;stricmp=strcasecmp;strnicmp=strncasecmp)
|
SET(FTE_DEFINES GLQUAKE;VKQUAKE;FTE_SDL;DYNAMIC_LIBPNG;DYNAMIC_LIBJPEG;stricmp=strcasecmp;strnicmp=strncasecmp)
|
||||||
SET(FTE_LIBS z m dl ${SDL2_LIBRARIES})
|
SET(FTE_LIBS z m ${CMAKE_DL_LIBS} ${SDL2_LIBRARIES})
|
||||||
SET(FTE_ARCH_FILES
|
SET(FTE_ARCH_FILES
|
||||||
engine/client/sys_sdl.c
|
engine/client/sys_sdl.c
|
||||||
engine/client/snd_al.c
|
engine/client/snd_al.c
|
||||||
|
@ -134,7 +160,7 @@ ELSEIF(1) #SDL
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(FTESV_DEFINES FTE_SDL;stricmp=strcasecmp;strnicmp=strncasecmp)
|
SET(FTESV_DEFINES FTE_SDL;stricmp=strcasecmp;strnicmp=strncasecmp)
|
||||||
SET(FTESV_LIBS z m dl ${SDL2_LIBRARIES})
|
SET(FTESV_LIBS z m ${CMAKE_DL_LIBS} ${SDL2_LIBRARIES})
|
||||||
|
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
SET(FTE_LIBS ${FTE_LIBS} wsock32 gdi32 ole32)
|
SET(FTE_LIBS ${FTE_LIBS} wsock32 gdi32 ole32)
|
||||||
|
|
Loading…
Reference in a new issue