NOISSUE clean up some old cmake messes
This commit is contained in:
parent
33c3850b40
commit
143e24fa04
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.2.0)
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
|
||||
string(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BUILD_DIR}" IS_IN_SOURCE_BUILD)
|
||||
if(IS_IN_SOURCE_BUILD)
|
||||
@ -10,7 +10,7 @@ if(WIN32)
|
||||
cmake_policy(SET CMP0020 OLD)
|
||||
endif()
|
||||
|
||||
project(Megatron)
|
||||
project(MultiMC)
|
||||
enable_testing()
|
||||
|
||||
######## Set CMake options ########
|
||||
@ -19,12 +19,13 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
######## Set module path ########
|
||||
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/")
|
||||
|
||||
# Only used for test coverage
|
||||
set(MMC_SRC "${PROJECT_SOURCE_DIR}")
|
||||
set(MMC_BIN "${PROJECT_BINARY_DIR}")
|
||||
|
||||
# Output all executables and shared libs in the main build folder, not in subfolders.
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
|
||||
|
||||
if(UNIX)
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
|
||||
endif()
|
||||
@ -32,7 +33,10 @@ endif()
|
||||
set(CMAKE_JAVA_TARGET_OUTPUT_DIR ${PROJECT_BINARY_DIR}/jars)
|
||||
|
||||
######## Set compiler flags ########
|
||||
include(UseCXX14)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED true)
|
||||
set(CMAKE_C_STANDARD_REQUIRED true)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
include(Coverage)
|
||||
include(GenerateExportHeader)
|
||||
set(CMAKE_CXX_FLAGS " -Wall ${CMAKE_CXX_FLAGS}")
|
||||
@ -44,21 +48,7 @@ include(Coverity)
|
||||
################################ 3rd Party Libs ################################
|
||||
|
||||
# Find the required Qt parts
|
||||
find_package(Qt5Core REQUIRED)
|
||||
find_package(Qt5Widgets REQUIRED)
|
||||
find_package(Qt5Concurrent REQUIRED)
|
||||
find_package(Qt5Network REQUIRED)
|
||||
find_package(Qt5Test REQUIRED)
|
||||
find_package(Qt5Xml REQUIRED)
|
||||
|
||||
include_directories(
|
||||
${Qt5Core_INCLUDE_DIRS}
|
||||
${Qt5Widgets_INCLUDE_DIRS}
|
||||
${Qt5Concurrent_INCLUDE_DIRS}
|
||||
${Qt5Test_INCLUDE_DIRS}
|
||||
${Qt5Network_INCLUDE_DIRS}
|
||||
${Qt5Xml_INCLUDE_DIRS}
|
||||
)
|
||||
find_package(Qt5 COMPONENTS Core Widgets Concurrent Network Test Xml)
|
||||
|
||||
# The Qt5 cmake files don't provide its install paths, so ask qmake.
|
||||
include(QMakeQuery)
|
||||
@ -97,27 +87,13 @@ else()
|
||||
set(QUAZIP_LIBRARIES -L"${CMAKE_BINARY_DIR}/External/Install/QuaZIP/lib" quazip)
|
||||
endif()
|
||||
|
||||
# Add the markdown parser thing
|
||||
add_subdirectory(depends/hoedown)
|
||||
include_directories(${HOEDOWN_INCLUDE_DIR})
|
||||
add_subdirectory(depends/hoedown) # markdown parser
|
||||
add_subdirectory(depends/launcher) # java based launcher part for Minecraft
|
||||
add_subdirectory(depends/javacheck) # java compatibility checker
|
||||
add_subdirectory(depends/xz-embedded) # xz compression
|
||||
add_subdirectory(depends/pack200) # java pack200 compression
|
||||
add_subdirectory(depends/rainbow) # Qt extension for colors
|
||||
|
||||
# Add the java launcher and checker
|
||||
add_subdirectory(depends/launcher)
|
||||
add_subdirectory(depends/javacheck)
|
||||
|
||||
# Add xz decompression
|
||||
add_subdirectory(depends/xz-embedded)
|
||||
include_directories(${XZ_INCLUDE_DIR})
|
||||
|
||||
# Add pack200 decompression
|
||||
add_subdirectory(depends/pack200)
|
||||
include_directories(${PACK200_INCLUDE_DIR})
|
||||
|
||||
# Add color thingy
|
||||
add_subdirectory(depends/rainbow)
|
||||
include_directories(${RAINBOW_INCLUDE_DIR})
|
||||
|
||||
# Add NBT library - with our preferred options
|
||||
set(NBT_BUILD_SHARED ON CACHE BOOL "Build NBT shared library")
|
||||
set(NBT_USE_ZLIB OFF CACHE BOOL "Build NBT library with zlib support")
|
||||
set(NBT_BUILD_TESTS OFF CACHE BOOL "Build NBT library tests") #FIXME: fix unit tests.
|
||||
@ -125,26 +101,14 @@ add_subdirectory(depends/libnbtplusplus)
|
||||
|
||||
######## MultiMC Libs ########
|
||||
|
||||
# Add the util library.
|
||||
add_definitions(-DLIBUTIL_STATIC)
|
||||
add_subdirectory(depends/util)
|
||||
include_directories(${LIBUTIL_INCLUDE_DIR})
|
||||
|
||||
# Add the GUI -> Logic connection header
|
||||
add_subdirectory(depends/LogicalGui)
|
||||
include_directories(${LOGICALGUI_INCLUDE_DIR})
|
||||
|
||||
# Add the GUI -> Logic connection header
|
||||
add_subdirectory(depends/iconfix)
|
||||
include_directories(${ICONFIX_INCLUDE_DIR})
|
||||
add_subdirectory(depends/util) # various utility functions
|
||||
add_subdirectory(depends/LogicalGui) # GUI -> Logic connection
|
||||
add_subdirectory(depends/iconfix) # fork of Qt's QIcon loader
|
||||
|
||||
include(Coverity)
|
||||
|
||||
############################### Built Artifacts ###############################
|
||||
|
||||
add_subdirectory(tests)
|
||||
|
||||
add_subdirectory(logic)
|
||||
|
||||
add_subdirectory(application)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
project(MultiMC-Application)
|
||||
project(application)
|
||||
|
||||
######## Set URLs ########
|
||||
set(MultiMC_NEWS_RSS_URL "http://multimc.org/rss.xml" CACHE STRING "URL to fetch MultiMC's news RSS feed from.")
|
||||
@ -327,23 +327,18 @@ if(WIN32)
|
||||
set(MULTIMC_RCS resources/multimc.rc)
|
||||
endif()
|
||||
|
||||
# Link additional libraries
|
||||
if(WIN32)
|
||||
set(MultiMC_LINK_ADDITIONAL_LIBS ${MultiMC_LINK_ADDITIONAL_LIBS} Qt5::WinMain)
|
||||
endif(WIN32)
|
||||
|
||||
include_directories(../logic ${CMAKE_CURRENT_BINARY_DIR}/../logic)
|
||||
|
||||
# Qt 5 stuff
|
||||
qt5_wrap_ui(MULTIMC_UI ${MULTIMC_UIS})
|
||||
qt5_add_resources(MULTIMC_RESOURCES ${MULTIMC_QRCS})
|
||||
|
||||
# Add executable
|
||||
add_executable(MultiMC MACOSX_BUNDLE WIN32 ${MULTIMC_SOURCES} ${MULTIMC_UI} ${MULTIMC_RESOURCES} ${MULTIMC_RCS})
|
||||
target_link_libraries(MultiMC MultiMC_logic xz-embedded unpack200 iconfix libUtil LogicalGui
|
||||
${QUAZIP_LIBRARIES} Qt5::Core Qt5::Xml Qt5::Widgets Qt5::Network Qt5::Concurrent
|
||||
hoedown rainbow
|
||||
${MultiMC_LINK_ADDITIONAL_LIBS})
|
||||
target_link_libraries(MultiMC MultiMC_logic xz-embedded unpack200 iconfix MultiMC_util ${QUAZIP_LIBRARIES} hoedown rainbow)
|
||||
|
||||
if(WIN32)
|
||||
qt5_use_modules(MultiMC WinMain)
|
||||
endif(WIN32)
|
||||
|
||||
|
||||
################################ INSTALLATION AND PACKAGING ################################
|
||||
|
||||
|
@ -1,13 +0,0 @@
|
||||
if(__USECXX11_CMAKE__)
|
||||
return()
|
||||
endif()
|
||||
set(__USECXX11_CMAKE__ TRUE)
|
||||
|
||||
if(APPLE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -std=c++11")
|
||||
elseif(UNIX)
|
||||
# assume GCC, add C++0x/C++11 stuff
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
elseif(MINGW)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
|
||||
endif()
|
@ -1,13 +0,0 @@
|
||||
if(__USECXX14_CMAKE__)
|
||||
return()
|
||||
endif()
|
||||
set(__USECXX14_CMAKE__ TRUE)
|
||||
|
||||
if(APPLE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -std=c++1y")
|
||||
elseif(UNIX)
|
||||
# assume GCC, add C++0x/C++11 stuff
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
|
||||
elseif(MINGW)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14")
|
||||
endif()
|
@ -1,7 +1,4 @@
|
||||
project(LogicalGui)
|
||||
|
||||
# Set the include dir path.
|
||||
set(LOGICALGUI_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" PARENT_SCOPE)
|
||||
|
||||
add_library(LogicalGui STATIC LogicalGui.h)
|
||||
target_include_directories(LogicalGui PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
qt5_use_modules(LogicalGui Core)
|
||||
|
@ -16,9 +16,8 @@ find_package(Qt5Core REQUIRED)
|
||||
include_directories(${Qt5Base_INCLUDE_DIRS})
|
||||
|
||||
set(CLASSPARSER_HEADERS
|
||||
include/classparser_config.h
|
||||
|
||||
# Public headers
|
||||
include/classparser_config.h
|
||||
include/javautils.h
|
||||
|
||||
# Private headers
|
||||
@ -35,14 +34,8 @@ src/javautils.cpp
|
||||
src/annotations.cpp
|
||||
)
|
||||
|
||||
# Set the include dir path.
|
||||
set(LIBGROUPVIEW_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include" PARENT_SCOPE)
|
||||
|
||||
# Include self.
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
include_directories(${CMAKE_BINARY_DIR}/include)
|
||||
|
||||
add_definitions(-DCLASSPARSER_LIBRARY)
|
||||
|
||||
add_library(classparser SHARED ${CLASSPARSER_SOURCES} ${CLASSPARSER_HEADERS})
|
||||
target_include_directories(classparser PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
|
||||
qt5_use_modules(classparser Core)
|
||||
|
@ -1,14 +1,14 @@
|
||||
# hoedown 3.0.2 - https://github.com/hoedown/hoedown/archive/3.0.2.tar.gz
|
||||
project(hoedown)
|
||||
project(hoedown LANGUAGES C VERSION 3.0.2)
|
||||
|
||||
set(HOEDOWN_SOURCES
|
||||
hoedown/autolink.h
|
||||
hoedown/buffer.h
|
||||
hoedown/document.h
|
||||
hoedown/escape.h
|
||||
hoedown/html.h
|
||||
hoedown/stack.h
|
||||
hoedown/version.h
|
||||
include/hoedown/autolink.h
|
||||
include/hoedown/buffer.h
|
||||
include/hoedown/document.h
|
||||
include/hoedown/escape.h
|
||||
include/hoedown/html.h
|
||||
include/hoedown/stack.h
|
||||
include/hoedown/version.h
|
||||
src/autolink.c
|
||||
src/buffer.c
|
||||
src/document.c
|
||||
@ -20,10 +20,7 @@ src/stack.c
|
||||
src/version.c
|
||||
)
|
||||
|
||||
# Set the include dir path.
|
||||
set(HOEDOWN_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" PARENT_SCOPE)
|
||||
|
||||
# Include self.
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
add_library(hoedown STATIC ${HOEDOWN_SOURCES})
|
||||
|
||||
target_include_directories(hoedown PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
|
@ -1,12 +1,9 @@
|
||||
cmake_minimum_required(VERSION 2.8.11)
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
project(iconfix)
|
||||
|
||||
find_package(Qt5Core REQUIRED QUIET)
|
||||
find_package(Qt5Widgets REQUIRED QUIET)
|
||||
|
||||
include_directories(${Qt5Core_INCLUDE_DIRS})
|
||||
include_directories(${Qt5Widgets_INCLUDE_DIRS})
|
||||
|
||||
set(ICONFIX_SOURCES
|
||||
xdgicon.h
|
||||
xdgicon.cpp
|
||||
@ -15,6 +12,7 @@ internal/qiconloader.cpp
|
||||
internal/qiconloader_p.h
|
||||
)
|
||||
|
||||
set(ICONFIX_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" PARENT_SCOPE)
|
||||
add_library(iconfix STATIC ${ICONFIX_SOURCES})
|
||||
target_include_directories(iconfix PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
qt5_use_modules(iconfix Core Widgets)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 2.8.6)
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
project(launcher Java)
|
||||
find_package(Java 1.6 REQUIRED COMPONENTS Development)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 2.8.6)
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
project(launcher Java)
|
||||
find_package(Java 1.6 REQUIRED COMPONENTS Development)
|
||||
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 9d17b0a9b93e684a5ac6cac8f70d9a7909a877cf
|
||||
Subproject commit 5d0ffb50a526173ce58ae57136bf5d79a7e1920d
|
@ -1,24 +1,11 @@
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
|
||||
if(WIN32)
|
||||
# In Qt 5.1+ we have our own main() function, don't autolink to qtmain on Windows
|
||||
cmake_policy(SET CMP0020 OLD)
|
||||
endif()
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
|
||||
project(unpack200)
|
||||
|
||||
option(PACK200_BUILD_BINARY "Build a tiny utility that decompresses pack200 streams" OFF)
|
||||
|
||||
# Find ZLIB for quazip
|
||||
# Use system zlib on unix and Qt ZLIB on Windows
|
||||
if(UNIX)
|
||||
find_package(ZLIB REQUIRED)
|
||||
else(UNIX)
|
||||
get_filename_component(ZLIB_FOUND_DIR "${Qt5Core_DIR}/../../../include/QtZlib" ABSOLUTE)
|
||||
set(ZLIB_INCLUDE_DIRS ${ZLIB_FOUND_DIR} CACHE PATH "Path to ZLIB headers of Qt")
|
||||
set(ZLIB_LIBRARIES "")
|
||||
if(NOT EXISTS "${ZLIB_INCLUDE_DIRS}/zlib.h")
|
||||
message("Please specify a valid zlib include dir")
|
||||
endif(NOT EXISTS "${ZLIB_INCLUDE_DIRS}/zlib.h")
|
||||
endif(UNIX)
|
||||
find_package(ZLIB REQUIRED)
|
||||
|
||||
set(PACK200_SRC
|
||||
include/unpack200.h
|
||||
@ -41,19 +28,14 @@ set(PACK200_SRC
|
||||
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
set(PACK200_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include" PARENT_SCOPE)
|
||||
include_directories(
|
||||
include
|
||||
${ZLIB_INCLUDE_DIRS}
|
||||
)
|
||||
add_library(unpack200 STATIC ${PACK200_SRC})
|
||||
target_include_directories(unpack200
|
||||
PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include"
|
||||
PRIVATE ${ZLIB_INCLUDE_DIRS})
|
||||
|
||||
if(UNIX)
|
||||
target_link_libraries(unpack200 ${ZLIB_LIBRARIES})
|
||||
else()
|
||||
# zlib is part of Qt on windows. use it.
|
||||
qt5_use_modules(unpack200 Core)
|
||||
target_link_libraries(unpack200 ${ZLIB_LIBRARIES})
|
||||
|
||||
if(PACK200_BUILD_BINARY)
|
||||
add_executable(anti200 anti200.cpp)
|
||||
target_link_libraries(anti200 unpack200)
|
||||
endif()
|
||||
|
||||
add_executable(anti200 anti200.cpp)
|
||||
target_link_libraries(anti200 unpack200)
|
||||
|
@ -1,20 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8.11)
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
project(rainbow)
|
||||
|
||||
find_package(Qt5Core REQUIRED QUIET)
|
||||
find_package(Qt5Gui REQUIRED QUIET)
|
||||
|
||||
include_directories(${Qt5Core_INCLUDE_DIRS})
|
||||
include_directories(${Qt5Gui_INCLUDE_DIRS})
|
||||
|
||||
set(RAINBOW_SOURCES
|
||||
include/rainbow_config.h
|
||||
include/rainbow.h
|
||||
src/rainbow.cpp
|
||||
)
|
||||
|
||||
add_definitions(-DRAINBOW_LIBRARY)
|
||||
set(RAINBOW_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include" PARENT_SCOPE)
|
||||
add_library(rainbow SHARED ${RAINBOW_SOURCES})
|
||||
target_include_directories(rainbow PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
|
||||
|
||||
qt5_use_modules(rainbow Core Gui)
|
||||
|
@ -1,42 +1,28 @@
|
||||
project(libUtil)
|
||||
project(MultiMC_util)
|
||||
|
||||
include(UseCXX14)
|
||||
include(Coverage)
|
||||
|
||||
# Find Qt
|
||||
find_package(Qt5Core REQUIRED)
|
||||
|
||||
# Include Qt headers.
|
||||
include_directories(${Qt5Base_INCLUDE_DIRS})
|
||||
find_package(Qt5Gui REQUIRED)
|
||||
|
||||
set(LIBUTIL_SOURCES
|
||||
include/libutil_config.h
|
||||
|
||||
include/pathutils.h
|
||||
src/pathutils.cpp
|
||||
|
||||
include/osutils.h
|
||||
|
||||
include/userutils.h
|
||||
src/userutils.cpp
|
||||
|
||||
include/cmdutils.h
|
||||
src/cmdutils.cpp
|
||||
|
||||
include/modutils.h
|
||||
src/modutils.cpp
|
||||
include/cmdutils.h
|
||||
include/modutils.h
|
||||
include/osutils.h
|
||||
include/pathutils.h
|
||||
include/userutils.h
|
||||
)
|
||||
|
||||
# Set the include dir path.
|
||||
set(LIBUTIL_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include" PARENT_SCOPE)
|
||||
|
||||
# Static link!
|
||||
add_definitions(-DLIBUTIL_STATIC)
|
||||
|
||||
add_definitions(-DLIBUTIL_LIBRARY)
|
||||
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
add_library(libUtil STATIC ${LIBUTIL_SOURCES})
|
||||
qt5_use_modules(libUtil Core)
|
||||
target_link_libraries(libUtil)
|
||||
add_library(MultiMC_util STATIC ${LIBUTIL_SOURCES})
|
||||
|
||||
qt5_use_modules(MultiMC_util Core Gui)
|
||||
generate_export_header(MultiMC_util)
|
||||
target_include_directories(MultiMC_util PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
set_property(TARGET MultiMC_util PROPERTY CXX_STANDARD 14)
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include <QHash>
|
||||
#include <QStringList>
|
||||
|
||||
#include "libutil_config.h"
|
||||
#include "multimc_util_export.h"
|
||||
|
||||
/**
|
||||
* @file libutil/include/cmdutils.h
|
||||
@ -42,7 +42,7 @@ namespace Commandline
|
||||
* @param args the argument string
|
||||
* @return a QStringList containing all arguments
|
||||
*/
|
||||
LIBUTIL_EXPORT QStringList splitArgs(QString args);
|
||||
MULTIMC_UTIL_EXPORT QStringList splitArgs(QString args);
|
||||
|
||||
/**
|
||||
* @brief The FlagStyle enum
|
||||
@ -85,7 +85,7 @@ enum Enum
|
||||
/**
|
||||
* @brief The ParsingError class
|
||||
*/
|
||||
class LIBUTIL_EXPORT ParsingError : public std::runtime_error
|
||||
class MULTIMC_UTIL_EXPORT ParsingError : public std::runtime_error
|
||||
{
|
||||
public:
|
||||
ParsingError(const QString &what);
|
||||
@ -94,7 +94,7 @@ public:
|
||||
/**
|
||||
* @brief The Parser class
|
||||
*/
|
||||
class LIBUTIL_EXPORT Parser
|
||||
class MULTIMC_UTIL_EXPORT Parser
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -1,28 +0,0 @@
|
||||
/* Copyright 2013-2015 MultiMC Contributors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QtCore/QtGlobal>
|
||||
|
||||
#ifdef LIBUTIL_STATIC
|
||||
#define LIBUTIL_EXPORT
|
||||
#else
|
||||
#ifdef LIBUTIL_LIBRARY
|
||||
#define LIBUTIL_EXPORT Q_DECL_EXPORT
|
||||
#else
|
||||
#define LIBUTIL_EXPORT Q_DECL_IMPORT
|
||||
#endif
|
||||
#endif
|
@ -3,7 +3,7 @@
|
||||
#include <QString>
|
||||
#include <QList>
|
||||
|
||||
#include "libutil_config.h"
|
||||
#include "multimc_util_export.h"
|
||||
|
||||
class QUrl;
|
||||
|
||||
@ -107,7 +107,7 @@ private:
|
||||
void parse();
|
||||
};
|
||||
|
||||
LIBUTIL_EXPORT bool versionIsInInterval(const QString &version, const QString &interval);
|
||||
LIBUTIL_EXPORT bool versionIsInInterval(const Version &version, const QString &interval);
|
||||
MULTIMC_UTIL_EXPORT bool versionIsInInterval(const QString &version, const QString &interval);
|
||||
MULTIMC_UTIL_EXPORT bool versionIsInInterval(const Version &version, const QString &interval);
|
||||
}
|
||||
|
||||
|
@ -18,12 +18,12 @@
|
||||
#include <QString>
|
||||
#include <QDir>
|
||||
|
||||
#include "libutil_config.h"
|
||||
#include "multimc_util_export.h"
|
||||
|
||||
LIBUTIL_EXPORT QString PathCombine(QString path1, QString path2);
|
||||
LIBUTIL_EXPORT QString PathCombine(QString path1, QString path2, QString path3);
|
||||
MULTIMC_UTIL_EXPORT QString PathCombine(QString path1, QString path2);
|
||||
MULTIMC_UTIL_EXPORT QString PathCombine(QString path1, QString path2, QString path3);
|
||||
|
||||
LIBUTIL_EXPORT QString AbsolutePath(QString path);
|
||||
MULTIMC_UTIL_EXPORT QString AbsolutePath(QString path);
|
||||
|
||||
/**
|
||||
* Normalize path
|
||||
@ -35,37 +35,37 @@ LIBUTIL_EXPORT QString AbsolutePath(QString path);
|
||||
*/
|
||||
QString NormalizePath(QString path);
|
||||
|
||||
LIBUTIL_EXPORT QString RemoveInvalidFilenameChars(QString string, QChar replaceWith = '-');
|
||||
MULTIMC_UTIL_EXPORT QString RemoveInvalidFilenameChars(QString string, QChar replaceWith = '-');
|
||||
|
||||
LIBUTIL_EXPORT QString DirNameFromString(QString string, QString inDir = ".");
|
||||
MULTIMC_UTIL_EXPORT QString DirNameFromString(QString string, QString inDir = ".");
|
||||
|
||||
/**
|
||||
* Creates all the folders in a path for the specified path
|
||||
* last segment of the path is treated as a file name and is ignored!
|
||||
*/
|
||||
LIBUTIL_EXPORT bool ensureFilePathExists(QString filenamepath);
|
||||
MULTIMC_UTIL_EXPORT bool ensureFilePathExists(QString filenamepath);
|
||||
|
||||
/**
|
||||
* Creates all the folders in a path for the specified path
|
||||
* last segment of the path is treated as a folder name and is created!
|
||||
*/
|
||||
LIBUTIL_EXPORT bool ensureFolderPathExists(QString filenamepath);
|
||||
MULTIMC_UTIL_EXPORT bool ensureFolderPathExists(QString filenamepath);
|
||||
|
||||
/**
|
||||
* Copy a folder recursively
|
||||
*/
|
||||
LIBUTIL_EXPORT bool copyPath(const QString &src, const QString &dst, bool follow_symlinks = true);
|
||||
MULTIMC_UTIL_EXPORT bool copyPath(const QString &src, const QString &dst, bool follow_symlinks = true);
|
||||
|
||||
/**
|
||||
* Delete a folder recursively
|
||||
*/
|
||||
LIBUTIL_EXPORT bool deletePath(QString path);
|
||||
MULTIMC_UTIL_EXPORT bool deletePath(QString path);
|
||||
|
||||
/// Opens the given file in the default application.
|
||||
LIBUTIL_EXPORT void openFileInDefaultProgram(QString filename);
|
||||
MULTIMC_UTIL_EXPORT void openFileInDefaultProgram(QString filename);
|
||||
|
||||
/// Opens the given directory in the default application.
|
||||
LIBUTIL_EXPORT void openDirInDefaultProgram(QString dirpath, bool ensureExists = false);
|
||||
MULTIMC_UTIL_EXPORT void openDirInDefaultProgram(QString dirpath, bool ensureExists = false);
|
||||
|
||||
/// Checks if the a given Path contains "!"
|
||||
LIBUTIL_EXPORT bool checkProblemticPathJava(QDir folder);
|
||||
MULTIMC_UTIL_EXPORT bool checkProblemticPathJava(QDir folder);
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
#include <QString>
|
||||
|
||||
#include "libutil_config.h"
|
||||
#include "multimc_util_export.h"
|
||||
|
||||
namespace Util
|
||||
{
|
||||
// Get the Directory representing the User's Desktop
|
||||
LIBUTIL_EXPORT QString getDesktopDir();
|
||||
MULTIMC_UTIL_EXPORT QString getDesktopDir();
|
||||
|
||||
// Create a shortcut at *location*, pointing to *dest* called with the arguments *args*
|
||||
// call it *name* and assign it the icon *icon*
|
||||
// return true if operation succeeded
|
||||
LIBUTIL_EXPORT bool createShortCut(QString location, QString dest, QStringList args,
|
||||
MULTIMC_UTIL_EXPORT bool createShortCut(QString location, QString dest, QStringList args,
|
||||
QString name, QString iconLocation);
|
||||
}
|
||||
|
@ -1,32 +1,26 @@
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
project(xz-embedded)
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
project(xz-embedded LANGUAGES C)
|
||||
|
||||
option(XZ_BUILD_BCJ "Build xz-embedded with BCJ support (native binary optimization)" OFF)
|
||||
option(XZ_BUILD_CRC64 "Build xz-embedded with CRC64 checksum support" ON)
|
||||
option(XZ_BUILD_MINIDEC "Build a tiny utility that decompresses xz streams" OFF)
|
||||
|
||||
set(CMAKE_C_FLAGS "-std=c99")
|
||||
|
||||
include_directories(include)
|
||||
set(XZ_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include" PARENT_SCOPE)
|
||||
|
||||
# See include/xz.h for manual feature configuration
|
||||
# tweak this list and xz.h to fit your needs
|
||||
|
||||
set(XZ_SOURCES
|
||||
include/xz.h
|
||||
src/xz_config.h
|
||||
src/xz_crc32.c
|
||||
src/xz_crc64.c
|
||||
src/xz_dec_lzma2.c
|
||||
src/xz_dec_stream.c
|
||||
src/xz_lzma2.h
|
||||
src/xz_private.h
|
||||
src/xz_stream.h
|
||||
# src/xz_dec_bcj.c
|
||||
)
|
||||
# TODO: look into what would be needed for plain old lzma
|
||||
|
||||
add_library(xz-embedded STATIC ${XZ_SOURCES})
|
||||
add_executable(xzminidec xzminidec.c)
|
||||
target_link_libraries(xzminidec xz-embedded)
|
||||
target_include_directories(xz-embedded PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
|
||||
set_property(TARGET xz-embedded PROPERTY C_STANDARD 99)
|
||||
|
||||
if(${XZ_BUILD_MINIDEC})
|
||||
add_executable(xzminidec xzminidec.c)
|
||||
target_link_libraries(xzminidec xz-embedded)
|
||||
set_property(TARGET xzminidec PROPERTY C_STANDARD 99)
|
||||
endif()
|
||||
|
@ -1,4 +1,4 @@
|
||||
project(MultiMC-Logic)
|
||||
project(MultiMC_logic)
|
||||
|
||||
set(LOGIC_SOURCES
|
||||
# LOGIC - Base classes and infrastructure
|
||||
@ -303,36 +303,18 @@ set(LOGIC_SOURCES
|
||||
)
|
||||
################################ COMPILE ################################
|
||||
|
||||
if(WIN32)
|
||||
add_definitions(-DZ_PREFIX)
|
||||
endif()
|
||||
# we need zlib
|
||||
find_package(ZLIB REQUIRED)
|
||||
|
||||
# Add common library
|
||||
add_library(MultiMC_logic SHARED ${LOGIC_SOURCES})
|
||||
|
||||
set_target_properties(MultiMC_logic PROPERTIES
|
||||
CXX_VISIBILITY_PRESET hidden
|
||||
VISIBILITY_INLINES_HIDDEN 1)
|
||||
set_target_properties(MultiMC_logic PROPERTIES CXX_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN 1)
|
||||
|
||||
generate_export_header(MultiMC_logic)
|
||||
|
||||
# Use system zlib on unix and Qt ZLIB on Windows
|
||||
if(UNIX)
|
||||
find_package(ZLIB REQUIRED)
|
||||
else(UNIX)
|
||||
get_filename_component(ZLIB_FOUND_DIR "${Qt5Core_DIR}/../../../include/QtZlib" ABSOLUTE)
|
||||
set(ZLIB_INCLUDE_DIRS ${ZLIB_FOUND_DIR} CACHE PATH "Path to ZLIB headers of Qt")
|
||||
set(ZLIB_LIBRARIES "")
|
||||
if(NOT EXISTS "${ZLIB_INCLUDE_DIRS}/zlib.h")
|
||||
message("Please specify a valid zlib include dir")
|
||||
endif(NOT EXISTS "${ZLIB_INCLUDE_DIRS}/zlib.h")
|
||||
endif(UNIX)
|
||||
|
||||
# Link
|
||||
target_link_libraries(MultiMC_logic xz-embedded unpack200 iconfix libUtil LogicalGui ${QUAZIP_LIBRARIES} nbt++
|
||||
Qt5::Core Qt5::Xml Qt5::Widgets Qt5::Network Qt5::Concurrent
|
||||
${ZLIB_LIBRARIES} ${MultiMC_LINK_ADDITIONAL_LIBS})
|
||||
|
||||
target_link_libraries(MultiMC_logic xz-embedded unpack200 iconfix MultiMC_util LogicalGui ${QUAZIP_LIBRARIES} nbt++ ${ZLIB_LIBRARIES})
|
||||
qt5_use_modules(MultiMC_logic Core Xml Widgets Network Concurrent)
|
||||
add_dependencies(MultiMC_logic QuaZIP)
|
||||
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
# Mark and export headers
|
||||
target_include_directories(MultiMC_logic PUBLIC "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}" PRIVATE "${ZLIB_INCLUDE_DIRS}")
|
||||
|
@ -1,21 +1,18 @@
|
||||
# run the unit tests with `make test`
|
||||
find_package(Qt5 COMPONENTS Test Core Network)
|
||||
|
||||
include_directories(../logic ${CMAKE_CURRENT_BINARY_DIR}/../logic)
|
||||
include_directories(../depends/util/include/)
|
||||
|
||||
unset(MultiMC_TESTS)
|
||||
macro(add_unit_test name)
|
||||
unset(srcs)
|
||||
foreach(arg ${testname} ${ARGN})
|
||||
list(APPEND srcs ${CMAKE_CURRENT_SOURCE_DIR}/${arg})
|
||||
if(WIN32)
|
||||
list(APPEND srcs ${CMAKE_CURRENT_SOURCE_DIR}/test.rc)
|
||||
endif()
|
||||
if(WIN32)
|
||||
list(APPEND srcs ${CMAKE_CURRENT_SOURCE_DIR}/test.rc)
|
||||
endif()
|
||||
endforeach()
|
||||
add_executable(tst_${name} ${srcs})
|
||||
qt5_use_modules(tst_${name} Test Core Network)
|
||||
target_link_libraries(tst_${name} MultiMC_logic)
|
||||
qt5_use_modules(tst_${name} Test Core Network)
|
||||
list(APPEND MultiMC_TESTS tst_${name})
|
||||
add_test(NAME ${name} COMMAND tst_${name})
|
||||
endmacro()
|
||||
|
Loading…
Reference in New Issue
Block a user