zoukankan      html  css  js  c++  java
  • cmake 附加库目录 附加包含头文件目录 链接库 镜像不安全 宏定义 一个完整的cmake小项目

    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})
  • 相关阅读:
    并发容器-ConcurrentHashMap
    java中的volatile
    Java 8并发工具包简介
    jQuery ajax() 参数,回调函数,数据类型,发送数据到服务器,高级选项
    mint-ui vue双向绑定
    CSS完美兼容IE6/IE7/IE8/IE9/IE10的通用方法
    html中offsetTop、clientTop、scrollTop、offsetTop各属性介绍
    javascript组件的基本结构
    vue生命周期的介绍
    document.ready和onload的区别
  • 原文地址:https://www.cnblogs.com/YZFHKMS-X/p/13976856.html
Copyright © 2011-2022 走看看