1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2025-10-17 07:57:43 +02:00

chore: Add support for mxe w32 and cmake

This commit is contained in:
Sirius Bakke 2019-06-09 23:46:58 +02:00
parent 773b3dc6fa
commit 03ed123626
17 changed files with 152 additions and 34 deletions

View File

@ -17,6 +17,14 @@ 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})
if (WIN32)
set(CMAKE_INSTALL_PREFIX ${PROJECT_BINARY_DIR})
set(FWB_INSTALL_DATADIR release/resources)
set(FWB_INSTALL_DOCDIR release)
set(FWB_INSTALL_BINDIR release)
ENDIF()
set(CMAKE_CXX_STANDARD 11)
set(CXX_DEFAULT_FLAGS # clang/GCC warnings
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:GNU>>:-Wall;-Wextra;-Werror;-Wno-overloaded-virtual>
# MSVC warnings
@ -28,7 +36,17 @@ 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 (WIN32)
add_definitions(-DRES_DIR="resources")
ELSE()
add_definitions(-DRES_DIR="${CMAKE_INSTALL_PREFIX}/${FWB_INSTALL_DATADIR}")
ENDIF()
IF (WIN32)
#add_definitions(-DIN_LIBXML) # Enable for static build
add_definitions(-DWIN32_LEAN_AND_MEAN)
ENDIF()
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release CACHE STRING

View File

@ -5,6 +5,7 @@ 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_GENERATION_SHORT "${PROJECT_VERSION_MAJOR}${PROJECT_VERSION_MINOR}")
set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}${PROJECT_VERSION_EXTRA}")
## Git revision number ##

View File

@ -273,6 +273,7 @@ Section "FWBuilder (required)"
File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libintl-8.dll"
File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libpcre-1.dll"
File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libpcre16-0.dll"
File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libpcre2-16-0.dll"
File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libpng16-16.dll"
File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libstdc++-6.dll"
File "/usr/lib/mxe/usr/i686-w64-mingw32.shared/bin/libwinpthread-1.dll"

View File

@ -12,11 +12,23 @@ set(fwbedit_srcs
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_link_libraries(fwbedit gui import fwbparser antlr common iptlib fwbpf fwbcisco compilerdriver fwcompiler fwbuilder xml2 m xslt z crypto pthread)
IF (WIN32)
target_link_libraries(fwbedit lzma iconv)
ENDIF()
IF (UNIX)
target_link_libraries(fwbedit c dl util)
ENDIF()
IF (NETSNMP_FOUND)
target_link_libraries(fwbedit netsnmp)
ENDIF()
target_compile_options(fwbedit PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwbedit RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(TARGETS fwbedit RUNTIME DESTINATION ${FWB_INSTALL_BINDIR})
qt5_use_modules(fwbedit Widgets Network PrintSupport)

View File

@ -5,13 +5,25 @@ set(fwbuilder-gui_srcs
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_link_libraries(fwbuilder-gui gui import fwbparser antlr common iptlib fwbpf fwbjuniper fwbcisco compilerdriver fwcompiler fwbuilder xml2 m xslt z crypto pthread)
IF (WIN32)
target_link_libraries(fwbuilder-gui lzma iconv)
ENDIF()
IF (UNIX)
target_link_libraries(fwbuilder-gui c dl util)
ENDIF()
IF (NETSNMP_FOUND)
target_link_libraries(fwbuilder-gui netsnmp)
ENDIF()
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})
install(TARGETS fwbuilder-gui RUNTIME DESTINATION ${FWB_INSTALL_BINDIR})
qt5_use_modules(fwbuilder-gui Widgets Network PrintSupport)

View File

@ -6,11 +6,19 @@ set(iosacl_srcs
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_link_libraries(fwb_iosacl common fwbcisco compilerdriver fwcompiler fwbuilder xml2 pthread m xslt z)
IF (WIN32)
target_link_libraries(fwb_iosacl lzma iconv)
ENDIF()
IF (UNIX)
target_link_libraries(fwb_iosacl c dl util)
ENDIF()
target_compile_options(fwb_iosacl PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_iosacl RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(TARGETS fwb_iosacl RUNTIME DESTINATION ${FWB_INSTALL_BINDIR})
qt5_use_modules(fwb_iosacl Widgets)

View File

@ -5,11 +5,19 @@ set(ipf_srcs
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_link_libraries(fwb_ipf common fwbpf compilerdriver fwcompiler fwbuilder xml2 pthread m xslt z)
IF (WIN32)
target_link_libraries(fwb_ipf lzma iconv)
ENDIF()
IF (UNIX)
target_link_libraries(fwb_ipf c dl util)
ENDIF()
target_compile_options(fwb_ipf PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_ipf RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(TARGETS fwb_ipf RUNTIME DESTINATION ${FWB_INSTALL_BINDIR})
qt5_use_modules(fwb_ipf Widgets)

View File

@ -5,11 +5,19 @@ set(ipfw_srcs
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_link_libraries(fwb_ipfw common fwbpf compilerdriver fwcompiler fwbuilder xml2 pthread m xslt z)
IF (WIN32)
target_link_libraries(fwb_ipfw lzma iconv)
ENDIF()
IF (UNIX)
target_link_libraries(fwb_ipfw c dl util)
ENDIF()
target_compile_options(fwb_ipfw PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_ipfw RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(TARGETS fwb_ipfw RUNTIME DESTINATION ${FWB_INSTALL_BINDIR})
qt5_use_modules(fwb_ipfw Widgets)

View File

@ -5,11 +5,19 @@ set(ipt_srcs
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_link_libraries(fwb_ipt common iptlib compilerdriver fwcompiler fwbuilder xml2 pthread m xslt z)
IF (WIN32)
target_link_libraries(fwb_ipt lzma iconv)
ENDIF()
IF (UNIX)
target_link_libraries(fwb_ipt c dl util)
ENDIF()
target_compile_options(fwb_ipt PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_ipt RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(TARGETS fwb_ipt RUNTIME DESTINATION ${FWB_INSTALL_BINDIR})
qt5_use_modules(fwb_ipt Widgets)

View File

@ -6,11 +6,19 @@ set(junosacl_srcs
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_link_libraries(fwb_junosacl common fwbcisco fwbjuniper compilerdriver fwcompiler fwbuilder xml2 pthread m xslt z)
IF (WIN32)
target_link_libraries(fwb_junosacl iconv lzma)
ENDIF()
IF (UNIX)
target_link_libraries(fwb_junosacl c dl util)
ENDIF()
target_compile_options(fwb_junosacl PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_junosacl RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(TARGETS fwb_junosacl RUNTIME DESTINATION ${FWB_INSTALL_BINDIR})
qt5_use_modules(fwb_junosacl Widgets)

View File

@ -69,7 +69,7 @@
using namespace std;
using namespace libfwbuilder;
#ifndef __MINGW32__
#if !defined(__MINGW32__) || defined(IN_LIBXML)
extern int xmlDoValidityCheckingDefaultValue ;
extern int xmlLoadExtDtdDefaultValue ;
#else

View File

@ -1886,6 +1886,6 @@ void SNMP_discover_query::run_impl(Logger *logger,std::atomic<bool> *stop_progra
#else
#ifndef _WIN32
# warning ucd-snmp library not found - SNMP functionality will be disabled.
//# warning ucd-snmp library not found - SNMP functionality will be disabled.
#endif
#endif

View File

@ -6,11 +6,19 @@ set(nxosacl_srcs
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_link_libraries(fwb_nxosacl common fwbcisco compilerdriver fwcompiler fwbuilder xml2 pthread m xslt z)
IF (WIN32)
target_link_libraries(fwb_nxosacl lzma iconv)
ENDIF()
IF (UNIX)
target_link_libraries(fwb_nxosacl c dl util)
ENDIF()
target_compile_options(fwb_nxosacl PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_nxosacl RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(TARGETS fwb_nxosacl RUNTIME DESTINATION ${FWB_INSTALL_BINDIR})
qt5_use_modules(fwb_nxosacl Widgets)

View File

@ -5,11 +5,19 @@ set(pf_srcs
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_link_libraries(fwb_pf common fwbpf compilerdriver fwcompiler fwbuilder xml2 pthread m xslt z)
IF (WIN32)
target_link_libraries(fwb_pf lzma iconv)
ENDIF()
IF (UNIX)
target_link_libraries(fwb_pf c dl util)
ENDIF()
target_compile_options(fwb_pf PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_pf RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(TARGETS fwb_pf RUNTIME DESTINATION ${FWB_INSTALL_BINDIR})
qt5_use_modules(fwb_pf Widgets)

View File

@ -5,11 +5,19 @@ set(pix_srcs
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_link_libraries(fwb_pix common fwbcisco compilerdriver fwcompiler fwbuilder xml2 pthread m xslt z)
IF (WIN32)
target_link_libraries(fwb_pix lzma iconv)
ENDIF()
IF (UNIX)
target_link_libraries(fwb_pix c dl util)
ENDIF()
target_compile_options(fwb_pix PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_pix RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(TARGETS fwb_pix RUNTIME DESTINATION ${FWB_INSTALL_BINDIR})
qt5_use_modules(fwb_pix Widgets)

View File

@ -6,11 +6,19 @@ set(procurve_acl_srcs
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_link_libraries(fwb_procurve_acl common fwbcisco compilerdriver fwcompiler fwbuilder xml2 pthread m xslt z)
IF (WIN32)
target_link_libraries(fwb_procurve_acl lzma iconv)
ENDIF()
IF (UNIX)
target_link_libraries(fwb_procurve_acl c dl util)
ENDIF()
target_compile_options(fwb_procurve_acl PRIVATE ${CXX_DEFAULT_FLAGS})
install(TARGETS fwb_procurve_acl RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(TARGETS fwb_procurve_acl RUNTIME DESTINATION ${FWB_INSTALL_BINDIR})
qt5_use_modules(fwb_procurve_acl Widgets)

View File

@ -14,13 +14,15 @@ 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)
if (NOT WIN32)
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)
endif()