# Copyright (C) 2007-2009 LuaDist. # Created by Peter Kapec # Redistribution and use of this file is allowed according to the terms of the MIT license. # For details see the COPYRIGHT file distributed with LuaDist. # Please note that the package source code is licensed under its own license. PROJECT(luacom CXX) CMAKE_MINIMUM_REQUIRED(VERSION 2.6 ) # Cmake configuration: SET (CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) # Where to install module parts: SET (INSTALL_CMOD share/lua/cmod CACHE PATH "Directory to install Lua binary modules.") SET (INSTALL_DATA . CACHE PATH "Directory the package can store documentation, tests or other data in.") SET (INSTALL_DOC ${INSTALL_DATA}/doc CACHE PATH "Recommended directory to install documentation into.") SET (INSTALL_TEST ${INSTALL_DATA}/test CACHE PATH "Recommended directory to install tests into.") SET (INSTALL_EXAMPLE ${INSTALL_DATA}/example CACHE PATH "Recommended directory to install examples into.") # We need Lua to compile FIND_PACKAGE (Lua51 REQUIRED) INCLUDE_DIRECTORIES( ${LUA_INCLUDE_DIR}) # Build INCLUDE_DIRECTORIES(include src/dll src/library) SET(SRC_LIB src/library/LuaAux.cpp src/library/luabeans.cpp src/library/luacom.cpp src/library/tLuaCOM.cpp src/library/tLuaCOMException.cpp src/library/tLuaCOMTypeHandler.cpp src/library/tLuaDispatch.cpp src/library/tLuaObjList.cpp src/library/tLuaVector.cpp src/library/tStringBuffer.cpp src/library/tUtil.cpp src/library/tCOMUtil.cpp src/library/tLuaCOMClassFactory.cpp src/library/tLuaCOMConnPoints.cpp src/library/LuaCompat.c src/library/tLuaCOMEnumerator.cpp src/library/tLuaObject.cpp src/library/tLuaControl.cpp src/library/tLuaTLB.cpp ) SET(SRC_DLL src/dll/luacom_dll.cpp) ADD_DEFINITIONS(-DLUACOM_DLL="luacom.dll") IF(MSVC) ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE) ENDIF(MSVC) ADD_LIBRARY(luacom MODULE ${SRC_DLL} ${SRC_LIB}) TARGET_LINK_LIBRARIES(luacom ${LUA_LIBRARY} ${LIBS} htmlhelp shlwapi) SET_TARGET_PROPERTIES(luacom PROPERTIES PREFIX "") IF(MSVC) SET_TARGET_PROPERTIES(luacom PROPERTIES LINK_FLAGS "/DEF:${CMAKE_CURRENT_SOURCE_DIR}/src/dll/luacom_dll.def") ENDIF(MSVC) # Install all files and documentation INSTALL (TARGETS luacom DESTINATION ${INSTALL_CMOD}) #~ INSTALL (FILES src/library/luacom5.lua DESTINATION ${INSTALL_LMOD}) INSTALL (FILES INSTALL README announce.txt todo.txt DESTINATION ${INSTALL_DATA}) INSTALL (FILES doc/luacom.gif doc/luacom.pdf www/index.html DESTINATION ${INSTALL_DOC}) INSTALL (DIRECTORY demo DESTINATION ${INSTALL_EXAMPLE})