|
|
@@ -12,25 +12,52 @@ endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
|
|
set(GAMEPLAY_SRC_PATH "GAMEPLAY_PATH")
|
|
|
set(GAMEPLAY_EXT_LIBS_PATH "${GAMEPLAY_SRC_PATH}/external-deps")
|
|
|
|
|
|
-set(TARGET_OS "LINUX")
|
|
|
-set(TARGET_OS_DIR "linux")
|
|
|
-
|
|
|
-set(GAME_OUTPUT_DIR "${CMAKE_SOURCE_DIR}/bin/${TARGET_OS_DIR}")
|
|
|
+IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
|
+ ADD_DEFINITIONS(-D__linux__)
|
|
|
+ SET(TARGET_OS "LINUX")
|
|
|
+ SET(TARGET_OS_DIR "linux")
|
|
|
+ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
|
|
+ IF(MSVC)
|
|
|
+ ADD_DEFINITIONS(-DMSVC)
|
|
|
+ ENDIF(MSVC)
|
|
|
+ ADD_DEFINITIONS(-DWIN32)
|
|
|
+ ADD_DEFINITIONS(-D_WINDOWS)
|
|
|
+ SET(TARGET_OS "WINDOWS")
|
|
|
+ SET(TARGET_OS_DIR "windows")
|
|
|
+ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
|
+
|
|
|
+set(GAME_OUTPUT_DIR "${CMAKE_BINARY_DIR}/bin/${TARGET_OS_DIR}")
|
|
|
|
|
|
macro (append_gameplay_lib listToAppend)
|
|
|
set(libName gameplay)
|
|
|
- find_library(FOUND_LIB_${libName} ${libName} HINTS
|
|
|
- "${GAMEPLAY_SRC_PATH}/cmake/gameplay" "${GAMEPLAY_SRC_PATH}/build/gameplay" "${GAMEPLAY_SRC_PATH}/gameplay/src")
|
|
|
- set(${listToAppend} ${${listToAppend}} ${FOUND_LIB_${libName}})
|
|
|
+ IF (TARGET_OS STREQUAL "WINDOWS")
|
|
|
+ FIND_LIBRARY(${libName}_LIBRARY_RELEASE
|
|
|
+ NAMES ${libName}
|
|
|
+ PATHS "${GAMEPLAY_SRC_PATH}/gameplay/${TARGET_OS_DIR}/${ARCH_DIR}/Release"
|
|
|
+ )
|
|
|
+
|
|
|
+ FIND_LIBRARY(${libName}_LIBRARY_DEBUG
|
|
|
+ NAMES ${libName}
|
|
|
+ PATHS "${GAMEPLAY_SRC_PATH}/gameplay/${TARGET_OS_DIR}/${ARCH_DIR}/Debug"
|
|
|
+ )
|
|
|
+ SET(FOUND_LIB_${libName}
|
|
|
+ debug ${${libName}_LIBRARY_DEBUG}
|
|
|
+ optimized ${${libName}_LIBRARY_RELEASE}
|
|
|
+ )
|
|
|
+ ELSE (TARGET_OS STREQUAL "WINDOWS")
|
|
|
+ find_library(FOUND_LIB_${libName} ${libName} HINTS
|
|
|
+ "${GAMEPLAY_SRC_PATH}/cmake/gameplay" "${GAMEPLAY_SRC_PATH}/build/gameplay" "${GAMEPLAY_SRC_PATH}/gameplay/src")
|
|
|
+ ENDIF (TARGET_OS STREQUAL "WINDOWS")
|
|
|
+ set(${listToAppend} ${${listToAppend}} ${FOUND_LIB_${libName}})
|
|
|
endmacro(append_gameplay_lib)
|
|
|
|
|
|
macro (append_gameplay_ext_lib listToAppend libName libDirName)
|
|
|
IF("${libDirName}" STREQUAL "")
|
|
|
- find_library(FOUND_LIB_${libName} ${libName})
|
|
|
+ find_library(FOUND_LIB_${libName} NAMES ${libName} ${ARGN})
|
|
|
ELSE("${libDirName}" STREQUAL "")
|
|
|
set(pathToSearch
|
|
|
"${GAMEPLAY_EXT_LIBS_PATH}/${libDirName}/lib/${TARGET_OS_DIR}/${ARCH_DIR}")
|
|
|
- find_library(FOUND_LIB_${libName} ${libName} HINTS ${pathToSearch})
|
|
|
+ find_library(FOUND_LIB_${libName} NAMES ${libName} ${ARGN} HINTS ${pathToSearch})
|
|
|
ENDIF("${libDirName}" STREQUAL "")
|
|
|
|
|
|
set(${listToAppend} ${${listToAppend}} ${FOUND_LIB_${libName}})
|
|
|
@@ -67,28 +94,35 @@ include_directories(
|
|
|
${GAMEPLAY_SRC_PATH}/external-deps/oggvorbis/include
|
|
|
${GAMEPLAY_SRC_PATH}/external-deps/zlib/include
|
|
|
${GAMEPLAY_SRC_PATH}/external-deps/openal/include
|
|
|
+ ${GAMEPLAY_SRC_PATH}/external-deps/openal/include/AL
|
|
|
${GAMEPLAY_SRC_PATH}/external-deps/glew/include
|
|
|
)
|
|
|
|
|
|
append_gameplay_lib(GAMEPLAY_LIBRARIES)
|
|
|
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "m" "" )
|
|
|
+append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "GLEW" "glew" "glew32")
|
|
|
append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "lua" "lua")
|
|
|
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "png" "libpng")
|
|
|
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "z" "zlib")
|
|
|
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "vorbis" "oggvorbis")
|
|
|
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "ogg" "oggvorbis")
|
|
|
+append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "png" "libpng" "libpng14")
|
|
|
append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "BulletDynamics" "bullet")
|
|
|
append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "BulletCollision" "bullet")
|
|
|
append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "LinearMath" "bullet")
|
|
|
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "openal" "openal")
|
|
|
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "GLEW" "glew")
|
|
|
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "GL" "")
|
|
|
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "rt" "" )
|
|
|
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "dl" "")
|
|
|
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "X11" "")
|
|
|
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "pthread" "" )
|
|
|
-
|
|
|
-add_definitions(-D__linux__)
|
|
|
+append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "openal" "openal" "openal32")
|
|
|
+append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "vorbis" "oggvorbis" "libvorbis")
|
|
|
+append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "ogg" "oggvorbis" "libogg")
|
|
|
+append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "z" "zlib" "zlib")
|
|
|
+
|
|
|
+IF (TARGET_OS STREQUAL "LINUX")
|
|
|
+ append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "GL" "")
|
|
|
+ append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "m" "" )
|
|
|
+ append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "X11" "")
|
|
|
+ append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "dl" "")
|
|
|
+ append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "rt" "" )
|
|
|
+ append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "pthread" "" )
|
|
|
+ELSEIF (TARGET_OS STREQUAL "WINDOWS")
|
|
|
+ set(GAMEPLAY_LIBRARIES ${GAMEPLAY_LIBRARIES} "OpenGL32")
|
|
|
+ set(GAMEPLAY_LIBRARIES ${GAMEPLAY_LIBRARIES} "GLU32")
|
|
|
+ append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "vorbisfile" "oggvorbis" "libvorbisfile")
|
|
|
+ ADD_DEFINITIONS(-D_ITERATOR_DEBUG_LEVEL=0)
|
|
|
+ENDIF (TARGET_OS STREQUAL "LINUX")
|
|
|
|
|
|
source_group(res FILES ${GAME_RES} ${GAMEPLAY_RES} ${GAME_RES_SHADERS} ${GAME_RES_SHADERS_LIB})
|
|
|
source_group(src FILES ${GAME_SRC})
|
|
|
@@ -99,6 +133,7 @@ set(GAME_SRC
|
|
|
)
|
|
|
|
|
|
add_executable(${GAME_NAME}
|
|
|
+ WIN32
|
|
|
${GAME_SRC}
|
|
|
)
|
|
|
|
|
|
@@ -113,5 +148,5 @@ set_target_properties(${GAME_NAME} PROPERTIES
|
|
|
#TODO: Copy res files to the bin dir, it is done that way so we can make post
|
|
|
#processing to the the res files in the future like zipping or preparation to
|
|
|
#per platfom format.
|
|
|
-copy_files(CopyRes * "${CMAKE_SOURCE_DIR}/res" "${GAME_OUTPUT_DIR}/res" 1)
|
|
|
-copy_files(CopyConfig *.config "${CMAKE_SOURCE_DIR}" "${GAME_OUTPUT_DIR}" 0)
|
|
|
+copy_files(CopyRes * "${CMAKE_SOURCE_DIR}/res" "$<TARGET_FILE_DIR:${GAME_NAME}>/res" 1)
|
|
|
+copy_files(CopyConfig *.config "${CMAKE_SOURCE_DIR}" "$<TARGET_FILE_DIR:${GAME_NAME}>" 0)
|