티스토리 뷰

카테고리 없음

cmake feature check

newpolaris 2020. 2. 1. 17:25

google의 benchmark에서 모르는 부분이 너무 많다

benchmark는 cmake 폴더의 CXXFeatureCheck, AddCXXCompilerFlag를 이용해 컴파일러에 맞춰 설정을 진행한다

cmake_minimum_required (VERSION 3.5.1)

set(CMAKE_C_COMPILER "gcc")
set(CMAKE_CXX_COMPILER "g++")

project (benchmark CXX)

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

include(CXXFeatureCheck)
cxx_feature_check(THREAD_SAFETY_ATTRIBUTES)

add_executable(benchmark "main.cpp")

cmake 폴더 추가하고, CXXFeatureCheck.cmake 를 포함하고

그 뒤에, cmake 폴더의 thread_safety_attributes.cpp 파일을 컴파일 해보고 define을 설정해 준다

앞에는 prefix로 HAVE_를 붙여주는데, 'AddCXXCompilerFlag'도 마찬가지다

CMakeLists.txt 파일내의 코드와 달리, thread_safety_attributes.cpp는

newpolaris@Donghyuns-MacBook-Pro out % cmake ..
-- Performing Test HAVE_THREAD_SAFETY_ATTRIBUTES -- success
-- Configuring done
-- Generating done
-- Build files have been written to: 

success 표시는 cache의 내용만 다시 표시해주는 것. CMakeCache.txt 파일을 삭제하거나 다시 생성 필요

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크