diff options
Diffstat (limited to 'code/CMakeLists.txt')
-rw-r--r-- | code/CMakeLists.txt | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt new file mode 100644 index 0000000..c084e3e --- /dev/null +++ b/code/CMakeLists.txt @@ -0,0 +1,95 @@ +cmake_minimum_required(VERSION 3.0) +project(AltCraft) +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules) + +if (CMAKE_COMPILER_IS_GNUCXX) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -w -Werror") + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3") + #set(CMAKE_CXX_FLASG "${CMAKE_CXX_FLAGS} -g -O0") + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address") + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -pg") + set(PLATFORM_LIBRARIES "pthread") +endif () + +set(SOURCE_FILES main.cpp Field.hpp utility.cpp Packet.hpp FieldParser.hpp Network.hpp Network.cpp NetworkClient.cpp + NetworkClient.hpp json.hpp PacketBuilder.cpp PacketBuilder.hpp Packet.cpp FieldParser.cpp Field.cpp + PacketParser.cpp PacketParser.hpp PositionF.cpp PositionF.hpp PositionI.cpp PositionI.hpp Game.cpp + Game.hpp World.cpp World.hpp Block.cpp Block.hpp Section.cpp Section.hpp Nbt.hpp graphics/AssetManager.cpp + graphics/AssetManager.hpp graphics/Display.cpp graphics/Display.hpp graphics/Camera3D.hpp graphics/Camera3D.cpp + graphics/Shader.hpp graphics/Shader.cpp graphics/Texture.hpp graphics/Texture.cpp) + +add_executable(AltCraft ${SOURCE_FILES}) +target_link_libraries(AltCraft ${PLATFORM_LIBRARIES}) + +add_subdirectory(depedencies) +target_include_directories(AltCraft PUBLIC ./depedencies/include) +target_link_libraries(AltCraft deps) + +#Setup SFML +find_package(SFML 2 COMPONENTS system window graphics network REQUIRED) +if (SFML_FOUND) + target_link_libraries(AltCraft ${SFML_LIBRARIES}) + target_include_directories(AltCraft PUBLIC ${SFML_INCLUDE_DIR}) +else () + message(FATAL_ERROR "SFML not found!") +endif () + +#Setup OpenGL +find_package(OpenGL REQUIRED) +if (OPENGL_FOUND) + target_link_libraries(AltCraft ${OPENGL_LIBRARIES}) + target_include_directories(AltCraft PUBLIC ${OPENGL_INCLUDE_DIRS}) +else () + message(FATAL_ERROR "OpenGL not found!") +endif () + +#Setup Zlib +find_package(ZLIB REQUIRED) +if (ZLIB_FOUND) + target_link_libraries(AltCraft ${ZLIB_LIBRARIES}) + target_include_directories(AltCraft PUBLIC ${ZLIB_INCLUDE_DIR}) +else () + message(FATAL_ERROR "Zlib not found!") +endif () + + +#[[ +#Setup SFML +find_package(SFML 2 COMPONENTS system network graphics window REQUIRED) +include_directories(${SFML_INCLUDE_DIR}) +if (NOT SFML_FOUND) + message(FATAL_ERROR "SFML not found!") +endif () + +#Setup Zlib +find_package(ZLIB REQUIRED) +include_directories(${ZLIB_INCLUDE_DIR}) +if (NOT ZLIB_FOUND) + message(FATAL_ERROR "Zlib not found!") +endif () + +#Setup GLEW +find_package(GLEW REQUIRED) +include_directories(${GLEW_INCLUDE_DIRS}) +if (NOT GLEW_FOUND) + message(FATAL_ERROR "GLEW not found!") +endif () + +#Setup OpenGL +find_package(OpenGL REQUIRED) +include_directories(${OPENGL_INCLUDE_DIRS}) +if (NOT OPENGL_FOUND) + message(FATAL_ERROR "OpenGL not found!") +endif () + +set(SOURCE_FILES main.cpp Field.hpp utility.cpp Packet.hpp FieldParser.hpp Network.hpp Network.cpp NetworkClient.cpp + NetworkClient.hpp json.hpp PacketBuilder.cpp PacketBuilder.hpp Packet.cpp FieldParser.cpp Field.cpp + PacketParser.cpp PacketParser.hpp PositionF.cpp PositionF.hpp PositionI.cpp PositionI.hpp Game.cpp + Game.hpp World.cpp World.hpp Block.cpp Block.hpp Section.cpp Section.hpp Nbt.hpp graphics/AssetManager.cpp + graphics/AssetManager.hpp) + +add_executable(AltCraft ${SOURCE_FILES}) +target_link_libraries(AltCraft ${PLATFORM_LIBRARIES} ${SFML_LIBRARIES} ${ZLIB_LIBRARIES} ${SOIL_LIBRARY} + ${GLFW_LIBRARIES} ${OPENGL_LIBRARIES} ${GLEW_LIBRARIES}) +]]
\ No newline at end of file |