[gambit-list] Gambit for mobile?

Petersen, Chris CPetersen at cw.bc.ca
Tue Feb 12 14:26:54 EST 2013


Marc,

You can use cmake to generate the Xcode project file. Below is the CMakeLists.txt.in we use. With that approach you don't need to use the Xcode IDE at all. Our gambit code resides in the libpayload.a library, which is then linked into an iOS bootstrap. We do the same for Android, Windows, Mac and Linux, all from the command line. The gui is an opengl based widget system (also in scheme), so apps build and run unmodified across the platforms and is 99% scheme. Thanks for creating such an amazing platform independent system!

cmake_minimum_required (VERSION 2.8)
project (@SYS_APPNAME@)
set(NAME @SYS_APPNAME@)
file(GLOB headers *.h)
file(GLOB sources *.m *.mm)
SET(TARGETSDK iPhoneOS4.3.sdk)
SET(CMAKE_OSX_SYSROOT /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/${TARGETSDK})
set(CMAKE_OSX_ARCHITECTURES $(ARCHS_STANDARD_32_BIT))
set (CMAKE_C_FLAGS "")
set (CMAKE_CXX_FLAGS "-headerpad_max_install_names -fvisibility=hidden -fvisibility-inlines-hidden")
set(CMAKE_EXE_LINKER_FLAGS "-framework CoreFoundation -framework Foundation -framework UIKIt -framework AVFoundation -framework OpenGLES -framework QuartzCore -framework MediaPlayer -framework CoreLocation -framework CoreAudio -framework CoreGraphics -framework AssetsLibrary -framework AudioToolbox -framework CoreMotion"
)
link_directories(@SYS_PREFIX@/lib)
include_directories (@SYS_PREFIX@/include)
set(MACOSX_BUNDLE_GUI_IDENTIFIER "@SYS_ORGID at .@SYS_LOCASEAPPNAME@")
set(APP_TYPE MACOSX_BUNDLE)
SET_SOURCE_FILES_PROPERTIES(Icon.png PROPERTIES MACOSX_PACKAGE_LOCATION Resources )
SET_SOURCE_FILES_PROPERTIES(Icon at 2x.png PROPERTIES MACOSX_PACKAGE_LOCATION Resources )
SET_SOURCE_FILES_PROPERTIES(Icon-72.png PROPERTIES MACOSX_PACKAGE_LOCATION Resources )
SET_SOURCE_FILES_PROPERTIES(Icon-72 at 2x.png PROPERTIES MACOSX_PACKAGE_LOCATION Resources )
add_executable(${NAME} ${APP_TYPE} Icon.png Icon at 2x.png Icon-72.png Icon-72 at 2x.png Default-568h at 2x.png ${headers} ${sources})
target_link_libraries(${NAME} libpayload.a)
set_target_properties(${NAME} PROPERTIES XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "3.2")
set_target_properties(${NAME} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "@SYS_PREFIXROOT@/build/@SYS_APPNAME@/Info.plist")
set_target_properties(${NAME} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "@SYS_IOSCERT@")

Chris

________________________________________
From: gambit-list-bounces at iro.umontreal.ca [gambit-list-bounces at iro.umontreal.ca] On Behalf Of Marc Feeley [feeley at iro.umontreal.ca]
Sent: Tuesday, February 12, 2013 10:49 AM
To: Andrew Pennebaker
Cc: Gambit Scheme
Subject: Re: [gambit-list] Gambit for mobile?

On 2013-02-12, at 1:44 PM, Andrew Pennebaker <andrew.pennebaker at gmail.com> wrote:

> I love using make! It's incredibly convenient to use Makefiles for building all of my projects, no matter the language.
>
> xcodebuild is the program you're looking for.
>
> http://www.manpagez.com/man/1/xcodebuild/

Don't you still need an Xcode project file?  I'm looking for a complete command-line build procedure from the basic Mac OS X utilities.

If someone has this for android and Windows phone, that would be nice too!

Marc

_______________________________________________
Gambit-list mailing list
Gambit-list at iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list


More information about the Gambit-list mailing list