PrismLauncher/libmultimc/CMakeLists.txt

95 lines
1.7 KiB
CMake

project(libMultiMC)
set(CMAKE_AUTOMOC ON)
# Find Qt
find_package(Qt5Core REQUIRED)
find_package(Qt5Network REQUIRED)
find_package(Qt5Xml REQUIRED)
# Include Qt headers.
include_directories(${Qt5Base_INCLUDE_DIRS})
include_directories(${Qt5Network_INCLUDE_DIRS})
# Include utility library.
include_directories(${CMAKE_SOURCE_DIR}/libutil/include)
# Include settings library.
include_directories(${CMAKE_SOURCE_DIR}/libsettings/include)
SET(LIBINST_HEADERS
include/libmmc_config.h
# Instance Stuff
include/instance.h
include/instancelist.h
include/instanceloader.h
include/instversion.h
include/instversionlist.h
include/minecraftversion.h
include/minecraftversionlist.h
# Tasks
include/task.h
include/logintask.h
include/gameupdatetask.h
# Login Data
include/userinfo.h
include/loginresponse.h
# Misc Data
include/version.h
include/appsettings.h
include/minecraftprocess.h
)
SET(LIBINST_SOURCES
# Instance Stuff
src/instance.cpp
src/instancelist.cpp
src/instanceloader.cpp
src/instversion.cpp
src/instversionlist.cpp
src/minecraftversion.cpp
src/minecraftversionlist.cpp
# Tasks
src/task.cpp
src/logintask.cpp
src/gameupdatetask.cpp
# Login Data
src/userinfo.cpp
src/loginresponse.cpp
# Misc Data
src/version.cpp
src/appsettings.cpp
src/minecraftprocess.cpp
)
# Set the include dir path.
SET(LIBMULTIMC_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(-DLIBMULTIMC_LIBRARY)
add_library(libMultiMC SHARED ${LIBINST_SOURCES} ${LIBINST_HEADERS})
qt5_use_modules(libMultiMC Core Network Xml)
target_link_libraries(libMultiMC libUtil libSettings)