# 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(lrexlib C) 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_TEST ${INSTALL_DATA}/test CACHE PATH "Recommended directory to install tests into.") SET (INSTALL_DOC ${INSTALL_DATA}/doc CACHE PATH "Recommended directory to install documentation into.") # Find Lua FIND_PACKAGE (Lua51 REQUIRED) INCLUDE_DIRECTORIES( ${LUA_INCLUDE_DIR}) # We need PCRE and POSIX/RXSpencer to compile INCLUDE(FindPCRE.cmake) INCLUDE_DIRECTORIES(${PCRE_INCLUDE_DIRS}) IF (WIN32 AND NOT CYGWIN) INCLUDE(FindRXSpencer.cmake) INCLUDE_DIRECTORIES(${RXSPENCER_INCLUDE_DIRS}) ENDIF() # common lrexlib modules SET (COMMON_SRC src/common.c ) # pcre module SET(PCRE_SRCS src/lpcre.c src/lpcre_f.c ${COMMON_SRC}) ADD_LIBRARY(pcre MODULE ${PCRE_SRCS}) TARGET_LINK_LIBRARIES(pcre ${LUA_LIBRARY} ${PCRE_LIBRARIES}) SET_TARGET_PROPERTIES(pcre PROPERTIES PREFIX "") # posix module SET(POSIX_SRCS src/lposix.c ${COMMON_SRC}) ADD_LIBRARY(posix MODULE ${POSIX_SRCS}) TARGET_LINK_LIBRARIES(posix ${LUA_LIBRARY}) SET_TARGET_PROPERTIES(posix PROPERTIES PREFIX "") IF (WIN32 AND NOT CYGWIN) TARGET_LINK_LIBRARIES(posix ${RXSPENCER_LIBRARIES}) ENDIF() # Install lrexlib modules INSTALL(TARGETS pcre DESTINATION ${INSTALL_CMOD}/rex) INSTALL(TARGETS posix DESTINATION ${INSTALL_CMOD}/rex) INSTALL(FILES ChangeLog LICENSE NEWS README DESTINATION ${INSTALL_DATA}) INSTALL(DIRECTORY test/ DESTINATION ${INSTALL_TEST}) INSTALL(DIRECTORY doc/ DESTINATION ${INSTALL_DOC})