Includes: - fix int64x64 parsing order, remove cached entries in macros-and-definitions and in the docs - update launch.json scratch names - add a ctest entry per executable - forward POSIX signal in ns3 (to get segmentation fault) - prioritize Ninja generator instead of Makefiles - add tests for unused utils source files - remove dummy file and add tests to check for unused source files - add missing examples and clean up unnecessary definitions - missing feature entry for LTE used by pybindgen - refactor CMake related filenames - fix python libraries and include directories bindings - fix brite example name - Keep C++ compiler and flags when refreshing - Disable precompiled headers when Ccache is found - Mark find_external_library headers as advanced - consolidate auxiliary files: build-status.py, _cache.py and .lock-waf_sys.platform_build files are merged into .lock-ns3_sys.platform_build - scan .cc sources used in bindings and update docs
192 lines
6.2 KiB
CMake
192 lines
6.2 KiB
CMake
# Copyright (c) 2017-2021 Universidade de Brasília
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify it under
|
|
# the terms of the GNU General Public License version 2 as published by the Free
|
|
# Software Foundation;
|
|
#
|
|
# This program is distributed in the hope that it will be useful, but WITHOUT
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
|
# details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License along with
|
|
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
|
# Place, Suite 330, Boston, MA 02111-1307 USA
|
|
#
|
|
# Author: Gabriel Ferreira <gabrielcarvfer@gmail.com>
|
|
|
|
find_package(Qt4 COMPONENTS QtGui QUIET)
|
|
find_package(Qt5 COMPONENTS Core Widgets PrintSupport Gui QUIET)
|
|
|
|
if((NOT ${Qt4_FOUND}) AND (NOT ${Qt5_FOUND}))
|
|
message(FATAL_ERROR "You need Qt installed to build NetAnim")
|
|
endif()
|
|
|
|
# Qt 4 requires these inclusions
|
|
if(NOT ${Qt5_found})
|
|
include(${QT_USE_FILE})
|
|
add_definitions(${QT_DEFINITIONS})
|
|
include_directories(${QT_INCLUDES})
|
|
endif()
|
|
|
|
# Used by qt
|
|
set(CMAKE_AUTOMOC ON)
|
|
set(CMAKE_AUTORCC ON)
|
|
set(CMAKE_AUTOUIC ON)
|
|
|
|
set(source_files
|
|
animatormode.cpp
|
|
animatorscene.cpp
|
|
animatorview.cpp
|
|
animlink.cpp
|
|
animnode.cpp
|
|
animpacket.cpp
|
|
animpropertybrowser.cpp
|
|
animresource.cpp
|
|
animxmlparser.cpp
|
|
countertablesscene.cpp
|
|
flowmonstatsscene.cpp
|
|
flowmonxmlparser.cpp
|
|
graphpacket.cpp
|
|
interfacestatsscene.cpp
|
|
log.cpp
|
|
logqt.cpp
|
|
main.cpp
|
|
mode.cpp
|
|
netanim.cpp
|
|
packetsmode.cpp
|
|
packetsscene.cpp
|
|
packetsview.cpp
|
|
qcustomplot.cpp
|
|
qtpropertybrowser/src/fileedit.cpp
|
|
qtpropertybrowser/src/fileeditfactory.cpp
|
|
qtpropertybrowser/src/filepathmanager.cpp
|
|
qtpropertybrowser/src/qtbuttonpropertybrowser.cpp
|
|
qtpropertybrowser/src/qteditorfactory.cpp
|
|
qtpropertybrowser/src/qtgroupboxpropertybrowser.cpp
|
|
qtpropertybrowser/src/qtpropertybrowser.cpp
|
|
qtpropertybrowser/src/qtpropertybrowserutils.cpp
|
|
qtpropertybrowser/src/qtpropertymanager.cpp
|
|
qtpropertybrowser/src/qttreepropertybrowser.cpp
|
|
qtpropertybrowser/src/qtvariantproperty.cpp
|
|
resizeableitem.cpp
|
|
routingstatsscene.cpp
|
|
routingxmlparser.cpp
|
|
statsmode.cpp
|
|
statsview.cpp
|
|
table.cpp
|
|
textbubble.cpp
|
|
)
|
|
|
|
set(header_files
|
|
abort.h
|
|
animatorconstants.h
|
|
animatormode.h
|
|
animatorscene.h
|
|
animatorview.h
|
|
animevent.h
|
|
animlink.h
|
|
animnode.h
|
|
animpacket.h
|
|
animpropertybrowser.h
|
|
animresource.h
|
|
animxmlparser.h
|
|
common.h
|
|
countertablesscene.h
|
|
flowmonstatsscene.h
|
|
flowmonxmlparser.h
|
|
graphpacket.h
|
|
interfacestatsscene.h
|
|
logqt.h
|
|
mode.h
|
|
netanim.h
|
|
packetsmode.h
|
|
packetsscene.h
|
|
packetsview.h
|
|
qcustomplot.h
|
|
qtpropertybrowser/src/QtAbstractEditorFactoryBase
|
|
qtpropertybrowser/src/QtAbstractPropertyBrowser
|
|
qtpropertybrowser/src/QtAbstractPropertyManager
|
|
qtpropertybrowser/src/QtBoolPropertyManager
|
|
qtpropertybrowser/src/QtBrowserItem
|
|
qtpropertybrowser/src/QtButtonPropertyBrowser
|
|
qtpropertybrowser/src/QtCharEditorFactory
|
|
qtpropertybrowser/src/QtCharPropertyManager
|
|
qtpropertybrowser/src/QtCheckBoxFactory
|
|
qtpropertybrowser/src/QtColorEditorFactory
|
|
qtpropertybrowser/src/QtColorPropertyManager
|
|
qtpropertybrowser/src/QtCursorEditorFactory
|
|
qtpropertybrowser/src/QtCursorPropertyManager
|
|
qtpropertybrowser/src/QtDateEditFactory
|
|
qtpropertybrowser/src/QtDatePropertyManager
|
|
qtpropertybrowser/src/QtDateTimeEditFactory
|
|
qtpropertybrowser/src/QtDateTimePropertyManager
|
|
qtpropertybrowser/src/QtDoublePropertyManager
|
|
qtpropertybrowser/src/QtDoubleSpinBoxFactory
|
|
qtpropertybrowser/src/QtEnumEditorFactory
|
|
qtpropertybrowser/src/QtEnumPropertyManager
|
|
qtpropertybrowser/src/QtFlagPropertyManager
|
|
qtpropertybrowser/src/QtFontEditorFactory
|
|
qtpropertybrowser/src/QtFontPropertyManager
|
|
qtpropertybrowser/src/QtGroupBoxPropertyBrowser
|
|
qtpropertybrowser/src/QtGroupPropertyManager
|
|
qtpropertybrowser/src/QtIntPropertyManager
|
|
qtpropertybrowser/src/QtKeySequenceEditorFactory
|
|
qtpropertybrowser/src/QtKeySequencePropertyManager
|
|
qtpropertybrowser/src/QtLineEditFactory
|
|
qtpropertybrowser/src/QtLocalePropertyManager
|
|
qtpropertybrowser/src/QtPointFPropertyManager
|
|
qtpropertybrowser/src/QtPointPropertyManager
|
|
qtpropertybrowser/src/QtProperty
|
|
qtpropertybrowser/src/QtRectFPropertyManager
|
|
qtpropertybrowser/src/QtRectPropertyManager
|
|
qtpropertybrowser/src/QtScrollBarFactory
|
|
qtpropertybrowser/src/QtSizeFPropertyManager
|
|
qtpropertybrowser/src/QtSizePolicyPropertyManager
|
|
qtpropertybrowser/src/QtSizePropertyManager
|
|
qtpropertybrowser/src/QtSliderFactory
|
|
qtpropertybrowser/src/QtSpinBoxFactory
|
|
qtpropertybrowser/src/QtStringPropertyManager
|
|
qtpropertybrowser/src/QtTimeEditFactory
|
|
qtpropertybrowser/src/QtTimePropertyManager
|
|
qtpropertybrowser/src/QtTreePropertyBrowser
|
|
qtpropertybrowser/src/QtVariantEditorFactory
|
|
qtpropertybrowser/src/QtVariantProperty
|
|
qtpropertybrowser/src/QtVariantPropertyManager
|
|
qtpropertybrowser/src/fileedit.h
|
|
qtpropertybrowser/src/fileeditfactory.h
|
|
qtpropertybrowser/src/filepathmanager.h
|
|
qtpropertybrowser/src/qtbuttonpropertybrowser.h
|
|
qtpropertybrowser/src/qteditorfactory.h
|
|
qtpropertybrowser/src/qtgroupboxpropertybrowser.h
|
|
qtpropertybrowser/src/qtpropertybrowser.h
|
|
qtpropertybrowser/src/qtpropertybrowserutils_p.h
|
|
qtpropertybrowser/src/qtpropertymanager.h
|
|
qtpropertybrowser/src/qttreepropertybrowser.h
|
|
qtpropertybrowser/src/qtvariantproperty.h
|
|
resizeableitem.h
|
|
routingstatsscene.h
|
|
routingxmlparser.h
|
|
statisticsconstants.h
|
|
statsmode.h
|
|
statsview.h
|
|
table.h
|
|
textbubble.h
|
|
timevalue.h
|
|
)
|
|
|
|
set(resource_files resources.qrc qtpropertybrowser/src/qtpropertybrowser.qrc)
|
|
|
|
add_executable(netanim ${source_files} ${resource_files})
|
|
|
|
if(Qt4_FOUND)
|
|
target_link_libraries(netanim PUBLIC ${libcore} Qt4::QtGui)
|
|
else()
|
|
target_link_libraries(
|
|
netanim PUBLIC ${libcore} Qt5::Widgets Qt5::Core Qt5::PrintSupport Qt5::Gui
|
|
)
|
|
endif()
|
|
|
|
target_include_directories(netanim PUBLIC qtpropertybrowser/src)
|
|
set_runtime_outputdirectory(netanim ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/bin "")
|