Compare commits

..

No commits in common. "353d92da23a86c46128db3493e2f4a7f09ee16e0" and "ee00e43d25eb57b937b90685969c91707f7abd56" have entirely different histories.

9 changed files with 43 additions and 56 deletions

View File

@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.0) cmake_minimum_required(VERSION 3.0)
project(myx-cmake VERSION 0.3.6 LANGUAGES) project(myx-cmake VERSION 0.3.4 LANGUAGES)
include(GNUInstallDirs) include(GNUInstallDirs)
file(WRITE ${CMAKE_SOURCE_DIR}/MyxCMake/MyxCMakeConfigVersion.cmake file(WRITE ${CMAKE_SOURCE_DIR}/MyxCMake/MyxCMakeConfigVersion.cmake

View File

@ -1,7 +1,7 @@
# Подключение внешних проектов # Подключение внешних проектов
include(ExternalProject) include(ExternalProject)
if(MPFR_FOUND AND IS_DIRECTORY ${CMAKE_SOURCE_DIR}/thirdparty/mpreal) if(MPFR_FOUND)
ExternalProject_Add( ExternalProject_Add(
mpfrcpp mpfrcpp
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/mpreal SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/mpreal
@ -9,8 +9,7 @@ if(MPFR_FOUND AND IS_DIRECTORY ${CMAKE_SOURCE_DIR}/thirdparty/mpreal)
CONFIGURE_COMMAND true CONFIGURE_COMMAND true
BUILD_COMMAND true BUILD_COMMAND true
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/mpreal.h <INSTALL_DIR>) INSTALL_COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/mpreal.h <INSTALL_DIR>)
set(MPFRCPP_PREFIX ${CMAKE_BINARY_DIR} CACHE FILEPATH "" FORCE)
set(MPFRCPP_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "" FORCE)
endif() endif()
set(MPFRCPP_PREFIX ${CMAKE_BINARY_DIR} CACHE FILEPATH "" FORCE)
set(MPFRCPP_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "" FORCE)

View File

@ -1,13 +1,11 @@
function(myx_cmake_enable_high_precision_math) find_package(Quadmath)
find_package(Quadmath) if(QUADMATH_FOUND)
if(QUADMATH_FOUND) add_definitions(-DHAVE_QUADMATH=1)
add_definitions(-DHAVE_QUADMATH=1) else()
find_package(MPFR)
if(MPFR_FOUND)
find_package(MPFRCppThirdparty)
else() else()
find_package(MPFR) message(FATAL_ERROR "Nor Quadmath, nor MPFR found.")
if(MPFR_FOUND)
find_package(MPFRCppThirdparty)
else()
message(FATAL_ERROR "Nor Quadmath, nor MPFR found.")
endif()
endif() endif()
endfunction() endif()

View File

@ -5,18 +5,17 @@ else()
endif() endif()
function(myx_cmake_analyze_pvs_studio target) function(myx_cmake_analyze_pvs_studio target)
if(EXISTS PVS_STUDIO_BIN_PATH AND EXISTS PVS_STUDIO_CONVERTER_PATH) set(options)
set(options) set(oneValueArgs CHECKS)
set(oneValueArgs CHECKS) set(multiValueArgs)
set(multiValueArgs) if(NOT TARGET myx-cmake-analyze-pvs-studio)
if(NOT TARGET myx-cmake-analyze-pvs-studio) set(PVS_STUDIO_HEADER "${CMAKE_BINARY_DIR}/include/myx_cmake_pvs_studio_header.hpp")
set(PVS_STUDIO_HEADER "${CMAKE_BINARY_DIR}/include/myx_cmake_pvs_studio_header_p.hpp") file(WRITE ${PVS_STUDIO_HEADER}
file(WRITE ${PVS_STUDIO_HEADER} "#ifndef MYX_CMAKE_PVS_STUDIO_HEADER_HPP_\n"
"#ifndef MYX_CMAKE_PVS_STUDIO_HEADER_HPP_\n" "#define MYX_CMAKE_PVS_STUDIO_HEADER_HPP_\n"
"#define MYX_CMAKE_PVS_STUDIO_HEADER_HPP_\n" "#pragma once\n"
"#pragma once\n" "//-V813_MINSIZE=33\n"
"//-V813_MINSIZE=33\n" "#endif // MYX_CMAKE_PVS_STUDIO_HEADER_HPP_\n")
"#endif // MYX_CMAKE_PVS_STUDIO_HEADER_HPP_\n")
pvs_studio_add_target(TARGET myx-cmake-analyze-pvs-studio pvs_studio_add_target(TARGET myx-cmake-analyze-pvs-studio
CONFIG ${PVS_STUDIO_CONFIG} CONFIG ${PVS_STUDIO_CONFIG}
@ -27,23 +26,22 @@ function(myx_cmake_analyze_pvs_studio target)
ARGS --exclude-path ${CMAKE_CURRENT_BINARY_DIR}/${target}_autogen ARGS --exclude-path ${CMAKE_CURRENT_BINARY_DIR}/${target}_autogen
MODE GA:1,2,3;64:1;OP:1,2;CS:1,2) MODE GA:1,2,3;64:1;OP:1,2;CS:1,2)
get_target_property(__target_type ${target} TYPE) get_target_property(__target_type ${target} TYPE)
if(${__target_type} STREQUAL INTERFACE_LIBRARY) if(${__target_type} STREQUAL INTERFACE_LIBRARY)
set(__target_type INTERFACE) set(__target_type INTERFACE)
else() else()
set(__target_type PRIVATE) set(__target_type PRIVATE)
endif()
if(MSVC)
target_compile_options(${target} BEFORE ${__target_type} /FI ${PVS_STUDIO_HEADER})
else() # GCC/Clang
target_compile_options(${target} BEFORE ${__target_type} -include ${PVS_STUDIO_HEADER})
endif()
add_dependencies(myx-cmake-analyze-pvs-studio ${target})
get_target_property(__target_source_dir "${target}" SOURCE_DIR)
pvs_studio_analyze_target("${target}" "${__target_source_dir}")
endif() endif()
else() if(MSVC)
message(STATUS "MyxCMake: pvs-studio-analyzer not found.") target_compile_options(${target} BEFORE ${__target_type} /FI ${PVS_STUDIO_HEADER})
else() # GCC/Clang
target_compile_options(${target} BEFORE ${__target_type} -include ${PVS_STUDIO_HEADER})
endif()
endif()
if(EXISTS PVS_STUDIO_BIN_PATH AND EXISTS PVS_STUDIO_CONVERTER_PATH AND TARGET myx-cmake-analyze-pvs-studio)
add_dependencies(myx-cmake-analyze-pvs-studio ${target})
get_target_property(__target_source_dir "${target}" SOURCE_DIR)
pvs_studio_analyze_target("${target}" "${__target_source_dir}")
endif() endif()
endfunction() endfunction()

View File

@ -1,8 +1,4 @@
function(myx_cmake_common_target_properties target) function(myx_cmake_common_target_properties target)
if(NOT TARGET ${target})
message(FATAL_ERROR "MyxCMake: Target ${target} does not exists.")
return()
endif()
get_target_property(_target_type ${target} TYPE) get_target_property(_target_type ${target} TYPE)
set(__visibility PUBLIC) set(__visibility PUBLIC)

View File

@ -12,7 +12,7 @@ popd
cp -ap debian "$D/myx-cmake-$V" cp -ap debian "$D/myx-cmake-$V"
pushd "$D/myx-cmake-$V" pushd "$D/myx-cmake-$V"
dch -D unstable -v "${V}-1" -m "New version." dch -D unstable -v "${V}-1" -m "New version."
debuild --no-sign debuild
popd popd
cp -f ${D}/myx*deb . cp -f ${D}/myx*deb .

1
debian/compat vendored Normal file
View File

@ -0,0 +1 @@
9

2
debian/control vendored
View File

@ -2,7 +2,7 @@ Source: myx-cmake
Section: utils Section: utils
Priority: optional Priority: optional
Maintainer: Andrey Astafyev <dev@246060.ru> Maintainer: Andrey Astafyev <dev@246060.ru>
Build-Depends: debhelper (>= 9), debhelper-compat (= 9), cmake Build-Depends: debhelper (>= 9), cmake
Standards-Version: 4.2.0 Standards-Version: 4.2.0
Package: myx-cmake Package: myx-cmake

5
debian/rules vendored
View File

@ -2,8 +2,3 @@
%: %:
dh $@ --buildsystem=cmake dh $@ --buildsystem=cmake
override_dh_fixperms:
dh_fixperms
find debian -name asan-wrapper -print0 | xargs -0 chmod +x