cmake_minimum_required(VERSION 3.5)
######
## WINDOWS 32 bit library linux 64 bit library
######
project(libcocos)
######################
message("please define target platform")
#add_definitions(-D WINDOWS)
#add_definitions(-D LINUX)
# 1 WINDOWS
# 0 LINUX
message("test project ,please define target platform, 1 WINDOWS ,0 LINUX")
set(PLATFOROM 1)
#set(PLATFOROM 0)
message("PROJECT_SOURCE_DIR is ${PROJECT_SOURCE_DIR}")
if(PLATFOROM)
add_definitions(-D UNICODE)
add_definitions(-D WINDOWS)
add_definitions(-D CC_STATIC)
else()
#add_definitions(-D LINUX)
endif()
include_directories(
${PROJECT_SOURCE_DIR}/libcocos
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/cocos
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/cocos/audio
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/cocos/audio/include
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/glfw3/include/win32
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/win32-specific/gles/include/OGLES
${PROJECT_SOURCE_DIR}/libEx/Box2D/include
${PROJECT_SOURCE_DIR}/libEx/ffmpeg/include
${PROJECT_SOURCE_DIR}/libEx/opencv/include
${PROJECT_SOURCE_DIR}/libEx/SDL/include
${PROJECT_SOURCE_DIR}/libEx/boost/include
${PROJECT_SOURCE_DIR}/src
${PROJECT_SOURCE_DIR}/src/liquidFun
${PROJECT_SOURCE_DIR}/src/liquidFun/Tests
${PROJECT_SOURCE_DIR}/src/liquidFunSprite
)
link_directories(
${PROJECT_SOURCE_DIR}/libEx/Box2D/lib
${PROJECT_SOURCE_DIR}/libEx/ffmpeg/lib
${PROJECT_SOURCE_DIR}/libEx/opencv/lib
${PROJECT_SOURCE_DIR}/libEx/SDL/lib
${PROJECT_SOURCE_DIR}/libEx/boost/lib/x86
)
set(EXTERN_LIBRARY
liquidfun.lib
avcodec.lib
avdevice.lib
avfilter.lib
avformat.lib
avutil.lib
postproc.lib
swresample.lib
swscale.lib
opencv_calib3d450d.lib
opencv_core450d.lib
opencv_dnn450d.lib
opencv_features2d450d.lib
opencv_flann450d.lib
opencv_gapi450d.lib
opencv_highgui450d.lib
opencv_imgcodecs450d.lib
opencv_imgproc450d.lib
opencv_ml450d.lib
opencv_objdetect450d.lib
opencv_photo450d.lib
opencv_stitching450d.lib
opencv_video450d.lib
opencv_videoio450d.lib
SDL2maind.lib
SDL2d.lib
libboost_random-vc141-mt-gd-x32-1_71.lib
)
include(src/liquidFun/CMakeLists.txt)
include(src/liquidFunSprite/CMakeLists.txt)
if(PLATFOROM)
set(PLATFROMDEP
opengl32.lib
odbc32.lib
ws2_32.lib
Version.lib
Winmm.lib
GlU32.Lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/luacocos2d.lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/simulatorlib.lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/external.lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/cocos2d.lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/ext_clipper.lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/ext_convertUTF.lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/ext_edtaa3func.lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/ext_luasocket.lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/ext_md5.lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/ext_poly2tri.lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/ext_recast.lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/ext_tinyxml2.lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/ext_tolua.lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/ext_unzip.lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/ext_xxhash.lib
${PROJECT_SOURCE_DIR}/libcocos/app/build/lib/Debug/ext_xxtea.lib
#${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/Box2D/prebuilt/win32/debug/libbox2d.lib
${EXTERN_LIBRARY}
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/bullet/prebuilt/win32/debug/libbullet.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/chipmunk/prebuilt/win32/debug-lib/libchipmunk.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/curl/prebuilt/win32/libcurl.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/freetype2/prebuilt/win32/freetype.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/glfw3/prebuilt/win32/glfw3.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/jpeg/prebuilt/win32/libjpeg.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/openssl/prebuilt/win32/libcrypto.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/openssl/prebuilt/win32/libssl.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/png/prebuilt/win32/libpng.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/sqlite3/libraries/win32/sqlite3.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/tiff/prebuilt/win32/libtiff.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/webp/prebuilt/win32/libwebp.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/websockets/prebuilt/win32/websockets.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/win32-specific/gles/prebuilt/glew32.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/win32-specific/icon/prebuilt/libiconv.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/win32-specific/MP3Decoder/prebuilt/libmpg123.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/win32-specific/OggDecoder/prebuilt/libogg.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/win32-specific/OggDecoder/prebuilt/libvorbis.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/win32-specific/OggDecoder/prebuilt/libvorbisfile.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/win32-specific/OpenalSoft/prebuilt/OpenAL32.lib
${PROJECT_SOURCE_DIR}/libcocos/app/frameworks/cocos2d-x/external/win32-specific/zlib/prebuilt/libzlib.lib
)
else()
#set(PLATFROMDEP )
endif()
set(libcocos_HEADER
src/AppDelegate.h
src/MainScene.h
#${LIQUIDFUN_HEADER}
#${LIQUIDFUNSPRITE_HEADER}
)
set(libcocos_SOURCE
src/AppDelegate.cpp
src/MainScene.cpp
src/main.cpp
#${LIQUIDFUN_SRC}
#${LIQUIDFUNSPRITE_SRC}
)
list(APPEND libcocos_SOURCE ${libcocos_HEADER})
add_executable(libcocos ${libcocos_SOURCE} )
if (CMAKE_SYSTEM_NAME MATCHES "Windows")
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO /NODEFAULTLIB:LIBC.LIB")
set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO /NODEFAULTLIB:LIBC.LIB")
set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO /NODEFAULTLIB:LIBC.LIB")
endif (CMAKE_SYSTEM_NAME MATCHES "Windows")
target_link_libraries(libcocos PUBLIC ${PLATFROMDEP})