This commit is contained in:
Anselme 2016-03-31 17:14:39 +02:00
commit f7d69b4a20

View File

@ -44,7 +44,7 @@ if(${CMAKE_BUILD_TYPE} MATCHES "Debug")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIB_DEBUG_PATH}) #for SHARED
list(APPEND LIB_PATHS ${LIB_DEBUG_PATH})
list(APPEND LIB_PATHS "\n" ${LIB_RELEASE_PATH})
list(APPEND LIB_PATHS ${LIB_RELEASE_PATH})
else()
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIB_RELEASE_PATH}) #for STATIC
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIB_RELEASE_PATH}) #for SHARED
@ -91,7 +91,10 @@ if(USE_ENGINE)
set(USE_INPUT True)
set(USE_BULLET True)
LIST(APPEND INCLUDE_PATHS "\n" ${PROJECT_SOURCE_DIR}/../sparrowengine/src)
# window and system are already requested by sparrowInput
LIST(APPEND SFML_MODULES graphics audio)
LIST(APPEND INCLUDE_PATHS ${PROJECT_SOURCE_DIR}/../sparrowengine/src)
LIST(APPEND LIB_DEPENDENCIES_LIST ${SPARROW_ENGINE_LIBRARY})
endif()
@ -103,71 +106,30 @@ if(USE_INPUT)
${LIB_PATHS}
)
set(USE_SFML True)
LIST(APPEND SFML_MODULES window system)
LIST(APPEND INCLUDE_PATHS "\n" ${PROJECT_SOURCE_DIR}/../sparrowinput/src)
LIST(APPEND INCLUDE_PATHS "\n" ${PROJECT_SOURCE_DIR}/../SparrowInput/src)
LIST(APPEND INCLUDE_PATHS ${PROJECT_SOURCE_DIR}/../sparrowinput/src)
LIST(APPEND INCLUDE_PATHS ${PROJECT_SOURCE_DIR}/../SparrowInput/src)
LIST(APPEND LIB_DEPENDENCIES_LIST ${SPARROW_INPUT_LIBRARY})
endif()
if(SFML_MODULES)
if(";${SFML_MODULE};" MATCHES ";graphics;")
set(USE_SFML_GRAPHICS True)
set(USE_SFML_WINDOW True)
set(USE_SFML_SYSTEM True)
endif()
if(";${SFML_MODULE};" MATCHES ";window;")
set(USE_SFML_WINDOW True)
set(USE_SFML_SYSTEM True)
endif()
if(";${SFML_MODULE};" MATCHES ";audio;")
set(USE_SFML_AUDIO True)
set(USE_SFML_SYSTEM True)
endif()
if(";${SFML_MODULE};" MATCHES ";network;")
set(USE_SFML_NETWORK True)
set(USE_SFML_SYSTEM True)
endif()
if(";${SFML_MODULE};" MATCHES ";system;")
set(USE_SFML_SYSTEM True)
endif()
#TODO update everything to use SFML_MODULES instead of USE_SFML
endif()
if(USE_SFML)
find_library(SFML_LIBRARY_WINDOW
NAMES
sfml-window
PATHS
${LIB_PATHS}
)
find_library(SFML_LIBRARY_SYSTEM
NAMES
sfml-system
PATHS
${LIB_PATHS}
)
find_library(SFML_LIBRARY_AUDIO
NAMES
sfml-audio
PATHS
${LIB_PATHS}
)
find_library(SFML_LIBRARY_GRAPHICS
NAMES
sfml-graphics
PATHS
${LIB_PATHS}
)
set(USE_OPENGL True)
add_definitions(-DSFML_STATIC)
LIST(FIND SFML_MODULES "graphics" USE_SFML_GRAPHICS)
LIST(FIND SFML_MODULES "window" USE_SFML_WINDOW)
LIST(FIND SFML_MODULES "audio" USE_SFML_AUDIO)
LIST(FIND SFML_MODULES "network" USE_SFML_NETWORK)
LIST(FIND SFML_MODULES "system" USE_SFML_SYSTEM)
if(${USE_SFML_GRAPHICS} GREATER -1)
set(USE_SFML_WINDOW 1)
set(USE_SFML_SYSTEM 1)
find_library(SFML_LIBRARY_GRAPHICS
NAMES sfml-graphics
PATHS ${LIB_PATHS}
)
find_library(SFML_DEP_FREETYPE
NAMES freetype
PATHS ${LIB_PATHS}
@ -176,6 +138,43 @@ if(USE_SFML)
NAMES jpeg
PATHS ${LIB_PATHS}
)
LIST(APPEND LIB_SFML_LIST
${SFML_LIBRARY_GRAPHICS}
${SFML_DEP_FREETYPE}
${SFML_DEP_JPEG}
)
MESSAGE(STATUS "using SFML graphics")
endif()
if(${USE_SFML_WINDOW} GREATER -1)
set(USE_SFML_SYSTEM 1)
set(USE_OPENGL True)
find_library(SFML_LIBRARY_WINDOW
NAMES sfml-window
PATHS ${LIB_PATHS}
)
if(WIN32)
find_library(SFML_DEP_GDI
NAMES gdi32
PATHS ${LIB_PATHS}
)
LIST(APPEND LIB_SFML_LIST ${SFML_LIBRARY_WINDOW} ${SFML_DEP_GDI})
elseif(UNIX)
LIST(APPEND LIB_SFML_LIST ${SFML_LIBRARY_WINDOW})
endif()
MESSAGE(STATUS "using SFML window")
endif()
if(${USE_SFML_AUDIO} GREATER -1)
set(USE_SFML_SYSTEM 1)
find_library(SFML_LIBRARY_AUDIO
NAMES sfml-audio
PATHS ${LIB_PATHS}
)
find_library(SFML_DEP_OPENAL
NAMES openal openal32
PATHS ${LIB_PATHS}
@ -201,45 +200,57 @@ if(USE_SFML)
PATHS ${LIB_PATHS}
)
LIST(APPEND LIB_SFML_LIST
${SFML_LIBRARY_AUDIO}
${SFML_DEP_OPENAL}
${SFML_DEP_FLAC}
${SFML_DEP_VORBISENC}
${SFML_DEP_VORBISFILE}
${SFML_DEP_VORBIS}
${SFML_DEP_OGG}
)
MESSAGE(STATUS "using SFML audio")
endif()
if(${USE_SFML_NETWORK} GREATER -1)
set(USE_SFML_SYSTEM 1)
find_library(SFML_LIBRARY_NETWORK
NAMES sfml-network
PATHS ${LIB_PATHS}
)
if(WIN32)
find_library(SFML_DEP_WINSOCK
NAMES ws2_32
PATHS ${LIB_PATHS}
)
LIST(APPEND LIB_SFML_LIST ${SFML_LIBRARY_NETWORK} ${SFML_DEP_WINSOCK})
elseif(UNIX)
LIST(APPEND LIB_SFML_LIST ${SFML_LIBRARY_NETWORK})
endif()
MESSAGE(STATUS "using SFML network")
endif()
if(${USE_SFML_SYSTEM} GREATER -1)
find_library(SFML_LIBRARY_SYSTEM
NAMES sfml-system
PATHS ${LIB_PATHS}
)
if(WIN32)
find_library(SFML_DEP_WINMM
NAMES winmm
PATHS ${LIB_PATHS}
)
find_library(SFML_DEP_GDI
NAMES gdi32
PATHS ${LIB_PATHS}
)
SET(SFML_DEPENDENCIES
${SFML_DEP_WINMM}
${SFML_DEP_GDI}
${SFML_DEP_FREETYPE}
${SFML_DEP_JPEG}
${SFML_DEP_OPENAL}
${SFML_DEP_FLAC}
${SFML_DEP_VORBISENC}
${SFML_DEP_VORBISFILE}
${SFML_DEP_VORBIS}
${SFML_DEP_OGG}
)
LIST(APPEND LIB_SFML_LIST ${SFML_LIBRARY_SYSTEM} ${SFML_DEP_WINMM})
elseif(UNIX)
SET(SFML_DEPENDENCIES
${SFML_DEP_FREETYPE}
${SFML_DEP_JPEG}
${SFML_DEP_OPENAL}
${SFML_DEP_FLAC}
${SFML_DEP_VORBISENC}
${SFML_DEP_VORBISFILE}
${SFML_DEP_VORBIS}
${SFML_DEP_OGG}
)
LIST(APPEND LIB_SFML_LIST ${SFML_LIBRARY_SYSTEM})
endif()
LIST(APPEND LIB_DEPENDENCIES_LIST
${SFML_LIBRARY_WINDOW}
${SFML_LIBRARY_GRAPHICS}
${SFML_LIBRARY_SYSTEM}
${SFML_LIBRARY_AUDIO}
${SFML_DEPENDENCIES}) # order is VERY important
MESSAGE(STATUS "using SFML system")
endif()
LIST(APPEND LIB_DEPENDENCIES_LIST ${LIB_SFML_LIST})
endif()
if(USE_BULLET)
@ -263,8 +274,12 @@ if(USE_BULLET)
PATHS
${LIB_PATHS}
)
LIST(APPEND LIB_DEPENDENCIES_LIST ${BULLET_DYNAMICS_LIBRARY} ${BULLET_COLLISION_LIBRARY} ${LINEAR_MATH_LIBRARY})
LIST(APPEND INCLUDE_PATHS "\n" ${INCLUDE_ROOT}/bullet)
LIST(APPEND LIB_DEPENDENCIES_LIST
${BULLET_DYNAMICS_LIBRARY}
${BULLET_COLLISION_LIBRARY}
${LINEAR_MATH_LIBRARY}
)
LIST(APPEND INCLUDE_PATHS ${INCLUDE_ROOT}/bullet)
endif()
if(QT_MODULE)
@ -328,7 +343,7 @@ if(USE_RENDERER)
set(USE_OPENGL True)
LIST(APPEND INCLUDE_PATHS "\n" ${PROJECT_SOURCE_DIR}/../sparrowrenderer/src)
LIST(APPEND INCLUDE_PATHS ${PROJECT_SOURCE_DIR}/../sparrowrenderer/src)
LIST(APPEND LIB_DEPENDENCIES_LIST ${SPARROW_RENDERER_LIBRARY})
endif()