summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliuxueli <[email protected]>2020-04-10 15:19:34 +0800
committerliuxueli <[email protected]>2020-04-10 15:19:34 +0800
commitc183ed6af143f927ffe7ecf3f64050d31e4e0cdb (patch)
tree1e548258992314454a1e0f3aaff0611fc0499043
parent7e8af6eca66f5bd387a43aad85e5d92fe198b3ef (diff)
按照规范生成devel.rpmv2.8.6
-rw-r--r--.gitlab-ci.yml19
-rwxr-xr-xCMakeLists.txt27
-rw-r--r--cmake/Package.cmake28
3 files changed, 28 insertions, 46 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a5b6ded..0be8a6a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -83,21 +83,4 @@ release_build_release:
paths:
- build/*.rpm
only:
- - tags
-
-release_build_release_devel:
- stage: build
- variables:
- BUILD_TYPE: RelWithDebInfo
- ENABLE_DEVEL_SWITCH: "ON"
- PACKAGE: 1
- UPLOAD: 1
- PULP3_REPO_NAME: framework-stable-x86_64.el7
- PULP3_DIST_NAME: framework-stable-x86_64.el7
- extends: .build_by_travis
- artifacts:
- name: "MESA_field_stat2-$CI_COMMIT_REF_NAME-release"
- paths:
- - build/*.rpm
- only:
- - tags
+ - tags \ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5e06427..1a38241 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,19 +12,20 @@ set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wall)
set(CMAKE_INSTALL_PREFIX /opt/MESA)
#for ASAN
-option(ENABLE_SANITIZE_ADDRESS "Enable AddressSanitizer" FALSE)
-option(ENABLE_SANITIZE_THREAD "Enable ThreadSanitizer" FALSE)
-
-if(ENABLE_SANITIZE_ADDRESS)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasan")
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasan")
-elseif(ENABLE_SANITIZE_THREAD)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=thread -fno-omit-frame-pointer")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread -fno-omit-frame-pointer")
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasan")
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasan")
+set(ASAN_OPTION "OFF" CACHE STRING " set asan type chosen by the user, using OFF as default")
+set_property(CACHE ASAN_OPTION PROPERTY STRINGS OFF ADDRESS THREAD)
+message(STATUS "ASAN_OPTION='${ASAN_OPTION}'")
+
+if(ASAN_OPTION MATCHES "ADDRESS")
+ set(CMAKE_C_FLAGS "${CMAKADDRESS} -g -DCMAKE_BUILD_TYPE=Debug -fsanitize=address -fno-omit-frame-pointer")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -DCMAKE_BUILD_TYPE=Debug -fsanitize=address -fno-omit-frame-pointer")
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasan")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasan")
+elseif(ASAN_OPTION MATCHES "THREAD")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -DCMAKE_BUILD_TYPE=Debug -fsanitize=thread -fno-omit-frame-pointer")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -DCMAKE_BUILD_TYPE=Debug -fsanitize=thread -fno-omit-frame-pointer")
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasan")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasan")
endif()
# end of for ASAN
diff --git a/cmake/Package.cmake b/cmake/Package.cmake
index 83d6447..2703138 100644
--- a/cmake/Package.cmake
+++ b/cmake/Package.cmake
@@ -17,7 +17,7 @@ execute_process(COMMAND bash -c "echo -ne \"`uname -r | awk -F'.' '{print $5\".\
# RPM Build
set(CPACK_GENERATOR "RPM")
set(CPACK_RPM_PACKAGE_VENDOR "MESA")
-set(CPACK_RPM_PACKAGE_AUTOREQPROV "no")
+set(CPACK_RPM_PACKAGE_AUTOREQPROV "yes")
set(CPACK_RPM_PACKAGE_RELEASE_LIBRARY "on")
set(CPACK_RPM_DEBUGINFO_PACKAGE "on")
set(CPACK_RPM_PACKAGE_DEBUG 1)
@@ -28,23 +28,21 @@ set(CPACK_COMPONENTS_GROUPING ONE_PER_GROUP)
set(CPACK_COMPONENT_HEADER_DISPLAY_NAME "develop")
set(CPACK_COMPONENT_LIBRARY_REQUIRED TRUE)
set(CPACK_COMPONENT_HEADER_REQUIRED TRUE)
-set(CPACK_RPM_PACKAGE_NAME ${MY_RPM_NAME_PREFIX})
+set(CPACK_RPM_HEADER_PACKAGE_NAME "${MY_RPM_NAME_PREFIX}-devel")
+set(CPACK_RPM_LIBRARY_PACKAGE_NAME ${MY_RPM_NAME_PREFIX})
-if(ENABLE_DEVEL)
- set(CPACK_RPM_FILE_NAME "${MY_RPM_NAME_PREFIX}-devel-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
- set(CPACK_RPM_DEVEL_DEBUGINFO_FILE_NAME "${MY_RPM_NAME_PREFIX}-devel-debuginfo-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
+set(CPACK_RPM_FILE_NAME "${CPACK_RPM_LIBRARY_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
+set(CPACK_RPM_LIBRARY_DEBUGINFO_FILE_NAME "${CPACK_RPM_LIBRARY_PACKAGE_NAME}-debuginfo-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
+set(CPACK_COMPONENT_LIBRARY_GROUP "library")
- set(CPACK_COMPONENT_LIBRARY_GROUP "devel")
- set(CPACK_COMPONENT_HEADER_GROUP "devel")
- set(CPACK_COMPONENTS_ALL LIBRARY HEADER)
-else()
- set(CPACK_RPM_MAIN_COMPONENT LIBRARY)
- set(CPACK_RPM_FILE_NAME "${MY_RPM_NAME_PREFIX}-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
- set(CPACK_RPM_LIBRARY_DEBUGINFO_FILE_NAME "${MY_RPM_NAME_PREFIX}-debuginfo-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
+set(CPACK_RPM_HEADER_FILE_NAME "${CPACK_RPM_HEADER_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
+set(CPACK_RPM_HEADER_DEBUGINFO_FILE_NAME "${CPACK_RPM_HEADER_PACKAGE_NAME}-debuginfo-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
+set(CPACK_COMPONENT_HEADER_GROUP "header")
- set(CPACK_COMPONENT_LIBRARY_GROUP "library")
- set(CPACK_COMPONENTS_ALL LIBRARY)
-endif()
+set(CPACK_RPM_HEADER_PACKAGE_REQUIRES_PRE ${CPACK_RPM_LIBRARY_PACKAGE_NAME})
+set(CPACK_RPM_HEADER_PACKAGE_CONFLICTS ${CPACK_RPM_HEADER_PACKAGE_NAME})
+
+set(CPACK_COMPONENTS_ALL LIBRARY HEADER)
set(CPACK_BUILD_SOURCE_DIRS "${CMAKE_SOURCE_DIR}")