Moved Dependency System to Conan

This commit is contained in:
Julian Nießner
2019-01-22 18:21:57 +01:00
parent 8160b13872
commit 48ee855bc9
4 changed files with 35 additions and 53 deletions

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "externals"]
path = externals
url = http://192.168.178.103/DarkRP/Externals

View File

@@ -3,8 +3,21 @@ project(DarkRP2D)
set (CMAKE_CXX_STANDARD 11)
include(ExternalProject)
# Download automatically, you can also just copy the conan.cmake file
if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake")
message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan")
file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/v0.13/conan.cmake"
"${CMAKE_BINARY_DIR}/conan.cmake")
endif()
include(${CMAKE_BINARY_DIR}/conan.cmake)
# Launch Conan Install
conan_cmake_run(CONANFILE conanfile.txt
BASIC_SETUP CMAKE_TARGETS
BUILD missing)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE RELEASE)
set(CMAKE_BUILD_TYPE Release)
add_definitions(-DNDEBUG)
endif(NOT CMAKE_BUILD_TYPE)
@@ -22,68 +35,27 @@ set(IMGUI_DIR ${DarkRP2D_EXTERNAL_DIR}/imgui-1.60)
set(ENTITYX_DIR ${DarkRP2D_EXTERNAL_DIR}/entityx-1.1.2)
#Libs
find_package(SDL2 REQUIRED CONFIG)
include_directories(${SDL2_INCLUDE_DIRS})
find_package(SDL2_Image REQUIRED CONFIG)
include_directories(${SDL2_IMAGE_INCLUDE_DIRS})
find_package(GLEW REQUIRED CONFIG)
include_directories(${GLEW_INCLUDE_DIRS})
find_package(FREETYPE REQUIRED CONFIG)
include_directories(${FREETYPE_INCLUDE_DIRS})
find_package(GLM REQUIRED CONFIG)
include_directories(${GLM_INCLUDE_DIRS})
find_package(OPENGL REQUIRED)
find_package(BOX2D REQUIRED CONFIG)
include_directories(${BOX2D_INCLUDE_DIRS})
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
find_package(ENTITYX REQUIRED CONFIG)
include_directories(${ENTITYX_INCLUDE_DIRS})
MESSAGE( STATUS "Entityx Lib: " ${ENTITYX_LIBRARIES} )
MESSAGE( STATUS "OpenGL Lib: " ${OPENGL_gl_LIBRARY} )
MESSAGE( STATUS "SDL2 Lib: " ${SDL2_LIBRARIES} )
MESSAGE( STATUS "SDL2_IMG Lib: " ${SDL2_IMAGE_LIBRARIES} )
MESSAGE( STATUS "Glew Lib: " ${GLEW_LIBRARIES} )
MESSAGE( STATUS "Freetype lib: " ${FREETYPE_LIBRARIES} )
MESSAGE( STATUS "Box2D lib: " ${BOX2D_LIBRARIES} )
MESSAGE( STATUS "Conan Libs: " "${CONAN_LIBS}")
file(GLOB_RECURSE DarkRP2D_SOURCE_FILES ${DarkRP2D_SOURCE_DIR}/src/*.cpp)
if (${CMAKE_BUILD_TYPE} MATCHES "DEBUG")
if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
# Include imgui to build
file(GLOB IMGUI_SOURCE_FILES ${IMGUI_DIR}/*.cpp)
include_directories(${IMGUI_DIR}/include)
set(DarkRP2D_SOURCE_FILES ${DarkRP2D_SOURCE_FILES} ${IMGUI_SOURCE_FILES})
endif (${CMAKE_BUILD_TYPE} MATCHES "DEBUG")
endif (${CMAKE_BUILD_TYPE} MATCHES "Debug")
add_executable(DarkRP2D ${DarkRP2D_SOURCE_FILES})
target_link_libraries(DarkRP2D ${SDL2_LIBRARIES}
${SDL2_IMAGE_LIBRARIES}
${GLEW_LIBRARIES}
${FREETYPE_LIBRARIES}
target_link_libraries(DarkRP2D
${OPENGL_gl_LIBRARY}
${BOX2D_LIBRARIES}
${ENTITYX_LIBRARIES})
add_custom_command(
TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${SDL2_DLL} ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E copy ${FREETYPE_DLL} ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E copy ${GLEW_DLL} ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E copy ${BOX2D_DLL} ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E copy ${ENTITYX_DLL} ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E copy ${SDL2_IMAGE_DLL} ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E copy ${SDL2_PNG_DLL} ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E copy ${SDL2_ZLIB_DLL} ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "copys binaries from to ${CMAKE_CURRENT_BINARY_DIR}"
)
${CONAN_LIBS})
set (RESOURCE_DIR "${DarkRP2D_SOURCE_DIR}/resources")
add_custom_command(

14
conanfile.txt Normal file
View File

@@ -0,0 +1,14 @@
[requires]
box2d/2.3.1@conan/stable
glm/0.9.9.1@g-truc/stable
EntityX/1.1.2@gulum/stable
freetype/2.9.0@bincrafters/stable
sdl2/2.0.9@bincrafters/stable
sdl2_image/2.0.4@bincrafters/stable
glew/2.1.0@bincrafters/stable
[generators]
cmake
[imports]
bin, *.dll -> ./bin # Copies all dll files from packages bin folder to my "./" folder

Submodule externals deleted from eed3fae856