mirror of
https://github.com/sogou/workflow.git
synced 2026-10-17 04:31:07 +08:00
update cmake process (#56)
* build: remove CMAKE_INSTALL_PREFIX Use default value. * build: remove CPack Need more design. * build: format style * build: update GNUmakefile Remove useless targets.
This commit is contained in:
+2
-48
@@ -1,17 +1,10 @@
|
||||
cmake_minimum_required(VERSION 3.6)
|
||||
|
||||
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "build type")
|
||||
if (WIN32)
|
||||
set (CMAKE_INSTALL_PREFIX "C:\Program Files\\" CACHE PATH "install prefix")
|
||||
elseif (APPLE)
|
||||
set(CMAKE_INSTALL_PREFIX "/Applications/" CACHE PATH "install prefix")
|
||||
else ()
|
||||
set(CMAKE_INSTALL_PREFIX "/usr/lib/" CACHE PATH "install prefix")
|
||||
endif ()
|
||||
|
||||
set(CMAKE_SKIP_RPATH TRUE)
|
||||
|
||||
project(workflow
|
||||
project(
|
||||
workflow
|
||||
VERSION 0.9.1
|
||||
LANGUAGES C CXX
|
||||
)
|
||||
@@ -33,7 +26,6 @@ set(LIB_DIR ${PROJECT_SOURCE_DIR}/_lib CACHE PATH "workflow lib")
|
||||
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIB_DIR})
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIB_DIR})
|
||||
#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LIB_DIR})
|
||||
|
||||
add_custom_target(
|
||||
LINK_HEADERS ALL
|
||||
@@ -56,7 +48,6 @@ add_custom_command(
|
||||
)
|
||||
|
||||
foreach(header_file ${INCLUDE_HEADERS} ${INCLUDE_KERNEL_HEADERS})
|
||||
#file(COPY ${PROJECT_SOURCE_DIR}/${header_file} DESTINATION ${INC_DIR}/${PROJECT_NAME})
|
||||
string(REPLACE "/" ";" arr ${header_file})
|
||||
list(GET arr -1 file_name)
|
||||
makeLink(${PROJECT_SOURCE_DIR}/${header_file} ${INC_DIR}/${PROJECT_NAME}/${file_name} LINK_HEADERS)
|
||||
@@ -110,37 +101,6 @@ install(
|
||||
RENAME ${PROJECT_NAME}-config.cmake
|
||||
)
|
||||
|
||||
#### PACK
|
||||
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sogou C++ Workflow")
|
||||
set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
|
||||
|
||||
# set(CPACK_RPM_PRE_INSTALL_SCRIPT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/pre_script.sh)
|
||||
# set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/post_script.sh)
|
||||
|
||||
execute_process(
|
||||
COMMAND git log -n1 --format=%ad --date=short
|
||||
RESULT_VARIABLE GIT_LOG_RET
|
||||
OUTPUT_VARIABLE GIT_YMD
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
if (NOT GIT_LOG_RET EQUAL 0)
|
||||
set(GIT_YMD 0)
|
||||
endif()
|
||||
|
||||
string(REPLACE "-" "" RELEASE_LABEL ${GIT_YMD})
|
||||
set(CPACK_RPM_PACKAGE_RELEASE ${RELEASE_LABEL})
|
||||
|
||||
set(CPACK_RPM_COMPONENT_INSTALL ON)
|
||||
set(CPACK_COMPONENTS_ALL devel)
|
||||
set(CPACK_RPM_FILE_NAME RPM-DEFAULT)
|
||||
set(CPACK_RPM_PACKAGE_RELEASE_DIST ON)
|
||||
|
||||
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION /usr/lib64/cmake)
|
||||
|
||||
set(CPACK_RPM_DEVEL_PACKAGE_REQUIRES "openssl-devel >= 1.0.1")
|
||||
|
||||
install(
|
||||
FILES ${INCLUDE_HEADERS} ${INCLUDE_KERNEL_HEADERS}
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}
|
||||
@@ -152,9 +112,3 @@ install(
|
||||
DESTINATION "${CMAKE_INSTALL_DOCDIR}-${PROJECT_VERSION}"
|
||||
COMPONENT devel
|
||||
)
|
||||
|
||||
set(CPACK_RPM_SPEC_MORE_DEFINE "%define __spec_install_post /bin/true") # disable strip
|
||||
set(CPACK_GENERATOR "RPM")
|
||||
|
||||
include(CPack)
|
||||
|
||||
|
||||
+3
-10
@@ -1,5 +1,5 @@
|
||||
ROOT_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
|
||||
ALL_TARGETS := all base check install preinstall package rpm clean tutorial
|
||||
ALL_TARGETS := all base check install preinstall clean tutorial
|
||||
MAKE_FILE := Makefile
|
||||
|
||||
DEFAULT_BUILD_DIR := build
|
||||
@@ -14,7 +14,7 @@ all: base
|
||||
base:
|
||||
mkdir -p $(BUILD_DIR)
|
||||
ifeq ($(DEBUG),y)
|
||||
cd $(BUILD_DIR) && $(CMAKE3) -D CMAKE_BUILD_TYPE=Debug $(ROOT_DIR)
|
||||
cd $(BUILD_DIR) && $(CMAKE3) -DCMAKE_BUILD_TYPE=Debug $(ROOT_DIR)
|
||||
else ifneq ("${INSTALL_PREFIX}install_prefix", "install_prefix")
|
||||
cd $(BUILD_DIR) && $(CMAKE3) -DCMAKE_INSTALL_PREFIX:STRING=${INSTALL_PREFIX} $(ROOT_DIR)
|
||||
else
|
||||
@@ -27,16 +27,11 @@ tutorial: all
|
||||
check: all
|
||||
make -C test check
|
||||
|
||||
install preinstall package: base
|
||||
install preinstall: base
|
||||
mkdir -p $(BUILD_DIR)
|
||||
cd $(BUILD_DIR) && $(CMAKE3) $(ROOT_DIR)
|
||||
make -C $(BUILD_DIR) -f Makefile $@
|
||||
|
||||
rpm: package
|
||||
ifneq ($(BUILD_DIR),.)
|
||||
mv $(BUILD_DIR)/*.rpm ./
|
||||
endif
|
||||
|
||||
clean:
|
||||
ifeq (build, $(wildcard build))
|
||||
-make -C build clean
|
||||
@@ -46,8 +41,6 @@ endif
|
||||
rm -rf $(DEFAULT_BUILD_DIR)
|
||||
rm -rf _include
|
||||
rm -rf _lib
|
||||
rm -f SRCINFO SRCNUMVER SRCVERSION
|
||||
rm -f ./*.rpm
|
||||
find . -name CMakeCache.txt | xargs rm -f
|
||||
find . -name Makefile | xargs rm -f
|
||||
find . -name "*.cmake" | xargs rm -f
|
||||
|
||||
Reference in New Issue
Block a user