Skip to content

Commit f0fa4cb

Browse files
committed
Cleaning for Ubuntu build
1 parent 63d28f0 commit f0fa4cb

File tree

2 files changed

+40
-27
lines changed

2 files changed

+40
-27
lines changed

CMakeLists.txt

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,30 +43,36 @@ else()
4343
endif()
4444
message(STATUS "Destination directory: ${DEST_DIR} ${WINPTHREAD_DLL_DIR}")
4545

46-
set(BUILD_SHARED_LIBS OFF)
47-
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++")
4846
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
49-
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
50-
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
51-
47+
set(BUILD_SHARED_LIBS OFF)
48+
if(UNIX)
49+
# STATIC LINK set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static -static-libgcc -static-libstdc++")
50+
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++")
51+
else()
52+
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++")
53+
endif()
5254
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
5355
message(STATUS "** Debug mode")
54-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_XML_DEBUG")
56+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -D_XML_DEBUG")
57+
else()
58+
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
59+
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
5560
endif()
5661

62+
find_package(Git REQUIRED)
63+
5764
set(Boost_USE_STATIC_LIBS ON)
5865
set(Boost_USE_STATIC_RUNTIME ON)
59-
find_package(Boost 1.64.0 REQUIRED COMPONENTS "date_time" "program_options" "filesystem")
66+
find_package(Boost 1.63.0 REQUIRED COMPONENTS "date_time" "program_options" "filesystem")
6067
find_package(Threads)
6168
if(DEFINED ENV{MYSQL_PROPER})
6269
find_package(MySQL 5.7.17 REQUIRED EXACT)
6370
else()
6471
find_package(MariaDB 10.1.24 REQUIRED)
6572
endif()
6673
find_package(ZLIB REQUIRED)
67-
find_package(Iconv REQUIRED)
6874
find_package(EXPAT REQUIRED)
69-
find_package(Git REQUIRED)
75+
find_package(Iconv REQUIRED)
7076

7177
get_filename_component(MYSQL_NAME ${MYSQL_LIBRARIES} NAME_WE)
7278

@@ -87,6 +93,11 @@ if(UNIX)
8793
set(ADD_LIBS "${CMAKE_THREAD_LIBS_INIT} -lm -lrt -ldl -lcrypt -laio")
8894
endif()
8995
target_link_libraries(lib2inpx minizip ${Boost_LIBRARIES} ${MYSQL_LIBRARIES} ${ZLIB_LIBRARIES} ${EXPAT_LIBRARIES} ${ICONV_LIBRARIES} ${ADD_LIBS})
96+
# STATIC LINK
97+
#if(UNIX)
98+
# set_target_properties(lib2inpx PROPERTIES LINK_SEARCH_START_STATIC 1)
99+
# set_target_properties(lib2inpx PROPERTIES LINK_SEARCH_END_STATIC 1)
100+
#endif()
90101

91102
install(FILES ${PROJECT_BINARY_DIR}/history.txt DESTINATION ${DEST_DIR} CONFIGURATIONS Release)
92103
FILE(GLOB files "misc/*")

lib2inpx/lib2inpx.cpp

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -131,20 +131,20 @@ static const char* dummy = "dummy:"
131131
"\r\n";
132132

133133
#ifdef MARIADB_BASE_VERSION
134-
static const char* options_pattern[] = {"%s", "--defaults-file=%s/mysql.ini", "--datadir=%s/data", "--language=%s/language", "--skip-grant-tables", "--innodb_data_home_dir=%s/data/dbtmp_%s/",
135-
"--innodb_log_group_home_dir=%s/data/dbtmp_%s/", "--innodb_tmpdir=%s/data/dbtmp_%s/", "--innodb_fast_shutdown=2", "--log-error=%s/data/errors.log", "--log_warnings=2", NULL};
134+
static const char* options_pattern[] = {"%s", "--defaults-file=%sdata/mysql.ini", "--language=%s/language", "--datadir=%sdata", "--skip-grant-tables", "--innodb_data_home_dir=%sdata/dbtmp_%s",
135+
"--innodb_log_group_home_dir=%sdata/dbtmp_%s", "--innodb_tmpdir=%sdata/dbtmp_%s", "--log_warnings=2", NULL};
136136
#else
137-
static const char* options_pattern[] = {"%s", "--defaults-file=%s/mysql.ini", "--datadir=%s/data", "--language=%s/language", "--skip-grant-tables", "--innodb_data_home_dir=%s/data/dbtmp_%s/",
138-
"--innodb_log_group_home_dir=%s/data/dbtmp_%s/", "--innodb_tmpdir=%s/data/dbtmp_%s/", "--log_syslog=0", NULL};
137+
static const char* options_pattern[] = {"%s", "--defaults-file=%sdata/mysql.ini", "--language=%s/language", "--datadir=%sdata", "--skip-grant-tables", "--innodb_data_home_dir=%s/data/dbtmp_%s",
138+
"--innodb_log_group_home_dir=%sdata/dbtmp_%s", "--innodb_tmpdir=%sdata/dbtmp_%s", "--log_syslog=0", NULL};
139139
#endif
140140

141-
class mysql_connection : boost::noncopyable {
141+
class mysql_connection {
142142
enum { num_options = sizeof(options_pattern) / sizeof(char*) };
143143

144144
char* m_options[num_options];
145145

146146
public:
147-
mysql_connection(const char* path, const char* name, const char* dbname) : m_mysql(NULL)
147+
mysql_connection(const char* module_path, const char* path, const char* name, const char* dbname) : m_mysql(NULL)
148148
{
149149
if (0 == m_initialized) {
150150

@@ -162,6 +162,8 @@ class mysql_connection : boost::noncopyable {
162162

163163
if (0 == ni) {
164164
sprintf(mem, pattern, name);
165+
} else if (2 == ni) {
166+
sprintf(mem, pattern, module_path);
165167
} else {
166168
sprintf(mem, pattern, path, dbname);
167169
}
@@ -238,7 +240,7 @@ class mysql_connection : boost::noncopyable {
238240

239241
int mysql_connection::m_initialized = 0;
240242

241-
class mysql_results : boost::noncopyable {
243+
class mysql_results {
242244
public:
243245
mysql_results(const mysql_connection& mysql) : m_mysql(mysql), m_results(NULL) { m_results = mysql_store_result(m_mysql); }
244246

@@ -298,8 +300,12 @@ void prepare_mysql(const char* path, const string& dbname)
298300
fs::create_directories(path);
299301
}
300302

301-
string config = string(path) + "/mysql.ini";
303+
string config = string(path) + "/data";
304+
if (0 != access(config.c_str(), 6)) {
305+
fs::create_directories(config.c_str());
306+
}
302307

308+
config = string(path) + "/data/mysql.ini";
303309
if (0 != access(config.c_str(), 6)) {
304310
ofstream out(config.c_str());
305311

@@ -312,12 +318,7 @@ void prepare_mysql(const char* path, const string& dbname)
312318
}
313319
}
314320

315-
config = string(path) + "/data";
316-
if (0 != access(config.c_str(), 6)) {
317-
fs::create_directories(config.c_str());
318-
}
319-
320-
config += "/dbtmp_" + dbname;
321+
config = string(path) + "/data/dbtmp_" + dbname;
321322
if (0 != access(config.c_str(), 6)) {
322323
fs::create_directories(config.c_str());
323324
}
@@ -1487,7 +1488,7 @@ int main(int argc, char* argv[])
14871488
{
14881489
string table_name = ((e20111106 == g_format) || (e20170531 == g_format)) ? "libavtors" : "libavtorname";
14891490

1490-
mysql_connection mysql(g_outdir.c_str(), g_db_name.c_str(), db_name.c_str());
1491+
mysql_connection mysql(module_path, g_outdir.c_str(), g_db_name.c_str(), db_name.c_str());
14911492

14921493
if (!g_no_import) {
14931494
wcout << endl << "Creating MYSQL database \"" << utf8_to_wchar(db_name) << "\"" << endl << endl << flush;
@@ -1695,16 +1696,17 @@ int main(int argc, char* argv[])
16951696
string db_dir = data_dir + db_name + "/";
16961697
fs::remove_all(db_dir.c_str());
16971698

1698-
string file_to_del = string(g_outdir) + "/data/auto.cnf";
1699+
string file_to_del = data_dir + "/auto.cnf";
1700+
fs::remove(file_to_del);
1701+
1702+
file_to_del.assign(data_dir + "/mysql.ini");
16991703
fs::remove(file_to_del);
17001704

17011705
#ifdef MARIADB_BASE_VERSION
17021706
file_to_del.assign(data_dir + "/aria_log.00000001");
17031707
fs::remove(file_to_del);
17041708
file_to_del.assign(data_dir + "/aria_log_control");
17051709
fs::remove(file_to_del);
1706-
file_to_del.assign(data_dir + "/errors.log");
1707-
fs::remove(file_to_del);
17081710
#endif
17091711

17101712
if (fs::is_empty(data_dir)) {

0 commit comments

Comments
 (0)