1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2025-03-23 11:29:29 +01:00

chore: Add support for CMake

TODO: Support macOS and Windows
This commit is contained in:
Sirius Bakke 2019-02-19 12:43:50 -04:00
parent 95e17034ea
commit 5b2d0e297d
31 changed files with 1481 additions and 1 deletions

3
.gitignore vendored
View File

@ -30,7 +30,6 @@ qmake.inc
.moc
.ui
qtdbus_test
fwbedit
qrc_MainRes.cpp
fwb_iosacl
fwb_nxosacl
@ -59,3 +58,5 @@ default/
debug/
release/
*.qbs.user
build/
CMakeLists.txt.user

70
CMakeLists.txt Normal file
View File

@ -0,0 +1,70 @@
cmake_minimum_required(VERSION 3.5)
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
project(firewallbuilder LANGUAGES CXX C)
include(VERSION)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Network REQUIRED)
find_package(Qt5PrintSupport REQUIRED)
find_package(LibXml2 REQUIRED)
include(GNUInstallDirs)
set(FWB_INSTALL_DATADIR ${CMAKE_INSTALL_DATADIR}/fwbuilder-${PROJECT_VERSION})
set(FWB_INSTALL_DOCDIR ${CMAKE_INSTALL_DATADIR}/doc/fwbuilder-${PROJECT_VERSION})
set(FWB_INSTALL_BINDIR ${CMAKE_INSTALL_BINDIR})
set(CXX_DEFAULT_FLAGS # clang/GCC warnings
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:GNU>>:-Wall;-Wextra;-Werror;-Wno-overloaded-virtual>
# MSVC warnings
$<$<CXX_COMPILER_ID:MSVC>:/WX;/W4>)
add_definitions(-D__STDC_FORMAT_MACROS)
add_definitions(-DGENERATION="${PROJECT_GENERATION}")
add_definitions(-DVERSION="${PROJECT_VERSION}")
add_definitions(-DFS_SEPARATOR="/")
add_definitions(-DFWBUILDER_XML_VERSION="${FWBUILDER_XML_VERSION}")
add_definitions(-DPREFIX="${CMAKE_INSTALL_PREFIX}")
add_definitions(-DRES_DIR="${CMAKE_INSTALL_PREFIX}/${FWB_INSTALL_DATADIR}")
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release CACHE STRING
"Choose the type of build, options are: Debug or Release."
FORCE)
endif(NOT CMAKE_BUILD_TYPE)
FIND_PACKAGE(NetSNMP)
IF (NETSNMP_FOUND)
add_definitions(-DHAVE_LIBSNMP -DNET_SNMP -DHAVE_SNPRINT_OBJID)
ENDIF()
add_subdirectory(src/libfwbuilder/src/fwcompiler)
add_subdirectory(src/libfwbuilder/src/fwbuilder)
add_subdirectory(src/common)
add_subdirectory(src/antlr)
add_subdirectory(src/compiler_lib)
add_subdirectory(src/cisco_lib)
add_subdirectory(src/juniper_lib)
add_subdirectory(src/pflib)
add_subdirectory(src/iptlib)
add_subdirectory(src/ipt)
add_subdirectory(src/pf)
add_subdirectory(src/ipf)
add_subdirectory(src/ipfw)
add_subdirectory(src/iosacl)
add_subdirectory(src/nxosacl)
add_subdirectory(src/junosacl)
add_subdirectory(src/pix)
add_subdirectory(src/procurve_acl)
add_subdirectory(src/libgui)
add_subdirectory(src/import)
add_subdirectory(src/parsers)
add_subdirectory(src/gui)
add_subdirectory(src/fwbedit)
add_subdirectory(src/libfwbuilder/etc)
add_subdirectory(src/libfwbuilder/migration)
add_subdirectory(src/res)
add_subdirectory(doc)

73
cmake/FindNetSNMP.cmake Normal file
View File

@ -0,0 +1,73 @@
# - Find Net-SNMP
#
# -*- cmake -*-
#
# Find the Net-SNMP module
#
# NETSNMP_INCLUDE_DIR - where to find Net-SNMP.h, etc.
# NETSNMP_LIBRARIES - List of libraries when using Net-SNMP.
# NETSNMP_FOUND - True if Net-SNMP found.
IF (NETSNMP_INCLUDE_DIR)
# Already in cache, be silent
SET(NETSNMP_FIND_QUIETLY TRUE)
ENDIF (NETSNMP_INCLUDE_DIR)
FIND_PATH(NETSNMP_INCLUDE_DIR snmp.h
/usr/include/net-snmp/library
)
SET(NETSNMP_NAMES netsnmp)
FIND_LIBRARY(NETSNMP_LIBRARY
NAMES ${NETSNMP_NAMES}
PATHS /usr/lib /usr/local/lib
)
SET(NETSNMPAGENT_NAMES netsnmpagent)
FIND_LIBRARY(NETSNMPAGENT_LIBRARY
NAMES ${NETSNMPAGENT_NAMES}
PATHS /usr/lib /usr/local/lib
)
SET(NETSNMPHELPERS_NAMES netsnmphelpers)
FIND_LIBRARY(NETSNMPHELPERS_LIBRARY
NAMES ${NETSNMPHELPERS_NAMES}
PATHS /usr/lib /usr/local/lib
)
SET(NETSNMPMIBS_NAMES netsnmpmibs)
FIND_LIBRARY(NETSNMPMIBS_LIBRARY
NAMES ${NETSNMPMIBS_NAMES}
PATHS /usr/lib /usr/local/lib
)
SET(NETSNMPTRAPD_NAMES netsnmptrapd)
FIND_LIBRARY(NETSNMPTRAPD_LIBRARY
NAMES ${NETSNMPTRAPD_NAMES}
PATHS /usr/lib /usr/local/lib
)
SET(NETSNMP_LIBRARIES
${NETSNMP_LIBRARY}
${NETSNMPAGENT_LIBRARY}
${NETSNMPHELPERS_LIBRARY}
${NETSNMPMIBS_LIBRARY}
# ${NETSNMPTRAPD_LIBRARY}
)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(NETSNMP
DEFAULT_MSG
NETSNMP_INCLUDE_DIR
NETSNMP_LIBRARIES
)
MARK_AS_ADVANCED(
NETSNMP_LIBRARY
NETSNMPAGENT_LIBRARY
NETSNMPHELPERS_LIBRARY
NETSNMPMIBS_LIBRARY
NETSNMPTRAPD_LIBRARY
NETSNMP_INCLUDE_DIR
)

25
cmake/VERSION.cmake Normal file
View File

@ -0,0 +1,25 @@
set(FWBUILDER_XML_VERSION 24)
set(PROJECT_VERSION_MAJOR "6")
set(PROJECT_VERSION_MINOR "0")
set(PROJECT_VERSION_PATCH "0")
set(PROJECT_VERSION_EXTRA "-beta")
set(PROJECT_GENERATION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}")
set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}${PROJECT_VERSION_EXTRA}")
## Git revision number ##
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
execute_process(COMMAND git describe --tags HEAD
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_VARIABLE GIT_DESCRIBE_TAGS ERROR_QUIET)
if(GIT_DESCRIBE_TAGS)
string(REGEX REPLACE "^v(.*)" "\\1" GIT_REVISION "${GIT_DESCRIBE_TAGS}")
string(STRIP "${GIT_REVISION}" GIT_REVISION)
if(GIT_REVISION)
set(PROJECT_VERSION "${GIT_REVISION}")
string(REGEX REPLACE "^([0-9]+\\.[0-9]+).*" "\\1" PROJECT_GENERATION "${GIT_REVISION}")
string(STRIP "${PROJECT_GENERATION}" PROJECT_GENERATION)
endif(GIT_REVISION)
endif(GIT_DESCRIBE_TAGS)
endif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")

46
doc/CMakeLists.txt Normal file
View File

@ -0,0 +1,46 @@
project(doc)
FILE(GLOB readme_files "${PROJECT_SOURCE_DIR}/README.*")
install(FILES
AUTHORS
ChangeLog
COPYING
Credits
FWBuilder-Routing-LICENSE.txt
PatchAcceptancePolicy.txt
${readme_files}
DESTINATION ${FWB_INSTALL_DOCDIR})
if(UNIX AND NOT APPLE)
FIND_PROGRAM(GZIP_TOOL
NAMES gzip
PATHS /bin
/usr/bin
/usr/local/bin)
IF(NOT GZIP_TOOL)
MESSAGE(FATAL_ERROR "Could not find gzip for man page compression.")
endif(NOT GZIP_TOOL)
add_custom_target(generate_man ALL
COMMAND ${GZIP_TOOL} -c ${CMAKE_CURRENT_SOURCE_DIR}/fwbedit.1 > ${CMAKE_BINARY_DIR}/fwbedit.1.gz
COMMAND ${GZIP_TOOL} -c ${CMAKE_CURRENT_SOURCE_DIR}/fwbuilder.1 > ${CMAKE_BINARY_DIR}/fwbuilder.1.gz
COMMAND ${GZIP_TOOL} -c ${CMAKE_CURRENT_SOURCE_DIR}/fwb_iosacl.1 > ${CMAKE_BINARY_DIR}/fwb_iosacl.1.gz
COMMAND ${GZIP_TOOL} -c ${CMAKE_CURRENT_SOURCE_DIR}/fwb_ipf.1 > ${CMAKE_BINARY_DIR}/fwb_ipf.1.gz
COMMAND ${GZIP_TOOL} -c ${CMAKE_CURRENT_SOURCE_DIR}/fwb_ipfw.1 > ${CMAKE_BINARY_DIR}/fwb_ipfw.1.gz
COMMAND ${GZIP_TOOL} -c ${CMAKE_CURRENT_SOURCE_DIR}/fwb_ipt.1 > ${CMAKE_BINARY_DIR}/fwb_ipt.1.gz
COMMAND ${GZIP_TOOL} -c ${CMAKE_CURRENT_SOURCE_DIR}/fwb_pf.1 > ${CMAKE_BINARY_DIR}/fwb_pf.1.gz
COMMAND ${GZIP_TOOL} -c ${CMAKE_CURRENT_SOURCE_DIR}/fwb_pix.1 > ${CMAKE_BINARY_DIR}/fwb_pix.1.gz)
install(FILES ${CMAKE_BINARY_DIR}/fwbedit.1.gz
${CMAKE_BINARY_DIR}/fwbuilder.1.gz
${CMAKE_BINARY_DIR}/fwb_iosacl.1.gz
${CMAKE_BINARY_DIR}/fwb_ipf.1.gz
${CMAKE_BINARY_DIR}/fwb_ipfw.1.gz
${CMAKE_BINARY_DIR}/fwb_ipt.1.gz
${CMAKE_BINARY_DIR}/fwb_pf.1.gz
${CMAKE_BINARY_DIR}/fwb_pix.1.gz
DESTINATION ${CMAKE_INSTALL_DATADIR}/man/man1)
endif(UNIX AND NOT APPLE)

40
src/antlr/CMakeLists.txt Normal file
View File

@ -0,0 +1,40 @@
project(antlr)
set(antlr_srcs
ANTLRUtil.cpp
ASTFactory.cpp
ASTNULLType.cpp
ASTRefCount.cpp
BaseAST.cpp
BitSet.cpp
CharBuffer.cpp
CharScanner.cpp
CommonAST.cpp
CommonASTWithHiddenTokens.cpp
CommonHiddenStreamToken.cpp
CommonToken.cpp
InputBuffer.cpp
LLkParser.cpp
MismatchedCharException.cpp
MismatchedTokenException.cpp
NoViableAltException.cpp
NoViableAltForCharException.cpp
Parser.cpp
RecognitionException.cpp
String.cpp
TokenBuffer.cpp
Token.cpp
TokenRefCount.cpp
TokenStreamBasicFilter.cpp
TokenStreamHiddenTokenFilter.cpp
TokenStreamRewriteEngine.cpp
TokenStreamSelector.cpp
TreeParser.cpp)
add_library(antlr STATIC ${antlr_srcs})
target_include_directories(antlr PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>/..)
target_compile_options(antlr PRIVATE ${CXX_DEFAULT_FLAGS})

View File

@ -0,0 +1,79 @@
project(cisco_lib)
set(cisco_lib_srcs
PolicyCompiler_cisco.cpp
PolicyCompiler_cisco_acls.cpp
NamedObjectsAndGroupsSupport.cpp
NamedObjectsManager.cpp
NamedObjectsManagerNXOS.cpp
NamedObjectsManagerIOS.cpp
NamedObjectsManagerPIX.cpp
RoutingCompiler_cisco.cpp
RoutingCompiler_cisco_writers.cpp
splitByNetworkZonesForRE.cpp
specialServices.cpp
ACL.cpp
NamedObject.cpp
ASA8TwiceNatLogic.cpp
Helper.cpp
inspectionProtocol.cpp
inspectionClassMap.cpp
OSConfigurator_nxos.cpp
OSConfigurator_ios.cpp
CompilerDriver_nxosacl.cpp
CompilerDriver_nxosacl_run.cpp
CompilerDriver_iosacl.cpp
CompilerDriver_iosacl_run.cpp
PolicyCompiler_nxosacl.cpp
PolicyCompiler_nxosacl_writers.cpp
PolicyCompiler_iosacl.cpp
PolicyCompiler_iosacl_writers.cpp
RoutingCompiler_nxosacl.cpp
RoutingCompiler_nxosacl_writers.cpp
RoutingCompiler_iosacl.cpp
RoutingCompiler_iosacl_writers.cpp
CompilerDriver_pix.cpp
CompilerDriver_pix_run.cpp
NATCompiler_pix.cpp
NATCompiler_pix_find_translations.cpp
NATCompiler_pix_writers.cpp
NATCompiler_asa8.cpp
NATCompiler_asa8_writers.cpp
NATCompiler_pix_optimizers.cpp
OSConfigurator_pix_os.cpp
OSConfigurator_pix_os_fixups.cpp
OSConfigurator_pix_os_inspectors.cpp
OSConfigurator_pix_os_inspectors_pix8.cpp
CompilerDriver_procurve_acl.cpp
CompilerDriver_procurve_acl_run.cpp
OSConfigurator_procurve.cpp
PolicyCompiler_procurve_acl.cpp
PolicyCompiler_procurve_acl_writers.cpp
RoutingCompiler_procurve_acl.cpp
BaseObjectGroup.cpp
PIXObjectGroup.cpp
ASA8ObjectGroup.cpp
NXOSObjectGroup.cpp
IOSObjectGroup.cpp
PolicyCompiler_pix.cpp
PolicyCompiler_pix_writers.cpp
PolicyCompiler_pix_v6_acls.cpp
PolicyCompiler_pix_replace_translations.cpp
RoutingCompiler_pix.cpp
RoutingCompiler_pix_writers.cpp
AutomaticRules_cisco.cpp
AutomaticRules_iosacl.cpp
AutomaticRules_nxosacl.cpp)
add_library(fwbcisco STATIC ${cisco_lib_srcs})
target_include_directories(fwbcisco PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>/..)
target_link_libraries(fwbcisco compilerdriver)
target_compile_options(fwbcisco PRIVATE ${CXX_DEFAULT_FLAGS})
qt5_use_modules(fwbcisco Core)

17
src/common/CMakeLists.txt Normal file
View File

@ -0,0 +1,17 @@
project(common)
set(common_srcs
init.cpp
init2.cpp)
add_library(common STATIC ${common_srcs})
target_include_directories(common PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
target_link_libraries(common fwbuilder)
target_compile_options(common PRIVATE ${CXX_DEFAULT_FLAGS})
qt5_use_modules(common Core)

View File

@ -0,0 +1,31 @@
project(compiler_lib)
set(compiler_lib_srcs
CompilerDriver.cpp
CompilerDriver_files.cpp
CompilerDriver_compile.cpp
CompilerDriver_generators.cpp
Configlet.cpp
interfaceProperties.cpp
linux24Interfaces.cpp
openbsdInterfaces.cpp
freebsdInterfaces.cpp
nxosInterfaces.cpp
iosInterfaces.cpp
junosInterfaces.cpp
procurveInterfaces.cpp
pixInterfaces.cpp
interfacePropertiesObjectFactory.cpp
AutomaticRules.cpp)
add_library(compilerdriver STATIC ${compiler_lib_srcs})
target_include_directories(compilerdriver PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
target_link_libraries(compilerdriver fwbuilder)
target_compile_options(compilerdriver PRIVATE ${CXX_DEFAULT_FLAGS})
qt5_use_modules(compilerdriver Core)

View File

@ -0,0 +1,22 @@
project(fwbedit)
set(fwbedit_srcs
fwbedit.cpp
new_object.cpp
repair_tree.cpp
list_object.cpp
merge.cpp
import.cpp
../libgui/FWBTree.cpp
../libgui/platforms.cpp)
add_executable(fwbedit ${fwbedit_srcs})
target_link_libraries(fwbedit gui import fwbparser antlr common iptlib fwbpf fwbcisco compilerdriver fwcompiler fwbuilder c xml2 m dl xslt z util netsnmp crypto pthread)
target_compile_options(fwbedit PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwbedit RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
qt5_use_modules(fwbedit Widgets Network PrintSupport)

17
src/gui/CMakeLists.txt Normal file
View File

@ -0,0 +1,17 @@
project(fwbuilder-gui)
set(fwbuilder-gui_srcs
main.cpp)
add_executable(fwbuilder-gui ${fwbuilder-gui_srcs})
target_link_libraries(fwbuilder-gui gui import fwbparser antlr common iptlib fwbpf fwbjuniper fwbcisco compilerdriver fwcompiler fwbuilder c xml2 m dl xslt z util netsnmp crypto pthread)
target_compile_options(fwbuilder-gui PRIVATE ${CXX_DEFAULT_FLAGS})
set_target_properties(fwbuilder-gui PROPERTIES OUTPUT_NAME "fwbuilder")
install(TARGETS fwbuilder-gui RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
qt5_use_modules(fwbuilder-gui Widgets Network PrintSupport)

33
src/import/CMakeLists.txt Normal file
View File

@ -0,0 +1,33 @@
project(import)
set(import_srcs
getProtoByName.cpp
PreImport.cpp
serviceObjectMaker.cpp
objectMaker.cpp
PIXImporter.cpp
getServByName.cpp
PIXImporterNat.cpp
IPTImporterRun.cpp
objectSignature.cpp
Importer.cpp
IPTImporter.cpp
PFImporter.cpp
PFImporterRun.cpp
IOSImporterRun.cpp
IOSImporter.cpp
addressObjectMaker.cpp
QStringListOperators.cpp
PIXImporterRun.cpp)
add_library(import STATIC ${import_srcs})
target_include_directories(import PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
target_link_libraries(import compilerdriver antlr)
target_compile_options(import PRIVATE ${CXX_DEFAULT_FLAGS})
qt5_use_modules(import Widgets)

16
src/iosacl/CMakeLists.txt Normal file
View File

@ -0,0 +1,16 @@
project(iosacl)
set(iosacl_srcs
iosacl.cpp
)
add_executable(fwb_iosacl ${iosacl_srcs})
target_link_libraries(fwb_iosacl common fwbcisco compilerdriver fwcompiler fwbuilder pthread c xml2 m dl xslt z util)
target_compile_options(fwb_iosacl PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_iosacl RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
qt5_use_modules(fwb_iosacl Widgets)

15
src/ipf/CMakeLists.txt Normal file
View File

@ -0,0 +1,15 @@
project(ipf)
set(ipf_srcs
ipf.cpp)
add_executable(fwb_ipf ${ipf_srcs})
target_link_libraries(fwb_ipf common fwbpf compilerdriver fwcompiler fwbuilder pthread c xml2 m dl xslt z util)
target_compile_options(fwb_ipf PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_ipf RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
qt5_use_modules(fwb_ipf Widgets)

15
src/ipfw/CMakeLists.txt Normal file
View File

@ -0,0 +1,15 @@
project(ipfw)
set(ipfw_srcs
ipfw.cpp)
add_executable(fwb_ipfw ${ipfw_srcs})
target_link_libraries(fwb_ipfw common fwbpf compilerdriver fwcompiler fwbuilder pthread c xml2 m dl xslt z util)
target_compile_options(fwb_ipfw PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_ipfw RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
qt5_use_modules(fwb_ipfw Widgets)

15
src/ipt/CMakeLists.txt Normal file
View File

@ -0,0 +1,15 @@
project(ipt)
set(ipt_srcs
ipt.cpp)
add_executable(fwb_ipt ${ipt_srcs})
target_link_libraries(fwb_ipt common iptlib compilerdriver fwcompiler fwbuilder pthread c xml2 m dl xslt z util)
target_compile_options(fwb_ipt PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_ipt RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
qt5_use_modules(fwb_ipt Widgets)

41
src/iptlib/CMakeLists.txt Normal file
View File

@ -0,0 +1,41 @@
project(iptlib)
set(iptlib_srcs
CompilerDriver_ipt_policy.cpp
OSData_ipt.cpp
AutomaticRules_ipt.cpp
PolicyCompiler_ipt_optimizer.cpp
PolicyCompiler_PrintRuleIptRst.cpp
PolicyCompiler_secuwall.cpp
CompilerDriver_ipt.cpp
RoutingCompiler_ipt_writers.cpp
Preprocessor_ipt.cpp
combinedAddress.cpp
CompilerDriver_ipt_nat.cpp
RoutingCompiler_ipt.cpp
NATCompiler_PrintRuleIptRstEcho.cpp
PolicyCompiler_PrintRuleIptRstEcho.cpp
OSConfigurator_secuwall.cpp
NATCompiler_PrintRuleIptRst.cpp
PolicyCompiler_ipt.cpp
OSConfigurator_ipcop.cpp
OSConfigurator_linux24_interfaces.cpp
OSConfigurator_linux24.cpp
ipt_utils.cpp
PolicyCompiler_PrintRule.cpp
NATCompiler_PrintRule.cpp
MangleTableCompiler_ipt.cpp
CompilerDriver_ipt_run.cpp
NATCompiler_ipt.cpp)
add_library(iptlib STATIC ${iptlib_srcs})
target_include_directories(iptlib PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
target_link_libraries(iptlib compilerdriver)
target_compile_options(iptlib PRIVATE ${CXX_DEFAULT_FLAGS})
qt5_use_modules(iptlib Core)

View File

@ -0,0 +1,32 @@
project(juniper_lib)
set(juniper_lib_srcs
CompilerDriver_junosacl.cpp
CompilerDriver_junosacl_run.cpp
OSConfigurator_junos.cpp
../cisco_lib/PolicyCompiler_cisco.cpp
../cisco_lib/Helper.cpp
PolicyCompiler_junosacl.cpp
PolicyCompiler_junosacl_writers.cpp
../cisco_lib/NamedObjectsAndGroupsSupport.cpp
../cisco_lib/NamedObject.cpp
../cisco_lib/PolicyCompiler_cisco_acls.cpp
../cisco_lib/BaseObjectGroup.cpp
../cisco_lib/IOSObjectGroup.cpp
../cisco_lib/NamedObjectsManager.cpp
../cisco_lib/ACL.cpp
../cisco_lib/NXOSObjectGroup.cpp
../cisco_lib/PIXObjectGroup.cpp
../cisco_lib/ASA8ObjectGroup.cpp)
add_library(fwbjuniper STATIC ${juniper_lib_srcs})
target_include_directories(fwbjuniper PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
target_link_libraries(fwbjuniper fwbcisco compilerdriver)
target_compile_options(fwbjuniper PRIVATE ${CXX_DEFAULT_FLAGS})
qt5_use_modules(fwbjuniper Core)

View File

@ -0,0 +1,16 @@
project(junosacl)
set(junosacl_srcs
junosacl.cpp
)
add_executable(fwb_junosacl ${junosacl_srcs})
target_link_libraries(fwb_junosacl common fwbcisco fwbjuniper compilerdriver fwcompiler fwbuilder pthread c xml2 m dl xslt z util)
target_compile_options(fwb_junosacl PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_junosacl RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
qt5_use_modules(fwb_junosacl Widgets)

View File

@ -0,0 +1,4 @@
project(etc)
configure_file(fwbuilder.dtd.in fwbuilder.dtd)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/fwbuilder.dtd DESTINATION ${FWB_INSTALL_DATADIR})

View File

@ -0,0 +1,4 @@
project(migration)
FILE(GLOB migration_files "${PROJECT_SOURCE_DIR}/*.xslt")
install(FILES ${migration_files} DESTINATION ${FWB_INSTALL_DATADIR}/migration)

View File

@ -0,0 +1,93 @@
project(libfwbuilder)
set(libfwbuilder_srcs
InetAddr.cpp
InetAddrMask.cpp
Inet6AddrMask.cpp
IPRoute.cpp
Address.cpp
AddressRange.cpp
BackgroundOp.cpp
Constants.cpp
CustomService.cpp
dns.cpp
Firewall.cpp
Cluster.cpp
ClusterGroup.cpp
FailoverClusterGroup.cpp
StateSyncClusterGroup.cpp
FWException.cpp
FWIntervalReference.cpp
FWObject.cpp
FWObjectDatabase.cpp
FWObjectDatabase_create_object.cpp
FWObjectDatabase_tree_ops.cpp
FWObjectDatabase_search.cpp
FWObjectReference.cpp
FWOptions.cpp
FWReference.cpp
FWServiceReference.cpp
Group.cpp
Host.cpp
ICMPService.cpp
ICMP6Service.cpp
Interface.cpp
InterfaceData.cpp
Interval.cpp
IntervalGroup.cpp
IPService.cpp
IPv4.cpp
IPv6.cpp
Library.cpp
Logger.cpp
Management.cpp
MultiAddress.cpp
NAT.cpp
Network.cpp
NetworkIPv6.cpp
AttachedNetworks.cpp
ObjectGroup.cpp
DynamicGroup.cpp
physAddress.cpp
DNSName.cpp
AddressTable.cpp
Policy.cpp
Resources.cpp
Routing.cpp
Rule.cpp
RuleElement.cpp
RuleSet.cpp
SecuwallMgmtFile.cpp
Service.cpp
ServiceGroup.cpp
snmp.cpp
TCPService.cpp
ThreadTools.cpp
Tools.cpp
TCPUDPService.cpp
UDPService.cpp
UserService.cpp
TagService.cpp
XMLTools.cpp
ObjectMatcher.cpp
ObjectMirror.cpp
inet_net_ntop.c
inet_net_pton.c
uint128.cpp)
add_library(fwbuilder STATIC ${libfwbuilder_srcs})
target_include_directories(fwbuilder PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>/..
${LIBXML2_INCLUDE_DIR})
set(CXX_EXTRA_FLAGS # clang/GCC
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:GNU>>:-Wno-parentheses>)
set(C_EXTRA_FLAGS # clang/GCC
$<$<OR:$<C_COMPILER_ID:Clang>,$<C_COMPILER_ID:GNU>>:-Wno-shift-negative-value>)
target_compile_options(fwbuilder PRIVATE
$<$<COMPILE_LANGUAGE:CXX>:${CXX_DEFAULT_FLAGS} ${CXX_EXTRA_FLAGS}>
$<$<COMPILE_LANGUAGE:C>:${C_EXTRA_FLAGS}>)

View File

@ -0,0 +1,24 @@
project(libfwcompiler)
set(libfwcompiler_srcs
BaseCompiler.cpp
Compiler.cpp
Compiler_helpers.cpp
Compiler_ops.cpp
Compiler_object_match.cpp
Preprocessor.cpp
NATCompiler.cpp
OSConfigurator.cpp
PolicyCompiler.cpp
ServiceRuleProcessors.cpp
RoutingCompiler.cpp
GroupRegistry.cpp)
add_library(fwcompiler STATIC ${libfwcompiler_srcs})
target_include_directories(fwcompiler PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>/..
${LIBXML2_INCLUDE_DIR})
target_compile_options(fwcompiler PRIVATE ${CXX_DEFAULT_FLAGS})

591
src/libgui/CMakeLists.txt Normal file
View File

@ -0,0 +1,591 @@
project(libgui)
set(libgui_srcs
ProjectPanel.cpp
ProjectPanel_events.cpp
ProjectPanel_file_ops.cpp
ProjectPanel_state_ops.cpp
BaseObjectDialog.cpp
FWWindow.cpp
FWWindow_editor.cpp
FWWIndow_single_rule_compile.cpp
FWWindow_wrappers.cpp
FWWindowPrint.cpp
TextEditWidget.cpp
ObjectEditorDockWidget.cpp
ssh_wrappers.cpp
utils.cpp
utils_no_qt.cpp
SSHSession.cpp
SSHUnx.cpp
SSHCisco.cpp
SSHPIX.cpp
SSHIOS.cpp
SSHNXOS.cpp
SSHJUNOS.cpp
SSHProcurve.cpp
debugDialog.cpp
findDialog.cpp
listOfLibrariesModel.cpp
longTextDialog.cpp
newGroupDialog.cpp
filePropDialog.cpp
DialogData.cpp
SimpleTextEditor.cpp
SimpleIntEditor.cpp
TextFileEditor.cpp
FWBSettings.cpp
FWBTree.cpp
RCS.cpp
RCSFilePreview.cpp
FWObjectClipboard.cpp
platforms.cpp
printerStream.cpp
PrintingProgressDialog.cpp
PrintingController.cpp
FWObjectPropertiesFactory.cpp
ObjectManipulator.cpp
ObjectManipulator_ops.cpp
ObjectManipulator_tree_ops.cpp
ObjectManipulator_create_new.cpp
ObjectManipulator_slots.cpp
ObjectManipulator_new_object_checks.cpp
ObjectEditor.cpp
FWObjectDrag.cpp
ObjectTreeView.cpp
ObjectListView.cpp
ObjectIconView.cpp
ObjectSelectorWidget.cpp
DialogFactory.cpp
HostDialog.cpp
FirewallDialog.cpp
ClusterDialog.cpp
ClusterGroupDialog.cpp
InterfaceDialog.cpp
AddressRangeDialog.cpp
AddressTableDialog.cpp
IPv4Dialog.cpp
IPv6Dialog.cpp
PhysicalAddressDialog.cpp
AttachedNetworksDialog.cpp
NetworkDialog.cpp
NetworkDialogIPv6.cpp
UserDialog.cpp
LibraryDialog.cpp
CustomServiceDialog.cpp
IPServiceDialog.cpp
ICMPServiceDialog.cpp
TCPServiceDialog.cpp
UDPServiceDialog.cpp
GroupObjectDialog.cpp
TimeDialog.cpp
RuleSetDialog.cpp
FWObjectSelectionModel.cpp
ColDesc.cpp
RuleNode.cpp
RuleSetModel.cpp
RuleSetView.cpp
RuleSetViewDelegate.cpp
iptAdvancedDialog.cpp
ipcopAdvancedDialog.cpp
ipfAdvancedDialog.cpp
ipfwAdvancedDialog.cpp
pfAdvancedDialog.cpp
pixAdvancedDialog.cpp
pixosAdvancedDialog.cpp
iosaclAdvancedDialog.cpp
iosAdvancedDialog.cpp
nxosaclAdvancedDialog.cpp
nxosAdvancedDialog.cpp
junosaclAdvancedDialog.cpp
junosAdvancedDialog.cpp
ipcoposAdvancedDialog.cpp
linux24AdvancedDialog.cpp
linksysAdvancedDialog.cpp
freebsdAdvancedDialog.cpp
openbsdAdvancedDialog.cpp
procurveaclAdvancedDialog.cpp
solarisAdvancedDialog.cpp
macosxAdvancedDialog.cpp
secuwallAdvancedDialog.cpp
secuwallosAdvancedDialog.cpp
secuwallIfaceOptsDialog.cpp
vlanOnlyIfaceOptsDialog.cpp
linux24IfaceOptsDialog.cpp
pixosIfaceOptsDialog.cpp
bsdIfaceOptsDialog.cpp
clusterMembersDialog.cpp
CompilerOutputPanel.cpp
CompilerDriverFactory.cpp
RuleOptionsDialog.cpp
RoutingRuleOptionsDialog.cpp
NATRuleOptionsDialog.cpp
LibExportDialog.cpp
PrefsDialog.cpp
instConf.cpp
instDialog.cpp
instDialog_ui_ops.cpp
instDialog_compile.cpp
instDialog_installer.cpp
FirewallInstaller.cpp
FirewallInstallerCisco.cpp
FirewallInstallerJuniper.cpp
FirewallInstallerProcurve.cpp
FirewallInstallerUnx.cpp
newFirewallDialog.cpp
newFirewallDialog_from_template.cpp
newClusterDialog.cpp
newClusterDialog_create.cpp
newHostDialog.cpp
ObjConflictResolutionDialog.cpp
ColorLabelMenuItem.cpp
TagServiceDialog.cpp
ActionsDialog.cpp
SimpleTextView.cpp
BlankDialog.cpp
DNSNameDialog.cpp
ObjectTreeViewItem.cpp
InstallFirewallViewItem.cpp
instOptionsDialog.cpp
instBatchOptionsDialog.cpp
FilterDialog.cpp
FindObjectWidget.cpp
FWObjectDropArea.cpp
CommentEditorPanel.cpp
MetricEditorPanel.cpp
FindWhereUsedWidget.cpp
ConfirmDeleteObjectDialog.cpp
fakeWizard.cpp
AskLibForCopyDialog.cpp
ObjectListViewItem.cpp
Help.cpp
StartTipDialog.cpp
FWBAboutDialog.cpp
vrrpOptionsDialog.cpp
carpOptionsDialog.cpp
pixFailoverOptionsDialog.cpp
conntrackOptionsDialog.cpp
pfsyncOptionsDialog.cpp
heartbeatOptionsDialog.cpp
openaisOptionsDialog.cpp
InterfaceEditorWidget.cpp
FWCmdBasic.cpp
FWCmdChange.cpp
FWCmdAddObject.cpp
FWCmdDeleteObject.cpp
FWCmdMoveObject.cpp
InterfacesTabWidget.cpp
FirewallSelectorWidget.cpp
ClusterInterfacesSelectorWidget.cpp
ClusterInterfaceWidget.cpp
FWCmdRule.cpp
IconSetter.cpp
UsageResolver.cpp
TutorialDialog.cpp
MDIEventFilter.cpp
FWBApplication.cpp
WorkflowIcons.cpp
FirewallCodeViewer.cpp
networkZoneManager.cpp
KeywordsDialog.cpp
CommentKeywords.cpp
DynamicGroupDialog.cpp
FilterLineEdit.cpp
ObjectDescriptor.cpp
QThreadLogger.cpp
importAddressListWizard/ChooseObjectsPage.cpp
importAddressListWizard/CreateObjectsPage.cpp
importAddressListWizard/FileNamePage.cpp
importAddressListWizard/SelectLibraryPage.cpp
importAddressListWizard/ImportAddressListWizard.cpp
importAddressListWizard/HostsFile.cpp
snmpNetworkDiscoveryWizard/ND_ChooseNetworksPage.cpp
snmpNetworkDiscoveryWizard/ND_ChooseObjectsPage.cpp
snmpNetworkDiscoveryWizard/ND_ChooseObjectTypePage.cpp
snmpNetworkDiscoveryWizard/ND_CreateObjectsPage.cpp
snmpNetworkDiscoveryWizard/ND_DiscoveryParametersPage.cpp
snmpNetworkDiscoveryWizard/ND_ProgressPage.cpp
snmpNetworkDiscoveryWizard/ND_SelectLibraryPage.cpp
snmpNetworkDiscoveryWizard/ND_SetupPage.cpp
snmpNetworkDiscoveryWizard/ND_SNMPParametersPage.cpp
snmpNetworkDiscoveryWizard/SNMPNetworkDiscoveryWizard.cpp
snmpNetworkDiscoveryWizard/SNMPCrawlerThread.cpp
importFirewallConfigurationWizard/IC_FileNamePage.cpp
importFirewallConfigurationWizard/IC_FirewallNamePage.cpp
importFirewallConfigurationWizard/IC_PlatformWarningPage.cpp
importFirewallConfigurationWizard/IC_ProgressPage.cpp
importFirewallConfigurationWizard/IC_NetworkZonesPage.cpp
importFirewallConfigurationWizard/ImportFirewallConfigurationWizard.cpp
importFirewallConfigurationWizard/ImporterThread.cpp
RuleSetDiffDialog.cpp
RuleSetDiffDelegate.cpp
RuleSetDiffModel.cpp
BackgroundCompileInfoWidget.cpp
temporarydir.cpp)
set(libgui_hdrs
#events.h
FWWindow.h
ProjectPanel.h
BaseObjectDialog.h
TextEditWidget.h
#utils.h
#utils_no_qt.h
SSHSession.h
SSHUnx.h
SSHCisco.h
SSHPIX.h
SSHIOS.h
SSHNXOS.h
SSHJUNOS.h
SSHProcurve.h
debugDialog.h
findDialog.h
listOfLibrariesModel.h
longTextDialog.h
newGroupDialog.h
filePropDialog.h
#DialogData.h
SimpleTextEditor.h
SimpleIntEditor.h
TextFileEditor.h
#FWBSettings.h
#FWBTree.h
RCS.h
RCSFilePreview.h
#FWObjectClipboard.h
#platforms.h
#global.h
#printerStream.h
PrintingProgressDialog.h
#PrintingController.h
#FWObjectPropertiesFactory.h
ObjectManipulator.h
ObjectEditor.h
ObjectEditorDockWidget.h
#FWObjectDrag.h
ObjectTreeView.h
ObjectListView.h
ObjectIconView.h
#ObjectTreeViewItem.h
ObjectSelectorWidget.h
#InstallFirewallViewItem.h
#DialogFactory.h
HostDialog.h
FirewallDialog.h
ClusterDialog.h
ClusterGroupDialog.h
InterfaceDialog.h
AddressRangeDialog.h
AddressTableDialog.h
IPv4Dialog.h
IPv6Dialog.h
PhysicalAddressDialog.h
AttachedNetworksDialog.h
NetworkDialog.h
NetworkDialogIPv6.h
UserDialog.h
RuleSetDialog.h
LibraryDialog.h
CustomServiceDialog.h
IPServiceDialog.h
ICMPServiceDialog.h
TCPServiceDialog.h
UDPServiceDialog.h
GroupObjectDialog.h
#ObjectIconViewItem.h
TimeDialog.h
#ColDesc.h
#FWObjectSelectionModel.h
#RuleNode.h
RuleSetModel.h
RuleSetView.h
RuleSetViewDelegate.h
iptAdvancedDialog.h
ipcopAdvancedDialog.h
ipfAdvancedDialog.h
ipfwAdvancedDialog.h
pfAdvancedDialog.h
pixAdvancedDialog.h
pixosAdvancedDialog.h
iosaclAdvancedDialog.h
iosAdvancedDialog.h
nxosaclAdvancedDialog.h
nxosAdvancedDialog.h
junosaclAdvancedDialog.h
junosAdvancedDialog.h
ipcoposAdvancedDialog.h
linux24AdvancedDialog.h
linksysAdvancedDialog.h
freebsdAdvancedDialog.h
openbsdAdvancedDialog.h
procurveaclAdvancedDialog.h
solarisAdvancedDialog.h
macosxAdvancedDialog.h
secuwallAdvancedDialog.h
secuwallosAdvancedDialog.h
secuwallIfaceOptsDialog.h
vlanOnlyIfaceOptsDialog.h
linux24IfaceOptsDialog.h
pixosIfaceOptsDialog.h
bsdIfaceOptsDialog.h
clusterMembersDialog.h
CompilerOutputPanel.h
#CompilerDriverFactory.h
RuleOptionsDialog.h
RoutingRuleOptionsDialog.h
NATRuleOptionsDialog.h
LibExportDialog.h
PrefsDialog.h
#instConf.h
instDialog.h
FirewallInstaller.h
FirewallInstallerCisco.h
FirewallInstallerJuniper.h
FirewallInstallerProcurve.h
FirewallInstallerUnx.h
newFirewallDialog.h
newClusterDialog.h
newHostDialog.h
ObjConflictResolutionDialog.h
ColorLabelMenuItem.h
TagServiceDialog.h
ActionsDialog.h
SimpleTextView.h
BlankDialog.h
DNSNameDialog.h
instOptionsDialog.h
instBatchOptionsDialog.h
FilterDialog.h
FindObjectWidget.h
FWObjectDropArea.h
CommentEditorPanel.h
MetricEditorPanel.h
FindWhereUsedWidget.h
ConfirmDeleteObjectDialog.h
#fakeWizard.h
AskLibForCopyDialog.h
FWBAboutDialog.h
Help.h
StartTipDialog.h
vrrpOptionsDialog.h
carpOptionsDialog.h
pixFailoverOptionsDialog.h
conntrackOptionsDialog.h
heartbeatOptionsDialog.h
openaisOptionsDialog.h
pfsyncOptionsDialog.h
#check_update_url.h
#startup_tip_url.h
InterfaceEditorWidget.h
#FWCmdBasic.h
#FWCmdChange.h
#FWCmdAddObject.h
#FWCmdDeleteObject.h
#FWCmdMoveObject.h
InterfacesTabWidget.h
FirewallSelectorWidget.h
ClusterInterfacesSelectorWidget.h
ClusterInterfaceWidget.h
#FWCmdRule.h
#UsageResolver.h
#IconSetter.h
TutorialDialog.h
MDIEventFilter.h
FWBApplication.h
WorkflowIcons.h
FirewallCodeViewer.h
#networkZoneManager.h
KeywordsDialog.h
CommentKeywords.h
DynamicGroupDialog.h
FilterLineEdit.h
#ObjectDescriptor.h
QThreadLogger.h
importAddressListWizard/ChooseObjectsPage.h
importAddressListWizard/CreateObjectsPage.h
importAddressListWizard/FileNamePage.h
importAddressListWizard/SelectLibraryPage.h
importAddressListWizard/ImportAddressListWizard.h
#importAddressListWizard/HostsFile.h
snmpNetworkDiscoveryWizard/ND_ChooseNetworksPage.h
snmpNetworkDiscoveryWizard/ND_ChooseObjectsPage.h
snmpNetworkDiscoveryWizard/ND_ChooseObjectTypePage.h
snmpNetworkDiscoveryWizard/ND_CreateObjectsPage.h
snmpNetworkDiscoveryWizard/ND_DiscoveryParametersPage.h
snmpNetworkDiscoveryWizard/ND_ProgressPage.h
snmpNetworkDiscoveryWizard/ND_SelectLibraryPage.h
snmpNetworkDiscoveryWizard/ND_SetupPage.h
snmpNetworkDiscoveryWizard/ND_SNMPParametersPage.h
snmpNetworkDiscoveryWizard/SNMPNetworkDiscoveryWizard.h
snmpNetworkDiscoveryWizard/SNMPCrawlerThread.h
importFirewallConfigurationWizard/IC_FileNamePage.h
importFirewallConfigurationWizard/IC_FirewallNamePage.h
importFirewallConfigurationWizard/IC_PlatformWarningPage.h
importFirewallConfigurationWizard/IC_ProgressPage.h
importFirewallConfigurationWizard/IC_NetworkZonesPage.h
importFirewallConfigurationWizard/ImportFirewallConfigurationWizard.h
importFirewallConfigurationWizard/ImporterThread.h
RuleSetDiffDialog.h
RuleSetDiffDelegate.h
RuleSetDiffModel.h
BackgroundCompileInfoWidget.h
temporarydir.h)
set(libgui_ui
FWBMainWindow_q.ui
compileroutputpanel_q.ui
customservicedialog_q.ui
ipservicedialog_q.ui
icmpservicedialog_q.ui
tcpservicedialog_q.ui
udpservicedialog_q.ui
groupobjectdialog_q.ui
librarydialog_q.ui
ipv4dialog_q.ui
ipv6dialog_q.ui
rulesetdialog_q.ui
addressrangedialog_q.ui
addresstabledialog_q.ui
attachednetworksdialog_q.ui
networkdialog_q.ui
networkdialogipv6_q.ui
userdialog_q.ui
hostdialog_q.ui
firewalldialog_q.ui
clusterdialog_q.ui
clustergroupdialog_q.ui
interfacedialog_q.ui
physaddressdialog_q.ui
timedialog_q.ui
rcsfilepreview_q.ui
rcsfilesavedialog_q.ui
iptadvanceddialog_q.ui
ipcopadvanceddialog_q.ui
ipcoposadvanceddialog_q.ui
objectmanipulator_q.ui
prefsdialog_q.ui
pixadvanceddialog_q.ui
pixosadvanceddialog_q.ui
iosacladvanceddialog_q.ui
iosadvanceddialog_q.ui
nxosacladvanceddialog_q.ui
nxosadvanceddialog_q.ui
junosacladvanceddialog_q.ui
junosadvanceddialog_q.ui
procurveacladvanceddialog_q.ui
simpletexteditor_q.ui
simpleinteditor_q.ui
textfileeditor_q.ui
aboutdialog_q.ui
libexport_q.ui
ruleoptionsdialog_q.ui
routingruleoptionsdialog_q.ui
instdialog_q.ui
objconflictresolutiondialog_q.ui
newfirewalldialog_q.ui
newclusterdialog_q.ui
finddialog_q.ui
ipfadvanceddialog_q.ui
ipfwadvanceddialog_q.ui
pfadvanceddialog_q.ui
linux24advanceddialog_q.ui
solarisadvanceddialog_q.ui
freebsdadvanceddialog_q.ui
openbsdadvanceddialog_q.ui
macosxadvanceddialog_q.ui
secuwalladvanceddialog_q.ui
secuwallosadvanceddialog_q.ui
secuwallifaceoptsdialog_q.ui
clustermembersdialog_q.ui
bsdifaceoptsdialog_q.ui
colorlabelmenuitem_q.ui
debugdialog_q.ui
filepropdialog_q.ui
askrulenumberdialog_q.ui
newgroupdialog_q.ui
newhostdialog_q.ui
longtextdialog_q.ui
linksysadvanceddialog_q.ui
printingprogressdialog_q.ui
pagesetupdialog_q.ui
blankdialog_q.ui
dnsnamedialog_q.ui
tagservicedialog_q.ui
actionsdialog_q.ui
simpletextview_q.ui
helpview_q.ui
filterdialog_q.ui
natruleoptionsdialog_q.ui
instoptionsdialog_q.ui
findobjectwidget_q.ui
fwobjectdroparea_q.ui
commenteditorpanel_q.ui
metriceditorpanel_q.ui
findwhereusedwidget_q.ui
confirmdeleteobjectdialog_q.ui
projectpanel_q.ui
asklibforcopydialog_q.ui
starttipdialog_q.ui
vrrpoptionsdialog_q.ui
carpoptionsdialog_q.ui
pixfailoveroptionsdialog_q.ui
conntrackoptionsdialog_q.ui
heartbeatoptionsdialog_q.ui
openaisoptionsdialog_q.ui
pfsyncoptionsdialog_q.ui
vlanonlyifaceoptsdialog_q.ui
linux24ifaceoptsdialog_q.ui
pixosifaceoptsdialog_q.ui
InterfaceEditorWidget.ui
InterfacesTabWidget.ui
ClusterInterfaceWidget.ui
TutorialDialog.ui
WorkflowIcons.ui
FirewallCodeViewer.ui
objectselectorwidget_q.ui
keywordsdialog_q.ui
commentkeywords_q.ui
dynamicgroupdialog_q.ui
importAddressListWizard/chooseobjectspage_q.ui
importAddressListWizard/createobjectspage_q.ui
importAddressListWizard/filenamepage_q.ui
importAddressListWizard/selectlibrarypage_q.ui
snmpNetworkDiscoveryWizard/nd_choosenetworkspage_q.ui
snmpNetworkDiscoveryWizard/nd_chooseobjectspage_q.ui
snmpNetworkDiscoveryWizard/nd_chooseobjecttypepage_q.ui
snmpNetworkDiscoveryWizard/nd_createobjectspage_q.ui
snmpNetworkDiscoveryWizard/nd_discoveryparameterspage_q.ui
snmpNetworkDiscoveryWizard/nd_progresspage_q.ui
snmpNetworkDiscoveryWizard/nd_selectlibrarypage_q.ui
snmpNetworkDiscoveryWizard/nd_setuppage_q.ui
snmpNetworkDiscoveryWizard/nd_snmpparameterspage_q.ui
importFirewallConfigurationWizard/ic_filenamepage_q.ui
importFirewallConfigurationWizard/ic_firewallnamepage_q.ui
importFirewallConfigurationWizard/ic_platformwarningpage_q.ui
importFirewallConfigurationWizard/ic_progresspage_q.ui
importFirewallConfigurationWizard/ic_networkzonespage_q.ui)
set(libgui_resources
MainRes.qrc)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
qt5_wrap_cpp(libgui_hdrs_moc ${libgui_hdrs})
qt5_wrap_ui(libgui_ui_h ${libgui_ui})
qt5_add_resources(libgui_resources_rcc ${libgui_resources})
add_library(gui STATIC ${libgui_srcs} ${libgui_hdrs_moc} ${libgui_ui_h} ${libgui_resources_rcc})
target_include_directories(gui PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>/importAddressListWizard
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>/importFireWallConfigurationWizard
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>/snmpNetworkDiscoveryWizard
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>/src/libgui)
target_link_libraries(gui fwbcisco fwbjuniper iptlib fwbpf import)
target_compile_options(gui PRIVATE ${CXX_DEFAULT_FLAGS})
qt5_use_modules(gui Widgets Network PrintSupport)

View File

@ -0,0 +1,16 @@
project(nxosacl)
set(nxosacl_srcs
nxosacl.cpp
)
add_executable(fwb_nxosacl ${nxosacl_srcs})
target_link_libraries(fwb_nxosacl common fwbcisco compilerdriver fwcompiler fwbuilder pthread c xml2 m dl xslt z util)
target_compile_options(fwb_nxosacl PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_nxosacl RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
qt5_use_modules(fwb_nxosacl Widgets)

View File

@ -0,0 +1,23 @@
project(parsers)
set(parsers_srcs
IOSCfgLexer.cpp
IOSCfgParser.cpp
IPTCfgLexer.cpp
IPTCfgParser.cpp
PFCfgLexer.cpp
PFCfgParser.cpp
PIXCfgLexer.cpp
PIXCfgParser.cpp)
add_library(fwbparser STATIC ${parsers_srcs})
target_include_directories(fwbparser PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
target_link_libraries(fwbparser import)
target_compile_options(fwbparser PRIVATE ${CXX_DEFAULT_FLAGS})
qt5_use_modules(fwbparser Widgets)

15
src/pf/CMakeLists.txt Normal file
View File

@ -0,0 +1,15 @@
project(pf)
set(pf_srcs
pf.cpp)
add_executable(fwb_pf ${pf_srcs})
target_link_libraries(fwb_pf common fwbpf compilerdriver fwcompiler fwbuilder pthread c xml2 m dl xslt z util)
target_compile_options(fwb_pf PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_pf RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
qt5_use_modules(fwb_pf Widgets)

49
src/pflib/CMakeLists.txt Normal file
View File

@ -0,0 +1,49 @@
project(pflib)
set(pflib_srcs
AutomaticRules_pf.cpp
CompilerDriver_ipf.cpp
CompilerDriver_ipf_run.cpp
CompilerDriver_ipfw.cpp
CompilerDriver_ipfw_run.cpp
CompilerDriver_pf.cpp
CompilerDriver_pf_run.cpp
NATCompiler_ipf.cpp
NATCompiler_ipf_writers.cpp
NATCompiler_ipfw.cpp
NATCompiler_ipfw_writers.cpp
NATCompiler_pf.cpp
NATCompiler_pf_negation.cpp
NATCompiler_pf_writers.cpp
OSConfigurator_bsd.cpp
OSConfigurator_bsd_interfaces.cpp
OSConfigurator_freebsd.cpp
OSConfigurator_macosx.cpp
OSConfigurator_openbsd.cpp
OSConfigurator_solaris.cpp
OSData_pf.cpp
PolicyCompiler_ipf.cpp
PolicyCompiler_ipf_optimizer.cpp
PolicyCompiler_ipf_writers.cpp
PolicyCompiler_ipfw.cpp
PolicyCompiler_ipfw_writers.cpp
PolicyCompiler_pf.cpp
PolicyCompiler_pf_writers.cpp
Preprocessor_pf.cpp
RoutingCompiler_freebsd.cpp
RoutingCompiler_freebsd_writers.cpp
RoutingCompiler_openbsd.cpp
RoutingCompiler_openbsd_writers.cpp
TableFactory.cpp)
add_library(fwbpf STATIC ${pflib_srcs})
target_include_directories(fwbpf PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
target_link_libraries(fwbpf compilerdriver)
target_compile_options(fwbpf PRIVATE ${CXX_DEFAULT_FLAGS})
qt5_use_modules(fwbpf Core)

15
src/pix/CMakeLists.txt Normal file
View File

@ -0,0 +1,15 @@
project(pix)
set(pix_srcs
pix.cpp)
add_executable(fwb_pix ${pix_srcs})
target_link_libraries(fwb_pix common fwbcisco compilerdriver fwcompiler fwbuilder pthread c xml2 m dl xslt z util)
target_compile_options(fwb_pix PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_pix RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
qt5_use_modules(fwb_pix Widgets)

View File

@ -0,0 +1,16 @@
project(procurve_acl)
set(procurve_acl_srcs
procurve_acl.cpp
)
add_executable(fwb_procurve_acl ${procurve_acl_srcs})
target_link_libraries(fwb_procurve_acl common fwbcisco compilerdriver fwcompiler fwbuilder pthread c xml2 m dl xslt z util)
target_compile_options(fwb_procurve_acl PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_procurve_acl RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
qt5_use_modules(fwb_procurve_acl Widgets)

26
src/res/CMakeLists.txt Normal file
View File

@ -0,0 +1,26 @@
project(res)
configure_file(objects_init.xml.in objects_init.xml)
configure_file(templates.xml.in templates.xml)
FILE(GLOB os_files "${PROJECT_SOURCE_DIR}/os/*.xml")
FILE(GLOB platform_files "${PROJECT_SOURCE_DIR}/platform/*.xml")
FILE(GLOB help_files "${PROJECT_SOURCE_DIR}/help/en_US/*.html" "${PROJECT_SOURCE_DIR}/help/en_US/*.png" "${PROJECT_SOURCE_DIR}/help/en_US/*.jpg")
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/objects_init.xml
${CMAKE_CURRENT_BINARY_DIR}/templates.xml
resources.xml
DESTINATION ${FWB_INSTALL_DATADIR})
install(FILES ${os_files} DESTINATION ${FWB_INSTALL_DATADIR}/os)
install(FILES ${platform_files} DESTINATION ${FWB_INSTALL_DATADIR}/platform)
install(FILES ${help_files} DESTINATION ${FWB_INSTALL_DATADIR}/help/en_US)
install(DIRECTORY configlets DESTINATION ${FWB_INSTALL_DATADIR})
install(FILES fwbuilder.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
install(FILES Icons/16x16/fwbuilder.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/16x16/apps)
install(FILES Icons/24x24/fwbuilder.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/24x24/apps)
install(FILES Icons/32x32/fwbuilder.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/apps)
install(FILES Icons/48x48/fwbuilder.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/48x48/apps)
install(FILES Icons/72x72/fwbuilder.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/72x72/apps)
install(FILES Icons/128x128/fwbuilder.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/128x128/apps)
install(FILES Icons/256x256/fwbuilder.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/256x256/apps)
install(FILES Icons/512x512/fwbuilder.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/512x512/apps)