diff --git a/README.md b/README.md index 91fe151..4cde1ac 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # ![Icon](https://3d.bk.tudelft.nl/ken/img/azul-small.png) azul -azul is a 3D city model viewer It is intended for viewing 3D city models in CityGML 1.0 and 2.0, CityJSON 1.0 and 1.1, IndoorGML, OBJ, OFF and POLY. It supports loading multiple files, selecting objects by clicking them or selecting them in the sidebar, toggling the visibility of individual items, and browsing their attributes. It is research software, but it is pretty stable and most datasets already work without problems. It is available under the GPLv3 licence. +azul is a 3D city model viewer It is intended for viewing 3D city models in CityGML 1.0 and 2.0, CityJSON 1.0, 1.1 and 2.0, IndoorGML, OBJ, OFF and POLY. It supports loading multiple files, selecting objects by clicking them or selecting them in the sidebar, toggling the visibility of individual items, and browsing their attributes. It is research software, but it is pretty stable and most datasets already work without problems. It is available under the GPLv3 licence. -The current version of azul is for macOS 12 and higher and supports both Apple Silicon and Intel Macs. +The current version of azul is for macOS 13 and higher and supports both Apple Silicon and Intel Macs. ## Controls @@ -69,7 +69,7 @@ azul is written in a mix of C++17, Swift 5, Objective-C 2 and Objective-C++. The ## Compilation -We have included an Xcode 13 project to easily compile azul. It should be possible to compile azul on older macOS versions (from 10.14 onwards), but old versions of Xcode (older than 10) cannot compile Swift 5. +We have included an Xcode 15 project to easily compile azul. It should be possible to compile azul on older macOS versions (from 10.14 onwards), but old versions of Xcode (older than 10) cannot compile Swift 5. azul depends on the following libraries: [Boost](http://www.boost.org), [CGAL](http://www.cgal.org), [GMP](https://gmplib.org), [MPFR](http://www.mpfr.org), [pugixml](http://pugixml.org) and [simdjson](https://github.com/simdjson/simdjson). Most of these can be easily obtained using [Homebrew](http://brew.sh), but we provide fat libraries (arm64 + x86_64) of them all for convenience. diff --git a/azul.xcodeproj/project.pbxproj b/azul.xcodeproj/project.pbxproj index 29a934c..31f3599 100644 --- a/azul.xcodeproj/project.pbxproj +++ b/azul.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 48; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -224,8 +224,9 @@ BEF69F351F6AA0520079531B /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 0900; - LastUpgradeCheck = 1410; + LastUpgradeCheck = 1500; ORGANIZATIONNAME = "Ken Arroyo Ohori"; TargetAttributes = { BEF69F3C1F6AA0520079531B = { @@ -310,6 +311,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "c++17"; @@ -344,6 +346,7 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = c11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -373,6 +376,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "c++17"; @@ -407,6 +411,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = c11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -418,8 +423,9 @@ MACOSX_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OBJC_BRIDGING_HEADER = "/Users/ken/Versioned/azul/src/Azul-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; }; name = Release; @@ -433,9 +439,10 @@ CLANG_WARN_DOCUMENTATION_COMMENTS = NO; CODE_SIGN_ENTITLEMENTS = azul.entitlements; CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1100; + CURRENT_PROJECT_VERSION = 1110; DEAD_CODE_STRIPPING = YES; DEFINES_MODULE = NO; DEVELOPMENT_TEAM = UD3V83TPY7; @@ -444,19 +451,21 @@ GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/libs\\ src/boost_1_77_0", + "$(SRCROOT)/include", "$(SRCROOT)/src/DataManager", - /usr/local/Cellar/cgal/5.5/include, - "$(SRCROOT)/libs\\ src/pugixml-1.11/src", ); INFOPLIST_FILE = src/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); LIBRARY_SEARCH_PATHS = ( "$(PROJECT_DIR)", "$(PROJECT_DIR)/libs", ); MACOSX_DEPLOYMENT_TARGET = 13.0; - MARKETING_VERSION = 1.1; + MARKETING_VERSION = 1.1.1; OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; PRODUCT_BUNDLE_IDENTIFIER = tudelft3d.azul; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -475,9 +484,10 @@ CLANG_WARN_DOCUMENTATION_COMMENTS = NO; CODE_SIGN_ENTITLEMENTS = azul.entitlements; CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1100; + CURRENT_PROJECT_VERSION = 1110; DEAD_CODE_STRIPPING = YES; DEFINES_MODULE = NO; DEVELOPMENT_TEAM = UD3V83TPY7; @@ -485,19 +495,21 @@ GCC_C_LANGUAGE_STANDARD = c11; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/libs\\ src/boost_1_77_0", + "$(SRCROOT)/include", "$(SRCROOT)/src/DataManager", - /usr/local/Cellar/cgal/5.5/include, - "$(SRCROOT)/libs\\ src/pugixml-1.11/src", ); INFOPLIST_FILE = src/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); LIBRARY_SEARCH_PATHS = ( "$(PROJECT_DIR)", "$(PROJECT_DIR)/libs", ); MACOSX_DEPLOYMENT_TARGET = 13.0; - MARKETING_VERSION = 1.1; + MARKETING_VERSION = 1.1.1; OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; PRODUCT_BUNDLE_IDENTIFIER = tudelft3d.azul; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/azul.xcodeproj/xcuserdata/ken.xcuserdatad/xcschemes/azul.xcscheme b/azul.xcodeproj/xcuserdata/ken.xcuserdatad/xcschemes/azul.xcscheme index 3ead370..7af389d 100644 --- a/azul.xcodeproj/xcuserdata/ken.xcuserdatad/xcschemes/azul.xcscheme +++ b/azul.xcodeproj/xcuserdata/ken.xcuserdatad/xcschemes/azul.xcscheme @@ -1,6 +1,6 @@ LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright - Copyright © 2016-2019 Ken Arroyo Ohori. All rights reserved. + Copyright © 2016-2023 Ken Arroyo Ohori. All rights reserved. NSMainNibFile MainMenu NSPrincipalClass diff --git a/src/Math.swift b/src/Math.swift index 9f5a57c..0a51957 100644 --- a/src/Math.swift +++ b/src/Math.swift @@ -1,5 +1,5 @@ // azul -// Copyright © 2016-2022 Ken Arroyo Ohori +// Copyright © 2016-2023 Ken Arroyo Ohori // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/MetalView.swift b/src/MetalView.swift index b26a3bc..3fa48fb 100644 --- a/src/MetalView.swift +++ b/src/MetalView.swift @@ -1,5 +1,5 @@ // azul -// Copyright © 2016-2022 Ken Arroyo Ohori +// Copyright © 2016-2023 Ken Arroyo Ohori // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/Shaders.metal b/src/Shaders.metal index 441a123..01efe4e 100644 --- a/src/Shaders.metal +++ b/src/Shaders.metal @@ -1,5 +1,5 @@ // azul -// Copyright © 2016-2022 Ken Arroyo Ohori +// Copyright © 2016-2023 Ken Arroyo Ohori // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by