Retro68/libretro/CMakeLists.txt

87 lines
2.5 KiB
CMake
Raw Normal View History

# Copyright 2015 Wolfgang Thaller.
#
2014-09-15 00:43:30 +02:00
# This file is part of Retro68.
#
2014-09-15 00:43:30 +02:00
# Retro68 is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
2014-09-15 00:43:30 +02:00
# Retro68 is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# Under Section 7 of GPL version 3, you are granted additional
# permissions described in the GCC Runtime Library Exception, version
# 3.1, as published by the Free Software Foundation.
#
# You should have received a copy of the GNU General Public License and
# a copy of the GCC Runtime Library Exception along with this program;
# see the files COPYING and COPYING.RUNTIME respectively. If not, see
# <http://www.gnu.org/licenses/>.
2012-04-06 00:45:04 +02:00
cmake_minimum_required(VERSION 2.8)
2015-08-31 16:44:45 +02:00
if(CMAKE_SYSTEM_NAME MATCHES Retro68)
find_program(CONVERT_OBJ ConvertObj PATH "${CMAKE_INSTALL_PREFIX}/../bin/")
set(INTERFACE_O InterfaceO_NOTFOUND CACHE STRING "path to MPW Interface.o file")
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Interface.s
COMMAND ${CONVERT_OBJ} ${INTERFACE_O} > ${CMAKE_CURRENT_BINARY_DIR}/Interface.s
)
enable_language(ASM)
2015-08-31 16:44:45 +02:00
set(ARCH_FILES
Retro68Runtime.h
start.c
relocate.c
2017-09-23 22:36:47 +02:00
PoorMansDebugging.h
2017-09-26 02:38:05 +02:00
MultiSegApp.c
LoadSeg.s
# glue.c
${CMAKE_CURRENT_BINARY_DIR}/Interface.s
2015-10-07 00:03:28 +02:00
qdglobals.c
2015-08-31 16:44:45 +02:00
Retro68.r
Retro68APPL.r
)
2017-09-23 22:36:47 +02:00
2015-08-31 16:44:45 +02:00
install(FILES Retro68Runtime.h DESTINATION include)
install(FILES Retro68.r Retro68APPL.r DESTINATION RIncludes)
2017-09-26 02:38:05 +02:00
2015-10-07 00:03:28 +02:00
elseif(CMAKE_SYSTEM_NAME MATCHES RetroPPC)
2015-09-08 18:01:17 +02:00
enable_language(ASM)
2015-09-09 01:25:59 +02:00
set(ARCH_FILES
ppcstart.c
ppcfpsave.s
2015-10-07 00:03:28 +02:00
qdglobals.c
2015-09-09 01:25:59 +02:00
RetroPPCAPPL.r)
install(FILES RetroPPCAPPL.r DESTINATION RIncludes)
2015-10-07 00:03:28 +02:00
elseif(CMAKE_SYSTEM_NAME MATCHES RetroCarbon)
enable_language(ASM)
set(ARCH_FILES
ppcstart.c
ppcfpsave.s
RetroCarbonAPPL.r)
install(FILES RetroCarbonAPPL.r DESTINATION RIncludes)
2015-08-31 16:44:45 +02:00
endif()
add_library(retrocrt
2014-09-15 00:43:30 +02:00
malloc.c
syscalls.c
consolehooks.c
2015-08-31 16:44:45 +02:00
${ARCH_FILES}
)
set_target_properties(retrocrt
PROPERTIES
COMPILE_OPTIONS -ffunction-sections)
2012-04-06 00:45:04 +02:00
install(TARGETS retrocrt DESTINATION lib)
# different library name for Carbon
# (Carbon shares the powerpc-apple-macos/ directory with Classic PPC)
if(CMAKE_SYSTEM_NAME MATCHES RetroCarbon)
set_target_properties(retrocrt PROPERTIES OUTPUT_NAME retrocrt-carbon)
endif()