Back to home page

Enduro/X

 
 

    


0001 ##
0002 ## @brief Tuxedo compatibility library (dependecy loader)
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 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 add_library(tux SHARED $<TARGET_OBJECTS:objnstd>
0047                        $<TARGET_OBJECTS:objubf>
0048                        $<TARGET_OBJECTS:objatmi>
0049                        $<TARGET_OBJECTS:objatmisrvinteg>)
0050 target_link_libraries(tux ${RT_LIB} pthread)
0051 
0052 #
0053 # having issues with golang on aix.. cannot load -brtl libraries
0054 #
0055 SET(ADDLIB "")
0056 
0057 if(CMAKE_OS_NAME STREQUAL "AIX")
0058 
0059 add_library(ndrxaix SHARED $<TARGET_OBJECTS:objnstd>
0060                        $<TARGET_OBJECTS:objubf>
0061                        $<TARGET_OBJECTS:objatmi>
0062                        $<TARGET_OBJECTS:objatmisrvinteg>)
0063 SET(ADDLIB "ndrxaix")
0064 # special library for aix / go
0065 target_link_libraries(ndrxaix ${RT_LIB} pthread)
0066 set_target_properties(ndrxaix PROPERTIES SUFFIX ".a")
0067 endif()
0068 
0069 #FML Emul
0070 add_library (fml SHARED 
0071                     dum.c
0072                         )
0073 
0074 #FML32 Emul
0075 add_library (fml32 SHARED 
0076                     dum.c
0077                         )
0078 #
0079 # Also needs to provide dummy fml32 library for NetXMS Build
0080 #
0081 install (TARGETS 
0082     tux fml fml32 ${ADDLIB}
0083     DESTINATION "${INSTALL_LIB_DIR}"
0084     PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE
0085     COMPONENT libraries
0086     )
0087 
0088 # vim: set ts=4 sw=4 et smartindent: