From 5c9cd1c84e9d25c2ef1440f3aa7019c62e4aa02d Mon Sep 17 00:00:00 2001 From: LaG1924 Date: Mon, 7 Jun 2021 14:37:40 +0500 Subject: Refactored CMakeLists.txt --- CMakeLists.txt | 309 +++++++++++++++++++---------------------------- cmake/FindSDL2.cmake | 173 -------------------------- cmake/FindSDL2_net.cmake | 88 -------------- cmake/FindSDL2_ttf.cmake | 98 --------------- src/main.cpp | 4 - 5 files changed, 126 insertions(+), 546 deletions(-) delete mode 100644 cmake/FindSDL2.cmake delete mode 100644 cmake/FindSDL2_net.cmake delete mode 100644 cmake/FindSDL2_ttf.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index e9967b6..96d8e3e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,193 +1,106 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.9) project(AltCraft) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) -set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) +set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) +include(get_cpm) if (NOT CMAKE_BUILD_TYPE) SET(CMAKE_BUILD_TYPE Release) endif() -########## -# SOURCES -########## - -file(GLOB_RECURSE MANIFEST "./src/*.manifest") -file(GLOB_RECURSE SOURCES "./src/*.cpp") -file(GLOB_RECURSE HEADERS "./src/*.hpp") +############ +# LIBRARIES +############ -add_executable(AltCraft ${HEADERS} ${SOURCES} ${MANIFEST}) -################ -# CONFIGURATION -################ +find_package(Threads) -option(ENABLE_OPTICK "Enable profiler \"Optick \"?" ON) -#Configure Optick -if (${ENABLE_OPTICK}) - add_definitions(-DUSE_OPTICK=1) -else() - add_definitions(-DUSE_OPTICK=0) -endif() +find_package(OpenGL REQUIRED) -#Configure easlylogging++ -set(LOGGER_DEFINITIONS "-DELPP_THREAD_SAFE -DELPP_FEATURE_PERFORMANCE_TRACKING") -if (LINUX) - set(LOGGER_DENITIONS "${LOGGER_DEFINITIPNS} -DELPP_FEATURE_CRASH_LOG -DELPP_STL_LOGGING") -endif () -add_definitions(${LOGGER_DEFINITIONS}) - -#Set compiler's flags and setup platfrom-dependent libraries -if (CMAKE_COMPILER_IS_GNUCXX) - SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -no-pie") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -Wextra -Wno-error=unused-parameter") - #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address") - #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined") - #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread") - #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -p") - set(PLATFORM_LIBRARIES "stdc++fs") -endif () -if(MSVC AND CMAKE_BUILD_TYPE MATCHES Release) - target_compile_definitions(AltCraft PRIVATE USE_SDL_MAIN) - set_target_properties(AltCraft PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS") -endif(MSVC AND CMAKE_BUILD_TYPE MATCHES Release) +CPMAddPackage("gh:g-truc/glm@0.9.9.8#0.9.9.8") -target_link_libraries(AltCraft ${PLATFORM_LIBRARIES}) -include(get_cpm) +CPMAddPackage("gh:bombomby/optick@1.3.1.0#1.3.1.0") -############ -# LIBRARIES -############ -#Setup easylogging++ CPMAddPackage( - NAME easyloggingpp - GITHUB_REPOSITORY amrayn/easyloggingpp - VERSION 9.97.0 - OPTIONS "build_static_lib ON" + GITHUB_REPOSITORY Perlmint/glew-cmake + VERSION 2.2.0 + GIT_TAG glew-cmake-2.2.0 + OPTIONS + "glew-cmake_BUILD_SHARED OFF" ) -target_include_directories(easyloggingpp PUBLIC ${easyloggingpp_SOURCE_DIR}/src) -target_link_libraries(AltCraft easyloggingpp) CPMAddPackage( - NAME optick - GITHUB_REPOSITORY bombomby/optick - VERSION 1.3.1.0 - GIT_TAG 1.3.1.0) -target_link_libraries(AltCraft OptickCore) -set_target_properties(AltCraft OptickCore - PROPERTIES - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} - ) - -#Setup glew + NAME json + GITHUB_REPOSITORY nlohmann/json + VERSION 3.9.1 + OPTIONS + "JSON_BuildTests OFF" +) + + CPMAddPackage( - NAME glew - GITHUB_REPOSITORY Perlmint/glew-cmake - VERSION 2.2.0 - GIT_TAG glew-cmake-2.2.0 + NAME SDL2 + GITHUB_REPOSITORY libsdl-org/SDL + VERSION 2.0.14 + GIT_TAG release-2.0.14 + OPTIONS + "SDL_SHARED ON" + "SDL_STATIC OFF" ) -target_link_libraries(AltCraft libglew_static) -#Setup glm + CPMAddPackage( - NAME glm - GITHUB_REPOSITORY g-truc/glm - VERSION 0.9.9.8 - GIT_TAG 0.9.9.8 + NAME easyloggingpp + GITHUB_REPOSITORY amrayn/easyloggingpp + VERSION 9.97.0 + OPTIONS "build_static_lib ON" ) -target_link_libraries(AltCraft glm) +target_include_directories(easyloggingpp PUBLIC ${easyloggingpp_SOURCE_DIR}/src) +target_compile_definitions(easyloggingpp PUBLIC ELPP_THREAD_SAFE ELPP_FEATURE_PERFORMANCE_TRACKING) +if (LINUX) + target_compile_definitions(easyloggingpp PUBLIC ELPP_FEATURE_CRASH_LOG ELPP_STL_LOGGING) +endif () + -#Setup stb CPMAddPackage( - NAME stb - GITHUB_REPOSITORY nothings/stb - GIT_TAG ea2f937a01ce39795ab02b6c6e30173b4f1ed46c - DOWNLOAD_ONLY - ) + NAME stb + GITHUB_REPOSITORY nothings/stb + GIT_TAG ea2f937a01ce39795ab02b6c6e30173b4f1ed46c + DOWNLOAD_ONLY TRUE +) if(stb_ADDED) - add_library(stb INTERFACE) - target_include_directories(stb INTERFACE ${stb_SOURCE_DIR}) + add_library(stb INTERFACE) + target_include_directories(stb INTERFACE ${stb_SOURCE_DIR}) endif() -target_link_libraries(AltCraft stb) - -#Setup nlohmann json -CPMAddPackage( - NAME json - GITHUB_REPOSITORY nlohmann/json - VERSION 3.9.1 - OPTIONS - "JSON_BuildTests OFF") -target_link_libraries(AltCraft nlohmann_json::nlohmann_json) -#Setup Imgui CPMAddPackage( - NAME imgui - GIT_REPOSITORY https://github.com/ocornut/imgui - VERSION 1.52 - DOWNLOAD_ONLY TRUE) + NAME imgui + GITHUB_REPOSITORY ocornut/imgui + VERSION 1.52 + DOWNLOAD_ONLY TRUE +) if(imgui_ADDED) - file(GLOB imgui_sources ${imgui_SOURCE_DIR}/*.cpp) - #list(REMOVE_ITEM lua_sources "${imgui_SOURCE_DIR}/lua.c" "${imgui_SOURCE_DIR}/luac.c" "${lua_SOURCE_DIR}/onelua.c") - add_library(imgui STATIC ${imgui_sources}) - target_include_directories(imgui SYSTEM PUBLIC $) + file(GLOB imgui_sources ${imgui_SOURCE_DIR}/*.cpp) + add_library(imgui STATIC ${imgui_sources}) + target_include_directories(imgui SYSTEM PUBLIC $) endif() -target_link_libraries(AltCraft imgui) - -#Setup ./external/ -#file(GLOB external_src ${CMAKE_CURRENT_SOURCE_DIR}/external/src/*) -#add_library(external ${external_src}) -#target_include_directories(external INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/external/include) -#target_link_libraries(AltCraft external) -#target_include_directories(AltCraft PUBLIC external/optick) -#if (${ENABLE_OPTICK}) -# target_link_libraries(AltCraft optick) -#endif() -#Setup Threads -find_package(Threads) -target_link_libraries(AltCraft ${CMAKE_THREAD_LIBS_INIT}) - -#Setup OpenGL -find_package(OpenGL REQUIRED) -target_link_libraries(AltCraft ${OPENGL_LIBRARIES}) -target_include_directories(AltCraft PUBLIC ${OPENGL_INCLUDE_DIRS}) - -#Setup SDL2 -CPMAddPackage( - NAME SDL2 - GITHUB_REPOSITORY libsdl-org/SDL - VERSION 2.0.14 - GIT_TAG release-2.0.14 - OPTIONS -) -target_link_libraries(AltCraft SDL2) -set_target_properties(AltCraft SDL2 - PROPERTIES - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} - ) - -#Setup SDL2_net CPMAddPackage( - NAME SDL2_net - GITHUB_REPOSITORY libsdl-org/SDL_net - VERSION 2.0.1 - GIT_TAG release-2.0.1 - DOWNLOAD_ONLY YES + NAME SDL2_net + GITHUB_REPOSITORY libsdl-org/SDL_net + VERSION 2.0.1 + GIT_TAG release-2.0.1 + DOWNLOAD_ONLY YES ) if(SDL2_net_ADDED) file(GLOB SDL2_net_sources ${SDL2_net_SOURCE_DIR}/*.c) + list(REMOVE_ITEM SDL2_net_sources "${SDL2_net_SOURCE_DIR}/chatd.c") add_library(SDL2_net STATIC ${SDL2_net_sources}) target_link_libraries(SDL2_net SDL2) IF (WIN32) @@ -195,14 +108,13 @@ if(SDL2_net_ADDED) ENDIF() target_include_directories(SDL2_net SYSTEM PUBLIC $) endif() -target_link_libraries(AltCraft SDL2_net) -#Setup Zlib + CPMAddPackage( - NAME zlib - GITHUB_REPOSITORY madler/zlib - VERSION 1.2.11 - DOWNLOAD_ONLY ON + NAME zlib + GITHUB_REPOSITORY madler/zlib + VERSION 1.2.11 + DOWNLOAD_ONLY ON ) if(zlib_ADDED) file(GLOB zlib_sources ${zlib_SOURCE_DIR}/*.c) @@ -219,44 +131,75 @@ if(zlib_ADDED) endif() target_include_directories(zlib PUBLIC ${zlib_SOURCE_DIR}) endif() -target_link_libraries(AltCraft zlib) -#Setup Lua + CPMAddPackage( - NAME lua - GITHUB_REPOSITORY lua/lua - VERSION 5.4.3 - DOWNLOAD_ONLY YES + NAME lua + GITHUB_REPOSITORY lua/lua + VERSION 5.4.3 + DOWNLOAD_ONLY YES ) if(lua_ADDED) - file(GLOB lua_sources ${lua_SOURCE_DIR}/*.c) - list(REMOVE_ITEM lua_sources "${lua_SOURCE_DIR}/lua.c" "${lua_SOURCE_DIR}/luac.c" "${lua_SOURCE_DIR}/onelua.c") - add_library(lua STATIC ${lua_sources}) - target_include_directories(lua SYSTEM PUBLIC $) + file(GLOB lua_sources ${lua_SOURCE_DIR}/*.c) + list(REMOVE_ITEM lua_sources "${lua_SOURCE_DIR}/lua.c" "${lua_SOURCE_DIR}/luac.c" "${lua_SOURCE_DIR}/onelua.c") + add_library(lua STATIC ${lua_sources}) + target_include_directories(lua SYSTEM PUBLIC $) endif() -#Setup Sol2 + CPMAddPackage( - NAME sol2 - GITHUB_REPOSITORY ThePhD/sol2 - VERSION 3.2.2 - DOWNLOAD_ONLY YES + NAME sol2 + GITHUB_REPOSITORY ThePhD/sol2 + VERSION 3.2.2 + DOWNLOAD_ONLY YES ) if(sol2_ADDED) - add_library(sol2 INTERFACE IMPORTED) - target_include_directories(sol2 SYSTEM INTERFACE ${sol2_SOURCE_DIR}/include) - target_link_libraries(sol2 INTERFACE lua) + add_library(sol2 INTERFACE IMPORTED) + target_include_directories(sol2 SYSTEM INTERFACE ${sol2_SOURCE_DIR}/include) + target_link_libraries(sol2 INTERFACE lua) endif() -target_link_libraries(AltCraft sol2) -################# -# COPY RESOURCES -################# -add_custom_command(TARGET AltCraft PRE_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_directory - ${CMAKE_SOURCE_DIR}/cwd $) +########### +# AltCraft +########### + +file(GLOB ac_manifest "./src/*.manifest") +file(GLOB ac_sources "./src/*.cpp") + +add_executable(AltCraft ${ac_sources} ${ac_manifest}) + +target_compile_features(AltCraft PRIVATE cxx_std_17) + +target_link_libraries(AltCraft + Threads::Threads + OpenGL::GL + glm + stb + easyloggingpp + libglew_static + nlohmann_json::nlohmann_json + imgui + SDL2 + SDL2main + SDL2_net + OptickCore + zlib + sol2 +) + +set_target_properties(AltCraft SDL2 OptickCore PROPERTIES + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} +) -set_target_properties( - AltCraft PROPERTIES - VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/cwd") \ No newline at end of file +set_target_properties(AltCraft PROPERTIES + VS_DEBUGGER_WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/cwd/ + CXX_EXTENSIONS OFF + CXX_STANDARD_REQUIRED ON +) + +set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT AltCraft) + +if(MSVC AND CMAKE_BUILD_TYPE MATCHES Release) + set_target_properties(AltCraft PROPERTIES WIN32_EXECUTABLE ON) +endif() diff --git a/cmake/FindSDL2.cmake b/cmake/FindSDL2.cmake deleted file mode 100644 index 464ca2d..0000000 --- a/cmake/FindSDL2.cmake +++ /dev/null @@ -1,173 +0,0 @@ - -# This module defines -# SDL2_LIBRARY, the name of the library to link against -# SDL2_FOUND, if false, do not try to link to SDL2 -# SDL2_INCLUDE_DIR, where to find SDL.h -# -# This module responds to the the flag: -# SDL2_BUILDING_LIBRARY -# If this is defined, then no SDL2main will be linked in because -# only applications need main(). -# Otherwise, it is assumed you are building an application and this -# module will attempt to locate and set the the proper link flags -# as part of the returned SDL2_LIBRARY variable. -# -# Don't forget to include SDLmain.h and SDLmain.m your project for the -# OS X framework based version. (Other versions link to -lSDL2main which -# this module will try to find on your behalf.) Also for OS X, this -# module will automatically add the -framework Cocoa on your behalf. -# -# -# Additional Note: If you see an empty SDL2_LIBRARY_TEMP in your configuration -# and no SDL2_LIBRARY, it means CMake did not find your SDL2 library -# (SDL2.dll, libsdl2.so, SDL2.framework, etc). -# Set SDL2_LIBRARY_TEMP to point to your SDL2 library, and configure again. -# Similarly, if you see an empty SDL2MAIN_LIBRARY, you should set this value -# as appropriate. These values are used to generate the final SDL2_LIBRARY -# variable, but when these values are unset, SDL2_LIBRARY does not get created. -# -# -# $SDL2DIR is an environment variable that would -# correspond to the ./configure --prefix=$SDL2DIR -# used in building SDL2. -# l.e.galup 9-20-02 -# -# Modified by Eric Wing. -# Added code to assist with automated building by using environmental variables -# and providing a more controlled/consistent search behavior. -# Added new modifications to recognize OS X frameworks and -# additional Unix paths (FreeBSD, etc). -# Also corrected the header search path to follow "proper" SDL guidelines. -# Added a search for SDL2main which is needed by some platforms. -# Added a search for threads which is needed by some platforms. -# Added needed compile switches for MinGW. -# -# On OSX, this will prefer the Framework version (if found) over others. -# People will have to manually change the cache values of -# SDL2_LIBRARY to override this selection or set the CMake environment -# CMAKE_INCLUDE_PATH to modify the search paths. -# -# Note that the header path has changed from SDL2/SDL.h to just SDL.h -# This needed to change because "proper" SDL convention -# is #include "SDL.h", not . This is done for portability -# reasons because not all systems place things in SDL2/ (see FreeBSD). - -#============================================================================= -# Copyright 2003-2009 Kitware, Inc. -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -# message("") - -SET(SDL2_SEARCH_PATHS - ~/Library/Frameworks - /Library/Frameworks - /usr/local - /usr - /sw # Fink - /opt/local # DarwinPorts - /opt/csw # Blastwave - /opt - ${SDL2_PATH} -) - -FIND_PATH(SDL2_INCLUDE_DIR SDL.h - HINTS - $ENV{SDL2DIR} - PATH_SUFFIXES include/SDL2 include - PATHS ${SDL2_SEARCH_PATHS} -) - -if(CMAKE_SIZEOF_VOID_P EQUAL 8) - set(PATH_SUFFIXES lib64 lib/x64 lib) -else() - set(PATH_SUFFIXES lib/x86 lib) -endif() - -FIND_LIBRARY(SDL2_LIBRARY_TEMP - NAMES SDL2 - HINTS - $ENV{SDL2DIR} - PATH_SUFFIXES ${PATH_SUFFIXES} - PATHS ${SDL2_SEARCH_PATHS} -) - -IF(NOT SDL2_BUILDING_LIBRARY) - IF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework") - # Non-OS X framework versions expect you to also dynamically link to - # SDL2main. This is mainly for Windows and OS X. Other (Unix) platforms - # seem to provide SDL2main for compatibility even though they don't - # necessarily need it. - FIND_LIBRARY(SDL2MAIN_LIBRARY - NAMES SDL2main - HINTS - $ENV{SDL2DIR} - PATH_SUFFIXES ${PATH_SUFFIXES} - PATHS ${SDL2_SEARCH_PATHS} - ) - ENDIF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework") -ENDIF(NOT SDL2_BUILDING_LIBRARY) - -# SDL2 may require threads on your system. -# The Apple build may not need an explicit flag because one of the -# frameworks may already provide it. -# But for non-OSX systems, I will use the CMake Threads package. -IF(NOT APPLE) - FIND_PACKAGE(Threads) -ENDIF(NOT APPLE) - -# MinGW needs an additional link flag, -mwindows -# It's total link flags should look like -lmingw32 -lSDL2main -lSDL2 -mwindows -IF(MINGW) - SET(MINGW32_LIBRARY mingw32 "-mwindows" CACHE STRING "mwindows for MinGW") -ENDIF(MINGW) - -IF(SDL2_LIBRARY_TEMP) - # For SDL2main - IF(NOT SDL2_BUILDING_LIBRARY) - IF(SDL2MAIN_LIBRARY) - SET(SDL2_LIBRARY_TEMP ${SDL2MAIN_LIBRARY} ${SDL2_LIBRARY_TEMP}) - ENDIF(SDL2MAIN_LIBRARY) - ENDIF(NOT SDL2_BUILDING_LIBRARY) - - # For OS X, SDL2 uses Cocoa as a backend so it must link to Cocoa. - # CMake doesn't display the -framework Cocoa string in the UI even - # though it actually is there if I modify a pre-used variable. - # I think it has something to do with the CACHE STRING. - # So I use a temporary variable until the end so I can set the - # "real" variable in one-shot. - IF(APPLE) - SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} "-framework Cocoa") - ENDIF(APPLE) - - # For threads, as mentioned Apple doesn't need this. - # In fact, there seems to be a problem if I used the Threads package - # and try using this line, so I'm just skipping it entirely for OS X. - IF(NOT APPLE) - SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT}) - ENDIF(NOT APPLE) - - # For MinGW library - IF(MINGW) - SET(SDL2_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL2_LIBRARY_TEMP}) - ENDIF(MINGW) - - # Set the final string here so the GUI reflects the final state. - SET(SDL2_LIBRARY ${SDL2_LIBRARY_TEMP} CACHE STRING "Where the SDL2 Library can be found") - # Set the temp variable to INTERNAL so it is not seen in the CMake GUI - SET(SDL2_LIBRARY_TEMP "${SDL2_LIBRARY_TEMP}" CACHE INTERNAL "") -ENDIF(SDL2_LIBRARY_TEMP) - -# message("") - -INCLUDE(FindPackageHandleStandardArgs) - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR) diff --git a/cmake/FindSDL2_net.cmake b/cmake/FindSDL2_net.cmake deleted file mode 100644 index 2ad6b9b..0000000 --- a/cmake/FindSDL2_net.cmake +++ /dev/null @@ -1,88 +0,0 @@ -# - Locate SDL2_net library -# This module defines: -# SDL2_NET_LIBRARIES, the name of the library to link against -# SDL2_NET_INCLUDE_DIRS, where to find the headers -# SDL2_NET_FOUND, if false, do not try to link against -# SDL2_NET_VERSION_STRING - human-readable string containing the version of SDL2_net -# -# For backward compatiblity the following variables are also set: -# SDLNET_LIBRARY (same value as SDL2_NET_LIBRARIES) -# SDLNET_INCLUDE_DIR (same value as SDL2_NET_INCLUDE_DIRS) -# SDLNET_FOUND (same value as SDL2_NET_FOUND) -# -# $SDLDIR is an environment variable that would -# correspond to the ./configure --prefix=$SDLDIR -# used in building SDL. -# -# Created by Eric Wing. This was influenced by the FindSDL.cmake -# module, but with modifications to recognize OS X frameworks and -# additional Unix paths (FreeBSD, etc). - -#============================================================================= -# Copyright 2005-2009 Kitware, Inc. -# Copyright 2012 Benjamin Eikel -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -if(NOT SDL2_NET_INCLUDE_DIR AND SDLNET_INCLUDE_DIR) - set(SDL2_NET_INCLUDE_DIR ${SDLNET_INCLUDE_DIR} CACHE PATH "directory cache -entry initialized from old variable name") -endif() -find_path(SDL2_NET_INCLUDE_DIR SDL_net.h - HINTS - ENV SDLNETDIR - ENV SDLDIR - PATH_SUFFIXES include/SDL2 include/SDL2.0 include -) - -if(NOT SDL2_NET_LIBRARY AND SDLNET_LIBRARY) - set(SDL2_NET_LIBRARY ${SDLNET_LIBRARY} CACHE FILEPATH "file cache entry -initialized from old variable name") -endif() -find_library(SDL2_NET_LIBRARY - NAMES SDL2_net - HINTS - ENV SDLNETDIR - ENV SDLDIR - PATH_SUFFIXES lib -) - -if(SDL2_NET_INCLUDE_DIR AND EXISTS "${SDL2_NET_INCLUDE_DIR}/SDL2_net.h") - file(STRINGS "${SDL2_NET_INCLUDE_DIR}/SDL2_net.h" SDL2_NET_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL2_NET_MAJOR_VERSION[ \t]+[0-9]+$") - file(STRINGS "${SDL2_NET_INCLUDE_DIR}/SDL2_net.h" SDL2_NET_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL2_NET_MINOR_VERSION[ \t]+[0-9]+$") - file(STRINGS "${SDL2_NET_INCLUDE_DIR}/SDL2_net.h" SDL2_NET_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL2_NET_PATCHLEVEL[ \t]+[0-9]+$") - string(REGEX REPLACE "^#define[ \t]+SDL2_NET_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_NET_VERSION_MAJOR "${SDL2_NET_VERSION_MAJOR_LINE}") - string(REGEX REPLACE "^#define[ \t]+SDL2_NET_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_NET_VERSION_MINOR "${SDL2_NET_VERSION_MINOR_LINE}") - string(REGEX REPLACE "^#define[ \t]+SDL2_NET_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL2_NET_VERSION_PATCH "${SDL2_NET_VERSION_PATCH_LINE}") - set(SDL2_NET_VERSION_STRING ${SDL2_NET_VERSION_MAJOR}.${SDL2_NET_VERSION_MINOR}.${SDL2_NET_VERSION_PATCH}) - unset(SDL2_NET_VERSION_MAJOR_LINE) - unset(SDL2_NET_VERSION_MINOR_LINE) - unset(SDL2_NET_VERSION_PATCH_LINE) - unset(SDL2_NET_VERSION_MAJOR) - unset(SDL2_NET_VERSION_MINOR) - unset(SDL2_NET_VERSION_PATCH) -endif() - -set(SDL2_NET_LIBRARIES ${SDL2_NET_LIBRARY}) -set(SDL2_NET_INCLUDE_DIRS ${SDL2_NET_INCLUDE_DIR}) - -include(FindPackageHandleStandardArgs) - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_net - REQUIRED_VARS SDL2_NET_LIBRARIES SDL2_NET_INCLUDE_DIRS - VERSION_VAR SDL2_NET_VERSION_STRING) - -# for backward compatiblity -set(SDLNET_LIBRARY ${SDL2_NET_LIBRARIES}) -set(SDLNET_INCLUDE_DIR ${SDL2_NET_INCLUDE_DIRS}) -set(SDLNET_FOUND ${SDL2_NET_FOUND}) - -mark_as_advanced(SDL2_NET_LIBRARY SDL2_NET_INCLUDE_DIR) \ No newline at end of file diff --git a/cmake/FindSDL2_ttf.cmake b/cmake/FindSDL2_ttf.cmake deleted file mode 100644 index 8b2edcb..0000000 --- a/cmake/FindSDL2_ttf.cmake +++ /dev/null @@ -1,98 +0,0 @@ -# Locate SDL_ttf library -# -# This module defines: -# -# :: -# -# SDL2_TTF_LIBRARIES, the name of the library to link against -# SDL2_TTF_INCLUDE_DIRS, where to find the headers -# SDL2_TTF_FOUND, if false, do not try to link against -# SDL2_TTF_VERSION_STRING - human-readable string containing the version of SDL_ttf -# -# -# -# For backward compatibility the following variables are also set: -# -# :: -# -# SDLTTF_LIBRARY (same value as SDL2_TTF_LIBRARIES) -# SDLTTF_INCLUDE_DIR (same value as SDL2_TTF_INCLUDE_DIRS) -# SDLTTF_FOUND (same value as SDL2_TTF_FOUND) -# -# -# -# $SDLDIR is an environment variable that would correspond to the -# ./configure --prefix=$SDLDIR used in building SDL. -# -# Created by Eric Wing. This was influenced by the FindSDL.cmake -# module, but with modifications to recognize OS X frameworks and -# additional Unix paths (FreeBSD, etc). - -#============================================================================= -# Copyright 2005-2009 Kitware, Inc. -# Copyright 2012 Benjamin Eikel -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -find_path(SDL2_TTF_INCLUDE_DIR SDL_ttf.h - HINTS - ENV SDL2TTFDIR - ENV SDL2DIR - PATH_SUFFIXES SDL2 - # path suffixes to search inside ENV{SDLDIR} - include/SDL2 include - PATHS ${SDL2_TTF_PATH} - ) - -if (CMAKE_SIZEOF_VOID_P EQUAL 8) - set(VC_LIB_PATH_SUFFIX lib/x64) -else () - set(VC_LIB_PATH_SUFFIX lib/x86) -endif () - -find_library(SDL2_TTF_LIBRARY - NAMES SDL2_ttf - HINTS - ENV SDL2TTFDIR - ENV SDL2DIR - PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX} - PATHS ${SDL2_TTF_PATH} - ) - -if (SDL2_TTF_INCLUDE_DIR AND EXISTS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h") - file(STRINGS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL2_TTF_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_TTF_MAJOR_VERSION[ \t]+[0-9]+$") - file(STRINGS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL2_TTF_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_TTF_MINOR_VERSION[ \t]+[0-9]+$") - file(STRINGS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL2_TTF_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_TTF_PATCHLEVEL[ \t]+[0-9]+$") - string(REGEX REPLACE "^#define[ \t]+SDL_TTF_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_TTF_VERSION_MAJOR "${SDL2_TTF_VERSION_MAJOR_LINE}") - string(REGEX REPLACE "^#define[ \t]+SDL_TTF_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_TTF_VERSION_MINOR "${SDL2_TTF_VERSION_MINOR_LINE}") - string(REGEX REPLACE "^#define[ \t]+SDL_TTF_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL2_TTF_VERSION_PATCH "${SDL2_TTF_VERSION_PATCH_LINE}") - set(SDL2_TTF_VERSION_STRING ${SDL2_TTF_VERSION_MAJOR}.${SDL2_TTF_VERSION_MINOR}.${SDL2_TTF_VERSION_PATCH}) - unset(SDL2_TTF_VERSION_MAJOR_LINE) - unset(SDL2_TTF_VERSION_MINOR_LINE) - unset(SDL2_TTF_VERSION_PATCH_LINE) - unset(SDL2_TTF_VERSION_MAJOR) - unset(SDL2_TTF_VERSION_MINOR) - unset(SDL2_TTF_VERSION_PATCH) -endif () - -set(SDL2_TTF_LIBRARIES ${SDL2_TTF_LIBRARY}) -set(SDL2_TTF_INCLUDE_DIRS ${SDL2_TTF_INCLUDE_DIR}) - -include(FindPackageHandleStandardArgs) - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_ttf - REQUIRED_VARS SDL2_TTF_LIBRARIES SDL2_TTF_INCLUDE_DIRS - VERSION_VAR SDL2_TTF_VERSION_STRING) - -# for backward compatibility -set(SDLTTF_LIBRARY ${SDL2_TTF_LIBRARIES}) -set(SDLTTF_INCLUDE_DIR ${SDL2_TTF_INCLUDE_DIRS}) -set(SDLTTF_FOUND ${SDL2_TTF_FOUND}) diff --git a/src/main.cpp b/src/main.cpp index 2ed2b85..4b27757 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -32,10 +32,6 @@ void initLogger() { LOG(INFO) << "Logger is configured"; } -#ifndef USE_SDL_MAIN -#undef main -#endif - int main(int argc, char** argv) { srand(time(0)); initLogger(); -- cgit v1.2.3