mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-25 15:45:38 +00:00
Removed dependency on libboost-regex.
It was kind of silly to pull in the entire lib for exactly one regular expression.
This commit is contained in:
parent
8608ecc9eb
commit
e842321b00
|
@ -35,7 +35,7 @@ endif()
|
||||||
find_package(Freetype REQUIRED)
|
find_package(Freetype REQUIRED)
|
||||||
find_package(FreeImage REQUIRED)
|
find_package(FreeImage REQUIRED)
|
||||||
find_package(SDL2 REQUIRED)
|
find_package(SDL2 REQUIRED)
|
||||||
find_package(Boost REQUIRED COMPONENTS system filesystem regex date_time)
|
find_package(Boost REQUIRED COMPONENTS system filesystem date_time)
|
||||||
find_package(Eigen3 REQUIRED)
|
find_package(Eigen3 REQUIRED)
|
||||||
find_package(CURL REQUIRED)
|
find_package(CURL REQUIRED)
|
||||||
|
|
||||||
|
|
|
@ -27,12 +27,12 @@ Building
|
||||||
EmulationStation uses some C++11 code, which means you'll need to install at least g++-4.7 on Linux, or VS2010 on Windows.
|
EmulationStation uses some C++11 code, which means you'll need to install at least g++-4.7 on Linux, or VS2010 on Windows.
|
||||||
For installing and switching to g++-4.7 see [here](http://lektiondestages.blogspot.de/2013/05/installing-and-switching-gccg-versions.html). You can also just use `export CXX=g++-4.7` to explicitly specify the compiler for CMake (make sure you delete your CMake cache files if it's not working).
|
For installing and switching to g++-4.7 see [here](http://lektiondestages.blogspot.de/2013/05/installing-and-switching-gccg-versions.html). You can also just use `export CXX=g++-4.7` to explicitly specify the compiler for CMake (make sure you delete your CMake cache files if it's not working).
|
||||||
|
|
||||||
EmulationStation has a few dependencies. For building, you'll need SDL2, Boost (System, Filesystem, Regex, DateTime), FreeImage, FreeType, Eigen3, and cURL.
|
EmulationStation has a few dependencies. For building, you'll need SDL2, Boost (System, Filesystem, DateTime), FreeImage, FreeType, Eigen3, and cURL.
|
||||||
|
|
||||||
**On Linux:**
|
**On Linux:**
|
||||||
All of this be easily installed with apt-get:
|
All of this be easily installed with apt-get:
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install libsdl2-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-regex-dev libboost-date-time-dev libfreeimage-dev libfreetype6-dev libeigen3-dev libcurl-dev libasound2-dev
|
sudo apt-get install libsdl2-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-date-time-dev libfreeimage-dev libfreetype6-dev libeigen3-dev libcurl-dev libasound2-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
Unless you're on the Raspberry Pi, you'll also need OpenGL:
|
Unless you're on the Raspberry Pi, you'll also need OpenGL:
|
||||||
|
|
|
@ -1,11 +1,36 @@
|
||||||
#include "FileData.h"
|
#include "FileData.h"
|
||||||
#include <boost/regex/v4/regex.hpp>
|
|
||||||
|
|
||||||
namespace fs = boost::filesystem;
|
namespace fs = boost::filesystem;
|
||||||
|
|
||||||
std::string getCleanFileName(const fs::path& path)
|
std::string getCleanFileName(const fs::path& path)
|
||||||
{
|
{
|
||||||
return regex_replace(path.stem().generic_string(), boost::regex("\\((.*)\\)|\\[(.*)\\]"), "");
|
// remove anything in parenthesis or brackets
|
||||||
|
// should be roughly equivalent to the regex replace "\((.*)\)|\[(.*)\]" with ""
|
||||||
|
// I would love to just use regex, but it's not worth pulling in another boost lib for one function that is used once
|
||||||
|
|
||||||
|
std::string ret = path.stem().generic_string();
|
||||||
|
size_t start, end;
|
||||||
|
|
||||||
|
static const int NUM_TO_REPLACE = 2;
|
||||||
|
static const char toReplace[NUM_TO_REPLACE*2] = { '(', ')', '[', ']' };
|
||||||
|
|
||||||
|
bool done = false;
|
||||||
|
while(!done)
|
||||||
|
{
|
||||||
|
done = true;
|
||||||
|
for(int i = 0; i < NUM_TO_REPLACE; i++)
|
||||||
|
{
|
||||||
|
start = ret.find(toReplace[i*2]);
|
||||||
|
end = ret.find(toReplace[i*2+1], start != std::string::npos ? start + 1 : 0);
|
||||||
|
if(start != std::string::npos && end != std::string::npos)
|
||||||
|
{
|
||||||
|
ret.replace(start, end, "");
|
||||||
|
done = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include "HttpReq.h"
|
#include "HttpReq.h"
|
||||||
#include <boost/bind.hpp>
|
|
||||||
#include "Log.h"
|
#include "Log.h"
|
||||||
#include <boost/filesystem.hpp>
|
#include <boost/filesystem.hpp>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue