Remove references of Zeus from CMake files and separate LoadLibs.cmake

master
Nicole Collings 2019-09-08 11:27:28 -07:00
parent c7a8fea587
commit a7088bcd1f
4 changed files with 89 additions and 56 deletions

View File

@ -1 +1 @@
Zeus
Zepha

View File

@ -1,68 +1,41 @@
cmake_minimum_required (VERSION 3.12 FATAL_ERROR)
set (CMAKE_CXX_STANDARD 14)
# Define Variables
set (PROJECT_NAME "Zeus")
set (MAIN_EXEC_NAME "ZeusApp")
set (TEST_EXEC_NAME "ZeusTest")
set (PROJECT_NAME "Zepha")
set (MAIN_EXEC_NAME "Zepha")
set (TEST_EXEC_NAME "ZephaTest")
project (${PROJECT_NAME})
# Include Header only Libraries
set (HEADER_LIBRARIES
lib/header/catch2/include # Catch2 unit testing library.
lib/header/gzip/include # GZip Compression header library.
lib/header/glm/include # OpenGL Mathematics Library.
lib/header/sol2/include # Sol2 Lua Parser library.
lib/header/cute_files/include # Cute file traversal header library.
lib/header/stb_image/include # STB Image processor header library.
lib/header/json/include # JSON header library.
include_directories(
# Include Header Only Libraries
lib/header/catch2/include # Catch2 unit testing library.
lib/header/gzip/include # GZip Compression header library.
lib/header/glm/include # OpenGL Mathematics Library.
lib/header/sol2/include # Sol2 Lua Parser library.
lib/header/cute_files/include # Cute file traversal header library.
lib/header/stb_image/include # STB Image processor header library.
lib/header/json/include # JSON header library.
# Include Static Library Headers
lib/static/glew/include # GLEW headers.
lib/static/glfw/include # GLFW headers.
lib/static/assimp/include # Assimp headers.
lib/static/lua/install/include # Lua headers.
lib/static/enet/include # ENet headers.
lib/static/noise/include # Noise headers.
)
include_directories (${HEADER_LIBRARIES})
# Include dynamic library headers
set (DYNAMIC_LIBRARY_HEADERS
lib/static/glew/include # GLEW headers.
lib/static/glfw/include # GLFW headers.
lib/dynamic/enet/include # ENet headers.
lib/dynamic/noise/include # Noise headers.
lib/dynamic/lua5.3/include # Lua headers.
lib/dynamic/assimp/include # Assimp headers.
)
include_directories (${DYNAMIC_LIBRARY_HEADERS})
# Add source files to the executable as a library
add_subdirectory (src)
add_executable (${MAIN_EXEC_NAME} src/Main.cpp src/StartGame.h)
target_link_libraries (${MAIN_EXEC_NAME} zeusCore)
add_executable (${MAIN_EXEC_NAME} src/Main.cpp)
target_link_libraries (${MAIN_EXEC_NAME} Zepha_Core)
# Include OpenGL
find_package (OpenGL REQUIRED)
target_link_libraries(${MAIN_EXEC_NAME} ${OPENGL_gl_LIBRARY})
# GLFW Static Library
set (GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
set (GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set (GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
add_subdirectory (lib/static/glfw)
target_link_libraries (${MAIN_EXEC_NAME} glfw)
# Glew Static Library
add_subdirectory (lib/static/glew/build/cmake)
target_link_libraries (${MAIN_EXEC_NAME} glew)
# Include the other dynamic libraries - End goal would be to build these at compile time
set (ZEUS_LIBRARIES pthread lua5.3 z enet noise assimp)
target_link_libraries (${MAIN_EXEC_NAME} ${ZEUS_LIBRARIES})
# Load Libraries
include(${CMAKE_CURRENT_SOURCE_DIR}/LoadLibs.cmake)
# Test Build
#add_subdirectory(test)
#add_executable(${TEST_EXEC_NAME} test/Main.cpp)
#
#target_link_libraries(${TEST_EXEC_NAME} zeusCore)
#target_link_libraries(${TEST_EXEC_NAME} Zepha_Core)
#target_link_libraries(${TEST_EXEC_NAME} zeusTest)

44
LoadLibs.cmake Normal file
View File

@ -0,0 +1,44 @@
# Find and Link OpenGL
find_package (OpenGL REQUIRED)
target_link_libraries(${MAIN_EXEC_NAME} ${OPENGL_gl_LIBRARY})
# Build and Link GLFW
set (GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
set (GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set (GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
add_subdirectory (lib/static/glfw)
target_link_libraries (${MAIN_EXEC_NAME} glfw)
include_directories(lib/static/glfw/src)
# Link Glew
target_link_libraries(${MAIN_EXEC_NAME} ${CMAKE_SOURCE_DIR}/lib/static/glew/libGLEW.a)
# Build and Link Assimp
set(BUILD_SHARED_LIBS OFF)
set(ASSIMP_NO_EXPORT ON)
set(ASSIMP_BUILD_TESTS OFF)
set(ASSIMP_BUILD_ASSIMP_TOOLS OFF)
set(ASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT OFF)
set(ASSIMP_BUILD_B3D_IMPORTER ON)
set(ASSIMP_BUILD_X3D_IMPORTER ON) # Doesn't compile if not defined
add_subdirectory(lib/static/assimp)
target_compile_options(assimp PRIVATE -w)
target_link_libraries(${MAIN_EXEC_NAME} assimp)
# Link Lua 5.3.5
target_link_libraries(${MAIN_EXEC_NAME} ${CMAKE_SOURCE_DIR}/lib/static/lua/install/lib/liblua.a)
# Enet
target_link_libraries(${MAIN_EXEC_NAME} ${CMAKE_SOURCE_DIR}/lib/static/enet/.libs/libenet.a)
# Link Noise
target_link_libraries(${MAIN_EXEC_NAME} ${CMAKE_SOURCE_DIR}/lib/static/noise/build/src/libnoise.a)
# Link PThread Dynamically
target_link_libraries (${MAIN_EXEC_NAME} pthread)
# Link Z Dynamically
target_link_libraries (${MAIN_EXEC_NAME} z)

View File

@ -1,4 +1,4 @@
set(ZEUS_SRC_FILES
set(ZEPHA_SRC
game/graph/ChunkMesh.cpp
game/graph/ChunkMesh.h
game/entity/Entity.cpp
@ -195,6 +195,22 @@ set(ZEUS_SRC_FILES
game/graph/GuiMesh.h
game/graph/GuiVertex.h
game/hud/GuiEntity.cpp
game/hud/GuiEntity.h util/Mat4Conv.h game/entity/ModelBone.cpp game/entity/ModelBone.h game/entity/ModelAnimation.cpp game/entity/ModelAnimation.h game/entity/AnimChannel.cpp game/entity/AnimChannel.h game/entity/AnimationState.cpp game/entity/AnimationState.h game/entity/AnimationSegment.h util/Pointer.h lua/api/type/cEntity.h lua/api/customization/pVec3.cpp lua/api/customization/pVec3.h)
game/hud/GuiEntity.h
util/Mat4Conv.h
game/entity/ModelBone.cpp
game/entity/ModelBone.h
game/entity/ModelAnimation.cpp
game/entity/ModelAnimation.h
game/entity/AnimChannel.cpp
game/entity/AnimChannel.h
game/entity/AnimationState.cpp
game/entity/AnimationState.h
game/entity/AnimationSegment.h
util/Pointer.h
lua/api/type/cEntity.h
lua/api/customization/pVec3.cpp
lua/api/customization/pVec3.h
StartGame.h
)
add_library (zeusCore ${ZEUS_SRC_FILES})
add_library (Zepha_Core ${ZEPHA_SRC})