Skip to content

Commit

Permalink
CMake: Fix Mojave build
Browse files Browse the repository at this point in the history
  • Loading branch information
Vicki Pfau committed Oct 23, 2018
1 parent 69ef64d commit cd445a6
Showing 1 changed file with 17 additions and 6 deletions.
23 changes: 17 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1)
cmake_minimum_required(VERSION 3.2)
if(POLICY CMP0048)
cmake_policy(SET CMP0048 NEW)
endif()
Expand Down Expand Up @@ -60,8 +60,12 @@ if(NOT BUILD_LUAJIT)
set(LUA_INCLUDE_DIRS "${LUA_INCLUDE_DIR}")
else()
set(LUA_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/third-party/luajit/src")
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
set(LUA_FLAGS ${LUA_FLAGS} CC=${CMAKE_C_COMPILER} LDFLAGS=-mmacosx-version-min=10.7)
set(LUA_CFLAGS -mmacosx-version-min=10.7)
endif()
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64")
set(LUA_FLAGS "CFLAGS=-fPIC -DLUAJIT_ENABLE_GC64")
set(LUA_FLAGS ${LUA_FLAGS} "CFLAGS=-fPIC -DLUAJIT_ENABLE_GC64 ${LUA_CFLAGS}")
endif()
if(CMAKE_CROSSCOMPILING)
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64")
Expand Down Expand Up @@ -132,13 +136,20 @@ function(add_core PLATFORM CORE_NAME)
if(WIN32)
set(LIBRETRO_PLATFORM platform=win)
endif()
set(CORE_LDFLAGS "-w ${STATIC_LDFLAGS}")
set(CORE_CFLAGS "-w")
set(CORE_CXXFLAGS "-w")
if(WIN32 AND NOT CMAKE_CROSSCOMPILING)
set(CORE_LDFLAGS LDFLAGS="-w ${STATIC_LDFLAGS}")
else()
set(CORE_LDFLAGS "LDFLAGS=-w ${STATIC_LDFLAGS}")
set(CORE_LDFLAGS "${CORE_LDFLAGS} ${STATIC_LDFLAGS}")
endif()
if(NOT WIN32)
set(CORE_FPIC_FLAGS "-fPIC")
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
set(CORE_FPIC_FLAGS "${CORE_FPIC_FLAGS} -mmacosx-version-min=10.7 -stdlib=libc++")
endif()
add_custom_command(OUTPUT "${TARGET_PATH}"
COMMAND CFLAGS=-w CXXFLAGS=-w "${CORE_LDFLAGS}" $(MAKE) -f ${MAKEFILE} CC="${CMAKE_C_COMPILER}" CXX="${CMAKE_CXX_COMPILER}" ${LIBRETRO_PLATFORM}
COMMAND ${CMAKE_COMMAND} -E env CFLAGS=${CORE_CFLAGS} CXXFLAGS=${CORE_CXXFLAGS} LDFLAGS=${CORE_LDFLAGS} $(MAKE) -f ${MAKEFILE} CC="${CMAKE_C_COMPILER}" CXX="${CMAKE_CXX_COMPILER}" fpic=${CORE_FPIC_FLAGS} ${LIBRETRO_PLATFORM}
COMMAND ${CMAKE_COMMAND} -E copy "${CORE_NAME}_libretro*" "${TARGET_PATH}"
WORKING_DIRECTORY "cores/${PLATFORM}/${SUBDIR}"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/retro/cores/${CORE_NAME}-version")
Expand Down

0 comments on commit cd445a6

Please sign in to comment.