CMakeLists.txt, pc, RPM spec Template for shared library
来源:互联网 发布:赌博网站源码下载 编辑:程序博客网 时间:2024/05/16 07:47
工程结构:
mysharedlib/
packaging/
- mysharedlib.spec
include/
- mysharedlib.h
src/
- mysharedlib.c
- CMakeLists.txt
- mysharedlib.pc.in
mysharedlib.spec
Name: mysharedlibSummary: My shared libraryVersion: 0.0.1Release: 1Group: System/librariesLicense: Flora LicenseSource0: %{name}-%{version}.tar.gzRequires(post): /sbin/ldconfigRequires(postun): /sbin/ldconfigBuildRequires: cmakeBuildRequires: pkgconfig(gtk+-2.0)%descriptionDescribe what your library used for.%package develSummary: My shared libraryGroup: Development%description develmy shared library development files%prep%setup -q%build%cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DVERSION=%{version}make %{?jobs:-j%jobs}%installrm -rf %{buildroot}%make_install%post -p /sbin/ldconfig%postun -p /sbin/ldconfig%files%defattr(-,root,root,-)%{_libdir}/*.so.*%files devel%defattr(-,root,root,-)%{_prefix}/include/*%{_libdir}/*.so%{_libdir}/pkgconfig/%{name}.pc
CMakeList.txt内容
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)PROJECT(mysharedlib)SET(PREFIX ${CMAKE_INSTALL_PREFIX})SET(LIBDIR "${PREFIX}/lib")SET(INCLUDEDIR "${PREFIX}/include/mysharedlib")IF(NOT DEFINED VERSION)SET(VERSION "0.0.1")ENDIF(NOT DEFINED VERSION)#ADD_DEFINITIONS("-DPROVIDERDIR=\"${PROVIDERDIR}\"")INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)INCLUDE(FindPkgConfig)pkg_check_modules(PKGS REQUIRED gtk+-2.0)FOREACH(FLAG ${PKGS_CFLAGS})SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${FLAG}")ENDFOREACH(FLAG)SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall")SET(SRCSsrc/mysharedlib.c)ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PKGS_LDFLAGS} ${EXTRA_LDFLAGS})SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${CFLAGS}")SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION})SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR})INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/mysharedlib.h DESTINATION ${INCLUDEDIR})INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIBDIR}/pkgconfig)
mysharedlib.pc.in
prefix=@PREFIX@exec_prefix=@PREFIX@libdir=@LIBDIR@includedir=@INCLUDEDIR@Name: mysharedlibDescription: my shared libraryVersion: @VERSION@Requires.private: gtk+-2.0Libs: -L${libdir} -l@PROJECT_NAME@Cflags: -I${includedir}
0 0
- CMakeLists.txt, pc, RPM spec Template for shared library
- CMakeLists.txt, pc, RPM spec Template for shared library
- CMakelists.txt for compiling HDF5
- CMakelists.txt
- CMakeLists.txt
- CMakeLists.txt
- CMakeLists.txt
- CMakeLists.txt
- rpm spec
- rpm spec
- Shared library "Hello World!" for Android
- Shared library "Hello World!" for Android
- Shared library "Hello World!" for Android
- CMakeLists.txt的写法
- CMakeLists.txt文件写法
- CMakeLists.txt的写法
- CMakeLists.txt 编写
- ROS中的CMakeLists.txt
- 青春(作者是塞缪尔.厄尔曼)
- arcgis 10.1安全设置
- gzip解压缩命令
- Android动画系列----------- 动画概述
- FFT算法的DSP实现
- CMakeLists.txt, pc, RPM spec Template for shared library
- JAVA设计模式之代理模式
- 软考之路(三)网络基础总结
- cocos2d-x 3.3 之黑白棋设计 NO.5 AI
- ArcGIS教程:3D 折线要素
- 矩阵特征值分解与奇异值分解含义解析及应用
- 在yii中使用session和cookie
- iOS -- 国际化,不跟随系统语言--(不能使用storyboard、xib等)可网络上搜索 storyboard国际化
- gcc命令行下面编译C