1# Detect lib3mf, then use this priority list to determine 2# which library to use: 3# 4# Priority 5# 1. LIB3MF_INCLUDEPATH / LIB3MF_LIBPATH (env or qmake) 6# 2. OPENSCAD_LIBRARIES (environment variable) 7# 3. system's standard include paths 8 9# read environment variables if not set as qmake parameter 10isEmpty(LIB3MF_INCLUDEPATH) { 11 LIB3MF_INCLUDEPATH = $$(LIB3MF_INCLUDEPATH) 12} 13isEmpty(LIB3MF_LIBPATH) { 14 LIB3MF_LIBPATH = $$(LIB3MF_LIBPATH) 15} 16 17isEmpty(LIB3MF_INCLUDEPATH) { 18 LIB3MF_CFLAGS = $$system("$$PKG_CONFIG --cflags lib3MF") 19 LIB3MF_INCLUDEPATH = $$system("$$PKG_CONFIG --variable=includedir lib3MF") 20 !isEmpty(LIB3MF_CFLAGS) { 21 ENABLE_LIB3MF=yes 22 } 23} else { 24 LIB3MF_CFLAGS = -I$$LIB3MF_INCLUDEPATH 25} 26 27isEmpty(LIB3MF_LIBPATH) { 28 LIB3MF_LIBS = $$system("$$PKG_CONFIG --libs lib3MF") 29 LIB3MF_LIBPATH = $$system("$$PKG_CONFIG --variable=libdir lib3MF") 30 !isEmpty(LIB3MF_LIBS) { 31 ENABLE_LIB3MF=yes 32 } 33} else { 34 LIB3MF_LIBS = -L$$LIB3MF_LIBPATH -l3MF 35} 36 37exists($$LIB3MF_INCLUDEPATH/Model/COM/NMR_DLLInterfaces.h) { 38 ENABLE_LIB3MF=yes 39 LIB3MF_API="API 1.0" 40} else:exists($$LIB3MF_INCLUDEPATH/lib3mf_implicit.hpp) { 41 ENABLE_LIB3MF=yes 42 LIB3MF_API="API 2.0" 43 DEFINES += LIB3MF_API_2 44 LIB3MF_LIBS = -L$$LIB3MF_LIBPATH -l3mf 45} else { 46 ENABLE_LIB3MF= 47 LIB3MF_INCLUDEPATH = 48 LIB3MF_LIBPATH = 49} 50 51!isEmpty(ENABLE_LIB3MF) { 52 DEFINES += ENABLE_LIB3MF 53 QMAKE_CXXFLAGS += $$LIB3MF_CFLAGS 54 LIBS += $$LIB3MF_LIBS 55 message("3MF Import/Export enabled $$LIB3MF_API") 56} else { 57 message("3MF Import/Export disabled") 58} 59