2a93e2ae7f
# Conflicts: # include/Engine/Rendering/RenderQueue.h # include/Engine/Rendering/RenderSystem.h # include/Game/Game.h # resources/Schema/Types/Entity.xsd # src/Engine/Rendering/RenderSystem.cpp
148 lines
3.7 KiB
CMake
148 lines
3.7 KiB
CMake
project(TacticalZ-Engine)
|
|
|
|
find_package(OpenGL REQUIRED)
|
|
find_package(GLEW REQUIRED)
|
|
find_package(GLFW REQUIRED)
|
|
find_package(Boost REQUIRED COMPONENTS system filesystem thread chrono)
|
|
find_package(assimp REQUIRED)
|
|
find_package(ZLIB REQUIRED)
|
|
find_package(PNG REQUIRED)
|
|
find_package(Xerces REQUIRED)
|
|
find_package(Freetype REQUIRED)
|
|
# Because FindOpenAL is retarded
|
|
set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${CMAKE_SOURCE_DIR}/deps/include/OpenAL")
|
|
find_package(OpenAL REQUIRED)
|
|
if(UNIX)
|
|
find_package(X11 REQUIRED)
|
|
endif()
|
|
|
|
set(INCLUDE_PATH ${CMAKE_SOURCE_DIR}/include/Engine)
|
|
include_directories(
|
|
${INCLUDE_PATH}
|
|
${OPENGL_INCLUDE_DIR}
|
|
${GLEW_INCLUDE_DIRS}
|
|
${GLFW_INCLUDE_DIRS}
|
|
${Boost_INCLUDE_DIRS}
|
|
${assimp_INCLUDE_DIRS}
|
|
${PNG_INCLUDE_DIRS}
|
|
${Xerces_INCLUDE_DIRS}
|
|
${FREETYPE_INCLUDE_DIRS}
|
|
${OPENAL_INCLUDE_DIR}
|
|
${X11_INCLUDE_DIRS}
|
|
)
|
|
|
|
file(GLOB SOURCE_FILES_Core
|
|
"${INCLUDE_PATH}/Core/*.h"
|
|
"Core/*.cpp"
|
|
)
|
|
file(GLOB SOURCE_FILES_Core_Util
|
|
"${INCLUDE_PATH}/Core/Util/*.h"
|
|
"Core/Util/*.cpp"
|
|
)
|
|
source_group(Core FILES ${SOURCE_FILES_Core})
|
|
source_group(Core\\Util FILES ${SOURCE_FILES_Core_Util})
|
|
|
|
file(GLOB SOURCE_FILES_Input
|
|
"${INCLUDE_PATH}/Input/*.h"
|
|
"Input/*.cpp"
|
|
)
|
|
source_group(Input FILES ${SOURCE_FILES_Input})
|
|
|
|
file(GLOB SOURCE_FILES_Network
|
|
"${INCLUDE_PATH}/Network/*.h"
|
|
"Network/*.cpp"
|
|
)
|
|
source_group(Network FILES ${SOURCE_FILES_Network})
|
|
|
|
file(GLOB SOURCE_FILES_Sound
|
|
"${INCLUDE_PATH}/Sound/*.h"
|
|
"Sound/*.cpp"
|
|
)
|
|
source_group(Sound FILES ${SOURCE_FILES_Sound})
|
|
|
|
file(GLOB SOURCE_FILES_Rendering
|
|
"${INCLUDE_PATH}/Rendering/*.h"
|
|
"Rendering/*.cpp"
|
|
)
|
|
file(GLOB SOURCE_FILES_Rendering_Util
|
|
"${INCLUDE_PATH}/Rendering/Util/*.h"
|
|
"Rendering/Util/*.cpp"
|
|
)
|
|
source_group(Rendering FILES ${SOURCE_FILES_Rendering})
|
|
source_group(Rendering\\Util FILES ${SOURCE_FILES_Rendering_Util})
|
|
|
|
file(GLOB SOURCE_FILES_GUI
|
|
"${INCLUDE_PATH}/GUI/*.h"
|
|
"GUI/*.cpp"
|
|
)
|
|
source_group(GUI FILES ${SOURCE_FILES_GUI})
|
|
|
|
file(GLOB SOURCE_FILES_Collision
|
|
"${INCLUDE_PATH}/Collision/*.h"
|
|
"Collision/*.cpp"
|
|
)
|
|
source_group(Collision FILES ${SOURCE_FILES_Collision})
|
|
|
|
file(GLOB SOURCE_FILES_Editor
|
|
"${INCLUDE_PATH}/Editor/*.h"
|
|
"Editor/*.cpp"
|
|
)
|
|
source_group(Editor FILES ${SOURCE_FILES_Editor})
|
|
|
|
set(SOURCE_FILES
|
|
${SOURCE_FILES_Core}
|
|
${SOURCE_FILES_Core_Util}
|
|
${SOURCE_FILES_Input}
|
|
${SOURCE_FILES_Network}
|
|
${SOURCE_FILES_Sound}
|
|
${SOURCE_FILES_GUI}
|
|
${SOURCE_FILES_Rendering}
|
|
${SOURCE_FILES_Rendering_Util}
|
|
${SOURCE_FILES_Collision}
|
|
${SOURCE_FILES_Editor}
|
|
${CMAKE_SOURCE_DIR}/deps/include/imgui/imgui.cpp
|
|
${CMAKE_SOURCE_DIR}/deps/include/imgui/imgui_draw.cpp
|
|
${CMAKE_SOURCE_DIR}/deps/include/imgui/imgui_demo.cpp
|
|
${CMAKE_SOURCE_DIR}/deps/include/nativefiledialog/nfd_common.c
|
|
)
|
|
|
|
# nativefiledialog
|
|
if(WIN32)
|
|
set(SOURCE_FILES ${SOURCE_FILES}
|
|
${CMAKE_SOURCE_DIR}/deps/include/nativefiledialog/nfd_win.cpp
|
|
)
|
|
endif()
|
|
if(UNIX)
|
|
set(SOURCE_FILES ${SOURCE_FILES}
|
|
${CMAKE_SOURCE_DIR}/deps/include/nativefiledialog/nfd_gtk.c
|
|
# TODO: Link with GTK+ here!
|
|
)
|
|
endif()
|
|
|
|
|
|
set(LIBRARIES
|
|
${OPENGL_LIBRARIES}
|
|
${GLEW_LIBRARIES}
|
|
${GLFW_LIBRARIES}
|
|
${Boost_LIBRARIES}
|
|
${assimp_LIBRARIES}
|
|
${PNG_LIBRARIES}
|
|
${Xerces_LIBRARIES}
|
|
${FREETYPE_LIBRARIES}
|
|
${OPENAL_LIBRARY}
|
|
${X11_LIBRARIES}
|
|
)
|
|
|
|
if(CMAKE_COMPILER_IS_GNUCXX)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
|
|
set(STATIC_LIBRARY_FLAGS "${STATIC_LIBRARY_FLAGS}")
|
|
endif()
|
|
|
|
add_library(Engine ${SOURCE_FILES})
|
|
target_link_libraries(Engine
|
|
${LIBRARIES}
|
|
)
|
|
#set_target_properties(Engine PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT "${INCLUDE_PATH}/PrecompiledHeader.h")
|
|
#cotire(Engine)
|