CMAKE配置VS2008 X32驱动开发工程的 cmakelists.txt

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

#添加工程
PROJECT(test)

SET(SRC_LIST hi.c)

#用以控制 if-else的书写方式
SET(CMAKE_ALLOW_LOSSE_LOOP_CONSTRUCTS ON)

#设置配置类型
SET(CMAKE_CONFIGURATION_TYPES Debug)

## 暂时没啥用,考虑到以后可能会在一个文件中搭建多个平台的时候使用
SET(OS_WINDOWS ON)
SET(OS_NAME "windows")
SET(IS_MSVC ON)
SET(ARCHITECTURE_TYPE "32")
SET(ARCH_TYPE_32 ON)
SET(ARCH_TYPE_NAME "x32")

## 加入驱动需要的头文件和库文件
INCLUDE_DIRECTORIES(C:\\WinDDK\\7600.16385.0\\inc\\api)
INCLUDE_DIRECTORIES(C:\\WinDDK\\7600.16385.0\\inc\\ddk)
INCLUDE_DIRECTORIES(C:\\WinDDK\\7600.16385.0\\inc\\crt)

LINK_DIRECTORIES(C:\\WinDDK\\7600.16385.0\\lib\\wnet\\i386)
LINK_DIRECTORIES(C:\\WinDDK\\7600.16385.0\\lib\\Crt\\i386)

## 暂时没啥用
SET(ROOT_DIR ${PROJECT_SOURCE_DIR})


## 输出目录设置
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/${ARCH_TYPE_NAME})

# 添加了预处理
ADD_DEFINITIONS(-D_X86_)

## 对C/C++的编译选项的设置,命令行有bug,gui的没问题
SET(CMAKE_C_FLAGS "/nologo /W3 /EHsc /Zi /Od /Gm /MDd /Gz")
SET(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS})
 

## 添加一些依赖的库
SET(CMAKE_C_STANDARD_LIBRARIES "ntoskrnl.lib hal.lib fltmgr.lib")
SET(CMAKE_CXX_STANDARD_LIBRARIES ${CMAKE_C_FLAGS})
 


## 指定程序的入口
#SET(CMAKE_EXE_LINKER_FLAGS "/STACK:10000000")
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "/INCREMENTAL:NO /ENTRY:DriverEntry")
 
#执行生成
ADD_EXECUTABLE(test ${SRC_LIST})


这个是X32位驱动的,X64的差不多,就是还需要进行一些小地方的修改而已。。。

PS:生成的bin需要将其后缀改为sys



你可能感兴趣的:(windows,exe,include,linker,DDK,winddk)