우분투 용 uci 패키지를 만들고 싶습니다. cmake로 패키지를 만드는 방법은?
나는 소스 패키지를 다운로드하고 나는C
파일로 발견
header
파일과
CMakeLists.txt
어떻게 cmake와 UCI 프로젝트를 빌드?
CMakeLists.txt 다음과 같이 나는이 특정 사건에 대해 모르는
cmake_minimum_required(VERSION 2.6)
PROJECT(uci C)
SET(CMAKE_INSTALL_PREFIX /usr)
ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -I. -DUCI_PREFIX="${CMAKE_INSTALL_PREFIX}")
OPTION(UCI_PLUGIN_SUPPORT "plugin support" ON)
OPTION(UCI_DEBUG "debugging support" OFF)
OPTION(UCI_DEBUG_TYPECAST "typecast debugging support" OFF)
OPTION(BUILD_LUA "build Lua plugin" ON)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/uci_config.h.in ${CMAKE_SOURCE_DIR}/uci_config.h)
SET(LIB_SOURCES libuci.c file.c util.c delta.c parse.c)
ADD_LIBRARY(uci-shared SHARED ${LIB_SOURCES})
SET_TARGET_PROPERTIES(uci-shared PROPERTIES OUTPUT_NAME uci)
TARGET_LINK_LIBRARIES(uci-shared dl)
ADD_LIBRARY(uci-static STATIC ${LIB_SOURCES})
SET_TARGET_PROPERTIES(uci-static PROPERTIES OUTPUT_NAME uci)
ADD_EXECUTABLE(cli cli.c)
SET_TARGET_PROPERTIES(cli PROPERTIES OUTPUT_NAME uci)
TARGET_LINK_LIBRARIES(cli uci-shared dl)
ADD_EXECUTABLE(cli-static cli.c)
SET_TARGET_PROPERTIES(cli-static PROPERTIES OUTPUT_NAME uci-static)
TARGET_LINK_LIBRARIES(cli-static uci-static dl)
ADD_LIBRARY(ucimap STATIC ucimap.c)
ADD_EXECUTABLE(ucimap-example ucimap-example.c)
TARGET_LINK_LIBRARIES(ucimap-example uci-static ucimap dl)
ADD_SUBDIRECTORY(lua)
INSTALL(FILES uci.h uci_config.h ucimap.h
DESTINATION include
)
INSTALL(TARGETS uci-shared uci-static cli cli-static
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
)
설치 경로를 'cmake -DCMAKE_INSTALL_PREFIX =/path/to/install/path/to/src'로 설정하고 싶을 수도 있습니다. – Bort
@Bort 예. 그러나 CMakeList도 설정합니다. – Angew
예. 커맨드 라인에서 설정하면 기본값이나 CMakeLists.txt에 설정된 값을 덮어 씁니다. 여기서는 언급하지 않을 것이다. 왜냐하면 비 루트로서/usr/local (리눅스에서는 디폴트)에 쓸 수 없기 때문이다. 또한, cmake에 익숙하지만 자동 도구 ./configure에 친숙한 사람들은 대개 '--prefix'와 동등한 것을 찾습니다. – Bort