Back to home page

Enduro/X

 
 

    


0001 ##
0002 ## @brief Tuxedo Ubbconfig importer
0003 ##
0004 ## @file CMakeLists.txt
0005 ##
0006 ## -----------------------------------------------------------------------------
0007 ## Enduro/X Middleware Platform for Distributed Transaction Processing
0008 ## Copyright (C) 2009-2016, ATR Baltic, Ltd. All Rights Reserved.
0009 ## Copyright (C) 2017-2023, Mavimax, Ltd. All Rights Reserved.
0010 ## This software is released under one of the following licenses:
0011 ## AGPL (with Java and Go exceptions) or Mavimax's license for commercial use.
0012 ## See LICENSE file for full text.
0013 ## -----------------------------------------------------------------------------
0014 ## AGPL license:
0015 ##
0016 ## This program is free software; you can redistribute it and/or modify it under
0017 ## the terms of the GNU Affero General Public License, version 3 as published
0018 ## by the Free Software Foundation;
0019 ##
0020 ## This program is distributed in the hope that it will be useful, but WITHOUT ANY
0021 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
0022 ## PARTICULAR PURPOSE. See the GNU Affero General Public License, version 3
0023 ## for more details.
0024 ##
0025 ## You should have received a copy of the GNU Affero General Public License along 
0026 ## with this program; if not, write to the Free Software Foundation, Inc.,
0027 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
0028 ##
0029 ## -----------------------------------------------------------------------------
0030 ## A commercial use license is available from Mavimax, Ltd
0031 ## contact@mavimax.com
0032 ## -----------------------------------------------------------------------------
0033 ##
0034 
0035 # Set a minimum version
0036 cmake_minimum_required(VERSION 3.5)
0037 
0038 # Add debug options
0039 # By default if RELEASE_BUILD is not defined, then we run in debug!
0040 IF ($ENV{RELEASE_BUILD})
0041         # do nothing
0042 ELSE ($ENV{RELEASE_BUILD})
0043         ADD_DEFINITIONS("-D NDRX_DEBUG")
0044 ENDIF ($ENV{RELEASE_BUILD})
0045 
0046 ex_comp_find_flexbison()
0047 
0048 include(pscript)
0049 
0050 # Make sure the compiler can find include files from UBF library
0051 include_directories (${ENDUROX_SOURCE_DIR}/include)
0052 set(CMAKE_INCLUDE_CURRENT_DIR ON)
0053 
0054 pscript_embed(${CMAKE_CURRENT_SOURCE_DIR}/ubb2ex.pscript ubb2ex_bytecode)
0055 
0056 BISON_TARGET(EXPRPARSER ubb.y ${CMAKE_CURRENT_BINARY_DIR}/ubb.tab.c)
0057 FLEX_TARGET(EXPRSCANNER ubb.l ${CMAKE_CURRENT_BINARY_DIR}/ubb.lex.c)
0058 
0059 BISON_TARGET(EXPRPARSER ddr_range.y ${CMAKE_CURRENT_BINARY_DIR}/ddr.tab.c)
0060 FLEX_TARGET(EXPRSCANNER ddr_range.l ${CMAKE_CURRENT_BINARY_DIR}/ddr.lex.c)
0061 
0062 add_executable (ubb2ex ubb.c ubb.tab.c ubb.lex.c ddr.tab.c ddr.lex.c script.c getrm.c ubb2ex_bytecode.c)
0063 target_compile_definitions(ubb2ex PUBLIC NDRX_TMLOADCF)
0064 target_link_libraries (ubb2ex psstdlib ps nstd ${RT_LIB} pthread m)
0065 
0066 install (TARGETS 
0067     ubb2ex
0068     DESTINATION bin)
0069 
0070 install (FILES
0071     ubb2ex.pscript
0072     DESTINATION share/endurox/config)
0073 # vim: set ts=4 sw=4 et smartindent: