TrenchBroom: add v2025.1 (#11802)

This commit is contained in:
erysdren
2025-03-08 09:32:41 -06:00
committed by GitHub
parent a54f615041
commit 68b23626e7
3 changed files with 600 additions and 0 deletions

View File

@@ -0,0 +1,155 @@
resource app_signature "@APP_SIGNATURE@";
resource app_flags B_SINGLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_DEVELOPMENT,
internal = 0,
short_info = "TrenchBroom",
long_info = "@LONG_INFO@"
};
resource vector_icon {
$"6E636966090400A803FFCC00050002000602BA8EBEBABE203ABE20BA8EBE4978"
$"6349A5ED00B49000FFFFD20103FFE680051A020006023D2E130000000000003D"
$"2E1349670C4A8FA800FFE894FFFFD42A020006023924293A1594BA1594392429"
$"4A1DE64AB1DA005E4C00FF9C7E0003C8A100190207C11EBEADC11EBEADBE29C1"
$"3CB83DC65ABB33C3CBBAC2C7A8BFCBCA44BD46C8F6BFCBCB01BFCBCC7ABFCBCB"
$"BDC137CC7AC410CC7AC2A3CC7AC6CEC98ECC4AC3B6C98CC6A2C891C208C11EBE"
$"ADC4D8C05BC11EBEAD0207BCB0B3CFBCB0B3CFB9B2B5CEB3B8B9CBB6B5B7CCB3"
$"B8BDBCB3B8C5A0B3B8C1AEB7B3C79FBFA9CB9DBBAEC99EC26EC8EEC7F8C391C5"
$"33C640C7F8BF9FC7F8B7BCC7F8BBAEC435B66DBCB0B3CFC073B51EBCB0B3CF02"
$"07BCBDB424BCBDB424C061B568C7A8B7F1C404B6ADC7A8BBC5C7A8C36DC7A8BF"
$"99C4F9C606BF9ACB3AC249C8A0BBBEC94BB408C56CB7E3C75CB408C199B408B9"
$"F3B408BDC6B6EFB803BCBDB424B9D6B614BCBDB4240207BC9720BC9720B965B5"
$"2220B966B632B74420BD9E20C61020C1D7B743C833BFCBCC7ABB87CA57C2C2C9"
$"9BC8B0C3DDC5B9C6BCC8B0BFA5C8B0B735C8B0BB6DC4A8B5CEBC9720C0A0B467"
$"BC97200205B3B6B9C9B3B6B9C9B7B2BB61BFAABE91BBAEBCF9BFAAC2EBBFAACB"
$"9FBFAAC745BBAEC9A0B3B6C5A0B7B2C7A0B3B6C1AEB3B6B9C9B3B6BDBBB3B6B9"
$"C90205B497BC1AB497BC1AB7F1BD80BEA4C04ABB4ABEE5BEA4C267BEA4C6A2BE"
$"A4C484BB4AC512B497C1F2B7F1C382B497BFFFB497BC1AB497BE0DB497BC1A02"
$"0DB949C11BB949C11BB948C11BB94EC121B94BC11DB951C125B956C131B954C1"
$"2BB95BC13CB95FC150B95FC14AB95FC15EB95FC17030C16CB95EC172B95DC172"
$"B95EC172B95BC172B94FC16FB956C172B940C168B939C15AB93BC162B937C152"
$"B938C139B938C147B938C134B941C123B93CC12AB943C120B948C11CB946C11D"
$"B949C11BB949C11BB94AC11BB949C11BB949C11BB949C11BB949C11B020CB98A"
$"C0FCB98AC0FCB993C0FCB9ADC105B99EC0FFB9D3C115B9F2C15FB9F2C140B9F2"
$"C16FB9E0C17FB9EBC17AB9D5C184B9B4C17931C184B9B1C178B9A4C16BB9ABC1"
$"72B99EC164B98FC151B996C15BB982C13DB976C116B976C125B976C10EB97AC1"
$"05B978C109B97CC101B983C0FDB97FC0FFB985C0FDB98AC0FCB987C0FCB98AC0"
$"FCB98AC0FCB98AC0FCB98AC0FC020BB8CCC0A7B8CCC0A7B8D4C0A7B8E6C0ADB8"
$"DCC0A9B90CC0BEB921C0F7B921C0D7B921C106B90BC118B917C111B904C11BB8"
$"F8C11FB8FEC11EB8F2C121B8EAC120B8ECC121B8D9C11BB8BCC0FCB8C8C10DB8"
$"AFC0EBB8A8C0C7B8A8C0D7B8A8C0B8B8B9C0AAB8AEC0AEB8BEC0A7B8CCC0A7B8"
$"C4C0A6B8CCC0A7B8CCC0A7B8CCC0A7B8CCC0A7021EBDA6C09BBDA6C09BBCC0C0"
$"B1BAF5C0DDBBDBC0C7BACCC0E0BA79C0E8BAA2C0E4BA7AC0EBBA7DC0F1BA7CC0"
$"EEBA7DC0F1BA9FC13EBA8EC114BAAFC169BAC0C1BABAC0C19CBABBC211BA76C2"
$"59BA98C23FBA54C273BA33C278BA33C278BA31C278BA2DC279BA2FC27932C2A2"
$"BA2BC2F5BA2BC2CBBA2DC2F5BA32C2F5BA2FC2F5BA32C2F5BA82C2EBBA57C2F5"
$"BA93C313BAB4C363BAA3C33BBAA3C374BA82C39533C384BADBC3CCBB8FC438BB"
$"35C402BB51C3BFBAD7C2CCBB14C345BAE0C2C7BAF1C2BABAE9C2C1BB3EC304BB"
$"D7C398BB8AC34EBBE3C3C5BBFBC421BBEFC3F3BC61C403BD2BC3C7BCC6C3E5BC"
$"84C353BB36C26CBBDDC2DFBB40C25ABB4DC231BB47C247BBB3C25ABC7FC2ACBC"
$"19C283BCA9C2EABCFDC367BCD3C329BD3EC321BDC0C296BD7FC2DBBCF0C24EBB"
$"50C1C0BC20C207BB4AC1A6BB37C16EBB41C18ABBBCC16CBCC5C169BC40C16BBC"
$"D8C199BCFDC1F9BCEAC1C9BD35C184BDA6C09BBD6DC110BDA6C09B022CB8DDBF"
$"C1B8DDBFC1B8C7BFC2B8A3BFD8B8B2BFC8B889BFF4B87FC048B882C021B87EC0"
$"5CB87CC07DB87EC06FB87CC084B87AC08FB87BC08AB879C093B877C097B878C0"
$"96B866C0A9B850C100B850C0C8B850C110B866C12BB859C11EB873C138B895C1"
$"4FB884C144B8A6C15AB8C6C16CB8B8C163B8D4C175B8E0C180B8DEC17DB8E6C1"
$"8BB8E4C1ABB8E6C19BB8E3C1BCB8E6C1DBB8E0C1CDB8E9C1E3B8F9C1EDB8F0C1"
$"E8B902C1F3B918C1FCB90DC1F8B92EC205B94CC20FB944C20CB954C214B980C2"
$"2BB96AC221B98BC231B99FC238B996C235B9A4C239B9ACC23AB9A8C23AB9B0C2"
$"3AB9B8C235B9B5C23AB9BCC22FB9BCC21FB9BCC228B9BCC217B9BAC205B9BBC2"
$"0EB9B9C1FCB9B9C1ECB9B9C1F3B9BAC1E5B9BDC1E0B9BCC1E1B9BBC1E1B9C2C1"
$"E1B9BEC1E0B9C7C1E1B9D4C1E5B9CDC1E3B9E2C1E8BA05C1F3B9F4C1EEBA17C1"
$"F7BA37C1F9BA28C1FBBA3EC1F9BA4AC1F2BA45C1F7BA4FC1EDBA52C1DDBA52C1"
$"E6BA52C1A5BA2AC153BA3CC174BA27C14DBA24C131BA25C140BA23C121BA21C0"
$"F9BA22C10EBA1EC0CFB9FEC06BBA17C09CB9D1C016B957BFE3B970BFECB956BF"
$"E2B952BFE1B954BFE1B950BFE0B94CBFDEB94EBFDFB94CBFDEB94CBFDEB94CBF"
$"DEB94ABFDDB943BFDAB946BFDBB943BFDAB943BFD9B943BFDAB941BFD9B93EBF"
$"D8B940BFD8B92CBFD0B8F3BFC2B910BFC6B8ECBFC1B8DDBFC1B8E4BFC1B8DDBF"
$"C1B8DDBFC1B8DDBFC1B8DDBFC1021DB538BD06B538BD06B56BBDA2B5D0BEDAB5"
$"9DBE3EB5E0BEBCB602BE7FB5F1BE9DB67CBEEEB772BFCBB6F7BF5CB769BFDCB7"
$"5CC0022BBFEFB69EBF9BB521BECEB5DFBF35B55BBF45B5CFC032B595BFBBB5F4"
$"C01AB640BFE8B61AC001B69EC016B75AC0712AC044B75F42B770C0BFB767C0A5"
$"B6D7C0A2B5A6C068B63EC085B602C0DAB6B945B65DC14CB6C5C19BB6DCC154B6"
$"D0C177B722C14FB7AEC144B768C149B7B8C154B7CCC173B7C2C164B794C1B2B7"
$"23C230B75BC1F1B777C24AB820C27EB7CCC264B810C25CB7EEC21AB7FFC23BB7"
$"FDC203B81AC1D6B80BC1EDB843C204B866C225B866C225B86AC228B872C22FB8"
$"6EC22CB871C204B86FC1ADB870C1D9B86FC1ADB86DC1ABB86EC1ACB86DC1ABB7"
$"E2C070B7EBC121B7E2C053B802C015B7F2C030B812BFFAB821BFE6B821BFE6B8"
$"23BFE5B825BFE1B824BFE3B800BFBCB7B4BF73B7DABF97B6E0BEA4B538BD06B6"
$"0CBDD5B538BD060205B466C40DB466C40DB5EAC4CAB8F3C644B76FC587B8F3C6"
$"A7B8F3C76BB8F3C709B76FC6ABB466C529B5EAC5EAB466C4CAB466C40DB466C4"
$"6BB466C40D020531C69831C698BB71C767BEC7C907BD1CC837BEC7C96EBEC7CA"
$"3DBEC7C9D6BD1CC96931C7C1BB71C89531C75E31C69831C6FB31C6980005B3B5"
$"B9CBB3B5B9CBB7B1BB63BFA9BE93BBADBCFBC26FBC4BC7FBB7BCC535BA04C437"
$"B66CBCB0B3CEC073B51DB9B1B5CDB3B5B9CBB6B3B7CCB3B5B9CB0205C7F9B7BA"
$"C7F9B7BAC533BA01BFA8BE91C26EBC49BFA8C2EBBFA8CB9FBFA8C745C26EC8F0"
$"C7F9C391C533C641C7F9BF9FC7F9B7BAC7F9BBACC7F9B7BA0205C75DBA32C75D"
$"BA32C508BC2BC05EC01DC2B3BE24C05EC23AC05EC675C05EC458C2B3C451C75D"
$"C009C508C22DC75DBE17C75DBA32C75DBC24C75DBA32020BC41AC004C41AC004"
$"C41AC005C41CC007C41BC005C41FC00D4BC01C4BC0164BC029C421C03DC423C0"
$"34C420C046C412C057C41CC04EC40DC05BC40BC05BC40CC05BC40AC056C40BC0"
$"3CC40BC04AC40BC036C411C01AC40EC027C413C013C417C009C415C00DC418C0"
$"06C41AC004C419C005C41AC004C41AC004C41AC004C41AC0040220C348C003C3"
$"48C003C329C006C2EDC00DC30BC00AC24DC01FC10EC043C1AEC031C136C0B0C1"
$"85C18AC15EC11DC193C154C1AEC0E9C1A0C11EC209C0D4C2BEC0ABC263C0C0C2"
$"B7C0C8C2ADC100C2B1C0E5C21CC16BC0FBC241C18CC1D6C12AC27DC186C2F444"
$"C2B8C1A4C2ADC1DFC220C1C2C266C225C1E6C2B0C173C26BC1ADC2B4C186C2BF"
$"C1A7C2B9C198C24BC238C163C359C1D7C2C8C1ABC365C23AC37FC1F2C372C243"
$"C34FC254C2EFC24BC31FC289C298C2F3C1ECC2BEC242C2F8C1EFC302C1F6C2FC"
$"C1F3C2D6C27DC27FC38BC2AAC304C2BFC343C340C2B3C300C2FBC335C2A5C31E"
$"C289C329C297C32AC25EC341C208C335C233C35EC209C378C203C378C203C37A"
$"C203C37DC202C37CC202C37DC1D9C37CC187C37CC1B0C379C187C374C188C377"
$"C187C374C188C349C175C35FC189C332C162C316C0E3C319C139C316C0E3C316"
$"C0E3C316C0E3C316C0E3C316C0E3C316C0E3C316C0C4C32DC060C321C08EC339"
$"C033C344C00DC344C00DC345C00AC348C003C346C006C348C003020DC3F0BFEE"
$"C3F0BFEEC3F2BFEEC3F4BFF2C3F3BFEFC3F5BFF6C3F6C004C3F6BFFCC3F6C013"
$"C3E5C044C3EEC02DC3E0C04FC3D6C062C3DBC05AC3D2C06BC3CBC073C3CDC071"
$"C3C5C07AC3BAC080C3BFC07EC3B6C082C3B0C080C3B3C081C3ABC07EC3A5C064"
$"C3A5C074C3A5C043C3D5BFFC4AC013C3DCBFF6C3E7BFF0C3E2BFF2C3EBBFEEC3"
$"F0BFEEC3EFBFEDC3F0BFEEC3F0BFEEC3F0BFEEC3F0BFEE020AC477BF77C477BF"
$"77C479BF76C47CBF77C47BBF77C481BF79C486BF91C486BF81C486BFA1C478BF"
$"CAC481BFB7C46FBFDEC458BFF7C463BFEFC456BFF8C445BFF5C44DBFF9C43DBF"
$"F0C436BFD8C436BFE8C436BFB7C460BF82C446BF9AC46ABF7AC477BF77C472BF"
$"77C477BF77C477BF77C477BF77C477BF77022CC472BE94C472BE94C467BE94C4"
$"52BE9BC45CBE96C43DBEA3C41DBEBDC42ABEB3C41DBEBDC41DBEBDC41DBEBDC4"
$"1CBEBEC41ABEBFC41BBEBFC41ABEC0C41ABEC0C41ABEC0C418BEC2C413BEC6C4"
$"15BEC4C412BEC7C410BECAC411BEC8C40DBECBC409BECFC40BBECDC409BECFC4"
$"09BED0C409BECFC3F5BEDFC398BF71C3B6BF18C387BFA5C380C004C382BFD9C3"
$"7EC02FC379C060C37EC051C36DC085C35EC0F1C35EC0B9C35EC0F9C364C104C3"
$"5FC0FFC368C108C374C109C36FC10AC380C108C398C0F9C38BC101C3A443C3BA"
$"C0E3C3B1C0E9C3BFC0DFC3C6C0DCC3C4C0DDC3C6C0DCC3C6C0DCC3C6C0DCC3C7"
$"C0DDC3C8C0E5C3C8C0DFC3C8C0ECC3C7C0FEC3C8C0F5C3C7C107C3C6C119C3C6"
$"C111C3C6C121C3C9C12DC3C5C127C3CAC130C3CFC132C3CDC132C3D2C133C3D5"
$"C132C3D3C132C3D9C131C3DFC12DC3DCC12FC3E5C129C3F5C11BC3EDC122C404"
$"C10DC419C0F6C413C0FCC41F43C43DC0DAC42EC0E7C445C0D3C453C0C6C44CC0"
$"CDC459C0BFC460C0B1C45EC0B8C464C0A3C461C082C462C093C460C072C464C0"
$"55C45FC061C466C050C477C03CC46DC047C480C030C498C016C48CC024C4B0BF"
$"FAC4C8BFBDC4C8BFDCC4C8BF86C4ACBF5BC4B8BF6BC4ACBF5BC4AABF54C4ABBF"
$"58C4AABF4FC4A9BF42C4A9BF49C4A8BF34C4A7BF0EC4A8BF21C4A5BEE7C48EBE"
$"A4C4A1BEBCC486BE9AC472BE94C47CBE95C472BE94C472BE94C472BE94C472BE"
$"94021DC6F1BB2DC6F1BB2DC65CBC25C530BE14C5C6BD1CC516BE3FC4E1BE95C4"
$"FCBE6AC4E2BE96C4E4BE99C4E3BE97C4E4BE99C510BF18C510BEDCC510BF18C5"
$"10BF18C510BF18C50ABFCCC4AFC06DC4AFC06DC4AEC06DC4AEC06EC4AEC06EC4"
$"ADC09CC4ACC0F8C4ACC0CAC4B0C0F1C4B9C0E4C4B5C0EAC4B9C0E4C4EC42C4D1"
$"C0BDC4F5C09FC508C0C4C4FEC0B1C4FCC0EAC4E3C135C4EFC10FC520C10BC598"
$"C0B8C55CC0E2C571C083C523C019C54AC04EC52BC008C539BFE3C532BFF6C568"
$"BFDDC5C7BFD0C598BFD7C5CFBFF3C5E1C039C5D8C016C622BFB5C6A4BEABC663"
$"BF30C63ABEE3C565BF51C5CFBF1AC56ABF37C573BF02C570BF1DC5B4BEC5C636"
$"BE4AC5F5BE88C651BE5C51BE81C66BBE6FC6AFBDFEC70139C6D8BD7AC67CBD7F"
$"C570BE91C5F6BE08C56CBE80C562BE62C568BE70C5B7BDDFC661BCD9C60C3AC6"
$"6CBCF5C684BD2EC678BD12C6A9BC83C6F1BB2DC6CDBBD8C6F1BB2D0205C79AC1"
$"EFC79AC1EFC68BC2EFC46FC4F0C57DC3F0C46FC552C46FC617C46FC5B5C57DC5"
$"13C79AC30BC68BC40FC79AC2ADC79AC1EFC79AC24EC79AC1EF0205C3C1C594C3"
$"C1C594C298C6ADC046C8E0C16FC7C7C046C947C046CA16C046C9AFC16FC8F8C3"
$"C1C6BDC298C7DBC3C1C65AC3C1C594C3C1C5F7C3C1C5940C0A000100000A0101"
$"01000A02020203000A030104000A040105000A0506060708090A0B000A05020C"
$"0D000A06010E000A07010F000A080110000A0506111213141516000A05021718"
$"00"
};

View File

@@ -0,0 +1,337 @@
From a5f2a226107dca45c83531fa3c3bd9dfce6322b7 Mon Sep 17 00:00:00 2001
From: erysdren <contact@erysdren.me>
Date: Mon, 17 Feb 2025 01:57:41 -0600
Subject: fix for haiku
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 81b4e73a1..6841d6085 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,9 +16,6 @@ if(POLICY CMP0063)
cmake_policy(SET CMP0063 NEW)
endif()
-set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake")
-set(VCPKG_OVERLAY_PORTS "${CMAKE_SOURCE_DIR}/vcpkg-overlay-ports/freeimage;${CMAKE_SOURCE_DIR}/vcpkg-overlay-ports/openexr")
-
set(CMAKE_C_VISIBILITY_PRESET hidden)
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set(CMAKE_VISIBILITY_INLINES_HIDDEN TRUE)
@@ -87,24 +84,6 @@ endif()
include(cmake/Utils.cmake)
-# Find Git
-find_package(Git)
-
-if(NOT GIT_FOUND)
- message(FATAL_ERROR "Could not find git")
-endif()
-
-# Find Pandoc
-if(NOT PANDOC_PATH)
- find_program(PANDOC_PATH NAMES "pandoc" DOC "Pandoc program location")
-
- if(PANDOC_PATH STREQUAL "PANDOC_PATH-NOTFOUND")
- message(FATAL_ERROR "Could not find pandoc")
- else()
- message(STATUS "Found Pandoc: ${PANDOC_PATH}")
- endif()
-endif()
-
# Prevent overriding the parent project's compiler/linker
# settings on Windows
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
@@ -118,7 +97,7 @@ find_package(freetype CONFIG REQUIRED)
find_package(Catch2 CONFIG REQUIRED)
find_package(fmt CONFIG REQUIRED)
find_package(GLEW REQUIRED)
-find_package(miniz CONFIG REQUIRED)
+# find_package(miniz CONFIG REQUIRED)
find_package(tinyxml2 CONFIG REQUIRED)
# Find Qt and OpenGL
@@ -130,8 +109,8 @@ find_package(Qt6 COMPONENTS Core Widgets OpenGL OpenGLWidgets Svg Test REQUIRED)
find_package(Threads)
# Populate version variables using git
-get_git_describe("${GIT_EXECUTABLE}" "${CMAKE_SOURCE_DIR}" GIT_DESCRIBE)
-get_app_version(GIT_DESCRIBE APP_VERSION_YEAR APP_VERSION_NUMBER)
+# get_git_describe("${GIT_EXECUTABLE}" "${CMAKE_SOURCE_DIR}" GIT_DESCRIBE)
+# get_app_version(GIT_DESCRIBE APP_VERSION_YEAR APP_VERSION_NUMBER)
set(APP_BUILD_TYPE "${CMAKE_BUILD_TYPE}")
# Some global variables used in several targets
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
index 26c6e0b4d..6c58a8922 100644
--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -1,4 +1,4 @@
-include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/GenerateManual.cmake)
+# include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/GenerateManual.cmake)
set(APP_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src")
set(APP_RESOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/resources")
@@ -113,7 +113,7 @@ target_link_libraries(TrenchBroom common) # common already comes with all its de
# Xcode "new build system" does't allow custom commands to be depended on by two unrelated targets
# In this case, ${INDEX_OUTPUT_PATH} is depended on by TrenchBroom and GenerateManual
# so we must make TrenchBroom depend on GenerateManual (see #3608)
-add_dependencies(TrenchBroom GenerateManual)
+# add_dependencies(TrenchBroom GenerateManual)
set_compiler_config(TrenchBroom)
set_target_properties(TrenchBroom PROPERTIES AUTORCC TRUE)
@@ -216,7 +216,7 @@ endif()
# Set up the resources and DLLs for the executable
set(APP_RESOURCE_DEST_DIR "$<TARGET_FILE_DIR:TrenchBroom>")
-if(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD")
+if(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD|Haiku")
# Copy button images to resources directory
add_custom_command(TARGET TrenchBroom POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory "${APP_RESOURCE_DIR}/graphics/images" "${APP_RESOURCE_DEST_DIR}/images")
@@ -248,22 +248,24 @@ if(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD")
COMMAND ${CMAKE_COMMAND} -E make_directory "${APP_RESOURCE_DEST_DIR}/stylesheets/"
COMMAND ${CMAKE_COMMAND} -E copy_directory "${APP_RESOURCE_DIR}/stylesheets" "${APP_RESOURCE_DEST_DIR}/stylesheets")
- # Copy manual files to resource directory
- add_custom_command(TARGET TrenchBroom POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E make_directory "${APP_RESOURCE_DEST_DIR}/manual/"
- COMMAND ${CMAKE_COMMAND} -E make_directory "${APP_RESOURCE_DEST_DIR}/manual/images"
- COMMAND ${CMAKE_COMMAND} -E copy "${INDEX_OUTPUT_PATH}" "${APP_RESOURCE_DEST_DIR}/manual/"
- COMMAND ${CMAKE_COMMAND} -E copy "${DOC_MANUAL_SHORTCUTS_JS_TARGET_ABSOLUTE}" "${APP_RESOURCE_DEST_DIR}/manual/")
-
- foreach(MANUAL_FILE ${DOC_MANUAL_TARGET_FILES_ABSOLUTE})
+ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Haiku")
+ # Copy manual files to resource directory
add_custom_command(TARGET TrenchBroom POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy ${MANUAL_FILE} "${APP_RESOURCE_DEST_DIR}/manual/")
- endforeach(MANUAL_FILE)
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${APP_RESOURCE_DEST_DIR}/manual/"
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${APP_RESOURCE_DEST_DIR}/manual/images"
+ COMMAND ${CMAKE_COMMAND} -E copy "${INDEX_OUTPUT_PATH}" "${APP_RESOURCE_DEST_DIR}/manual/"
+ COMMAND ${CMAKE_COMMAND} -E copy "${DOC_MANUAL_SHORTCUTS_JS_TARGET_ABSOLUTE}" "${APP_RESOURCE_DEST_DIR}/manual/")
- foreach(MANUAL_IMAGE_FILE ${DOC_MANUAL_TARGET_IMAGE_FILES_ABSOLUTE})
- add_custom_command(TARGET TrenchBroom POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy ${MANUAL_IMAGE_FILE} "${APP_RESOURCE_DEST_DIR}/manual/images/")
- endforeach(MANUAL_IMAGE_FILE)
+ foreach(MANUAL_FILE ${DOC_MANUAL_TARGET_FILES_ABSOLUTE})
+ add_custom_command(TARGET TrenchBroom POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy ${MANUAL_FILE} "${APP_RESOURCE_DEST_DIR}/manual/")
+ endforeach(MANUAL_FILE)
+
+ foreach(MANUAL_IMAGE_FILE ${DOC_MANUAL_TARGET_IMAGE_FILES_ABSOLUTE})
+ add_custom_command(TARGET TrenchBroom POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy ${MANUAL_IMAGE_FILE} "${APP_RESOURCE_DEST_DIR}/manual/images/")
+ endforeach(MANUAL_IMAGE_FILE)
+ endif()
endif()
# Common CPack configuration
diff --git a/cmake/Utils.cmake b/cmake/Utils.cmake
index 33233de95..450a0112e 100644
--- a/cmake/Utils.cmake
+++ b/cmake/Utils.cmake
@@ -227,11 +227,14 @@ macro(GET_GIT_DESCRIBE GIT SOURCE_DIR GIT_DESCRIBE)
endif()
endmacro(GET_GIT_DESCRIBE)
+
macro(GET_BUILD_PLATFORM PLATFORM_NAME)
if(WIN32)
set(${PLATFORM_NAME} "Win64")
elseif(APPLE)
set(${PLATFORM_NAME} "macOS")
+ elseif(HAIKU)
+ set(${PLATFORM_NAME} "Haiku")
elseif(UNIX)
set(${PLATFORM_NAME} "Linux")
else()
diff --git a/cmake/packages/freeimage-config.cmake b/cmake/packages/freeimage-config.cmake
index 027013f14..1080629c0 100644
--- a/cmake/packages/freeimage-config.cmake
+++ b/cmake/packages/freeimage-config.cmake
@@ -13,7 +13,9 @@ find_path(freeimage_INCLUDE_DIR
/usr/include
/usr/local/include
/sw/include
- /opt/local/include)
+ /opt/local/include
+ /boot/system/develop/headers
+ /boot/system/develop/headers/x86)
find_library(freeimage_LIBRARY
NAMES FreeImage freeimage
PATHS
@@ -22,7 +24,9 @@ find_library(freeimage_LIBRARY
/usr/local/lib64
/usr/local/lib
/sw/lib
- /opt/local/lib)
+ /opt/local/lib
+ /boot/system/lib
+ /boot/system/lib/x86)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(freeimage
diff --git a/cmake/packages/freetype-config.cmake b/cmake/packages/freetype-config.cmake
index ccacae6c9..2d7b9fd31 100644
--- a/cmake/packages/freetype-config.cmake
+++ b/cmake/packages/freetype-config.cmake
@@ -14,7 +14,9 @@ find_path(freetype_INCLUDE_DIR
/usr/include/freetype2
/usr/local/include
/sw/include
- /opt/local/include)
+ /opt/local/include
+ /boot/system/develop/headers/freetype2
+ /boot/system/develop/headers/x86/freetype2)
find_library(freetype_LIBRARY
NAMES FreeType freetype
PATHS
@@ -23,7 +25,9 @@ find_library(freetype_LIBRARY
/usr/local/lib64
/usr/local/lib
/sw/lib
- /opt/local/lib)
+ /opt/local/lib
+ /boot/system/lib
+ /boot/system/lib/x86)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(freetype
diff --git a/cmake/packages/tinyxml2-config.cmake b/cmake/packages/tinyxml2-config.cmake
index c529fd484..205fa5d83 100644
--- a/cmake/packages/tinyxml2-config.cmake
+++ b/cmake/packages/tinyxml2-config.cmake
@@ -13,7 +13,9 @@ find_path(tinyxml2_INCLUDE_DIR
/usr/include
/usr/local/include
/sw/include
- /opt/local/include)
+ /opt/local/include
+ /boot/system/develop/headers
+ /boot/system/develop/headers/x86)
find_library(tinyxml2_LIBRARY
NAMES tinyxml2
PATHS
@@ -22,7 +24,9 @@ find_library(tinyxml2_LIBRARY
/usr/local/lib64
/usr/local/lib
/sw/lib
- /opt/local/lib)
+ /opt/local/lib
+ /boot/system/lib
+ /boot/system/lib/x86)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(tinyxml2
diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt
index 2fec2697c..e9d7e8b37 100644
--- a/common/CMakeLists.txt
+++ b/common/CMakeLists.txt
@@ -1034,7 +1034,7 @@ set(COMMON_HEADER
add_library(common OBJECT ${COMMON_SOURCE} ${COMMON_HEADER})
set_target_properties(common PROPERTIES AUTOMOC TRUE)
target_include_directories(common PUBLIC ${COMMON_SOURCE_DIR})
-target_link_libraries(common PUBLIC tinyxml2::tinyxml2 kdl vm GLEW::GLEW miniz::miniz freeimage::FreeImage freetype OpenGL::GL Qt6::Widgets Qt6::OpenGL Qt6::OpenGLWidgets Qt6::Svg fmt::fmt assimp::assimp)
+target_link_libraries(common PUBLIC tinyxml2::tinyxml2 kdl vm GLEW::GLEW miniz::miniz freeimage::FreeImage freetype OpenGL::GL Qt6::Widgets Qt6::OpenGL Qt6::OpenGLWidgets Qt6::Svg fmt::fmt assimp::assimp execinfo)
# use precompiled headers on CMake 3.16 or later
if (TB_ENABLE_PCH AND ${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.16.0")
@@ -1114,7 +1114,9 @@ add_custom_target(generate_version ${CMAKE_COMMAND}
-D APP_BUILD_TYPE="${APP_BUILD_TYPE}"
-D SRC="${COMMON_SOURCE_DIR}/Version.h.in"
-D DST="${CMAKE_CURRENT_BINARY_DIR}/Version.h"
- -D GIT_EXECUTABLE="${GIT_EXECUTABLE}"
+ # -D GIT_EXECUTABLE="${GIT_EXECUTABLE}"
+ -D APP_VERSION_YEAR="${APP_VERSION_YEAR}"
+ -D APP_VERSION_NUMBER="${APP_VERSION_NUMBER}"
-P "${CMAKE_CURRENT_SOURCE_DIR}/cmake/GenerateVersion.cmake")
add_dependencies(common generate_version)
diff --git a/common/cmake/GenerateVersion.cmake b/common/cmake/GenerateVersion.cmake
index 082c04547..776b5bd0c 100644
--- a/common/cmake/GenerateVersion.cmake
+++ b/common/cmake/GenerateVersion.cmake
@@ -1,8 +1,8 @@
include("${UTILS}")
get_filename_component(SRC_DIR ${SRC} DIRECTORY)
-get_git_describe("${GIT_EXECUTABLE}" "${SRC_DIR}" GIT_DESCRIBE)
-get_app_version(GIT_DESCRIBE APP_VERSION_YEAR APP_VERSION_NUMBER)
+# get_git_describe("${GIT_EXECUTABLE}" "${SRC_DIR}" GIT_DESCRIBE)
+# get_app_version(GIT_DESCRIBE APP_VERSION_YEAR APP_VERSION_NUMBER)
get_build_platform(APP_PLATFORM_NAME)
configure_file("${SRC}" "${DST}" @ONLY)
diff --git a/common/src/io/StandardMapParser.cpp b/common/src/io/StandardMapParser.cpp
index f8521b89b..522782cdb 100644
--- a/common/src/io/StandardMapParser.cpp
+++ b/common/src/io/StandardMapParser.cpp
@@ -294,7 +294,7 @@ void StandardMapParser::parseObject(ParserStatus& status)
expect(QuakeMapToken::String | QuakeMapToken::OParenthesis, token);
if (token.hasType(QuakeMapToken::String))
{
- expect({BrushPrimitiveId, PatchId}, token);
+ expect(std::vector<std::string>{BrushPrimitiveId, PatchId}, token);
if (token.data() == BrushPrimitiveId)
{
parseBrushPrimitive(status, startLocation);
diff --git a/common/src/io/ZipFileSystem.h b/common/src/io/ZipFileSystem.h
index e4fc4d579..156bb6c1b 100644
--- a/common/src/io/ZipFileSystem.h
+++ b/common/src/io/ZipFileSystem.h
@@ -22,7 +22,7 @@
#include "Result.h"
#include "io/ImageFileSystem.h"
-#include <miniz/miniz.h>
+#include "miniz.h"
#include <mutex>
diff --git a/common/src/render/ShaderProgram.cpp b/common/src/render/ShaderProgram.cpp
index 41be114bb..e1be3ceb6 100644
--- a/common/src/render/ShaderProgram.cpp
+++ b/common/src/render/ShaderProgram.cpp
@@ -145,7 +145,7 @@ void ShaderProgram::set(const std::string& name, const float value)
void ShaderProgram::set(const std::string& name, const double value)
{
assert(checkActive());
- glAssert(glUniform1d(findUniformLocation(name), value));
+ glAssert(glUniform1f(findUniformLocation(name), (float)value));
}
void ShaderProgram::set(const std::string& name, const vm::vec2f& value)
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index f4edbf38b..3f27bdd6a 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -1,3 +1,4 @@
add_subdirectory(kdl)
add_subdirectory(vm)
add_subdirectory(stackwalker)
+add_subdirectory(miniz)
diff --git a/lib/miniz/CMakeLists.txt b/lib/miniz/CMakeLists.txt
new file mode 100644
index 000000000..3e3c07a40
--- /dev/null
+++ b/lib/miniz/CMakeLists.txt
@@ -0,0 +1,12 @@
+cmake_minimum_required(VERSION 3.5)
+project(miniz LANGUAGES C VERSION 3.0.2)
+
+add_library(miniz STATIC)
+add_library(miniz::miniz ALIAS miniz)
+
+target_sources(miniz PRIVATE
+ ${PROJECT_SOURCE_DIR}/miniz.c
+ ${PROJECT_SOURCE_DIR}/miniz.h
+)
+
+target_include_directories(miniz PUBLIC ${PROJECT_SOURCE_DIR})
--
2.48.1

View File

@@ -0,0 +1,108 @@
SUMMARY="A free cross platform level editor for Quake-engine based games"
DESCRIPTION="TrenchBroom is a level editing program for brush-based game engines
such as Quake, Quake 2, and Hexen 2. TrenchBroom is easy to use and provides many
simple and advanced tools to create complex and interesting levels with ease."
HOMEPAGE="https://trenchbroom.github.io/"
COPYRIGHT="2010 Kristian Duske"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://github.com/TrenchBroom/TrenchBroom/archive/refs/tags/v$portVersion.tar.gz"
CHECKSUM_SHA256="57770ce2d50af4e9c8b74fedb5c37a5ec9ff400529da3240c1434092636acae5"
SOURCE_URI_2="https://github.com/richgel999/miniz/releases/download/3.0.2/miniz-3.0.2.zip"
CHECKSUM_SHA256_2="ada38db0b703a56d3dd6d57bf84a9c5d664921d870d8fea4db153979fb5332c5"
SOURCE_DIR="TrenchBroom-$portVersion"
ADDITIONAL_FILES="TrenchBroom-$portVersion.rdef.in"
PATCHES="trenchbroom-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
trenchbroom$secondaryArchSuffix = $portVersion
app:TrenchBroom
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libassimp$secondaryArchSuffix
lib:libcatch2$secondaryArchSuffix
lib:libexecinfo$secondaryArchSuffix
lib:libfmt$secondaryArchSuffix >= 11
lib:libfreeimage$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libglew$secondaryArchSuffix
lib:libminizip$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Svg$secondaryArchSuffix
lib:libtinyxml2$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libassimp$secondaryArchSuffix
devel:libcatch2$secondaryArchSuffix
devel:libexecinfo$secondaryArchSuffix
devel:libfmt$secondaryArchSuffix >= 11
devel:libfreeimage$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libGL$secondaryArchSuffix
devel:libglew$secondaryArchSuffix
devel:libminizip$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix
devel:libQt6Svg$secondaryArchSuffix
devel:libtinyxml2$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
"
BUILD()
{
cp $sourceDir2/miniz{.c,.h} $sourceDir/lib/miniz/
local APP_VERSION_YEAR="`echo "${portVersion}" | cut -d. -f1`"
local APP_VERSION_NUMBER="`echo "${portVersion}" | cut -d. -f2`"
cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$prefix \
-Dfreeimage_DIR=$sourceDir/cmake/packages \
-Dfreetype_DIR=$sourceDir/cmake/packages \
-Dtinyxml2_DIR=$sourceDir/cmake/packages \
-DAPP_VERSION_YEAR="$APP_VERSION_YEAR" \
-DAPP_VERSION_NUMBER="$APP_VERSION_NUMBER"
make -Cbuild TrenchBroom $jobArgs
}
INSTALL()
{
local APP_SIGNATURE="application/x-vnd.TrenchBroom"
local MAJOR="`echo "${portVersion}" | cut -d. -f1`"
local MIDDLE="`echo "${portVersion}" | cut -d. -f2`"
local MINOR="0"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/TrenchBroom-$portVersion.rdef.in > TrenchBroom-$portVersion.rdef
mkdir -p $appsDir
cp -a build/app/TrenchBroom $appsDir/TrenchBroom
addResourcesToBinaries TrenchBroom-$portVersion.rdef $appsDir/TrenchBroom
# copy resources
# TODO: generate and copy manual
mkdir -p $dataDir/TrenchBroom
cp -r build/app/{defaults,fonts,games,images,shader,stylesheets} $dataDir/TrenchBroom/
addAppDeskbarSymlink $appsDir/TrenchBroom
}