From 3b387f57380988f91daf18edde53d696cb5c74e8 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Mon, 9 Dec 2019 04:12:15 +0300 Subject: remove duplicate common.cmake --- common.cmake | 107 ----------------------------------------------------------- 1 file changed, 107 deletions(-) delete mode 100644 common.cmake (limited to 'common.cmake') diff --git a/common.cmake b/common.cmake deleted file mode 100644 index 2d5e9f9..0000000 --- a/common.cmake +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright (c) 2017 Egor Tensin -# It's a CMake code snippet I use in all of my CMake projects. -# It makes targets link the runtime statically by default + strips debug -# symbols in release builds. -# The latest version can be found at -# https://github.com/egor-tensin/cmake-common. -# Distributed under the MIT License. - -# Version: 2019-11-29T22:30:28Z - -get_directory_property(parent_directory PARENT_DIRECTORY) -set(is_root_project $) - -if(CMAKE_C_COMPILER) - set(toolset "${CMAKE_C_COMPILER_ID}") -elseif(CMAKE_CXX_COMPILER) - set(toolset "${CMAKE_CXX_COMPILER_ID}") -else() - set(toolset "unknown") -endif() - -set(USE_STATIC_RUNTIME "${is_root_project}" CACHE BOOL "Link the runtime statically") -set(STRIP_SYMBOL_TABLE "${is_root_project}" CACHE BOOL "Strip symbol tables") -set(CXX_STANDARD "17" CACHE BOOL "Set C++ standard version") - -if(is_root_project) - if(MSVC) - add_compile_options(/MP /W4) - elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - add_compile_options(-Wall -Wextra) - else() - message(WARNING "Unrecognized toolset: ${toolset}") - endif() -endif() - -set(CMAKE_CXX_STANDARD "${CXX_STANDARD}") -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) - -function(use_static_runtime_msvc target) - get_target_property(target_type "${target}" TYPE) - if(target_type STREQUAL INTERFACE_LIBRARY) - else() - target_compile_options("${target}" PRIVATE - $<$:/MTd> - $<$>:/MT>) - endif() -endfunction() - -function(use_static_runtime_gcc target) - get_target_property(target_type "${target}" TYPE) - if(target_type STREQUAL EXECUTABLE) - target_link_libraries("${target}" PRIVATE -static) - endif() -endfunction() - -function(use_static_runtime target) - if(MSVC) - use_static_runtime_msvc("${target}") - elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - use_static_runtime_gcc("${target}") - else() - message(WARNING "Unrecognized toolset: ${toolset}") - endif() -endfunction() - -function(strip_symbol_table_gcc target) - get_target_property(target_type "${target}" TYPE) - set(release_build $,$>) - if(target_type STREQUAL INTERFACE_LIBRARY) - else() - target_link_libraries("${target}" PRIVATE $<${release_build}:-s>) - endif() -endfunction() - -function(strip_symbol_table target) - if(MSVC) - elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - strip_symbol_table_gcc("${target}") - else() - message(WARNING "Unrecognized toolset: ${toolset}") - endif() -endfunction() - -function(apply_common_settings target) - if(TARGET "${target}") - get_target_property(target_imported "${target}" IMPORTED) - if(target_imported STREQUAL NOTFOUND OR NOT target_imported) - if(STRIP_SYMBOL_TABLE) - strip_symbol_table("${target}") - endif() - if(USE_STATIC_RUNTIME) - use_static_runtime("${target}") - endif() - endif() - endif() -endfunction() - -macro(add_executable target) - _add_executable(${ARGV}) - apply_common_settings("${target}") -endmacro() - -macro(add_library target) - _add_library(${ARGV}) - apply_common_settings("${target}") -endmacro() -- cgit v1.2.3