diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 1f88c3b..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "externals"] - path = externals - url = http://192.168.178.103/DarkRP/Externals diff --git a/CMakeLists.txt b/CMakeLists.txt index db1665a..fc8253c 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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( diff --git a/conanfile.txt b/conanfile.txt new file mode 100644 index 0000000..1ae0392 --- /dev/null +++ b/conanfile.txt @@ -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 \ No newline at end of file diff --git a/externals b/externals deleted file mode 160000 index eed3fae..0000000 --- a/externals +++ /dev/null @@ -1 +0,0 @@ -Subproject commit eed3fae856c51f33f34e92d6a8b759c7c1d85f3a