mirror of
https://github.com/monero-project/monero.git
synced 2024-12-27 05:59:28 +00:00
8db3d5731b
Add readline, ldns, graphviz, unbound to depends packages Add a cmake toolchain file to depends that is uniquely created for every build and placed in triple/share/toolchain.cmake This file is then passed to cmake with -DCMAKE_TOOLCHAIN_FILE=/path/to/triple/share/toolchain.cmake Add the boost locale package to depends In the depends cmake toolchain file, a DEPENDS flag is added to exclude, or change cmake checks done that are required for depends Link miniupnpc and unwind from depends and not external Add libiconv and icu4c to depends, required for mingw32 builds. Headers (winsock) need to be lower case in order to compile on unix systems. This should not affect building on windows.
67 lines
2.4 KiB
CMake
67 lines
2.4 KiB
CMake
# This file is part of MXE. See LICENSE.md for licensing information.
|
|
|
|
# https://cmake.org/cmake/help/latest
|
|
|
|
# Can't set `cmake_minimum_required` or `cmake_policy` in toolchain
|
|
# since toolchain is read before CMakeLists.txt
|
|
# See `target-cmake.in` for CMAKE_POLICY_DEFAULT_CMPNNNN
|
|
|
|
# Check if we are using mxe supplied version
|
|
# - toolchain is included multiple times so set a guard in
|
|
# environment to suppress duplicate messages
|
|
if(NOT ${CMAKE_COMMAND} STREQUAL @PREFIX@/@BUILD@/bin/cmake AND NOT DEFINED ENV{_MXE_CMAKE_TOOLCHAIN_INCLUDED})
|
|
message(WARNING "
|
|
** Warning: direct use of toolchain file is deprecated
|
|
** Please use prefixed wrapper script instead:
|
|
@TARGET@-cmake [options] <path-to-source>
|
|
- uses mxe supplied cmake version @CMAKE_VERSION@
|
|
- loads toolchain
|
|
- loads common run results
|
|
- sets various policy defaults
|
|
")
|
|
set(ENV{_MXE_CMAKE_TOOLCHAIN_INCLUDED} TRUE)
|
|
endif()
|
|
|
|
## General configuration
|
|
set(CMAKE_SYSTEM_NAME Windows)
|
|
set(MSYS 1)
|
|
set(CMAKE_EXPORT_NO_PACKAGE_REGISTRY ON)
|
|
# Workaround for https://www.cmake.org/Bug/view.php?id=14075
|
|
set(CMAKE_CROSS_COMPILING ON)
|
|
|
|
|
|
## Library config
|
|
set(BUILD_SHARED_LIBS @CMAKE_SHARED_BOOL@ CACHE BOOL "BUILD_SHARED_LIBS" FORCE)
|
|
set(BUILD_STATIC_LIBS @CMAKE_STATIC_BOOL@ CACHE BOOL "BUILD_STATIC_LIBS" FORCE)
|
|
set(BUILD_SHARED @CMAKE_SHARED_BOOL@ CACHE BOOL "BUILD_SHARED" FORCE)
|
|
set(BUILD_STATIC @CMAKE_STATIC_BOOL@ CACHE BOOL "BUILD_STATIC" FORCE)
|
|
set(LIBTYPE @LIBTYPE@)
|
|
|
|
|
|
## Paths etc.
|
|
set(CMAKE_FIND_ROOT_PATH @PREFIX@/@TARGET@)
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
|
set(CMAKE_PREFIX_PATH @PREFIX@/@TARGET@)
|
|
set(CMAKE_INSTALL_PREFIX @PREFIX@/@TARGET@ CACHE PATH "Installation Prefix")
|
|
# For custom mxe FindPackage scripts
|
|
set(CMAKE_MODULE_PATH "@PREFIX@/share/cmake/modules" ${CMAKE_MODULE_PATH})
|
|
|
|
|
|
## Programs
|
|
set(CMAKE_C_COMPILER @PREFIX@/bin/@TARGET@-gcc)
|
|
set(CMAKE_CXX_COMPILER @PREFIX@/bin/@TARGET@-g++)
|
|
set(CMAKE_Fortran_COMPILER @PREFIX@/bin/@TARGET@-gfortran)
|
|
set(CMAKE_RC_COMPILER @PREFIX@/bin/@TARGET@-windres)
|
|
# CMAKE_RC_COMPILE_OBJECT is defined in:
|
|
# <cmake root>/share/cmake-X.Y/Modules/Platform/Windows-windres.cmake
|
|
set(CPACK_NSIS_EXECUTABLE @TARGET@-makensis)
|
|
|
|
## Individual package configuration
|
|
file(GLOB mxe_cmake_files
|
|
"@CMAKE_TOOLCHAIN_DIR@/*.cmake"
|
|
)
|
|
foreach(mxe_cmake_file ${mxe_cmake_files})
|
|
include(${mxe_cmake_file})
|
|
endforeach()
|