Compare commits

...

4 Commits

Author SHA1 Message Date
Sergey Fedorov
7700916eae versioninfo.h: fix recognizing archs and compiler (#6794) 2023-08-02 09:02:39 -04:00
Sergey Fedorov
d87917cdc9 MidiApple.cpp: fix getName to allow build with GCC (#6791)
Fixes: https://github.com/LMMS/lmms/issues/6785
2023-07-31 00:38:58 -04:00
Sergey Fedorov
dd70bab7e5 Detect PowerPC and ARM correctly (#6790) 2023-07-30 23:30:38 -04:00
Sergey Fedorov
afaceadce6 CMakeLists: use flags for Apple correctly (#6784) 2023-07-30 12:27:15 -04:00
6 changed files with 60 additions and 8 deletions

View File

@@ -26,21 +26,47 @@ IF(WIN32)
SET(IS_X86 TRUE)
ENDIF(WIN64)
ELSE(WIN32)
# Detect target architecture based on compiler target triple
EXEC_PROGRAM( ${CMAKE_C_COMPILER} ARGS "-dumpmachine ${CMAKE_C_FLAGS}" OUTPUT_VARIABLE Machine )
MESSAGE("Machine: ${Machine}")
STRING(REGEX MATCH "i.86" IS_X86 "${Machine}")
STRING(REGEX MATCH "86_64|amd64" IS_X86_64 "${Machine}")
IF(Machine MATCHES "arm|aarch64")
IF(Machine MATCHES "arm64|aarch64")
SET(IS_ARM64 TRUE)
ELSE()
SET(IS_ARM32 TRUE)
ENDIF()
ELSEIF(Machine MATCHES "ppc|powerpc")
IF(Machine MATCHES "ppc64|powerpc64")
SET(IS_PPC64 TRUE)
ELSE()
SET(IS_PPC32 TRUE)
ENDIF()
ENDIF()
ENDIF(WIN32)
IF(IS_X86)
MESSAGE("-- Target host is 32 bit")
MESSAGE("-- Target host is 32 bit, Intel")
SET(LMMS_HOST_X86 TRUE)
ELSEIF(IS_X86_64)
MESSAGE("-- Target host is 64 bit")
MESSAGE("-- Target host is 64 bit, Intel")
SET(LMMS_HOST_X86_64 TRUE)
ELSE(IS_X86)
ELSEIF(IS_ARM32)
MESSAGE("-- Target host is 32 bit, ARM")
SET(LMMS_HOST_ARM32 TRUE)
ELSEIF(IS_ARM64)
MESSAGE("-- Target host is 64 bit, ARM")
SET(LMMS_HOST_ARM64 TRUE)
ELSEIF(IS_PPC32)
MESSAGE("-- Target host is 32 bit, PPC")
SET(LMMS_HOST_PPC32 TRUE)
ELSEIF(IS_PPC64)
MESSAGE("-- Target host is 64 bit, PPC")
SET(LMMS_HOST_PPC64 TRUE)
ELSE()
MESSAGE("Can't identify target host. Assuming 32 bit platform.")
ENDIF(IS_X86)
ENDIF()
IF(CMAKE_INSTALL_LIBDIR)
SET(LIB_DIR "${CMAKE_INSTALL_LIBDIR}")

View File

@@ -1,5 +1,7 @@
#ifdef __GNUC__
#if defined(__GNUC__)
#define GCC_VERSION "GCC " __VERSION__
#elif defined(__clang__)
#define GCC_VERSION "Clang " __clang_version__
#else
#define GCC_VERSION "unknown compiler"
#endif
@@ -12,6 +14,22 @@
#define MACHINE "x86_64"
#endif
#ifdef LMMS_HOST_ARM32
#define MACHINE "arm"
#endif
#ifdef LMMS_HOST_ARM64
#define MACHINE "arm64"
#endif
#ifdef LMMS_HOST_PPC32
#define MACHINE "ppc"
#endif
#ifdef LMMS_HOST_PPC64
#define MACHINE "ppc64"
#endif
#ifndef MACHINE
#define MACHINE "unknown processor"
#endif
@@ -39,3 +57,7 @@
#ifdef LMMS_BUILD_HAIKU
#define PLATFORM "Haiku"
#endif
#ifndef PLATFORM
#define PLATFORM "unknown platform"
#endif

View File

@@ -4,7 +4,7 @@ SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
# Enable C++11
ADD_DEFINITIONS(-std=c++0x)
IF(LMMS_BUILD_APPLE)
IF(LMMS_BUILD_APPLE AND CMAKE_CXX_COMPILER_ID MATCHES "Clang")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
ENDIF()

View File

@@ -12,7 +12,7 @@ SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
# Enable C++11
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
IF(LMMS_BUILD_APPLE)
IF(LMMS_BUILD_APPLE AND CMAKE_CXX_COMPILER_ID MATCHES "Clang")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
ENDIF()

View File

@@ -398,7 +398,7 @@ void MidiApple::midiInClose( MIDIEndpointRef reference )
char *getName( MIDIObjectRef &object )
char *getName( const MIDIObjectRef &object )
{
// Returns the name of a given MIDIObjectRef as char *
CFStringRef name = nil;

View File

@@ -8,6 +8,10 @@
#cmakedefine LMMS_HOST_X86
#cmakedefine LMMS_HOST_X86_64
#cmakedefine LMMS_HOST_ARM32
#cmakedefine LMMS_HOST_ARM64
#cmakedefine LMMS_HOST_PPC32
#cmakedefine LMMS_HOST_PPC64
#cmakedefine LMMS_HAVE_ALSA
#cmakedefine LMMS_HAVE_FLUIDSYNTH