码迷,mamicode.com
首页 > 其他好文 > 详细

CMake Intro - CMakeLists.txt

时间:2015-06-04 11:51:42      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

Notes:  directory structure:  cmake, cmake/Tutorial, cmake/Tutorial/MathLibs



1. File lists in cmake/Tutorial

CMakeLists.txt

TutorialConfig.h.in

tutorial.cxx

2. File lists in cmake/Tutorial/MathLibs

CMakeLists.txt

MathLibs.h

mysqrt.cxx

3. cmake/Tutorial/CMakeLists.txt

cmake_minimum_required (VERSION 2.6)
project (Tutorial)

# The version number.
set (Tutorial_VERSION_MAJOR 1)
set (Tutorial_VERSION_MINOR 0)

set(CMAKE_BUILD_TYPE DEBUG)
set(CMAKE_C_FLAGS "-O0 -ggdb")
set(CMAKE_C_FLAGS_DEBUG "-O0 -ggdb")
set(CMAKE_C_FLAGS_RELEASE "-O3")
set(CMAKE_CXX_FLAGS "-O0 -ggdb")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb")
set(CMAKE_CXX_FLAGS_RELEASE "-O3")

# configure a header file to pass some of the CMake settings
# to the source code
configure_file (
  "${PROJECT_SOURCE_DIR}/TutorialConfig.h.in"
  "${PROJECT_SOURCE_DIR}/TutorialConfig.h"
  )

# add the binary tree to the search path for include files
# so that we will find TutorialConfig.h
include_directories("${PROJECT_SOURCE_DIR}")


# should we use our own math functions?
option (USE_MYMATH
        "Use tutorial provided math implementation" ON)

# add the MathFunctions library?
#
if (USE_MYMATH)
  include_directories ("${PROJECT_SOURCE_DIR}/MathLibs")
  add_subdirectory (MathLibs)
  set (EXTRA_LIBS ${EXTRA_LIBS} MathLibs)
endif (USE_MYMATH)

# add the executable
add_executable (Tutorial.x tutorial.cxx)
target_link_libraries (Tutorial.x  ${EXTRA_LIBS})


4. cmake/Tutorial/MathLibs/CMakeLists.txt

add_library(MathLibs mysqrt.cxx)


5. Configure and Compile

do so  in cmake directory as the followings

cmake -DUSE_MYMATH=on Tutorial

make



CMake Intro - CMakeLists.txt

标签:

原文地址:http://blog.csdn.net/fanbird2008/article/details/46357393

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!