Merge branch 'master' of https://epicsparrow.com/epicsparrow/cmaketemplate
This commit is contained in:
commit
f7d69b4a20
325
template.cmake
325
template.cmake
@ -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
|
||||
@ -90,8 +90,11 @@ if(USE_ENGINE)
|
||||
set(USE_RENDERER True)
|
||||
set(USE_INPUT True)
|
||||
set(USE_BULLET True)
|
||||
|
||||
# window and system are already requested by sparrowInput
|
||||
LIST(APPEND SFML_MODULES graphics audio)
|
||||
|
||||
LIST(APPEND INCLUDE_PATHS "\n" ${PROJECT_SOURCE_DIR}/../sparrowengine/src)
|
||||
LIST(APPEND INCLUDE_PATHS ${PROJECT_SOURCE_DIR}/../sparrowengine/src)
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${SPARROW_ENGINE_LIBRARY})
|
||||
endif()
|
||||
|
||||
@ -103,143 +106,151 @@ 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)
|
||||
|
||||
find_library(SFML_DEP_FREETYPE
|
||||
NAMES freetype
|
||||
PATHS ${LIB_PATHS}
|
||||
)
|
||||
find_library(SFML_DEP_JPEG
|
||||
NAMES jpeg
|
||||
PATHS ${LIB_PATHS}
|
||||
)
|
||||
find_library(SFML_DEP_OPENAL
|
||||
NAMES openal openal32
|
||||
PATHS ${LIB_PATHS}
|
||||
)
|
||||
find_library(SFML_DEP_FLAC
|
||||
NAMES flac FLAC
|
||||
PATHS ${LIB_PATHS}
|
||||
)
|
||||
find_library(SFML_DEP_VORBISENC
|
||||
NAMES vorbisenc
|
||||
PATHS ${LIB_PATHS}
|
||||
)
|
||||
find_library(SFML_DEP_VORBISFILE
|
||||
NAMES vorbisfile
|
||||
PATHS ${LIB_PATHS}
|
||||
)
|
||||
find_library(SFML_DEP_VORBIS
|
||||
NAMES vorbis
|
||||
PATHS ${LIB_PATHS}
|
||||
)
|
||||
find_library(SFML_DEP_OGG
|
||||
NAMES ogg
|
||||
PATHS ${LIB_PATHS}
|
||||
)
|
||||
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(WIN32)
|
||||
find_library(SFML_DEP_WINMM
|
||||
NAMES winmm
|
||||
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_GDI
|
||||
NAMES gdi32
|
||||
find_library(SFML_DEP_FREETYPE
|
||||
NAMES freetype
|
||||
PATHS ${LIB_PATHS}
|
||||
)
|
||||
SET(SFML_DEPENDENCIES
|
||||
${SFML_DEP_WINMM}
|
||||
${SFML_DEP_GDI}
|
||||
find_library(SFML_DEP_JPEG
|
||||
NAMES jpeg
|
||||
PATHS ${LIB_PATHS}
|
||||
)
|
||||
|
||||
LIST(APPEND LIB_SFML_LIST
|
||||
${SFML_LIBRARY_GRAPHICS}
|
||||
${SFML_DEP_FREETYPE}
|
||||
${SFML_DEP_JPEG}
|
||||
${SFML_DEP_OPENAL}
|
||||
${SFML_DEP_FLAC}
|
||||
${SFML_DEP_VORBISENC}
|
||||
${SFML_DEP_VORBISFILE}
|
||||
${SFML_DEP_VORBIS}
|
||||
${SFML_DEP_OGG}
|
||||
)
|
||||
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}
|
||||
)
|
||||
MESSAGE(STATUS "using SFML graphics")
|
||||
endif()
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST
|
||||
${SFML_LIBRARY_WINDOW}
|
||||
${SFML_LIBRARY_GRAPHICS}
|
||||
${SFML_LIBRARY_SYSTEM}
|
||||
${SFML_LIBRARY_AUDIO}
|
||||
${SFML_DEPENDENCIES}) # order is VERY important
|
||||
|
||||
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}
|
||||
)
|
||||
find_library(SFML_DEP_FLAC
|
||||
NAMES flac FLAC
|
||||
PATHS ${LIB_PATHS}
|
||||
)
|
||||
find_library(SFML_DEP_VORBISENC
|
||||
NAMES vorbisenc
|
||||
PATHS ${LIB_PATHS}
|
||||
)
|
||||
find_library(SFML_DEP_VORBISFILE
|
||||
NAMES vorbisfile
|
||||
PATHS ${LIB_PATHS}
|
||||
)
|
||||
find_library(SFML_DEP_VORBIS
|
||||
NAMES vorbis
|
||||
PATHS ${LIB_PATHS}
|
||||
)
|
||||
find_library(SFML_DEP_OGG
|
||||
NAMES ogg
|
||||
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}
|
||||
)
|
||||
LIST(APPEND LIB_SFML_LIST ${SFML_LIBRARY_SYSTEM} ${SFML_DEP_WINMM})
|
||||
elseif(UNIX)
|
||||
LIST(APPEND LIB_SFML_LIST ${SFML_LIBRARY_SYSTEM})
|
||||
endif()
|
||||
MESSAGE(STATUS "using SFML system")
|
||||
endif()
|
||||
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${LIB_SFML_LIST})
|
||||
endif()
|
||||
|
||||
if(USE_BULLET)
|
||||
@ -263,56 +274,60 @@ 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)
|
||||
MESSAGE(STATUS "using QT5 modules : ${QT_MODULE}")
|
||||
if(";${QT_MODULE};" MATCHES ";core;")
|
||||
find_package(Qt5Core REQUIRED)
|
||||
if(Qt5Core_FOUND)
|
||||
MESSAGE(STATUS "found QT core")
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${Qt5Core_LIBRARIES})
|
||||
add_definitions(${Qt5Core_DEFINITIONS})
|
||||
LIST(APPEND INCLUDES_PATHS ${Qt5Core_INCLUDES})
|
||||
endif()
|
||||
find_package(Qt5Core REQUIRED)
|
||||
if(Qt5Core_FOUND)
|
||||
MESSAGE(STATUS "found QT core")
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${Qt5Core_LIBRARIES})
|
||||
add_definitions(${Qt5Core_DEFINITIONS})
|
||||
LIST(APPEND INCLUDES_PATHS ${Qt5Core_INCLUDES})
|
||||
endif()
|
||||
endif()
|
||||
if(";${QT_MODULE};" MATCHES ";gui;")
|
||||
find_package(Qt5Gui REQUIRED)
|
||||
if(Qt5Gui_FOUND)
|
||||
MESSAGE(STATUS "found QT gui")
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${Qt5Gui_LIBRARIES})
|
||||
add_definitions(${Qt5Gui_DEFINITIONS})
|
||||
LIST(APPEND INCLUDES_PATHS ${Qt5Gui_INCLUDES})
|
||||
endif()
|
||||
find_package(Qt5Gui REQUIRED)
|
||||
if(Qt5Gui_FOUND)
|
||||
MESSAGE(STATUS "found QT gui")
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${Qt5Gui_LIBRARIES})
|
||||
add_definitions(${Qt5Gui_DEFINITIONS})
|
||||
LIST(APPEND INCLUDES_PATHS ${Qt5Gui_INCLUDES})
|
||||
endif()
|
||||
endif()
|
||||
if(";${QT_MODULE};" MATCHES ";opengl;")
|
||||
find_package(Qt5OpenGL REQUIRED)
|
||||
if(Qt5OpenGL_FOUND)
|
||||
MESSAGE(STATUS "found QT opengl")
|
||||
MESSAGE(STATUS "found QT opengl")
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${Qt5OpenGL_LIBRARIES})
|
||||
add_definitions(${Qt5OpenGL_DEFINITIONS})
|
||||
LIST(APPEND INCLUDE_PATHS ${Qt5OpenGL_INCLUDES})
|
||||
endif()
|
||||
endif()
|
||||
if(";${QT_MODULE};" MATCHES ";widgets;")
|
||||
find_package(Qt5Widgets REQUIRED)
|
||||
if(Qt5Widgets_FOUND)
|
||||
MESSAGE(STATUS "found QT widgets")
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${Qt5Widgets_LIBRARIES})
|
||||
add_definitions(${Qt5Widgets_DEFINITIONS})
|
||||
LIST(APPEND INCLUDE_PATHS ${Qt5Widgets_INCLUDES})
|
||||
endif()
|
||||
find_package(Qt5Widgets REQUIRED)
|
||||
if(Qt5Widgets_FOUND)
|
||||
MESSAGE(STATUS "found QT widgets")
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${Qt5Widgets_LIBRARIES})
|
||||
add_definitions(${Qt5Widgets_DEFINITIONS})
|
||||
LIST(APPEND INCLUDE_PATHS ${Qt5Widgets_INCLUDES})
|
||||
endif()
|
||||
endif()
|
||||
if(";${QT_MODULE};" MATCHES ";network;")
|
||||
find_package(Qt5Network REQUIRED)
|
||||
if(Qt5Network_FOUND)
|
||||
MESSAGE(STATUS "found QT network")
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${Qt5Network_LIBRARIES})
|
||||
add_definitions(${Qt5Network_DEFINITIONS})
|
||||
LIST(APPEND INCLUDES_PATHS ${Qt5Network_INCLUDES})
|
||||
endif()
|
||||
find_package(Qt5Network REQUIRED)
|
||||
if(Qt5Network_FOUND)
|
||||
MESSAGE(STATUS "found QT network")
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${Qt5Network_LIBRARIES})
|
||||
add_definitions(${Qt5Network_DEFINITIONS})
|
||||
LIST(APPEND INCLUDES_PATHS ${Qt5Network_INCLUDES})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@ -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()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user