MXE (M cross environment) fork
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.
 
 
 
 
 
 

166 lines
6.8 KiB

This file is part of MXE.
See index.html for further information.
Contains ad hoc patches for cross building.
From 64c45ad98ec46b721a7ba91952d621d5ae709355 Mon Sep 17 00:00:00 2001
From: MXE
Date: Sat, 6 Jul 2013 17:53:14 +1000
Subject: [PATCH 1/3] disable merge libs
diff --git a/cmake/Macros.cmake b/cmake/Macros.cmake
index 072fe75..ee9a849 100755
--- a/cmake/Macros.cmake
+++ b/cmake/Macros.cmake
@@ -11,25 +11,6 @@
# out-of-the-box (CMake forwards the dependencies automatically)
macro(sfml_static_add_libraries target)
if(WINDOWS AND COMPILER_GCC)
- # Windows - gcc
- foreach(lib ${ARGN})
- if(NOT ${lib} MATCHES ".*/.*")
- string(REGEX REPLACE "(.*)/bin/.*\\.exe" "\\1" STANDARD_LIBS_PATH "${CMAKE_CXX_COMPILER}")
- if(COMPILER_GCC_W64)
- set(lib "${STANDARD_LIBS_PATH}/${GCC_MACHINE}/lib/lib${lib}.a")
- else()
- set(lib "${STANDARD_LIBS_PATH}/lib/lib${lib}.a")
- endif()
- endif()
- string(TOUPPER ${CMAKE_BUILD_TYPE} BUILD_TYPE)
- get_target_property(TARGET_FILENAME ${target} ${BUILD_TYPE}_LOCATION)
- add_custom_command(TARGET ${target}
- POST_BUILD
- COMMAND ${CMAKE_AR} x ${lib}
- COMMAND ${CMAKE_AR} rcs ${TARGET_FILENAME} *.o
- COMMAND del *.o /f /q
- VERBATIM)
- endforeach()
elseif(MSVC)
# Visual C++
set(LIBRARIES "")
@@ -164,17 +145,17 @@ macro(sfml_add_library target)
if(MACOSX AND BUILD_SHARED_LIBS)
if(SFML_BUILD_FRAMEWORKS)
# adapt target to build frameworks instead of dylibs
- set_target_properties(${target} PROPERTIES
+ set_target_properties(${target} PROPERTIES
FRAMEWORK TRUE
FRAMEWORK_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}
MACOSX_FRAMEWORK_IDENTIFIER org.sfml-dev.${target}
MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}
MACOSX_FRAMEWORK_BUNDLE_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
endif()
-
+
# adapt install directory to allow distributing dylibs/frameworks in user’s frameworks/application bundle
- set_target_properties(${target} PROPERTIES
- BUILD_WITH_INSTALL_RPATH 1
+ set_target_properties(${target} PROPERTIES
+ BUILD_WITH_INSTALL_RPATH 1
INSTALL_NAME_DIR "@executable_path/../Frameworks")
endif()
@@ -193,7 +174,7 @@ macro(sfml_add_library target)
# add the install rule
install(TARGETS ${target}
RUNTIME DESTINATION bin COMPONENT bin
- LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT bin
+ LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT bin
ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT devel
FRAMEWORK DESTINATION ${CMAKE_INSTALL_FRAMEWORK_PREFIX} COMPONENT bin)
--
1.8.2.3
From 797385b22ae2586bcab47f866bfa50f6cbe4b261 Mon Sep 17 00:00:00 2001
From: MXE
Date: Sat, 6 Jul 2013 17:54:02 +1000
Subject: [PATCH 2/3] static openal
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 959a403..bf5a805 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -40,7 +40,7 @@ sfml_set_option(SFML_BUILD_DOC FALSE BOOL "TRUE to generate the API documentatio
if(MACOSX)
# add an option to build frameworks instead of dylibs (release only)
sfml_set_option(SFML_BUILD_FRAMEWORKS FALSE BOOL "TRUE to build SFML as frameworks libraries (release only), FALSE to build according to BUILD_SHARED_LIBS")
-
+
# add an option to let the user specify a custom directory for frameworks installation (SFML, sndfile, ...)
sfml_set_option(CMAKE_INSTALL_FRAMEWORK_PREFIX "/Library/Frameworks" STRING "Frameworks installation directory")
@@ -51,6 +51,7 @@ endif()
# define SFML_STATIC if the build type is not set to 'shared'
if(NOT BUILD_SHARED_LIBS)
add_definitions(-DSFML_STATIC)
+ add_definitions(-DAL_LIBTYPE_STATIC)
endif()
# remove SL security warnings with Visual C++
@@ -161,7 +162,7 @@ else()
add_library(SFML ${SFML_SOURCES})
# edit target properties
- set_target_properties(SFML PROPERTIES
+ set_target_properties(SFML PROPERTIES
FRAMEWORK TRUE
FRAMEWORK_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}
MACOSX_FRAMEWORK_IDENTIFIER org.sfml-dev.SFML
@@ -170,14 +171,14 @@ else()
PUBLIC_HEADER "${SFML_HEADERS}")
# add the remaining headers
- add_custom_command(TARGET SFML
+ add_custom_command(TARGET SFML
POST_BUILD
COMMAND cp -r ${PROJECT_SOURCE_DIR}/include/SFML/* SFML.framework/Versions/${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}/Headers)
# adapt install directory to allow distributing dylibs/frameworks in user’s frameworks/application bundle
# NOTE : it's not required to link agains SFML.framework
- set_target_properties(SFML PROPERTIES
- BUILD_WITH_INSTALL_RPATH 1
+ set_target_properties(SFML PROPERTIES
+ BUILD_WITH_INSTALL_RPATH 1
INSTALL_NAME_DIR "@executable_path/../Frameworks")
# install rule
--
1.8.2.3
From 4e522133482f3f37ee8f498a35294eb31738e307 Mon Sep 17 00:00:00 2001
From: MXE
Date: Sat, 6 Jul 2013 17:55:39 +1000
Subject: [PATCH 3/3] dont install dlls
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bf5a805..78e5630 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -187,18 +187,7 @@ else()
COMPONENT devel)
endif()
-install(FILES cmake/Modules/FindSFML.cmake DESTINATION ${INSTALL_MISC_DIR}/cmake/Modules)
-install(FILES license.txt DESTINATION ${INSTALL_MISC_DIR})
-install(FILES readme.txt DESTINATION ${INSTALL_MISC_DIR})
-
if(WINDOWS)
- if(ARCH_32BITS)
- install(FILES extlibs/bin/x86/libsndfile-1.dll DESTINATION bin)
- install(FILES extlibs/bin/x86/openal32.dll DESTINATION bin)
- elseif(ARCH_64BITS)
- install(FILES extlibs/bin/x64/libsndfile-1.dll DESTINATION bin)
- install(FILES extlibs/bin/x64/openal32.dll DESTINATION bin)
- endif()
elseif(MACOSX)
install(DIRECTORY extlibs/libs-osx/Frameworks/sndfile.framework DESTINATION ${CMAKE_INSTALL_FRAMEWORK_PREFIX})
install(DIRECTORY extlibs/libs-osx/Frameworks/freetype.framework DESTINATION ${CMAKE_INSTALL_FRAMEWORK_PREFIX})
--
1.8.2.3