NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
# add_definitions是用于添加编译参数的 例如: ``` #1.cmake verson,指定cmake版本 cmake_minimum_required(VERSION 3.2) #2.project name,指定项目的名称,一般和项目的文件夹名称对应 PROJECT(xmr) #3.head file path,头文件目录 INCLUDE_DIRECTORIES( include ) #4.source directory,源文件目录 # 查找当前目录下的所有源文件 # 并将名称保存到 DIR_SRCS 变量 AUX_SOURCE_DIRECTORY(src DIR_SRCS) message("${DIR_SRCS}") #set_property(SOURCE src/CryptonightR_template.S PROPERTY LANGUAGE C) #5.set environment variable,设置环境变量,编译用到的源文件全部都要放到这里,否则编译能够通过,但是执行的时候会出现各种问题,比如"symbol lookup error xxxxx , undefined symbol" SET(TEST_MATH ${DIR_SRCS} ) list(APPEND TEST_MATH src/CryptonightR_template.S) message("${TEST_MATH}") add_definitions("-g -O0 -Wall -msse2 -msse -march=native -maes") #6.add executable file,添加要编译的可执行文件 ADD_EXECUTABLE(${PROJECT_NAME} ${TEST_MATH}) #7.add link library,添加可执行文件所需要的库,比如我们用到了libm.so(命名规则:lib+name+.so),就添加该库的名称 TARGET_LINK_LIBRARIES(${PROJECT_NAME} m) # cheat because cmake and ccache hate each other set_property(SOURCE src/CryptonightR_template.S PROPERTY LANGUAGE C) ```