SuperTuxKart 1.5 upstream source (from official release tarball)
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# Build type STKRelease is similar to Release provided by CMake,
|
||||
# but it uses a lower optimization level
|
||||
|
||||
set(CMAKE_CXX_FLAGS_STKRELEASE "-O2 -DNDEBUG" CACHE STRING
|
||||
"Flags used by the C++ compiler during STK release builds."
|
||||
FORCE)
|
||||
set(CMAKE_C_FLAGS_STKRELEASE "-O2 -DNDEBUG" CACHE STRING
|
||||
"Flags used by the C compiler during STK release builds."
|
||||
FORCE)
|
||||
set(CMAKE_EXE_LINKER_FLAGS_STKRELEASE
|
||||
"" CACHE STRING
|
||||
"Flags used for linking binaries during STK release builds."
|
||||
FORCE)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_STKRELEASE
|
||||
"" CACHE STRING
|
||||
"Flags used by the shared libraries linker during STK release builds."
|
||||
FORCE)
|
||||
|
||||
mark_as_advanced(
|
||||
CMAKE_CXX_FLAGS_STKRELEASE
|
||||
CMAKE_C_FLAGS_STKRELEASE
|
||||
CMAKE_EXE_LINKER_FLAGS_STKRELEASE
|
||||
CMAKE_SHARED_LINKER_FLAGS_STKRELEASE)
|
||||
|
||||
set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING
|
||||
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel STKRelease."
|
||||
FORCE)
|
||||
@@ -0,0 +1,33 @@
|
||||
# - Try to find angelscript
|
||||
# Once done this will define
|
||||
#
|
||||
# ANGELSCRIPT_FOUND - system has angelscript
|
||||
# Angelscript_INCLUDE_DIRS - the angelscript include directory
|
||||
# Angelscript_LIBRARIES - the libraries needed to use angelscript
|
||||
#
|
||||
|
||||
FIND_PATH(Angelscript_INCLUDE_DIRS angelscript.h
|
||||
PATHS
|
||||
/usr/local
|
||||
/usr
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(Angelscript_LIBRARY
|
||||
NAMES angelscript angelscript_s
|
||||
PATHS
|
||||
/usr/local
|
||||
/usr
|
||||
PATH_SUFFIXES lib lib64 lib32
|
||||
)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set ANGELSCRIPT_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Angelscript DEFAULT_MSG Angelscript_LIBRARY Angelscript_INCLUDE_DIRS)
|
||||
|
||||
IF (ANGELSCRIPT_FOUND)
|
||||
SET(Angelscript_LIBRARIES ${Angelscript_LIBRARY})
|
||||
ENDIF (ANGELSCRIPT_FOUND)
|
||||
|
||||
MARK_AS_ADVANCED(Angelscript_LIBRARY Angelscript_LIBRARIES Angelscript_INCLUDE_DIRS)
|
||||
@@ -0,0 +1,18 @@
|
||||
# - Find EGL
|
||||
# Find the EGL includes and libraries
|
||||
#
|
||||
# Following variables are provided:
|
||||
# EGL_FOUND
|
||||
# True if EGL has been found
|
||||
# EGL_INCLUDE_DIR
|
||||
# The include directory of EGL
|
||||
# EGL_LIBRARY
|
||||
# EGL library list
|
||||
|
||||
find_path(EGL_INCLUDE_DIR EGL/egl.h)
|
||||
find_library(EGL_LIBRARY NAMES EGL)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(EGL DEFAULT_MSG EGL_LIBRARY EGL_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(EGL_LIBRARY EGL_INCLUDE_DIR)
|
||||
@@ -0,0 +1,25 @@
|
||||
# - Find Freetype
|
||||
# Find the Freetype includes and libraries
|
||||
#
|
||||
# Following variables are provided:
|
||||
# FREETYPE_FOUND
|
||||
# True if Freetype has been found
|
||||
# FREETYPE_INCLUDE_DIRS
|
||||
# The include directories of Freetype
|
||||
# FREETYPE_LIBRARIES
|
||||
# Freetype library list
|
||||
|
||||
if(WIN32)
|
||||
find_path(FREETYPE_INCLUDE_DIRS NAMES freetype/freetype.h PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include/freetype2")
|
||||
find_library(FREETYPE_LIBRARY NAMES freetype libfreetype PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
|
||||
set(FREETYPE_FOUND 1)
|
||||
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
|
||||
elseif(APPLE OR ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
find_path(FREETYPE_INCLUDE_DIRS NAMES ft2build.h PATH_SUFFIXES freetype2 include/freetype2 include)
|
||||
find_library(FREETYPE_LIBRARY NAMES freetype)
|
||||
set(FREETYPE_FOUND 1)
|
||||
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
|
||||
else()
|
||||
pkg_check_modules(FREETYPE freetype2)
|
||||
endif()
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
# - Try to find libbfd
|
||||
# Once done this will define
|
||||
#
|
||||
# LIBBFD_FOUND - system has libbfd
|
||||
# LIBBFD_INCLUDE_DIRS - the libbfd include directory
|
||||
# LIBBFD_LIBRARIES - Link these to use libbfd
|
||||
# LIBBFD_DEFINITIONS - Compiler switches required for using libbfd
|
||||
#
|
||||
# Based on:
|
||||
#
|
||||
# Copyright (c) 2008 Bernhard Walle <bernhard.walle@gmx.de>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the New
|
||||
# BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
#
|
||||
|
||||
|
||||
if (LIBBFD_LIBRARIES AND LIBBFD_INCLUDE_DIRS)
|
||||
set (LIBBFD_FIND_QUIETLY TRUE)
|
||||
endif ()
|
||||
|
||||
find_path (LIBBFD_INCLUDE_DIRS
|
||||
NAMES
|
||||
bfd.h
|
||||
dis-asm.h
|
||||
PATHS
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
/opt/include
|
||||
ENV CPATH)
|
||||
|
||||
# Ugly, yes ugly...
|
||||
find_library (LIBBFD_BFD_LIBRARY
|
||||
NAMES
|
||||
bfd
|
||||
PATHS
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/usr/include
|
||||
/opt/local/lib
|
||||
/opt/usr/lib64
|
||||
ENV LIBRARY_PATH
|
||||
ENV LD_LIBRARY_PATH)
|
||||
|
||||
#find_library (LIBBFD_IBERTY_LIBRARY
|
||||
# NAMES
|
||||
# iberty
|
||||
# PATHS
|
||||
# /usr/lib
|
||||
# /usr/lib64
|
||||
# /usr/local/lib
|
||||
# /usr/local/lib64
|
||||
# /usr/include
|
||||
# /opt/local/lib
|
||||
# /opt/usr/lib64
|
||||
# ENV LIBRARY_PATH
|
||||
# ENV LD_LIBRARY_PATH)
|
||||
|
||||
#find_library (LIBBFD_OPCODES_LIBRARY
|
||||
# NAMES
|
||||
# opcodes
|
||||
# PATHS
|
||||
# /usr/lib
|
||||
# /usr/lib64
|
||||
# /usr/local/lib
|
||||
# /usr/local/lib64
|
||||
# /usr/include
|
||||
# /opt/local/lib
|
||||
# /opt/usr/lib64
|
||||
# ENV LIBRARY_PATH
|
||||
# ENV LD_LIBRARY_PATH)
|
||||
|
||||
|
||||
include (FindPackageHandleStandardArgs)
|
||||
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set LIBBFD_FOUND to TRUE if all listed variables are TRUE
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBBFD DEFAULT_MSG
|
||||
LIBBFD_BFD_LIBRARY
|
||||
# LIBBFD_IBERTY_LIBRARY
|
||||
# LIBBFD_OPCODES_LIBRARY
|
||||
LIBBFD_INCLUDE_DIRS)
|
||||
|
||||
set(LIBBFD_LIBRARIES "${LIBBFD_BFD_LIBRARY}")
|
||||
mark_as_advanced(LIBBFD_INCLUDE_DIRS LIBBFD_LIBRARIES LIBBFD_BFD_LIBRARY)
|
||||
@@ -0,0 +1,37 @@
|
||||
# - Find OggVorbis
|
||||
# Find the OggVorbis includes and libraries
|
||||
#
|
||||
# Following variables are provided:
|
||||
# OGGVORBIS_FOUND
|
||||
# True if OggVorbis has been found
|
||||
# OGGVORBIS_INCLUDE_DIRS
|
||||
# The include directories of OggVorbis
|
||||
# OGGVORBIS_LIBRARIES
|
||||
# OggVorbis library list
|
||||
|
||||
|
||||
if((UNIX AND NOT APPLE) OR NINTENDO_SWITCH)
|
||||
pkg_check_modules(OGGVORBIS vorbisfile)
|
||||
else()
|
||||
|
||||
find_path(OGGVORBIS_OGG_INCLUDE_DIR NAMES ogg/ogg.h PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
|
||||
find_path(OGGVORBIS_VORBIS_INCLUDE_DIR NAMES vorbis/vorbisfile.h PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
|
||||
find_library(OGGVORBIS_OGG_LIBRARY NAMES ogg Ogg libogg PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
|
||||
find_library(OGGVORBIS_VORBIS_LIBRARY NAMES vorbis Vorbis libvorbis PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
|
||||
find_library(OGGVORBIS_VORBISFILE_LIBRARY NAMES vorbisfile libvorbisfile PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
|
||||
find_library(OGGVORBIS_VORBISENC_LIBRARY NAMES vorbisenc libvorbisenc PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
|
||||
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(OggVorbis DEFAULT_MSG
|
||||
OGGVORBIS_OGG_INCLUDE_DIR OGGVORBIS_VORBIS_INCLUDE_DIR
|
||||
OGGVORBIS_OGG_LIBRARY OGGVORBIS_VORBIS_LIBRARY OGGVORBIS_VORBISFILE_LIBRARY)
|
||||
|
||||
# Publish variables
|
||||
set(OGGVORBIS_INCLUDE_DIRS ${OGGVORBIS_OGG_INCLUDE_DIR} ${OGGVORBIS_VORBIS_INCLUDE_DIR})
|
||||
set(OGGVORBIS_LIBRARIES ${OGGVORBIS_OGG_LIBRARY} ${OGGVORBIS_VORBIS_LIBRARY} ${OGGVORBIS_VORBISFILE_LIBRARY} ${OGGVORBIS_VORBISENC_LIBRARY})
|
||||
list(REMOVE_DUPLICATES OGGVORBIS_INCLUDE_DIRS)
|
||||
list(REMOVE_DUPLICATES OGGVORBIS_LIBRARIES)
|
||||
mark_as_advanced(OGGVORBIS_OGG_INCLUDE_DIR OGGVORBIS_VORBIS_INCLUDE_DIR)
|
||||
mark_as_advanced(OGGVORBIS_OGG_LIBRARY OGGVORBIS_VORBIS_LIBRARY OGGVORBIS_VORBISFILE_LIBRARY OGGVORBIS_VORBISENC_LIBRARY)
|
||||
endif()
|
||||
@@ -0,0 +1,66 @@
|
||||
# - Find Wayland
|
||||
# Find the Wayland includes and libraries
|
||||
#
|
||||
# Following variables are provided:
|
||||
# WAYLAND_FOUND
|
||||
# True if Wayland has been found
|
||||
# WAYLAND_INCLUDE_DIRS
|
||||
# The include directories of Wayland
|
||||
# WAYLAND_LIBRARIES
|
||||
# Wayland library list
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
|
||||
if(NOT PKGCONFIG_FOUND)
|
||||
message(FATAL_ERROR "Pkg-config not found.")
|
||||
endif()
|
||||
|
||||
pkg_check_modules(PKG_WAYLAND QUIET wayland-client)
|
||||
|
||||
if(PKG_WAYLAND_FOUND)
|
||||
set(WAYLAND_VERSION ${PKG_WAYLAND_VERSION})
|
||||
else()
|
||||
set(WAYLAND_VERSION 0)
|
||||
endif()
|
||||
|
||||
find_path(WAYLAND_CLIENT_INCLUDE_DIR wayland-client.h)
|
||||
find_path(WAYLAND_CURSOR_INCLUDE_DIR wayland-cursor.h)
|
||||
find_path(WAYLAND_EGL_INCLUDE_DIR wayland-egl.h)
|
||||
find_path(XKBCOMMON_INCLUDE_DIR xkbcommon/xkbcommon.h)
|
||||
|
||||
find_library(WAYLAND_CLIENT_LIBRARY NAMES wayland-client)
|
||||
find_library(WAYLAND_CURSOR_LIBRARY NAMES wayland-cursor)
|
||||
find_library(WAYLAND_EGL_LIBRARY NAMES wayland-egl)
|
||||
find_library(XKBCOMMON_LIBRARY NAMES xkbcommon)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(Wayland DEFAULT_MSG WAYLAND_CLIENT_LIBRARY
|
||||
WAYLAND_CURSOR_LIBRARY
|
||||
WAYLAND_EGL_LIBRARY
|
||||
XKBCOMMON_LIBRARY
|
||||
WAYLAND_CLIENT_INCLUDE_DIR
|
||||
WAYLAND_CURSOR_INCLUDE_DIR
|
||||
WAYLAND_EGL_INCLUDE_DIR
|
||||
XKBCOMMON_INCLUDE_DIR)
|
||||
|
||||
set(WAYLAND_INCLUDE_DIRS ${WAYLAND_CLIENT_INCLUDE_DIR}
|
||||
${WAYLAND_CURSOR_INCLUDE_DIR}
|
||||
${WAYLAND_EGL_INCLUDE_DIR}
|
||||
${XKBCOMMON_INCLUDE_DIR})
|
||||
|
||||
set(WAYLAND_LIBRARIES ${WAYLAND_CLIENT_LIBRARY}
|
||||
${WAYLAND_CURSOR_LIBRARY}
|
||||
${WAYLAND_EGL_LIBRARY}
|
||||
${XKBCOMMON_LIBRARY})
|
||||
|
||||
list(REMOVE_DUPLICATES WAYLAND_INCLUDE_DIRS)
|
||||
list(REMOVE_DUPLICATES WAYLAND_LIBRARIES)
|
||||
|
||||
mark_as_advanced(WAYLAND_CLIENT_LIBRARY
|
||||
WAYLAND_CURSOR_LIBRARY
|
||||
WAYLAND_EGL_LIBRARY
|
||||
XKBCOMMON_LIBRARY
|
||||
WAYLAND_CLIENT_INCLUDE_DIR
|
||||
WAYLAND_CURSOR_INCLUDE_DIR
|
||||
WAYLAND_EGL_INCLUDE_DIR
|
||||
XKBCOMMON_INCLUDE_DIR)
|
||||
@@ -0,0 +1,99 @@
|
||||
# - try to find WiiUse library
|
||||
#
|
||||
# Cache Variables: (probably not for direct use in your scripts)
|
||||
# WIIUSE_INCLUDE_DIR
|
||||
# WIIUSE_LIBRARY
|
||||
#
|
||||
# Non-cache variables you might use in your CMakeLists.txt:
|
||||
# WIIUSE_FOUND
|
||||
# WIIUSE_INCLUDE_DIRS
|
||||
# WIIUSE_LIBRARIES
|
||||
# WIIUSE_RUNTIME_LIBRARIES - aka the dll for installing
|
||||
# WIIUSE_RUNTIME_LIBRARY_DIRS
|
||||
#
|
||||
# Requires these CMake modules:
|
||||
# FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
|
||||
#
|
||||
# Original Author:
|
||||
# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
|
||||
# http://academic.cleardefinition.com
|
||||
# Iowa State University HCI Graduate Program/VRAC
|
||||
#
|
||||
# Copyright Iowa State University 2009-2010.
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# (See accompanying file LICENSE_1_0.txt or copy at
|
||||
# http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
set(WIIUSE_ROOT_DIR
|
||||
"${WIIUSE_ROOT_DIR}"
|
||||
CACHE
|
||||
PATH
|
||||
"Directory to search for WiiUse")
|
||||
|
||||
if(CMAKE_SIZEOF_VOID_P MATCHES "8")
|
||||
set(_LIBSUFFIXES /lib64 /lib)
|
||||
else()
|
||||
set(_LIBSUFFIXES /lib)
|
||||
endif()
|
||||
|
||||
find_library(WIIUSE_LIBRARY
|
||||
NAMES
|
||||
wiiuse
|
||||
PATHS
|
||||
"${WIIUSE_ROOT_DIR}"
|
||||
PATH_SUFFIXES
|
||||
"${_LIBSUFFIXES}")
|
||||
|
||||
get_filename_component(_libdir "${WIIUSE_LIBRARY}" PATH)
|
||||
|
||||
find_path(WIIUSE_INCLUDE_DIR
|
||||
NAMES
|
||||
wiiuse.h
|
||||
HINTS
|
||||
"${_libdir}"
|
||||
"${_libdir}/.."
|
||||
PATHS
|
||||
"${WIIUSE_ROOT_DIR}"
|
||||
PATH_SUFFIXES
|
||||
include/)
|
||||
|
||||
set(_deps_check)
|
||||
if(WIN32)
|
||||
find_file(WIIUSE_RUNTIME_LIBRARY
|
||||
NAMES
|
||||
wiiuse.dll
|
||||
HINTS
|
||||
"${_libdir}"
|
||||
"${_libdir}/.."
|
||||
PATH_SUFFIXES
|
||||
bin)
|
||||
|
||||
set(WIIUSE_RUNTIME_LIBRARIES "${WIIUSE_RUNTIME_LIBRARY}")
|
||||
get_filename_component(WIIUSE_RUNTIME_LIBRARY_DIRS
|
||||
"${WIIUSE_RUNTIME_LIBRARY}"
|
||||
PATH)
|
||||
list(APPEND _deps_check WIIUSE_RUNTIME_LIBRARY)
|
||||
else()
|
||||
set(WIIUSE_RUNTIME_LIBRARY "${WIIUSE_LIBRARY}")
|
||||
set(WIIUSE_RUNTIME_LIBRARIES "${WIIUSE_RUNTIME_LIBRARY}")
|
||||
get_filename_component(WIIUSE_RUNTIME_LIBRARY_DIRS
|
||||
"${WIIUSE_LIBRARY}"
|
||||
PATH)
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(WiiUse
|
||||
DEFAULT_MSG
|
||||
WIIUSE_LIBRARY
|
||||
WIIUSE_INCLUDE_DIR
|
||||
${_deps_check})
|
||||
|
||||
if(WIIUSE_FOUND)
|
||||
set(WIIUSE_LIBRARIES "${WIIUSE_LIBRARY}")
|
||||
set(WIIUSE_INCLUDE_DIRS "${WIIUSE_INCLUDE_DIR}")
|
||||
mark_as_advanced(WIIUSE_ROOT_DIR)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(WIIUSE_INCLUDE_DIR
|
||||
WIIUSE_LIBRARY
|
||||
WIIUSE_RUNTIME_LIBRARY)
|
||||
@@ -0,0 +1,39 @@
|
||||
# Generate source groups which mimic the original folder hierarchy.
|
||||
# This is mainly useful for MSVC's project explorer
|
||||
# - SRCS list of source files
|
||||
# - HDRS list of header files
|
||||
function(source_group_hierarchy SRCS HDRS)
|
||||
if(MSVC)
|
||||
# This removes the 'Source Files' folder, which is
|
||||
# not really necessary. Also, put header and source
|
||||
# files into the same folder
|
||||
foreach(source_file ${${SRCS}})
|
||||
source_group_file(${source_file} "")
|
||||
endforeach()
|
||||
foreach(header_file ${${HDRS}})
|
||||
source_group_file(${header_file} "")
|
||||
endforeach()
|
||||
else()
|
||||
foreach(source_file ${${SRCS}})
|
||||
source_group_file(${source_file} "Source Files\\")
|
||||
endforeach()
|
||||
foreach(header_file ${${HDRS}})
|
||||
source_group_file(${header_file} "Source Files\\")
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
endfunction()
|
||||
|
||||
# Determine source_group depending on file path
|
||||
# - FILE path to a file (header or source)
|
||||
# - GROUP_PREFIX prefix for group name
|
||||
function(source_group_file file group_prefix)
|
||||
get_filename_component(file_path ${file} PATH)
|
||||
if(${file_path} STREQUAL "src")
|
||||
source_group("${group_prefix}" FILES ${file})
|
||||
else()
|
||||
string(REGEX REPLACE "^src/(.*)$" "\\1" group_name ${file_path})
|
||||
string(REPLACE "/" "\\\\" group_name ${group_name})
|
||||
source_group("${group_prefix}${group_name}" FILES ${file})
|
||||
endif()
|
||||
endfunction()
|
||||
@@ -0,0 +1,40 @@
|
||||
# Cross-compiling requires CMake 2.6 or newer. Example:
|
||||
# cmake .. -DCMAKE_TOOLCHAIN_FILE=../XCompile-Android.txt -DHOST=arm-linux-androideabi
|
||||
# Where 'arm-linux-androideabi' is the host prefix for the cross-compiler. If
|
||||
# you already have a toolchain file setup, you may use that instead of this
|
||||
# file. Make sure to set CMAKE_FIND_ROOT_PATH to where the NDK toolchain was
|
||||
# installed (e.g. "$ENV{HOME}/toolchains/arm-linux-androideabi-r10c-21").
|
||||
|
||||
# the name of the target operating system
|
||||
SET(CMAKE_SYSTEM_NAME Linux)
|
||||
|
||||
# which compilers to use for C and C++
|
||||
SET(CMAKE_C_COMPILER "${HOST}-clang")
|
||||
SET(CMAKE_CXX_COMPILER "${HOST}-clang++")
|
||||
|
||||
set(CMAKE_SYSTEM_PROCESSOR ${ARCH})
|
||||
|
||||
# Starting NDK21 it enables NEON by default on 32-bit ARM target
|
||||
# Disable it to support more devices
|
||||
if("${ARCH}" STREQUAL "arm" AND NOT STK_ARM_NEON)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpu=vfpv3-d16")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpu=vfpv3-d16")
|
||||
endif()
|
||||
|
||||
# here is the target environment located
|
||||
SET(CMAKE_FIND_ROOT_PATH $ENV{NDK_TOOLCHAIN_PATH})
|
||||
|
||||
# here is where stuff gets installed to
|
||||
SET(CMAKE_INSTALL_PREFIX "${CMAKE_FIND_ROOT_PATH}" CACHE STRING "Install path prefix, prepended onto install directories." FORCE)
|
||||
|
||||
# adjust the default behaviour of the FIND_XXX() commands:
|
||||
# search headers and libraries in the target environment, search
|
||||
# programs in the host environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
# set env vars so that pkg-config will look in the appropriate directory for
|
||||
# .pc files (as there seems to be no way to force using ${HOST}-pkg-config)
|
||||
set(ENV{PKG_CONFIG_LIBDIR} "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
|
||||
set(ENV{PKG_CONFIG_PATH} "")
|
||||
@@ -0,0 +1,56 @@
|
||||
# Usage:
|
||||
# cmake .. -DCCTOOLS_PREFIX=/path/to/cctools -DCCTOOLS_ARCH=arch -DCCTOOLS_PLATFORM=platform \
|
||||
# -DRT=/path/to/cctools/darwin/libclang_rt.{ios, iossim, osx, tvos, tvossim}.a -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-cctools.cmake
|
||||
# Download precompiled cctools at https://github.com/supertuxkart/dependencies/releases/download/preview/cctools.tar.xz
|
||||
# Compiled in Ubuntu 18.04
|
||||
|
||||
# the name of the target operating system
|
||||
SET(CMAKE_SYSTEM_NAME Darwin)
|
||||
|
||||
# which compilers to use for C and C++
|
||||
string(TOLOWER "${CCTOOLS_PLATFORM}" platform_lower)
|
||||
set(CLANG_ARCH ${CCTOOLS_ARCH})
|
||||
if(CCTOOLS_ARCH MATCHES ^arm)
|
||||
set(CLANG_ARCH arm)
|
||||
else()
|
||||
set(CLANG_ARCH ${CCTOOLS_ARCH})
|
||||
endif()
|
||||
|
||||
SET(CMAKE_C_COMPILER ${CCTOOLS_PREFIX}/bin/${CCTOOLS_ARCH}-${platform_lower}-clang)
|
||||
SET(CMAKE_CXX_COMPILER ${CCTOOLS_PREFIX}/bin/${CCTOOLS_ARCH}-${platform_lower}-clang++)
|
||||
SET(CMAKE_RANLIB ${CCTOOLS_PREFIX}/bin/${CLANG_ARCH}-apple-darwin11-ranlib)
|
||||
SET(CMAKE_AR ${CCTOOLS_PREFIX}/bin/${CLANG_ARCH}-apple-darwin11-ar)
|
||||
SET(CMAKE_INSTALL_NAME_TOOL ${CCTOOLS_PREFIX}/bin/${CLANG_ARCH}-apple-darwin11-install_name_tool)
|
||||
SET(CMAKE_SYSTEM_PROCESSOR ${CCTOOLS_ARCH})
|
||||
SET(CMAKE_MACOSX_RPATH TRUE)
|
||||
SET(CMAKE_EXE_LINKER_FLAGS ${RT})
|
||||
|
||||
# here is the target environment located
|
||||
SET(CMAKE_FIND_ROOT_PATH ${PROJECT_SOURCE_DIR}/dependencies-${platform_lower} ${CCTOOLS_PREFIX}/sdk/${CCTOOLS_PLATFORM}.sdk)
|
||||
|
||||
# adjust the default behaviour of the FIND_XXX() commands:
|
||||
# search headers and libraries in the target environment, search
|
||||
# programs in the host environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ALWAYS)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
# fix statically linking because of order
|
||||
if (NOT CCTOOLS_PLATFORM MATCHES MacOSX)
|
||||
set(CURL_LIBRARY "${PROJECT_SOURCE_DIR}/dependencies-${platform_lower}/lib/libcurl.a;${PROJECT_SOURCE_DIR}/dependencies-${platform_lower}/lib/libmbedtls.a;${PROJECT_SOURCE_DIR}/dependencies-${platform_lower}/lib/libmbedx509.a")
|
||||
endif()
|
||||
set(USE_CRYPTO_OPENSSL FALSE CACHE BOOL "")
|
||||
|
||||
if (NOT CCTOOLS_PLATFORM MATCHES MacOSX)
|
||||
set(USE_WIIUSE FALSE CACHE BOOL "")
|
||||
set(USE_SQLITE3 FALSE CACHE BOOL "")
|
||||
set(IOS TRUE CACHE BOOL "")
|
||||
endif()
|
||||
|
||||
if(CCTOOLS_ARCH MATCHES "x86_64")
|
||||
set(ISPC_ARCH "x86-64")
|
||||
elseif(CCTOOLS_ARCH MATCHES "arm64")
|
||||
set(ISPC_ARCH "aarch64")
|
||||
else()
|
||||
set(ISPC_ARCH unknown)
|
||||
endif()
|
||||
@@ -0,0 +1,127 @@
|
||||
# Usage:
|
||||
# cmake .. -DDEPS_PATH=/path/to/dependencies -DIOS_ASSETS=/path/to/generated/assets -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-ios-xcode.cmake -G Xcode
|
||||
# Need to use ../android/generate_assets.sh for assets first
|
||||
# In Xcode you need to choose Product -> Scheme -> supertuxkart
|
||||
# And then Signing & Capabilities choose a suitable team
|
||||
# You may need to use another bundle identifier as the current one is already used by STK team
|
||||
# You can also use -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=xxxxxxxxxx to specify team
|
||||
|
||||
# Increase every upload to App store
|
||||
SET(IOS_BUILD_VERSION 26)
|
||||
|
||||
# Get SDK path
|
||||
execute_process(COMMAND xcodebuild -version -sdk iphoneos Path
|
||||
OUTPUT_VARIABLE CMAKE_OSX_SYSROOT_IOS
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND xcodebuild -version -sdk iphonesimulator Path
|
||||
OUTPUT_VARIABLE CMAKE_OSX_SYSROOT_SIMULATOR
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND xcodebuild -sdk ${CMAKE_OSX_SYSROOT} -version SDKVersion
|
||||
OUTPUT_VARIABLE SDK_VERSION
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if (NOT DEFINED CMAKE_OSX_SYSROOT_IOS OR NOT DEFINED CMAKE_OSX_SYSROOT_SIMULATOR OR NOT DEFINED SDK_VERSION)
|
||||
message(FATAL_ERROR "Cannot find iphoneos or iphonesimulator sdk location and their version info.")
|
||||
else()
|
||||
message(STATUS "Using SDK path: ${CMAKE_OSX_SYSROOT_IOS}.")
|
||||
endif()
|
||||
set(CMAKE_OSX_SYSROOT "iphoneos" CACHE INTERNAL "")
|
||||
|
||||
# Manaully set the values for both arm64 and simulator
|
||||
set(JPEG_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libjpeg.a CACHE STRING "")
|
||||
set(JPEG_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
|
||||
set(ZLIB_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libz.a CACHE STRING "")
|
||||
set(ZLIB_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
|
||||
set(PNG_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libpng16.a CACHE STRING "")
|
||||
set(PNG_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
|
||||
set(PNG_PNG_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
|
||||
set(OGGVORBIS_OGG_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libogg.a CACHE STRING "")
|
||||
set(OGGVORBIS_OGG_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include/ogg CACHE STRING "")
|
||||
set(OGGVORBIS_VORBIS_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libvorbis.a CACHE STRING "")
|
||||
set(OGGVORBIS_VORBIS_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include/vorbis CACHE STRING "")
|
||||
set(OGGVORBIS_VORBISFILE_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libvorbisfile.a CACHE STRING "")
|
||||
set(OGGVORBIS_VORBISFILE_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include/vorbis CACHE STRING "")
|
||||
set(OGGVORBIS_VORBISENC_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libvorbisenc.a CACHE STRING "")
|
||||
set(OGGVORBIS_VORBISENC_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include/vorbis CACHE STRING "")
|
||||
set(HARFBUZZ_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libharfbuzz.a CACHE STRING "")
|
||||
set(HARFBUZZ_INCLUDEDIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
|
||||
set(FREETYPE_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libfreetype.a CACHE STRING "")
|
||||
set(FREETYPE_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include/freetype2 CACHE STRING "")
|
||||
set(CURL_LIBRARY "${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libcurl.a;${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libmbedtls.a;${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libmbedx509.a;${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libmbedcrypto.a" CACHE STRING "")
|
||||
set(CURL_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
|
||||
set(MBEDCRYPTO_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libmbedcrypto.a CACHE STRING "")
|
||||
set(MBEDTLS_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
|
||||
set(SDL2_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libSDL2.a CACHE STRING "")
|
||||
set(SDL2_INCLUDEDIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include/SDL2 CACHE STRING "")
|
||||
set(LIBSAMPLERATE_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libsamplerate.a CACHE STRING "")
|
||||
set(LIBSAMPLERATE_INCLUDEDIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
|
||||
set(MOLTENVK_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libMoltenVK.a CACHE STRING "")
|
||||
set(VULKAN_INCLUDEDIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
|
||||
set(LIBASTCENC_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libastcenc.a CACHE STRING "")
|
||||
set(LIBASTCENC_INCLUDEDIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
|
||||
set(SHADERC_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libshaderc_combined.a CACHE STRING "")
|
||||
set(SHADERC_INCLUDEDIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
|
||||
|
||||
# For universal iOS and simulator
|
||||
set(LIBRESOLV_LIBRARY -lresolv CACHE STRING "")
|
||||
set(PTHREAD_LIBRARY -lpthread CACHE STRING "")
|
||||
|
||||
# Standard config
|
||||
set(CMAKE_SYSTEM_VERSION ${SDK_VERSION} CACHE INTERNAL "")
|
||||
set(UNIX TRUE CACHE BOOL "")
|
||||
set(APPLE TRUE CACHE BOOL "")
|
||||
set(IOS TRUE CACHE BOOL "")
|
||||
set(CMAKE_AR ar CACHE FILEPATH "" FORCE)
|
||||
set(CMAKE_RANLIB ranlib CACHE FILEPATH "" FORCE)
|
||||
set(CMAKE_STRIP strip CACHE FILEPATH "" FORCE)
|
||||
|
||||
# Set the architectures for which to build
|
||||
set(CMAKE_OSX_ARCHITECTURES "arm64 x86_64" CACHE STRING "Build architecture for iOS")
|
||||
set(CMAKE_C_SIZEOF_DATA_PTR 8)
|
||||
set(CMAKE_CXX_SIZEOF_DATA_PTR 8)
|
||||
set(CMAKE_SYSTEM_PROCESSOR "arm64")
|
||||
set(CMAKE_SYSTEM_NAME iOS CACHE INTERNAL "" FORCE)
|
||||
|
||||
# Change the type of target generated for try_compile() so it'll work when cross-compiling
|
||||
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
|
||||
|
||||
# All iOS/Darwin specific settings - some may be redundant.
|
||||
set(CMAKE_SHARED_LIBRARY_PREFIX "lib")
|
||||
set(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib")
|
||||
set(CMAKE_SHARED_MODULE_PREFIX "lib")
|
||||
set(CMAKE_SHARED_MODULE_SUFFIX ".so")
|
||||
set(CMAKE_C_COMPILER_ABI ELF)
|
||||
set(CMAKE_CXX_COMPILER_ABI ELF)
|
||||
set(CMAKE_C_HAS_ISYSROOT 1)
|
||||
set(CMAKE_CXX_HAS_ISYSROOT 1)
|
||||
set(CMAKE_MODULE_EXISTS 1)
|
||||
set(CMAKE_DL_LIBS "")
|
||||
set(CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
|
||||
set(CMAKE_C_OSX_CURRENT_VERSION_FLAG "-current_version ")
|
||||
set(CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}")
|
||||
set(CMAKE_CXX_OSX_CURRENT_VERSION_FLAG "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}")
|
||||
|
||||
# Fixed variables in iOS STK
|
||||
set(CMAKE_XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES CACHE INTERNAL "")
|
||||
set(CMAKE_XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN YES CACHE INTERNAL "")
|
||||
set(USE_WIIUSE FALSE CACHE BOOL "")
|
||||
set(USE_SQLITE3 FALSE CACHE BOOL "")
|
||||
set(USE_CRYPTO_OPENSSL FALSE CACHE BOOL "")
|
||||
set(IOS_LAUNCHSCREEN ${DEPS_PATH}/ios-icon/launch_screen.storyboard)
|
||||
set(IOS_IMAGES_XCASSETS ${DEPS_PATH}/ios-icon/Images.xcassets)
|
||||
set(SDK_NAME_VERSION_FLAGS "-miphoneos-version-min=13.0")
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET 13.0 CACHE STRING "Set CMake deployment target" FORCE)
|
||||
|
||||
set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphoneos*] "arm64")
|
||||
set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphoneos*] "arm64")
|
||||
|
||||
set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphonesimulator*] "x86_64")
|
||||
set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphonesimulator*] "x86_64")
|
||||
|
||||
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym" CACHE INTERNAL "")
|
||||
|
||||
# Replace the above two with these if you use an apple silicon
|
||||
#set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphonesimulator*] "arm64")
|
||||
#set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphonesimulator*] "arm64")
|
||||
@@ -0,0 +1,39 @@
|
||||
# Usage:
|
||||
# cmake .. -DLLVM_ARCH=aarch64 i686 or x86_64 -DLLVM_PREFIX=/path/to/llvm-mingw-prefix -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-llvm-mingw.cmake
|
||||
|
||||
# the name of the target operating system
|
||||
if(WIN32)
|
||||
SET(PATH_EXE .exe)
|
||||
endif()
|
||||
SET(CMAKE_SYSTEM_NAME Windows)
|
||||
|
||||
# which compilers to use for C and C++
|
||||
SET(CMAKE_C_COMPILER ${LLVM_PREFIX}/bin/${LLVM_ARCH}-w64-mingw32-clang${PATH_EXE})
|
||||
SET(CMAKE_CXX_COMPILER ${LLVM_PREFIX}/bin/${LLVM_ARCH}-w64-mingw32-clang++${PATH_EXE})
|
||||
SET(CMAKE_RC_COMPILER ${LLVM_PREFIX}/bin/${LLVM_ARCH}-w64-mingw32-windres${PATH_EXE})
|
||||
SET(CMAKE_SYSTEM_PROCESSOR ${LLVM_ARCH})
|
||||
SET(CMAKE_BUILD_TYPE RelWithDebInfo)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -Wl,-pdb=")
|
||||
SET(CMAKE_C_FLAGS -gcodeview)
|
||||
SET(CMAKE_CXX_FLAGS -gcodeview)
|
||||
|
||||
# here is the target environment located
|
||||
SET(CMAKE_FIND_ROOT_PATH ${LLVM_PREFIX}/generic-w64-mingw32 ${LLVM_PREFIX}/${LLVM_ARCH}-w64-mingw32/bin ${PROJECT_SOURCE_DIR}/dependencies-win-${LLVM_ARCH})
|
||||
|
||||
# adjust the default behaviour of the FIND_XXX() commands:
|
||||
# search headers and libraries in the target environment, search
|
||||
# programs in the host environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ALWAYS)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
if(LLVM_ARCH MATCHES "i686")
|
||||
set(ISPC_ARCH x86)
|
||||
elseif(LLVM_ARCH MATCHES "x86_64")
|
||||
set(ISPC_ARCH "x86-64")
|
||||
elseif(LLVM_ARCH MATCHES "armv7")
|
||||
# ISPC doesn't support armv7 windows
|
||||
set(ISPC_ARCH unknown)
|
||||
else()
|
||||
set(ISPC_ARCH ${LLVM_ARCH})
|
||||
endif()
|
||||
@@ -0,0 +1,25 @@
|
||||
# Usage:
|
||||
# cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-mingw-64bit.cmake
|
||||
|
||||
# the name of the target operating system
|
||||
SET(CMAKE_SYSTEM_NAME Windows)
|
||||
|
||||
# which compilers to use for C and C++
|
||||
SET(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc-posix)
|
||||
SET(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++-posix)
|
||||
SET(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)
|
||||
|
||||
# figure out folder to look in
|
||||
execute_process(COMMAND sh -c "ls /usr/lib/gcc/x86_64-w64-mingw32/ | grep posix | tr -d '\n'" OUTPUT_VARIABLE MINGW_DEPS_FOLDER)
|
||||
|
||||
# here is the target environment located
|
||||
SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32 /usr/x86_64-w64-mingw32/lib /usr/lib/gcc/x86_64-w64-mingw32/${MINGW_DEPS_FOLDER}/ ${PROJECT_SOURCE_DIR}/dependencies-win-x86_64)
|
||||
|
||||
# adjust the default behaviour of the FIND_XXX() commands:
|
||||
# search headers and libraries in the target environment, search
|
||||
# programs in the host environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ALWAYS)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
set(ISPC_ARCH "x86-64")
|
||||
@@ -0,0 +1,25 @@
|
||||
# Usage:
|
||||
# cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-mingw.cmake
|
||||
|
||||
# the name of the target operating system
|
||||
SET(CMAKE_SYSTEM_NAME Windows)
|
||||
|
||||
# which compilers to use for C and C++
|
||||
SET(CMAKE_C_COMPILER i686-w64-mingw32-gcc-posix)
|
||||
SET(CMAKE_CXX_COMPILER i686-w64-mingw32-g++-posix)
|
||||
SET(CMAKE_RC_COMPILER i686-w64-mingw32-windres)
|
||||
|
||||
# figure out folder to look in
|
||||
execute_process(COMMAND sh -c "ls /usr/lib/gcc/i686-w64-mingw32/ | grep posix | tr -d '\n'" OUTPUT_VARIABLE MINGW_DEPS_FOLDER)
|
||||
|
||||
# here is the target environment located
|
||||
SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32 /usr/i686-w64-mingw32/lib /usr/lib/gcc/i686-w64-mingw32/${MINGW_DEPS_FOLDER}/ ${PROJECT_SOURCE_DIR}/dependencies-win-i686)
|
||||
|
||||
# adjust the default behaviour of the FIND_XXX() commands:
|
||||
# search headers and libraries in the target environment, search
|
||||
# programs in the host environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ALWAYS)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
set(ISPC_ARCH "x86")
|
||||
@@ -0,0 +1,31 @@
|
||||
# Collect all currently added targets in all subdirectories
|
||||
#
|
||||
# Parameters:
|
||||
# - _result the list containing all found targets
|
||||
# - _dir root directory to start looking from
|
||||
function(get_all_targets _result _dir)
|
||||
get_property(_subdirs DIRECTORY "${_dir}" PROPERTY SUBDIRECTORIES)
|
||||
foreach(_subdir IN LISTS _subdirs)
|
||||
get_all_targets(${_result} "${_subdir}")
|
||||
endforeach()
|
||||
|
||||
get_directory_property(_sub_targets DIRECTORY "${_dir}" BUILDSYSTEM_TARGETS)
|
||||
set(${_result} ${${_result}} ${_sub_targets} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# set(CMAKE_XCODE_ATTRIBUTE_GCC_GENERATE_DEBUGGING_SYMBOLS doesn't work in ios toolchain, below fixed it
|
||||
macro(configure_xcode_defaults _EXE_NAME)
|
||||
|
||||
if (APPLE)
|
||||
macro(set_xcode_property TARGET XCODE_PROPERTY XCODE_VALUE)
|
||||
set_property(TARGET ${TARGET} PROPERTY XCODE_ATTRIBUTE_${XCODE_PROPERTY} ${XCODE_VALUE})
|
||||
endmacro()
|
||||
endif()
|
||||
|
||||
if (APPLE)
|
||||
set_xcode_property(${_EXE_NAME} GCC_GENERATE_DEBUGGING_SYMBOLS[variant=Debug] YES)
|
||||
set_xcode_property(${_EXE_NAME} GCC_GENERATE_DEBUGGING_SYMBOLS[variant=MinSizeRel] YES)
|
||||
set_xcode_property(${_EXE_NAME} GCC_GENERATE_DEBUGGING_SYMBOLS[variant=RelWithDebInfo] YES)
|
||||
set_xcode_property(${_EXE_NAME} GCC_GENERATE_DEBUGGING_SYMBOLS[variant=Release] YES)
|
||||
endif()
|
||||
endmacro()
|
||||
Reference in New Issue
Block a user