1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
# Place executables and shared libs under "build-dir/",
# instead of under "build-dir/rts/"
# This way, we have the build-dir structure more like the install-dir one,
# which makes testing spring in the builddir easier, eg. like this:
# cd build-dir
# SPRING_DATADIR=$(pwd) ./spring
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
### Assemble libraries
FIND_PACKAGE(SDL2 REQUIRED)
SET(engineIncludes ${SDL2_INCLUDE_DIR})
SET(engineLibraries ${SDL2_LIBRARY})
if("${SDL2_VERSION_STRING}" VERSION_LESS "2")
message(FATAL_ERROR "Found SDL v${SDL2_VERSION_STRING} while 2 is required!")
endif()
FIND_PACKAGE_STATIC(OpenGL REQUIRED)
FIND_PACKAGE_STATIC(GLEW 1.5.1 REQUIRED)
LIST(APPEND engineLibraries ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${GLEW_LIBRARIES})
LIST(APPEND engineIncludes ${GLEW_INCLUDE_DIR})
FIND_PACKAGE_STATIC(FontConfig)
IF (FONTCONFIG_FOUND)
LIST(APPEND engineIncludes ${FONTCONFIG_INCLUDE_DIR})
LIST(APPEND engineLibraries ${FONTCONFIG_LIBRARIES})
ADD_DEFINITIONS(-DUSE_FONTCONFIG)
IF (PREFER_STATIC_LIBS)
PREFER_STATIC_LIBS()
FIND_LIBRARY(EXPAT_LIBRARY expat)
UNPREFER_STATIC_LIBS()
LIST(APPEND engineLibraries ${EXPAT_LIBRARY})
ENDIF (PREFER_STATIC_LIBS)
ENDIF (FONTCONFIG_FOUND)
FindFreetypeHack() # hack to find different named freetype.dll
FIND_PACKAGE_STATIC(Freetype REQUIRED)
foreach(f ${FREETYPE_INCLUDE_DIRS})
LIST(APPEND engineIncludes ${f})
endforeach(f)
LIST(APPEND engineLibraries ${FREETYPE_LIBRARIES})
IF (PREFER_STATIC_LIBS)
# dependencies of FreeType
FIND_PACKAGE_STATIC(BZip2 REQUIRED)
LIST(APPEND engineLibraries ${BZIP2_LIBRARIES})
ENDIF (PREFER_STATIC_LIBS)
IF (UNIX)
FIND_PACKAGE_STATIC(X11 REQUIRED)
LIST(APPEND engineLibraries ${X11_Xcursor_LIB} ${X11_X11_LIB})
IF (PREFER_STATIC_LIBS)
# dependencies of X11/XCursor
FIND_PACKAGE_STATIC(XCB REQUIRED)
LIST(APPEND engineLibraries ${X11_Xrender_LIB} ${X11_Xfixes_LIB} ${XCB_LIBRARIES} ${X11_Xau_LIB} ${X11_Xdmcp_LIB})
ENDIF (PREFER_STATIC_LIBS)
ENDIF (UNIX)
IF (APPLE)
FIND_LIBRARY(COREFOUNDATION_LIBRARY Foundation)
LIST(APPEND engineLibraries ${COREFOUNDATION_LIBRARY})
ENDIF (APPLE)
if (USE_LIBSQUISH)
LIST(APPEND engineLibraries squish rgetc1)
endif (USE_LIBSQUISH)
LIST(APPEND engineLibraries ${sound-impl})
LIST(APPEND engineLibraries engineSystemNet)
LIST(APPEND engineLibraries ${engineCommonLibraries})
LIST(APPEND engineLibraries engineaGui)
LIST(APPEND engineLibraries ${Boost_THREAD_LIBRARY})
LIST(APPEND engineLibraries ${SPRING_SIM_LIBRARIES})
LIST(APPEND engineLibraries engineSim)
LIST(APPEND engineLibraries pr-downloader_static)
### Assemble external incude dirs
LIST(APPEND engineIncludes ${OPENAL_INCLUDE_DIR})
INCLUDE_DIRECTORIES(${engineIncludes})
### Build the executable
ADD_EXECUTABLE(engine-legacy ${EXE_FLAGS} ${engineSources} ${ENGINE_ICON} ${engineHeaders})
TARGET_LINK_LIBRARIES(engine-legacy ${engineLibraries})
### Install the executable
INSTALL(TARGETS engine-legacy DESTINATION ${BINDIR})
CreateEngineBuildAndInstallTarget(legacy)
|