axmol/cocos/CMakeLists.txt

617 lines
21 KiB
CMake

#/****************************************************************************
# Copyright (c) 2013 cocos2d-x.org
# Copyright (c) 2014 martell malone
#
# http://www.cocos2d-x.org
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
# ****************************************************************************/
# this CMakeLists is to generate libcocos2d.a
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/platform/desktop
${CMAKE_CURRENT_SOURCE_DIR}/platform
${CMAKE_CURRENT_SOURCE_DIR}/audio/include
${CMAKE_CURRENT_SOURCE_DIR}/editor-support
${CMAKE_CURRENT_SOURCE_DIR}/../external/tinyxml2
${CMAKE_CURRENT_SOURCE_DIR}/../external/unzip
${CMAKE_CURRENT_SOURCE_DIR}/../external/edtaa3func
${CMAKE_CURRENT_SOURCE_DIR}/../external/chipmunk/include/chipmunk
${CMAKE_CURRENT_SOURCE_DIR}/../external/jpeg/include/${PLATFORM_FOLDER}
${CMAKE_CURRENT_SOURCE_DIR}/../external/png/include/${PLATFORM_FOLDER}
${CMAKE_CURRENT_SOURCE_DIR}/../external/tiff/include/${PLATFORM_FOLDER}
${CMAKE_CURRENT_SOURCE_DIR}/../external/webp/include/${PLATFORM_FOLDER}
${CMAKE_CURRENT_SOURCE_DIR}/../external/glfw3/include/${PLATFORM_FOLDER}
${CMAKE_CURRENT_SOURCE_DIR}/../external/freetype2/include/${PLATFORM_FOLDER}
${CMAKE_CURRENT_SOURCE_DIR}/../external/websockets/include/${PLATFORM_FOLDER}
${CMAKE_CURRENT_SOURCE_DIR}/../external/xxhash
${CMAKE_CURRENT_SOURCE_DIR}/../external/ConvertUTF
${CMAKE_CURRENT_SOURCE_DIR}/../external/${PLATFORM_FOLDER}-specific/fmod/include/${ARCH_DIR}
)
#
# cocos2d source files and header files
#
# From CMake page:
# We do not recommend using GLOB to collect a list of source files from your source tree.
# If no CMakeLists.txt file changes when a source is added or removed then the generated
# build system cannot know when to ask CMake to regenerate.)
set(COCOS2D_BASE_SRC
cocos2d.cpp
base/ccFPSImages.c
base/CCAutoreleasePool.cpp
base/CCCamera.cpp
base/CCConfiguration.cpp
base/CCConsole.cpp
base/CCController-android.cpp
base/CCController.cpp
base/CCData.cpp
base/CCDataVisitor.cpp
base/CCDirector.cpp
base/CCEvent.cpp
base/CCEventAcceleration.cpp
base/CCEventController.cpp
base/CCEventCustom.cpp
base/CCEventDispatcher.cpp
base/CCEventFocus.cpp
base/CCEventKeyboard.cpp
base/CCEventListener.cpp
base/CCEventListenerAcceleration.cpp
base/CCEventListenerController.cpp
base/CCEventListenerCustom.cpp
base/CCEventListenerFocus.cpp
base/CCEventListenerKeyboard.cpp
base/CCEventListenerMouse.cpp
base/CCEventListenerTouch.cpp
base/CCEventMouse.cpp
base/CCEventTouch.cpp
base/CCIMEDispatcher.cpp
base/CCNS.cpp
base/CCProfiling.cpp
base/CCRef.cpp
base/CCScheduler.cpp
base/CCScriptSupport.cpp
base/CCTouch.cpp
base/CCUserDefault.cpp
base/CCUserDefault-android.cpp
base/CCValue.cpp
base/ObjectFactory.cpp
base/TGAlib.cpp
base/ZipUtils.cpp
base/atitc.cpp
base/base64.cpp
base/ccCArray.cpp
base/ccRandom.cpp
base/ccTypes.cpp
base/ccUTF8.cpp
base/ccUtils.cpp
base/etc1.cpp
base/pvr.cpp
base/s3tc.cpp
2d/CCAction.cpp
2d/CCActionCamera.cpp
2d/CCActionCatmullRom.cpp
2d/CCActionEase.cpp
2d/CCActionGrid.cpp
2d/CCActionGrid3D.cpp
2d/CCActionInstant.cpp
2d/CCActionInterval.cpp
2d/CCActionManager.cpp
2d/CCActionPageTurn3D.cpp
2d/CCActionProgressTimer.cpp
2d/CCActionTiledGrid.cpp
2d/CCActionTween.cpp
2d/CCAnimation.cpp
2d/CCAnimationCache.cpp
2d/CCAtlasNode.cpp
2d/CCClippingNode.cpp
2d/CCComponent.cpp
2d/CCComponentContainer.cpp
2d/CCDrawNode.cpp
2d/CCDrawingPrimitives.cpp
2d/CCFastTMXLayer.cpp
2d/CCFastTMXTiledMap.cpp
2d/CCFont.cpp
2d/CCFontAtlas.cpp
2d/CCFontAtlasCache.cpp
2d/CCFontCharMap.cpp
2d/CCFontFNT.cpp
2d/CCFontFreeType.cpp
2d/CCGLBufferedNode.cpp
2d/CCGrabber.cpp
2d/CCGrid.cpp
2d/CCLabel.cpp
2d/CCLabelAtlas.cpp
2d/CCLabelBMFont.cpp
2d/CCLabelTTF.cpp
2d/CCLabelTextFormatter.cpp
2d/CCLayer.cpp
2d/CCMenu.cpp
2d/CCMenuItem.cpp
2d/CCMotionStreak.cpp
2d/CCNode.cpp
2d/CCNodeGrid.cpp
2d/CCParallaxNode.cpp
2d/CCParticleBatchNode.cpp
2d/CCParticleExamples.cpp
2d/CCParticleSystem.cpp
2d/CCParticleSystemQuad.cpp
2d/CCProgressTimer.cpp
2d/CCProtectedNode.cpp
2d/CCRenderTexture.cpp
2d/CCScene.cpp
2d/CCSprite.cpp
2d/CCSpriteBatchNode.cpp
2d/CCSpriteFrame.cpp
2d/CCSpriteFrameCache.cpp
2d/CCTMXLayer.cpp
2d/CCTMXObjectGroup.cpp
2d/CCTMXTiledMap.cpp
2d/CCTMXXMLParser.cpp
2d/CCTextFieldTTF.cpp
2d/CCTileMapAtlas.cpp
2d/CCTransition.cpp
2d/CCTransitionPageTurn.cpp
2d/CCTransitionProgress.cpp
2d/CCTweenFunction.cpp
3d/CCAABB.cpp
3d/CCAnimate3D.cpp
3d/CCAnimation3D.cpp
3d/CCAttachNode.cpp
3d/CCBundle3D.cpp
3d/CCBundleReader.cpp
3d/CCMesh.cpp
3d/CCMeshSkin.cpp
3d/CCMeshVertexIndexData.cpp
3d/CCOBB.cpp
3d/CCObjLoader.cpp
3d/CCRay.cpp
3d/CCSkeleton3D.cpp
3d/CCSprite3D.cpp
3d/CCSprite3DMaterial.cpp
3d/CCBillBoard.cpp
network/HttpClient.cpp
network/SocketIO.cpp
network/WebSocket.cpp
ui/CocosGUI.cpp
ui/UIButton.cpp
ui/UICheckBox.cpp
ui/UIDeprecated.cpp
ui/UIHBox.cpp
ui/UIHelper.cpp
ui/UIImageView.cpp
ui/UILayout.cpp
ui/UILayoutManager.cpp
ui/UILayoutParameter.cpp
ui/UIListView.cpp
ui/UILoadingBar.cpp
ui/UIPageView.cpp
ui/UIRelativeBox.cpp
ui/UIRichText.cpp
ui/UIScale9Sprite.cpp
ui/UIScrollView.cpp
ui/UISlider.cpp
ui/UIText.cpp
ui/UITextAtlas.cpp
ui/UITextBMFont.cpp
ui/UITextField.cpp
ui/UIVBox.cpp
ui/UIVideoPlayer-android.cpp
ui/UIWebView.cpp
ui/UIWebViewImpl-android.cpp
ui/UIWidget.cpp
ui/UIEditBox/UIEditBox.cpp
ui/UIEditBox/UIEditBoxImpl-android.cpp
ui/UIEditBox/UIEditBoxImpl-stub.cpp
ui/UIEditBox/UIEditBoxImpl-win32.cpp
ui/UIEditBox/UIEditBoxImpl-wp8.cpp
math/CCAffineTransform.cpp
math/CCGeometry.cpp
math/CCVertex.cpp
math/Mat4.cpp
math/MathUtil.cpp
math/Quaternion.cpp
math/TransformUtils.cpp
math/Vec2.cpp
math/Vec3.cpp
math/Vec4.cpp
renderer/CCBatchCommand.cpp
renderer/CCCustomCommand.cpp
renderer/CCGLProgram.cpp
renderer/CCGLProgramCache.cpp
renderer/CCGLProgramState.cpp
renderer/CCGLProgramStateCache.cpp
renderer/CCGroupCommand.cpp
renderer/CCMeshCommand.cpp
renderer/CCPrimitive.cpp
renderer/CCPrimitiveCommand.cpp
renderer/CCQuadCommand.cpp
renderer/CCRenderCommand.cpp
renderer/CCRenderer.cpp
renderer/CCTexture2D.cpp
renderer/CCTextureAtlas.cpp
renderer/CCTextureCache.cpp
renderer/CCTrianglesCommand.cpp
renderer/CCVertexIndexBuffer.cpp
renderer/CCVertexIndexData.cpp
renderer/ccGLStateCache.cpp
renderer/ccShaders.cpp
deprecated/CCArray.cpp
deprecated/CCDeprecated.cpp
deprecated/CCDictionary.cpp
deprecated/CCNotificationCenter.cpp
deprecated/CCSet.cpp
deprecated/CCString.cpp
physics/CCPhysicsBody.cpp
physics/CCPhysicsContact.cpp
physics/CCPhysicsJoint.cpp
physics/CCPhysicsShape.cpp
physics/CCPhysicsWorld.cpp
physics/chipmunk/CCPhysicsBodyInfo_chipmunk.cpp
physics/chipmunk/CCPhysicsContactInfo_chipmunk.cpp
physics/chipmunk/CCPhysicsJointInfo_chipmunk.cpp
physics/chipmunk/CCPhysicsShapeInfo_chipmunk.cpp
physics/chipmunk/CCPhysicsWorldInfo_chipmunk.cpp
platform/CCFileUtils.cpp
platform/CCGLView.cpp
platform/CCImage.cpp
platform/CCSAXParser.cpp
platform/CCThread.cpp
storage/local-storage/LocalStorage.cpp
storage/local-storage/LocalStorage-android.cpp
)
if(MACOSX)
set(COCOS2D_BASE_SRC
${COCOS2D_BASE_SRC}
ui/UIEditBox/UIEditBoxImpl-ios.mm
ui/UIEditBox/UIEditBoxImpl-mac.mm
base/CCUserDefault-apple.mm
)
endif()
set(COCOS2D_EDITOR_SUPPORT_SRC
editor-support/cocosbuilder/CCBAnimationManager.cpp
editor-support/cocosbuilder/CCBFileLoader.cpp
editor-support/cocosbuilder/CCBKeyframe.cpp
editor-support/cocosbuilder/CCBReader.cpp
editor-support/cocosbuilder/CCBSequence.cpp
editor-support/cocosbuilder/CCBSequenceProperty.cpp
editor-support/cocosbuilder/CCControlButtonLoader.cpp
editor-support/cocosbuilder/CCControlLoader.cpp
editor-support/cocosbuilder/CCLabelBMFontLoader.cpp
editor-support/cocosbuilder/CCLabelTTFLoader.cpp
editor-support/cocosbuilder/CCLayerColorLoader.cpp
editor-support/cocosbuilder/CCLayerGradientLoader.cpp
editor-support/cocosbuilder/CCLayerLoader.cpp
editor-support/cocosbuilder/CCMenuItemImageLoader.cpp
editor-support/cocosbuilder/CCMenuItemLoader.cpp
editor-support/cocosbuilder/CCNode+CCBRelativePositioning.cpp
editor-support/cocosbuilder/CCNodeLoader.cpp
editor-support/cocosbuilder/CCNodeLoaderLibrary.cpp
editor-support/cocosbuilder/CCParticleSystemQuadLoader.cpp
editor-support/cocosbuilder/CCScale9SpriteLoader.cpp
editor-support/cocosbuilder/CCScrollViewLoader.cpp
editor-support/cocosbuilder/CCSpriteLoader.cpp
editor-support/spine/Animation.cpp
editor-support/spine/AnimationState.cpp
editor-support/spine/AnimationStateData.cpp
editor-support/spine/Atlas.cpp
editor-support/spine/AtlasAttachmentLoader.cpp
editor-support/spine/Attachment.cpp
editor-support/spine/AttachmentLoader.cpp
editor-support/spine/Bone.cpp
editor-support/spine/BoneData.cpp
editor-support/spine/BoundingBoxAttachment.cpp
editor-support/spine/CCSkeleton.cpp
editor-support/spine/CCSkeletonAnimation.cpp
editor-support/spine/Event.cpp
editor-support/spine/EventData.cpp
editor-support/spine/Json.cpp
editor-support/spine/RegionAttachment.cpp
editor-support/spine/Skeleton.cpp
editor-support/spine/SkeletonBounds.cpp
editor-support/spine/SkeletonData.cpp
editor-support/spine/SkeletonJson.cpp
editor-support/spine/Skin.cpp
editor-support/spine/Slot.cpp
editor-support/spine/SlotData.cpp
editor-support/spine/extension.cpp
editor-support/spine/spine-cocos2dx.cpp
editor-support/cocostudio/CCActionFrame.cpp
editor-support/cocostudio/CCActionFrameEasing.cpp
editor-support/cocostudio/CCActionManagerEx.cpp
editor-support/cocostudio/CCActionNode.cpp
editor-support/cocostudio/CCActionObject.cpp
editor-support/cocostudio/CCArmature.cpp
editor-support/cocostudio/CCArmatureAnimation.cpp
editor-support/cocostudio/CCArmatureDataManager.cpp
editor-support/cocostudio/CCArmatureDefine.cpp
editor-support/cocostudio/CCBatchNode.cpp
editor-support/cocostudio/CCBone.cpp
editor-support/cocostudio/CCColliderDetector.cpp
editor-support/cocostudio/CCComAttribute.cpp
editor-support/cocostudio/CCComAudio.cpp
editor-support/cocostudio/CCComController.cpp
editor-support/cocostudio/CCComRender.cpp
editor-support/cocostudio/CCDataReaderHelper.cpp
editor-support/cocostudio/CCDatas.cpp
editor-support/cocostudio/CCDecorativeDisplay.cpp
editor-support/cocostudio/CCDisplayFactory.cpp
editor-support/cocostudio/CCDisplayManager.cpp
editor-support/cocostudio/CCInputDelegate.cpp
editor-support/cocostudio/CCProcessBase.cpp
editor-support/cocostudio/CCSGUIReader.cpp
editor-support/cocostudio/CCSSceneReader.cpp
editor-support/cocostudio/CCSkin.cpp
editor-support/cocostudio/CCSpriteFrameCacheHelper.cpp
editor-support/cocostudio/CCTransformHelp.cpp
editor-support/cocostudio/CCTween.cpp
editor-support/cocostudio/CCUtilMath.cpp
editor-support/cocostudio/CocoLoader.cpp
editor-support/cocostudio/DictionaryHelper.cpp
editor-support/cocostudio/TriggerBase.cpp
editor-support/cocostudio/TriggerMng.cpp
editor-support/cocostudio/TriggerObj.cpp
editor-support/cocostudio/WidgetReader/WidgetReader.cpp
editor-support/cocostudio/WidgetReader/LoadingBarReader/LoadingBarReader.cpp
editor-support/cocostudio/WidgetReader/ListViewReader/ListViewReader.cpp
editor-support/cocostudio/WidgetReader/TextFieldReader/TextFieldReader.cpp
editor-support/cocostudio/WidgetReader/WidgetReader.cpp
editor-support/cocostudio/WidgetReader/CheckBoxReader/CheckBoxReader.cpp
editor-support/cocostudio/WidgetReader/SliderReader/SliderReader.cpp
editor-support/cocostudio/WidgetReader/PageViewReader/PageViewReader.cpp
editor-support/cocostudio/WidgetReader/TextReader/TextReader.cpp
editor-support/cocostudio/WidgetReader/TextAtlasReader/TextAtlasReader.cpp
editor-support/cocostudio/WidgetReader/LayoutReader/LayoutReader.cpp
editor-support/cocostudio/WidgetReader/TextBMFontReader/TextBMFontReader.cpp
editor-support/cocostudio/WidgetReader/ImageViewReader/ImageViewReader.cpp
editor-support/cocostudio/WidgetReader/ButtonReader/ButtonReader.cpp
editor-support/cocostudio/WidgetReader/ScrollViewReader/ScrollViewReader.cpp
editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp
editor-support/cocostudio/ActionTimeline/CCActionTimeline.cpp
editor-support/cocostudio/ActionTimeline/CCFrame.cpp
editor-support/cocostudio/ActionTimeline/CCNodeReader.cpp
editor-support/cocostudio/ActionTimeline/CCTimeLine.cpp
)
if(LINUX)
set(COCOS2D_AUDIO_SRC
audio/linux/FmodAudioPlayer.cpp
audio/linux/SimpleAudioEngineFMOD.cpp
)
elseif(MACOSX)
# split it in _C and non C
# because C files needs to be compiled with C compiler and not C++
# compiler
set(COCOS2D_AUDIO_SRC_C
audio/mac/CDAudioManager.m
audio/mac/CDOpenALSupport.m
audio/mac/CocosDenshion.m
audio/mac/SimpleAudioEngine_objc.m
)
set(COCOS2D_AUDIO_SRC
${COCOS2D_AUDIO_SRC_C}
audio/mac/SimpleAudioEngine.mm
audio/mac/CDXMacOSXSupport.mm
)
SET_SOURCE_FILES_PROPERTIES(
${COCOS2D_AUDIO_SRC_C}
PROPERTIES LANGUAGE C
)
else()
message( FATAL_ERROR "Unsupported platform, CMake will exit" )
endif()
# For external projects, leave one empty line
# between projects
set(COCOS2D_EXTERNAL_SRC
../external/tinyxml2/tinyxml2.cpp
../external/xxhash/xxhash.c
../external/unzip/ioapi.cpp
../external/unzip/unzip.cpp
../external/edtaa3func/edtaa3func.cpp
../external/ConvertUTF/ConvertUTF.c
../external/ConvertUTF/ConvertUTFWrapper.cpp
)
set(COCOS2D_DESKTOP_SRC
platform/desktop/CCGLViewImpl-desktop.cpp
)
if(LINUX)
set(COCOS2D_PLATFORM_SRC
${COCOS2D_DESKTOP_SRC}
platform/linux/CCApplication-linux.cpp
platform/linux/CCCommon-linux.cpp
platform/linux/CCDevice-linux.cpp
platform/linux/CCFileUtils-linux.cpp
platform/linux/CCStdC-linux.cpp
)
elseif(MACOSX)
set(COCOS2D_PLATFORM_SRC
${COCOS2D_DESKTOP_SRC}
platform/mac/CCApplication-mac.mm
platform/mac/CCCommon-mac.mm
platform/mac/CCDevice-mac.mm
platform/apple/CCLock-apple.cpp
platform/apple/CCFileUtils-apple.mm
platform/apple/CCThread-apple.mm
)
else()
message( FATAL_ERROR "Unsupported architecture, CMake will exit" )
endif()
set(COCOS2D_SRC
${COCOS2D_BASE_SRC}
${COCOS2D_PLATFORM_SRC}
${COCOS2D_EXTERNAL_SRC}
${COCOS2D_AUDIO_SRC}
${COCOS2D_EDITOR_SUPPORT_SRC}
)
set(COCOS2D_EXTENSIONS_SRC
../extensions/ExtensionDeprecated.cpp
../extensions/GUI/CCControlExtension/CCControlButton.cpp
../extensions/GUI/CCControlExtension/CCControlColourPicker.cpp
../extensions/GUI/CCControlExtension/CCControl.cpp
../extensions/GUI/CCControlExtension/CCControlHuePicker.cpp
../extensions/GUI/CCControlExtension/CCControlPotentiometer.cpp
../extensions/GUI/CCControlExtension/CCControlSaturationBrightnessPicker.cpp
../extensions/GUI/CCControlExtension/CCControlSlider.cpp
../extensions/GUI/CCControlExtension/CCControlStepper.cpp
../extensions/GUI/CCControlExtension/CCControlSwitch.cpp
../extensions/GUI/CCControlExtension/CCControlUtils.cpp
../extensions/GUI/CCControlExtension/CCInvocation.cpp
../extensions/GUI/CCScrollView/CCScrollView.cpp
../extensions/GUI/CCScrollView/CCTableViewCell.cpp
../extensions/GUI/CCScrollView/CCTableView.cpp
../extensions/assets-manager/AssetsManager.cpp
../extensions/physics-nodes/CCPhysicsDebugNode.cpp
../extensions/physics-nodes/CCPhysicsSprite.cpp
)
set(BOX2D_SRC
../external/Box2D/Collision/b2BroadPhase.cpp
../external/Box2D/Collision/b2CollideCircle.cpp
../external/Box2D/Collision/b2CollideEdge.cpp
../external/Box2D/Collision/b2CollidePolygon.cpp
../external/Box2D/Collision/b2Collision.cpp
../external/Box2D/Collision/b2Distance.cpp
../external/Box2D/Collision/b2DynamicTree.cpp
../external/Box2D/Collision/b2TimeOfImpact.cpp
../external/Box2D/Collision/Shapes/b2ChainShape.cpp
../external/Box2D/Collision/Shapes/b2CircleShape.cpp
../external/Box2D/Collision/Shapes/b2EdgeShape.cpp
../external/Box2D/Collision/Shapes/b2PolygonShape.cpp
../external/Box2D/Common/b2BlockAllocator.cpp
../external/Box2D/Common/b2Draw.cpp
../external/Box2D/Common/b2Math.cpp
../external/Box2D/Common/b2Settings.cpp
../external/Box2D/Common/b2StackAllocator.cpp
../external/Box2D/Common/b2Timer.cpp
../external/Box2D/Dynamics/b2Body.cpp
../external/Box2D/Dynamics/b2ContactManager.cpp
../external/Box2D/Dynamics/b2Fixture.cpp
../external/Box2D/Dynamics/b2Island.cpp
../external/Box2D/Dynamics/b2World.cpp
../external/Box2D/Dynamics/b2WorldCallbacks.cpp
../external/Box2D/Dynamics/Joints/b2DistanceJoint.cpp
../external/Box2D/Dynamics/Joints/b2FrictionJoint.cpp
../external/Box2D/Dynamics/Joints/b2GearJoint.cpp
../external/Box2D/Dynamics/Joints/b2Joint.cpp
../external/Box2D/Dynamics/Joints/b2MotorJoint.cpp
../external/Box2D/Dynamics/Joints/b2MouseJoint.cpp
../external/Box2D/Dynamics/Joints/b2PrismaticJoint.cpp
../external/Box2D/Dynamics/Joints/b2PulleyJoint.cpp
../external/Box2D/Dynamics/Joints/b2RevoluteJoint.cpp
../external/Box2D/Dynamics/Joints/b2RopeJoint.cpp
../external/Box2D/Dynamics/Joints/b2WeldJoint.cpp
../external/Box2D/Dynamics/Joints/b2WheelJoint.cpp
../external/Box2D/Dynamics/Contacts/b2ChainAndCircleContact.cpp
../external/Box2D/Dynamics/Contacts/b2ChainAndPolygonContact.cpp
../external/Box2D/Dynamics/Contacts/b2CircleContact.cpp
../external/Box2D/Dynamics/Contacts/b2Contact.cpp
../external/Box2D/Dynamics/Contacts/b2ContactSolver.cpp
../external/Box2D/Dynamics/Contacts/b2EdgeAndCircleContact.cpp
../external/Box2D/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp
../external/Box2D/Dynamics/Contacts/b2PolygonAndCircleContact.cpp
../external/Box2D/Dynamics/Contacts/b2PolygonContact.cpp
../external/Box2D/Rope/b2Rope.cpp
)
add_library(cocos2d STATIC ${COCOS2D_SRC} ${COCOS2D_EXTENSIONS_SRC} ${BOX2D_SRC})
if ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set(FMOD_LIB "fmodex64")
elseif ( CMAKE_SIZEOF_VOID_P EQUAL 4 )
set(FMOD_LIB "fmodex")
else()
message( FATAL_ERROR "Unsupported architecture, CMake will exit" )
endif()
if(LINUX)
set(PLATFORM_SPECIFIC_LIBS
pthread
fontconfig
GLEW
X11
rt
glfw
GL
${FMOD_LIB}
)
elseif(MACOSX)
INCLUDE_DIRECTORIES ( /System/Library/Frameworks )
FIND_LIBRARY(COCOA_LIBRARY Cocoa)
FIND_LIBRARY(OPENGL_LIBRARY OpenGL )
FIND_LIBRARY(AUDIOTOOLBOX_LIBRARY AudioToolbox)
FIND_LIBRARY(OPENAL_LIBRARY OpenAL )
FIND_LIBRARY(QUARTZCORE_LIBRARY QuartzCore )
FIND_LIBRARY(APPLICATIONSERVICES_LIBRARY ApplicationServices)
FIND_LIBRARY(IOKIT_LIBRARY IOKit)
FIND_LIBRARY(FOUNDATION_LIBRARY Foundation)
set(PLATFORM_SPECIFIC_LIBS
glfw3
websockets
${COCOA_LIBRARY}
${OPENGL_LIBRARY}
${OPENAL_LIBRARY}
${AUDIOTOOLBOX_LIBRARY}
${QUARTZCORE_LIBRARY}
${APPLICATIONSERVICES_LIBRARY}
${IOKIT_LIBRARY}
${FOUNDATION_LIBRARY}
)
else()
message( FATAL_ERROR "Unsupported platform, CMake will exit" )
endif()
target_link_libraries(cocos2d jpeg webp tiff freetype chipmunk png z curl ${PLATFORM_SPECIFIC_LIBS})
set_target_properties(cocos2d
PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
VERSION ${COCOS2D_X_VERSION}
)