5. 1. CmakeLists.txt の作成
cmake_minimum_required(VERSION 2.8)
PROJECT(Genji)
#select the release build type by default to get optimization flags
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
message(STATUS "Build type not specified: defaulting to release.")
endif(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
else()
message(STATUS "${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++
compiler.")
endif()
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include)
ADD_SUBDIRECTORY(lib/fujitsubo)
#ADD_SUBDIRECTORY(lib/murasaki)
ADD_SUBDIRECTORY(lib/aoi)
ADD_SUBDIRECTORY(src)
おまじない1
おまじない2
6. 1. CmakeLists.txt おまじない1
gdbでデバッグをするためのおまじない
#select the release build type by default to get optimization flags
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
message(STATUS "Build type not specified: defaulting to release.")
endif(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
CMAKE_BUILD_TYPE の指定がなければ
「Release」に設定するよ?というおまじない
※Eclipseプロジェクト作成時に使用します(後述)
7. 1. CmakeLists.txt のおまじない2
次は C++11 を利用するためのおまじない
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
else()
message(STATUS "${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++
compiler.")
endif()
コンパイラが C++11 をサポートしてるかチェックして
サポートしてたらフラグをセットするよ?
というおまじない