假定有vegagis工程,工程的目录结构如下:
#--vegagis
# |--src 源文件目录
# |--gui 界面工程,输出类型:dll,依赖于QT的QtCore、QtGui、QtXml
# |--pending 工程中的源文件,不希望加入到工程中
# ## 为了实现跨平台运行,win32和linux目录下实现的是同一套接口,win32不编译linux目录,linux下则不编译win32目录,但是工程中包含这两个目录
# |--win32 win32下的实现
# |--linux linux下的实现
# |--app 应用程序,输出类型:exe,它依赖于gui
# |--include 安装时头文件输出的目录
# |--gui
# |--app
# |--bin 输出路径,存放dll和exe
# |--Debug
# |--plugins
# |--build CMake的build路径,存放生成的工程文件等
#
#vegagis目录下的CMakeLists.txt
#///
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
#工程名
PROJECT(vegagis)
#工程文件中使用相对路径
SET(CMAKE_SUPPRESS_REGENERATION 1)
SET(CMAKE_USE_RELATIVE_PATHS ON)
#支持IF(A) ELSE()的写法
SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
#定义工程的顶级路径
SET(PROJDIR ${CMAKE_CURRENT_SOURCE_DIR})
#定义源文件目录
SET(SRCDIR ${PROJDIR}/src)
#设置输出路径
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)<