Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@ cmake_minimum_required(VERSION 3.1)
# we require C++11 - this set appropriate flags for compilers, which may not be portable
set(CMAKE_CXX_STANDARD 14)

option(GWK_USE_HUNTER "Use huter to build dependencies" OFF)
if(GWK_USE_HUNTER)
include(${CMAKE_CURRENT_LIST_DIR}/cmake/Hunter/HunterGate.cmake)
HunterGate(
URL "https://github.com/ruslo/hunter/archive/v0.23.158.tar.gz"
SHA1 "4f3d8287a546091d1968ee80e02f121b312fceea"
)
cmake_policy(SET CMP0074 NEW)
endif()

project(gwork)

set(GWK_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
Expand Down
109 changes: 75 additions & 34 deletions cmake/Config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -152,18 +152,25 @@ if(RENDER_OPENGL)

if (USE_GLFW)
message(STATUS "Configuring GLFW3...")
find_package(GLFW REQUIRED)
if (APPLE)
set(GLFW_DEPENDENCIES "-framework OpenGL")
elseif(UNIX)
set(GLFW_DEPENDENCIES "-lGL")
elseif(WIN32)
find_package(OpenGL)
set(GLFW_DEPENDENCIES ${OPENGL_gl_LIBRARY})
if(GWK_USE_HUNTER)
hunter_add_package(glfw)
find_package(glfw3 REQUIRED)

set(GWK_RENDER_LIBRARIES glfw)
else()
find_package(GLFW REQUIRED)
if (APPLE)
set(GLFW_DEPENDENCIES "-framework OpenGL")
elseif(UNIX)
set(GLFW_DEPENDENCIES "-lGL")
elseif(WIN32)
find_package(OpenGL)
set(GLFW_DEPENDENCIES ${OPENGL_gl_LIBRARY})
endif()

set(GWK_RENDER_INCLUDES "${GLFW_INCLUDE_DIR}")
set(GWK_RENDER_LIBRARIES ${GLFW_LIBRARIES} ${GLFW_DEPENDENCIES})
endif()

set(GWK_RENDER_INCLUDES "${GLFW_INCLUDE_DIR}")
set(GWK_RENDER_LIBRARIES ${GLFW_LIBRARIES} ${GLFW_DEPENDENCIES})
endif()
endif(RENDER_OPENGL)

Expand All @@ -172,37 +179,65 @@ if(RENDER_OPENGL_CORE)
set(GWK_INPUT_NAME "GLFW3")
set(GWK_PLATFORM_NAME "Cross")

find_package(glm REQUIRED)
find_package(GLEW REQUIRED)
if(GWK_USE_HUNTER)
hunter_add_package(glm)
find_package(glm CONFIG REQUIRED)

set(GWK_RENDER_INCLUDES "${GLM_INCLUDE_DIR}" "${GLEW_INCLUDE_DIR}")
set(GWK_RENDER_LIBRARIES ${GLM_LIBRARIES} ${GLEW_LIBRARIES})
hunter_add_package(glew)
find_package(glew CONFIG REQUIRED)

set(GWK_RENDER_LIBRARIES glm glew::glew)
else()
find_package(glm REQUIRED)
find_package(GLEW REQUIRED)

set(GWK_RENDER_INCLUDES "${GLM_INCLUDE_DIR}" "${GLEW_INCLUDE_DIR}")
set(GWK_RENDER_LIBRARIES ${GLM_LIBRARIES} ${GLEW_LIBRARIES})
endif()

if(USE_GLFW)
find_package(GLFW REQUIRED)
if (APPLE)
set(GLFW_DEPENDENCIES "-framework OpenGL")
elseif(UNIX)
set(GLFW_DEPENDENCIES "-lGL")
elseif(WIN32)
find_package(OpenGL)
set(GLFW_DEPENDENCIES ${OPENGL_gl_LIBRARY})
if(GWK_USE_HUNTER)
hunter_add_package(glfw)
find_package(glfw3 REQUIRED)

set(GWK_RENDER_LIBRARIES ${GWK_RENDER_LIBRARIES} glfw)
else()
find_package(GLFW REQUIRED)
if (APPLE)
set(GLFW_DEPENDENCIES "-framework OpenGL")
elseif(UNIX)
set(GLFW_DEPENDENCIES "-lGL")
elseif(WIN32)
find_package(OpenGL)
set(GLFW_DEPENDENCIES ${OPENGL_gl_LIBRARY})
endif()

set(GWK_RENDER_INCLUDES "${GWK_RENDER_INCLUDES}" "${GLFW_INCLUDE_DIR}")
set(GWK_RENDER_LIBRARIES ${GWK_RENDER_LIBRARIES} ${GLFW_LIBRARIES} ${GLFW_DEPENDENCIES})
endif()

set(GWK_RENDER_INCLUDES "${GWK_RENDER_INCLUDES}" "${GLFW_INCLUDE_DIR}")
set(GWK_RENDER_LIBRARIES ${GWK_RENDER_LIBRARIES} ${GLFW_LIBRARIES} ${GLFW_DEPENDENCIES})
endif()
endif()

if(RENDER_SDL2)
set(GWK_RENDER_NAME "SDL2")
set(GWK_INPUT_NAME "SDL2")
set(GWK_PLATFORM_NAME "Cross")
find_package(SDL2 REQUIRED)
find_package(SDL2_ttf REQUIRED)
find_package(SDL2_image REQUIRED)
set(GWK_RENDER_INCLUDES ${SDL2_INCLUDE_DIR} ${SDL2_IMAGE_INCLUDE_DIR} ${SDL2_TTF_INCLUDE_DIR})
set(GWK_RENDER_LIBRARIES ${SDL2_LIBRARY} ${SDL2_IMAGE_LIBRARIES} ${SDL2_TTF_LIBRARIES})
if(GWK_USE_HUNTER)
hunter_add_package(SDL2)
find_package(SDL2 CONFIG REQUIRED)
hunter_add_package(SDL_ttf)
find_package(SDL_ttf CONFIG REQUIRED)
hunter_add_package(SDL_image)
find_package(SDL_image CONFIG REQUIRED)

set(GWK_RENDER_LIBRARIES SDL2::SDL2 SDL_ttf::SDL_ttf SDL_image::SDL_image)
else()
find_package(SDL2 REQUIRED)
find_package(SDL2_ttf REQUIRED)
find_package(SDL2_image REQUIRED)
set(GWK_RENDER_INCLUDES ${SDL2_INCLUDE_DIR} ${SDL2_IMAGE_INCLUDE_DIR} ${SDL2_TTF_INCLUDE_DIR})
set(GWK_RENDER_LIBRARIES ${SDL2_LIBRARY} ${SDL2_IMAGE_LIBRARIES} ${SDL2_TTF_LIBRARIES})
endif()
endif(RENDER_SDL2)

if(RENDER_SFML2)
Expand Down Expand Up @@ -231,9 +266,15 @@ if(RENDER_SW)
set(GWK_PLATFORM_NAME "Cross")
if(SW_VIEWER)
set(GWK_INPUT_NAME "SDL2")
find_package(SDL2 REQUIRED)
set(GWK_RENDER_INCLUDES ${SDL2_INCLUDE_DIR})
set(GWK_RENDER_LIBRARIES ${SDL2_LIBRARY})
if(GWK_USE_HUNTER)
hunter_add_package(SDL2)
find_package(SDL2 CONFIG REQUIRED)
set(GWK_RENDER_LIBRARIES SDL2::SDL2)
else()
find_package(SDL2 REQUIRED)
set(GWK_RENDER_INCLUDES ${SDL2_INCLUDE_DIR})
set(GWK_RENDER_LIBRARIES ${SDL2_LIBRARY})
endif()
else()
set(GWK_INPUT_NAME "Null")
set(GWK_RENDER_INCLUDES "")
Expand Down
Loading