You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

229 lines
5.2 KiB

cmake_minimum_required (VERSION 3.13)
project (amule)
set (MIN_BOOST_VERSION 1.47)
set (MIN_CRYPTOPP_VERSION 5.6)
set (MIN_GDLIB_VERSION 2.0.0)
set (MIN_WX_VERSION 2.8.12)
set (PACKAGE "amule")
set (PACKAGE_BUGREPORT "admin@amule.org")
set (PACKAGE_NAME "aMule")
set (PACKAGE_STRING "aMule SVN")
set (PACKAGE_TARNAME "amule")
set (PACKAGE_URL \"\")
set (PACKAGE_VERSION "SVN")
set (VERSION "GIT")
set (DEFAULT_BUILD_TYPE "Release")
set (RECONF_COMMAND ${CMAKE_COMMAND})
if (EXISTS "${CMAKE_SOURCE_DIR}/.git")
set (DEFAULT_BUILD_TYPE "Debug")
endif()
# Set the possible values of build type for cmake-gui
if (CMAKE_CONFIGURATION_TYPES)
set (CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE
STRING "Semicolon separated list of supported configuration types, only supports debug and release, anything else will be ignored" FORCE
)
set_property (CACHE CMAKE_CONFIGURATION_TYPES PROPERTY STRINGS
"Debug" "Release"
)
endif()
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message (STATUS "Setting build type to '${DEFAULT_BUILD_TYPE}' as none was specified.")
set (CMAKE_BUILD_TYPE "${DEFAULT_BUILD_TYPE}" CACHE
STRING "Choose the type of build." FORCE
)
endif()
include (cmake/CmDaB.cmake)
include (cmake/manpage_install.cmake)
include (cmake/options.cmake)
include (cmake/search-dirs.cmake)
if (BUILD_AMULECMD OR BUILD_WEBSERVER)
include (cmake/FindReadline.cmake)
endif()
if (BUILD_CAS)
include (cmake/gdlib.cmake)
include (cmake/getopt_long.cmake)
endif()
if (BUILD_PLASMAMULE)
find_package (Qt4 COMPONENTS QtCore QtGUI REQUIRED)
endif()
if (BUILD_WEBSERVER OR NEED_ZLIB)
include (cmake/zlib.cmake)
endif()
if (BUILD_WEBSERVER)
include (cmake/png.cmake)
endif()
if (ENABLE_BOOST)
include (cmake/boost.cmake)
endif()
if (ENABLE_IP2COUNTRY)
include (cmake/ip2country.cmake)
endif()
if (ENABLE_NLS)
include (cmake/nls.cmake)
endif()
if (ENABLE_UPNP)
include (cmake/upnp.cmake)
endif()
if (NEED_GLIB_CHECK)
include (cmake/glib21.cmake)
endif()
if (NEED_LIB_CRYPTO)
include (cmake/cryptopp.cmake)
endif()
if (wx_NEEDED)
include (cmake/wx.cmake)
endif()
if (NOT SVNDATE)
find_package (Git)
if (GIT_FOUND)
execute_process (
COMMAND ${GIT_EXECUTABLE} describe
OUTPUT_VARIABLE GIT_INFO_WC_REVISION
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
endif (GIT_FOUND)
set (SVNDATE "rev. ${GIT_INFO_WC_REVISION}" CACHE STRING "Revision to be written to version string" FORCE)
message (STATUS "git revision ${SVNDATE} found")
endif()
include (cmake/bfd.cmake)
configure_file (
config.h.cm
config.h
)
if (WIN32)
configure_file (
version.rc.in
version.rc
)
endif()
if (BUILD_MONOLITHIC)
install (FILES amule.desktop
DESTINATION "${CMAKE_INSTALL_DATADIR}/applications"
)
endif()
if (BUILD_REMOTEGUI)
install (FILES amulegui.desktop
DESTINATION "${CMAKE_INSTALL_DATADIR}/applications"
)
endif()
install (FILES org.amule.amule.metainfo.xml
DESTINATION "${CMAKE_INSTALL_DATADIR}/metainfo"
)
if (ENABLE_NLS)
include (FindGettext)
add_subdirectory (po)
endif()
add_subdirectory (docs)
add_subdirectory (src)
if (BUILD_TESTING)
enable_testing()
add_subdirectory (unittests)
endif()
message (STATUS "
Configured aMule ${PACKAGE_VERSION}${SVN_REVISION} for '${CMAKE_SYSTEM}' on '${CMAKE_SYSTEM_PROCESSOR}'.
aMule enabled options:
**** aMule Core ****
Prefix where aMule should be installed? ${CMAKE_PREFIX_PATH}
Should aMule be compiled with i18n support? ${ENABLE_NLS}
Which mode should aMule be compiled in? ${CMAKE_BUILD_TYPE}
Should aMule be compiled with UPnP support? ${ENABLE_UPNP}
Should aMule be compiled with IP2country support? ${ENABLE_IP2COUNTRY}
Should aMule monolithic application be built? ${BUILD_MONOLITHIC}
Should aMule daemon version be built? ${BUILD_DAEMON}
Should aMule remote gui be built? ${BUILD_REMOTEGUI}
**** aMule TextClient ****
Should aMule Command Line Client be built? ${BUILD_AMULECMD}
**** aMule WebServer ****
Should aMule WebServer be built? ${BUILD_WEBSERVER}
**** aMule ED2K Links Handler ****
Should aMule ED2K Links Handler be built? ${BUILD_ED2K}
**** aMuleLinkCreator ****
Should aMuleLinkCreator GUI version (alc) be built? ${BUILD_ALC}
Should aMuleLinkCreator for console (alcc) be built? ${BUILD_ALCC}
**** aMule Statistics ****
Should C aMule Statistics (CAS) be built? ${BUILD_CAS}
Should aMule GUI Statistics (wxCas) be built? ${BUILD_WXCAS}"
)
if (UNIX)
message (" Should xas XChat2 plugin be installed? ${BUILD_XAS}")
endif()
message ("
**** General Libraries and Tools ****
Should aMule file viewer for console be built? ${BUILD_FILEVIEW}
Libraries aMule will use to build:"
)
if (NEED_WX)
message (STATUS " wxWidgets ${WX_VERSION}")
endif()
if (ASIO_SOCKETS)
message (" boost ${Boost_VERSION}")
endif()
if (NEED_LIB_CRYPTO)
message (" crypto++ ${CRYPTOPP_VERSION} in ${CRYPTOPP_INCLUDE_PREFIX}")
endif()
if (ENABLE_UPNP)
message (" libupnp ${LIBUPNP_VERSION}")
endif()
message (" libintl ${ENABLE_NLS}")
if (ENABLE_IP2COUNTRY)
message (" libGeoIP ${GEOIP_LIB}")
endif()
if (BUILD_WEBSERVER)
message (" libpng ${PNG_VERSION_STRING}")
endif()
if (BUILD_CAS)
message (" libgd ${gdlib_VERSION}")
endif()
if (NEED_ZLIB)
message (" zlib ${ZLIB_VERSION_STRING}")
endif()