vcpkg/ports/libnice/CMakeLists.txt
Alexander Neumann 546813ae7b
[glib up to gtk] update and make it work with meson (#13100)
* update glib to meson

* update ci baseline

* update glib to 2.66.3
remove cmakelists

* fix some minor meson issue but meson is still a mess

* add_bin_to_path to vcpkg_install_meson

* regen docs

* try fixing/touching all glib dependent ports

* fix libsigcpp-3 version

* fix glibmm

* fix gmime

* fix libcroco

* update libnice

* fix atk build

* update harfbuzz

* fix few builds

* update libxmlpp

* fix gdk-pixbuf

* fix gts

* gts add patch

* remove old libsigcpp

* add missing comma

* fix supports logic

* fix name mismatch

* restore original ci baseline.

* fix a lot of small details.
increment controls.

* fix harfbuzz & glib

* bump port version

* update port_versions

* fix version field

* update versions

* fix glib in harfbuzz

* update port versions

* silly uppercase type

* update port-versions

* fix cairo build

* update version

* fix atk

* update atk port-verisons

* fix gts public includes

* update versions

* fix cairomm

* fix pango

* fix ignition

* update versions.

* fix gtk

* fix librsvg

* update versions

* fix atk linux

* fix libgpod

* update versions

* fix lcm

* fix librsvg

* update pango and pangomm

* update pango to meson

* more updates

* update pixman

* fix cairo

* fix cairo

* some fixes

* reorder meson a bit

* add none.txt for meson

* fix x86_x64 to x86 "cross" builds

* add tiff pkgconfig

* update gdk-pixbuf

* fix tiff and jpeg

* add graphene

* fix gdk-pixbuf

* add sassc

* update gtk

* fix cairo complete build

* add harfbuzz inlcude in pango since meson does not add it into pkgconfig.

* fix gtk build. Remaining issue fix install script.

* fix gtk build

* fix io2d

* add supports field

* fix cartographer?

* fix librsvg build

* fix gtk build

* fix cartographer

* fix sassc on linux

* fix tiff and libjpeg pc files

* fix pixman x86

* _isnanf is undefined on arm-

* merge fix for make on arm64

* fix gdk-pixbuf on arm64-windows

* pixman remove test/demos.
should fix it on osx.

* [vcpkg_install_meson] add bin to path to run code generators

* [vcpkg_configure_meson]
deactivate native compiler in cross builds
make x86 on x86_x64 a native instead of a cross build
(as long as we are not building for UWP)

* pixman reenable UWP support.

* pixman reenable arm support

* add pixman:arm-uwp=fail to baseline

* update gtkmm

* remove double whitespaces

* gtk baseline
gtk dependency on cairo x11
remove double spaces in flags

* fix linux build

* native none again

* cairo fix cairo-script.pc

* comment out patch since the cairo changes should have fixed it.

* disable wayland backend in GTK since CI is missing system packages

* silly typo in cairo pc file correction
install lzo pc on windows

* remove double spaces in _FLAGS
remove unnecessary comments

* actually disabling wayland backend

* fix glib codegen issue having the wrong path

* try to fix paths in glib codegen

* integrate changes form #12860

* add the uwp patch back in

* deactivate extra harfbuzz shapers.

* vcpkg x-add-version --all --overwrite-version

* remove patches in tesseract.

* fix version

* rerun add-version

* add libgpod:x64-linux=fail to baseline due to missing system tools/libraries

* change regex to take double - into account.

* run x-add-version

* run format-manifest

* add missing removal of multiple spaces back into the regex

* remove ws diff change

* fix gtkmm the upstream way

* remove ws to reduce diff

* make glib build on osx

* format manifest

* run x-add-version

* add pthread dependency

* update baseline due to glib compiling on osx now.

* add meson as a dep to glib

* - add glib host dependencies
- switch to manifest of touched ports

* switch to manifest.

* [libxml2] add gnuinstalldirs

* [libxml2] add missing include of GNUInstallDirs

* add version info

* add include dir to pc files ....

* update version

* add UWP as crosscompiling target

* Apply suggestions from code review

* trying to fix cairo pthread detection on osx.

* fix libmicrohttpd by adding the required system frameworks on osx

* fix poppler by not removing the CXX standard

* fix missing coretext header from harfbuzz in pano

* fix formating issues

* fix librsvg on osx

* revert version changes

* bump version

* version stuff.

* fix graphene version stuff

* fix version stuff

* removing ports from ci baseline to cause me pain

* move cairomm:x64-linux=fail
to gtkmm:x64-linx=fail
remove pangomm:x64-osx=fail

* fix typo

* revert ws changes to vcpkg_install_meson

* update port version after merge

* version stuff

* fix fluidsynth by adding vcpkg_check_features

* move cairo to ci baseline on osx

* version stuff

* fluidsynth corrections

* more version stuff

* apply code review changes

* clean version stuff.

* update version stuff

* code review cleanup

* version stuff

* formating

* update version stuff again

* remove gdi again

* version stuff

* version stuff

* version baseline

* Apply strega-nil suggestions from code review

* run x-add-version

* reset versions to upstream/master

* v8 CONTROL -> json

* reset fluidsynth to upstream/master

* first batch of version-string -> version conversion

* second and last batch of version-string -> version conversions

* update version stuff

* disable gdi feature in harfbuzz (missing user32 linkage in qt5-base)

* version stuff

* Apply suggestions from code review

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>

* more CR stuff

* update versions

* back out provision changes so that pr can be merged.

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
2021-04-26 10:28:21 -07:00

160 lines
4.2 KiB
CMake

cmake_minimum_required(VERSION 3.19)
project(libnice
LANGUAGES C
VERSION 0.1.15)
SET (this_target libnice)
if (WIN32)
add_definitions(
-D_CRT_SECURE_NO_WARNINGS
-D_SCL_SECURE_NO_WARNINGS
-DHAVE_OPENSSL
-DPACKAGE_STRING="${PROJECT_VERSION}")
else()
add_definitions(
-DHAVE_OPENSSL
-DPACKAGE_STRING="${PROJECT_VERSION}"
-DHAVE_NETDB_H=1)
endif()
configure_file(${CMAKE_SOURCE_DIR}/win32/vs9/config.h ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
configure_file(${CMAKE_SOURCE_DIR}/win32/vs9/libnice.def ${CMAKE_SOURCE_DIR}/libnice.def COPYONLY)
find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET)
find_library(IPHLPAPI_LIBRARY iphlpapi)
find_library(WS2_32_LIB ws2_32)
find_library(ADVAPI32_LIB advapi32)
find_package(OpenSSL REQUIRED)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/agent
${CMAKE_CURRENT_SOURCE_DIR}/random
${CMAKE_CURRENT_SOURCE_DIR}/socket
${CMAKE_CURRENT_SOURCE_DIR}/stun
${GLIB2_INCLUDE_DIRS})
SET (SRCS
./agent/address.c
./agent/agent-enum-types.c
./agent/agent.c
./agent/candidate.c
./agent/component.c
./agent/conncheck.c
./agent/debug.c
./agent/discovery.c
./agent/inputstream.c
./agent/interfaces.c
./agent/iostream.c
./agent/outputstream.c
./agent/pseudotcp.c
./agent/stream.c
./random/random-glib.c
./random/random.c
./random/test.c
./socket/http.c
./socket/pseudossl.c
./socket/socket.c
./socket/socks5.c
./socket/tcp-active.c
./socket/tcp-bsd.c
./socket/tcp-passive.c
./socket/udp-bsd.c
./socket/udp-turn-over-tcp.c
./socket/udp-turn.c
./stun/debug.c
./stun/rand.c
./stun/stun5389.c
./stun/stunagent.c
./stun/stuncrc32.c
./stun/stunhmac.c
./stun/stunmessage.c
./stun/usages/bind.c
./stun/usages/ice.c
./stun/usages/timer.c
./stun/usages/turn.c
./stun/utils.c
./libnice.def
)
SET(HEADERS
./agent/address.h
./agent/agent-enum-types.h
./agent/agent-priv.h
./agent/agent.h
./agent/candidate.h
./agent/component.h
./agent/conncheck.h
./agent/debug.h
./agent/discovery.h
./agent/inputstream.h
./agent/interfaces.h
./agent/iostream.h
./agent/outputstream.h
./agent/pseudotcp.h
./agent/stream.h
./config.h
./nice/nice.h
./random/random-glib.h
./random/random.h
./socket/http.h
./socket/pseudossl.h
./socket/socket-priv.h
./socket/socket.h
./socket/socks5.h
./socket/tcp-active.h
./socket/tcp-bsd.h
./socket/tcp-passive.h
./socket/udp-bsd.h
./socket/udp-turn-over-tcp.h
./socket/udp-turn.h
./stun/constants.h
./stun/debug.h
./stun/rand.h
./stun/stun5389.h
./stun/stunagent.h
./stun/stuncrc32.h
./stun/stunhmac.h
./stun/stunmessage.h
./stun/tools/stund.h
./stun/usages/bind.h
./stun/usages/ice.h
./stun/usages/timer.h
./stun/usages/turn.h
./stun/utils.h
./stun/win32_common.h
./win32/vs9/config.h
)
add_library(libnice ${SRCS} ${HEADERS})
if (MSVC)
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/wd4244 /wd4005 /wd4391 /wd4142 /wd4267")
endif()
if (WIN32)
target_link_libraries(libnice ${IPHLPAPI_LIBRARY} ${WS2_32_LIB} ${ADVAPI32_LIB} PkgConfig::GLIB2 OpenSSL::SSL)
else()
target_link_libraries(libnice PkgConfig::GLIB2 OpenSSL::SSL)
endif()
install(TARGETS libnice
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib)
if (CMAKE_BUILD_TYPE STREQUAL "Release")
install(FILES agent/address.h DESTINATION include/nice)
install(FILES agent/agent.h DESTINATION include/nice)
install(FILES agent/candidate.h DESTINATION include/nice)
install(FILES agent/debug.h DESTINATION include/nice)
install(FILES agent/interfaces.h DESTINATION include/nice)
install(FILES nice/nice.h DESTINATION include/nice)
install(FILES agent/pseudotcp.h DESTINATION include/nice)
install(FILES stun/constants.h DESTINATION include/stun)
install(FILES stun/debug.h DESTINATION include/stun)
install(FILES stun/stunagent.h DESTINATION include/stun)
install(FILES stun/stunmessage.h DESTINATION include/stun)
install(FILES stun/usages/bind.h DESTINATION include/stun/usages)
install(FILES stun/usages/ice.h DESTINATION include/stun/usages)
install(FILES stun/usages/timer.h DESTINATION include/stun/usages)
install(FILES stun/usages/turn.h DESTINATION include/stun/usages)
install(FILES stun/win32_common.h DESTINATION include/stun)
endif()