使用cmake编译luabind
编写了一下cmakelists.txt文件
根目录
cmake_minimum_required(VERSION 2.8)
project (Test)
add_definitions( "/W3 /D_CRT_SECURE_NO_WARNINGS /wd4819 /MTd" )
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
MESSAGE( "64 bits compiler detected" )
SET( EX_PLATFORM 64 )
SET( EX_PLATFORM_NAME "x64" )
else( )
MESSAGE( "32 bits compiler detected" )
SET( EX_PLATFORM 32 )
SET( EX_PLATFORM_NAME "x86" )
endif( )
IF( EX_PLATFORM EQUAL 64 )
MESSAGE( "Outputting to lib64 and bin64" )
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib64)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib64)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin64)
ELSE( )
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
ENDIF( )
include_directories ("${PROJECT_SOURCE_DIR}")
include_directories ("E:/_codes/boost_1_55_0/boost_1_55_0")
include_directories ("E:/Program Files/Lua/5.1/include")
IF( EX_PLATFORM EQUAL 64 )
ELSE( )
link_directories ("E:/Program Files/Lua/5.1/lib")
ENDIF( )
set(CMAKE_MSVCIDE_RUN_PATH "E:/Program Files/Lua/5.1/lib"
)
set (EXTRA_LIBS ${EXTRA_LIBS} lua51.lib
)
if(MSVC)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4819")
endif()
macro(copy_dll depdir dllname)
foreach(configuration ${CMAKE_CONFIGURATION_TYPES})
# 对应于不同的构建版本
set(dllpath "${depdir}/bin/${configuration}/${dllname}")
if(EXISTS ${dllpath})
configure_file(${dllpath} ${CMAKE_BINARY_DIR}/bin/${configuration}/${dllname} COPYONLY)
endif()
endforeach()
endmacro()
macro (create_test target)
add_test (NAME ${target} COMMAND $<TARGET_FILE:${target}>)
#set_tests_properties(${target} PROPERTIES ENVIRONMENT "PATH=${PATH};${PATH_ENV}")
#add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Table.h"
# COMMAND set "PATH=${PATH_ENV};%PATH%"
# COMMAND $<TARGET_FILE:${target}> "${CMAKE_CURRENT_BINARY_DIR}/Table.h"
# DEPENDS $<TARGET_FILE:${target}>)
endmacro (create_test)
ENABLE_TESTING()
add_subdirectory (src)
add_subdirectory (test)
srfcMulu
cmake_minimum_required(VERSION 2.8)
#include_directories ("${CMAKE_CURRENT_LIST_DIR}/include")
add_library(luabind SHARED
class.cpp
class_info.cpp
class_registry.cpp
class_rep.cpp
create_class.cpp
error.cpp
exception_handler.cpp
function.cpp
inheritance.cpp
link_compatibility.cpp
object_rep.cpp
open.cpp
pcall.cpp
scope.cpp
stack_content_by_name.cpp
weak_ref.cpp
wrapper_base.cpp
)
target_compile_definitions(luabind PRIVATE LUABIND_DYNAMIC_LINK LUABIND_BUILDING)
target_link_libraries (luabind ${EXTRA_LIBS})
test目录
cmake_minimum_required(VERSION 2.8)
#include_directories ("${CMAKE_CURRENT_LIST_DIR}/include")
add_executable(testHello
#benchmark.cpp
main.cpp
test_abstract_base.cpp
)
target_compile_definitions(testHello PRIVATE LUABIND_DYNAMIC_LINK)
create_test(testHello)
target_link_libraries (testHello luabind ${EXTRA_LIBS})
file(GLOB_RECURSE SRC_CORE test*.cpp)
foreach(the_file ${SRC_CORE})
get_filename_component (NAME ${the_file} NAME_WE)
MESSAGE( "NAME " ${NAME} )
add_executable(${NAME} main.cpp ${the_file} )
target_compile_definitions(${NAME} PRIVATE LUABIND_DYNAMIC_LINK)
create_test(${NAME})
target_link_libraries (${NAME} luabind ${EXTRA_LIBS})
endforeach(the_file)
使用cmake编译luabind的更多相关文章
- linux 下cmake 编译 ,调用,调试 poco 1.6.0 小记
上篇文章 小记了: 关于 Poco::TCPServer框架 (windows 下使用的是 select模型) 学习笔记. http://www.cnblogs.com/bleachli/p/4352 ...
- [C] tcharall(让所有平台支持TCHAR)v1.1。源码托管到github、添加CMake编译配置文件、使用doxygen规范注释
作者:zyl910 v1.1版的改动如下—— 将源码上传到github. 调整目录结构. 添加CMake编译配置文件. 使用doxygen规范注释. 文件清单—— docs\ docs\images\ ...
- [C] c99int(让VC等编译器自动兼容C99的整数类型)V1.02。源码托管到github、添加CMake编译配置文件、使用doxygen规范注释
新版本—— http://www.cnblogs.com/zyl910/p/zlstdint_v100.html[C] zlstdint(让VC.TC等编译器自动兼容C99的整数类型)V1.0.支持T ...
- Mysql的cmake编译与安装
Mysql的cmake编译与安装 实验准备环境: 我的操作系统是centos6.6 编译安装MariaDB之前,我们需要准备一些需要的环境 1.开发包组套件 [root@node19 ~]# yum ...
- CentOS下使用cmake编译安装mysql
一.下载安装所必需的依赖包 1.因为高版本mysql都用cmake安装,所以下载cmake wget http://www.cmake.org/files/v3.0/cmake-3.0.1.tar.g ...
- CentOS_5.6下使用cmake编译MySQL_5.5.11
MySQL 最新的版本5.5.11需要cmake编译安装,估计以后的版本也会采用这种方式,网上找了一些安装方法有些地方是错的,自己整理一份 所以特地记录一下安装步骤及过程,以供参考!1 mysql 5 ...
- CentOS_5.6下使用cmake编译MySQL_5.5.11教程
注:资料来自网络 Centos 5.6编译安装mysql 5.5.11 2011年06月24日 星期五 05:33 MySQL 最新的版本5.5.11需要cmake编译安装,估计以后的版本也会采 ...
- cmake编译安装mysql 5.6.12
cmake安装mysql 5.6.12 从mysql 5.5 开始就要用cmake编译安装 下载mysql 下载地址:http://pan.baidu.com/s/1o68xxqE 一.安装mysql ...
- Win10 下Cmake编译配置 Opencv3.1 + Cuda7.5 + VS2013
折腾了三天终于配置成功了,在此写下编译配置的全部步骤和遇到的很多坑. 整体介绍: OpenCV 中 CUDA 实现的函数还不是太多,使用前要在OpenCV的官网上确认以下你想要的功能是否已经实现,否则 ...
随机推荐
- 解决You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order (order_name, customer)
在学习hibernate一对多映射关系时,根据视频学习的时候,例子是顾客和订单的问题,一个顾客有多个订单.按照视频中的敲代码出现了You have an error in your SQL synta ...
- FCC JS基础算法题(6):Truncate a string(截断字符串)
先看一下题目描述: 如果字符串的长度比指定的参数num长,则把多余的部分用...来表示.切记,插入到字符串尾部的三个点号也会计入字符串的长度.但是,如果指定的参数num小于或等于3,则添加的三个点号不 ...
- 正则表达式的lastIndex属性
js中正则表达式的使用方式有两种,一种是正则表达式对象的方法,一种是字符串对象的方法,前者有exec(str).test(str)两个方法,后者有match(regexp).replace(regex ...
- JAVA修饰符、关键字和继承(一)
一.静态修饰符----static static可以修饰内部类.块.属性.方法,经static修饰过的元素储存地址唯一,不会改变 public class Test{ static int a=1; ...
- BT觀念分享和常見問題彙整
一. TCP/IP基本觀念 1. IP : 每台在TCP/IP網路上的電腦必須具備的一個代表號或一個地址.IP又分為private IP(192.168.x.x /10.x.x.x /172.16.x ...
- 20165228 2017-2018-2 《Java程序设计》第5周学习总结
20165228 2017-2018-2 <Java程序设计>第5周学习总结 教材学习内容总结 内部类和匿名类 通过throw关键字抛出异常对象,终止方法的继续执行 使用try-catch ...
- rebuild online 创建时,会话被Kill修复索引测试
rebuild online 创建时,会话被Kill修复索引 1.0实验目的:日常运维经常create index online,但是期间被kill会导致索引再次创建失败,测试解决该问题 2.0测试流 ...
- In Compiler.php line 36: Please provide a valid cache path.
/********************************************************************************* * In Compiler.php ...
- python调用caffe环境配置
背景是这样的,项目需要,必须将训练的模型通过C++进行调用,所以必须使用caffe或者mxnet,而caffe是用C++实现,所以有时候简单的加载一张图片然后再进行预测十分不方便 用caffe写pro ...
- while循环中出现ssh导致读取文件错误
while read line do ...... ssh ... done < $file 使用上面包含ssh命令的while循环,ssh命令将$file内容全部吞噬,导致只处理完一行即退出: ...