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})
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2019-11-15 Windows 获取windows密码
2019-11-15 Windows NtQueryInformationProcess()
2019-11-15 Windows API 查看器
2019-11-15 Windows 屏幕保护程序
2019-11-15 C/C++ 表达式
2019-11-15 C/C++ 智能指针
2019-11-15 OpenGL ANYTOOL