From c6b6afdd7adebe49c309440e121b3b7051c33e3d Mon Sep 17 00:00:00 2001 From: derossm Date: Fri, 10 Mar 2023 20:42:56 -0800 Subject: [PATCH 1/8] minor changes required for cmake to successfully configure using vcpkg on windows --- CMakeLists.txt | 18 +- apps/openmw/CMakeLists.txt | 1 + cmake/FindLuaJit.cmake | 8 +- cmake/Findcollada-dom.cmake | 316 ++++++++++++++++++++++++++++++++++++ 4 files changed, 334 insertions(+), 9 deletions(-) create mode 100644 cmake/Findcollada-dom.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index e2d538ae6c..18e8d25d72 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,6 +57,13 @@ option(BUILD_BULLETOBJECTTOOL "Build Bullet object tool" ON) set(OpenGL_GL_PREFERENCE LEGACY) # Use LEGACY as we use GL2; GLNVD is for GL3 and up. +# variable to easily check if vcpkg is being used +if(CMAKE_TOOLCHAIN_FILE MATCHES ".*[vV][cC][pP][kK][gG].*") + set(USING_VCPKG TRUE) +else() + set(USING_VCPKG FALSE) +endif() + if (NOT BUILD_LAUNCHER AND NOT BUILD_OPENCS AND NOT BUILD_WIZARD) set(USE_QT FALSE) else() @@ -150,7 +157,8 @@ endif() option(OSG_STATIC "Link static build of OpenSceneGraph into the binaries" ${_osg_static_default}) option(OPENMW_USE_SYSTEM_MYGUI "Use system provided mygui library" ON) -if(OPENMW_USE_SYSTEM_MYGUI) +# on windows the "system provided" mygui from vcpkg is static +if(OPENMW_USE_SYSTEM_MYGUI AND NOT USING_VCPKG) set(_mygui_static_default OFF) else() set(_mygui_static_default ON) @@ -237,10 +245,10 @@ find_package(LZ4 REQUIRED) if (USE_QT) find_package(QT REQUIRED COMPONENTS Core NAMES Qt6 Qt5) - if (QT_VERSION_MAJOR VERSION_EQUAL 5) + if (QT_VERSION_MAJOR VERSION_EQUAL 5) find_package(Qt5 5.15 COMPONENTS Core Widgets Network OpenGL REQUIRED) - else() - find_package(Qt6 COMPONENTS Core Widgets Network OpenGL REQUIRED) + else() + find_package(Qt6 COMPONENTS Core Widgets Network OpenGL REQUIRED) endif() message(STATUS "Using Qt${QT_VERSION}") endif() @@ -276,7 +284,7 @@ if(NOT COLLADA_DOM_VERSION_MINOR) set(COLLADA_DOM_VERSION_MINOR 5) endif() -find_package(collada_dom 2.5) +find_package(collada-dom 2.5) option(OPENMW_USE_SYSTEM_ICU "Use system ICU library instead of internal. If disabled, requires autotools" ON) if(OPENMW_USE_SYSTEM_ICU) diff --git a/apps/openmw/CMakeLists.txt b/apps/openmw/CMakeLists.txt index ff2ecfe5c9..a454f056b0 100644 --- a/apps/openmw/CMakeLists.txt +++ b/apps/openmw/CMakeLists.txt @@ -153,6 +153,7 @@ target_link_libraries(openmw ${RecastNavigation_LIBRARIES} "osg-ffmpeg-videoplayer" "oics" + "freetype" components ) diff --git a/cmake/FindLuaJit.cmake b/cmake/FindLuaJit.cmake index 0f38da9b4b..6716f9948d 100644 --- a/cmake/FindLuaJit.cmake +++ b/cmake/FindLuaJit.cmake @@ -6,9 +6,9 @@ include(LibFindMacros) libfind_pkg_detect(LuaJit luajit - FIND_PATH luajit.h PATH_SUFFIXES luajit luajit-2.1 - FIND_LIBRARY luajit-5.1 luajit - ) + FIND_PATH luajit.h PATH_SUFFIXES luajit luajit-2.1 + # note: vcpkg builds luatjit-5.1 as lua51 + FIND_LIBRARY luajit-5.1 luajit lua51 +) libfind_process(LuaJit) - diff --git a/cmake/Findcollada-dom.cmake b/cmake/Findcollada-dom.cmake new file mode 100644 index 0000000000..f6ea5cb060 --- /dev/null +++ b/cmake/Findcollada-dom.cmake @@ -0,0 +1,316 @@ +# From: https://github.com/openscenegraph/OpenSceneGraph/blob/master/CMakeModules/FindCOLLADA.cmake +# Locate Collada +# This module defines: +# COLLADA_INCLUDE_DIR, where to find the headers +# +# COLLADA_LIBRARY, COLLADA_LIBRARY_DEBUG +# COLLADA_FOUND, if false, do not try to link to Collada dynamically +# +# COLLADA_LIBRARY_STATIC, COLLADA_LIBRARY_STATIC_DEBUG +# COLLADA_STATIC_FOUND, if false, do not try to link to Collada statically +# +# $COLLADA_DIR is an environment variable that would +# correspond to the ./configure --prefix=$COLLADA_DIR +# +# Created by Robert Osfield. + +# Check if COLLADA_DIR is set, otherwise use ACTUAL_3DPARTY_DIR: +set(COLLADA_ENV_VAR_AVAILABLE $ENV{COLLADA_DIR}) +if(COLLADA_ENV_VAR_AVAILABLE) + set(COLLADA_DOM_ROOT "$ENV{COLLADA_DIR}/dom" CACHE PATH "Location of Collada DOM directory" FORCE) +else() + set(COLLADA_DOM_ROOT "${ACTUAL_3DPARTY_DIR}/include/1.4/dom" CACHE PATH "Location of Collada DOM directory" FORCE) +endif() + +if(APPLE) + set(COLLADA_BUILDNAME "mac") + set(COLLADA_BOOST_BUILDNAME ${COLLADA_BUILDNAME}) +elseif(MINGW) + set(COLLADA_BUILDNAME "mingw") + set(COLLADA_BOOST_BUILDNAME ${COLLADA_BUILDNAME}) +elseif((MSVC_VERSION GREATER 1910) OR (MSVC_VERSION EQUAL 1910)) + set(COLLADA_BUILDNAME "vc14") + set(COLLADA_BOOST_BUILDNAME "vc141") +elseif(MSVC_VERSION EQUAL 1900) + set(COLLADA_BUILDNAME "vc14") + set(COLLADA_BOOST_BUILDNAME "vc140") +elseif(MSVC_VERSION EQUAL 1800) + set(COLLADA_BUILDNAME "vc12") + set(COLLADA_BOOST_BUILDNAME "vc120") +elseif(MSVC_VERSION EQUAL 1700) + set(COLLADA_BUILDNAME "vc11") + set(COLLADA_BOOST_BUILDNAME "vc110") +elseif(MSVC_VERSION EQUAL 1600) + set(COLLADA_BUILDNAME "vc10") + set(COLLADA_BOOST_BUILDNAME "vc100") +elseif(MSVC_VERSION EQUAL 1500) + set(COLLADA_BUILDNAME "vc9") + set(COLLADA_BOOST_BUILDNAME "vc90") +elseif(MSVC_VERSION EQUAL 1400) + set(COLLADA_BUILDNAME "vc8") + set(COLLADA_BOOST_BUILDNAME "vc80") +else() + set(COLLADA_BUILDNAME "linux") + set(COLLADA_BOOST_BUILDNAME ${COLLADA_BUILDNAME}) +endif() + +if(${CMAKE_VS_PLATFORM_TOOLset}) + string(REPLACE "v" "vc" COLLADA_BOOST_BUILDNAME ${CMAKE_VS_PLATFORM_TOOLset}) +endif() + +find_path(COLLADA_INCLUDE_DIR dae.h + PATHS + ${COLLADA_DOM_ROOT}/include + $ENV{COLLADA_DIR}/include + $ENV{COLLADA_DIR} + ~/Library/Frameworks + /Library/Frameworks + /opt/local/Library/Frameworks #macports + /usr/local/include + /usr/include/ + /sw/include # Fink + /opt/local/include # DarwinPorts + /opt/csw/include # Blastwave + /opt/include + /usr/freeware/include + ${ACTUAL_3DPARTY_DIR}/include + PATH_SUFFIXES + colladadom + collada-dom + collada-dom2.5 + collada-dom2.4 + collada-dom2.2 +) + +find_library(COLLADA_DYNAMIC_LIBRARY + NAMES collada_dom collada14dom Collada14Dom libcollada14dom21 libcollada14dom22 collada-dom2.5-dp collada-dom2.5-dp-${COLLADA_BOOST_BUILDNAME}-mt collada-dom2.4-dp collada-dom2.4-dp-${COLLADA_BOOST_BUILDNAME}-mt + PATHS + ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4 + ${COLLADA_DOM_ROOT} + $ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4 + $ENV{COLLADA_DIR}/lib + $ENV{COLLADA_DIR}/lib-dbg + $ENV{COLLADA_DIR} + ~/Library/Frameworks + /Library/Frameworks + /opt/local/Library/Frameworks #macports + /usr/local/lib + /usr/local/lib64 + /usr/lib + /usr/lib64 + /sw/lib + /opt/local/lib + /opt/csw/lib + /opt/lib + /usr/freeware/lib64 + ${ACTUAL_3DPARTY_DIR}/lib +) + +find_library(COLLADA_DYNAMIC_LIBRARY_DEBUG + NAMES collada_dom-d collada14dom-d Collada14Dom-d libcollada14dom21-d libcollada14dom22-d collada-dom2.5-dp-d collada-dom2.5-dp-${COLLADA_BOOST_BUILDNAME}-mt-d collada-dom2.4-dp-d collada-dom2.4-dp-${COLLADA_BOOST_BUILDNAME}-mt-d + PATHS + ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4-d + ${COLLADA_DOM_ROOT} + $ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4-d + $ENV{COLLADA_DIR}/lib + $ENV{COLLADA_DIR}/lib-dbg + $ENV{COLLADA_DIR} + ~/Library/Frameworks + /Library/Frameworks + /opt/local/Library/Frameworks #macports + /usr/local/lib + /usr/local/lib64 + /usr/lib + /usr/lib64 + /sw/lib + /opt/local/lib + /opt/csw/lib + /opt/lib + /usr/freeware/lib64 + ${ACTUAL_3DPARTY_DIR}/lib +) + +find_library(COLLADA_STATIC_LIBRARY + NAMES libcollada14dom21-s libcollada14dom22-s libcollada14dom.a + PATHS + ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4 + $ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4 + $ENV{COLLADA_DIR}/lib + $ENV{COLLADA_DIR}/lib-dbg + $ENV{COLLADA_DIR} + ~/Library/Frameworks + /Library/Frameworks + /opt/local/Library/Frameworks #macports + /usr/local/lib + /usr/local/lib64 + /usr/lib + /usr/lib64 + /sw/lib + /opt/local/lib + /opt/csw/lib + /opt/lib + /usr/freeware/lib64 + ${ACTUAL_3DPARTY_DIR}/lib +) + +find_library(COLLADA_STATIC_LIBRARY_DEBUG + NAMES collada_dom-sd collada14dom-sd libcollada14dom21-sd libcollada14dom22-sd libcollada14dom-d.a + PATHS + ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4-d + $ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4-d + $ENV{COLLADA_DIR}/lib + $ENV{COLLADA_DIR}/lib-dbg + $ENV{COLLADA_DIR} + ~/Library/Frameworks + /Library/Frameworks + /opt/local/Library/Frameworks #macports + /usr/local/lib + /usr/local/lib64 + /usr/lib + /usr/lib64 + /sw/lib + /opt/local/lib + /opt/csw/lib + /opt/lib + /usr/freeware/lib64 + ${ACTUAL_3DPARTY_DIR}/lib +) + + # find extra libraries that the static linking requires + find_package(LibXml2) + if(LIBXML2_FOUND) + set(COLLADA_LIBXML_LIBRARY "${LIBXML2_LIBRARIES}" CACHE FILEPATH "" FORCE) + else(LIBXML2_FOUND) + if(WIN32) + find_library(COLLADA_LIBXML_LIBRARY + NAMES libxml2 + PATHS + ${COLLADA_DOM_ROOT}/external-libs/libxml2/win32/lib + ${COLLADA_DOM_ROOT}/external-libs/libxml2/mingw/lib + ${ACTUAL_3DPARTY_DIR}/lib + ) + endif(WIN32) + endif(LIBXML2_FOUND) + + find_package(ZLIB) + if(ZLIB_FOUND) + if(ZLIB_LIBRARY_RELEASE) + set(COLLADA_ZLIB_LIBRARY "${ZLIB_LIBRARY_RELEASE}" CACHE FILEPATH "" FORCE) + else(ZLIB_LIBRARY_RELEASE) + set(COLLADA_ZLIB_LIBRARY "${ZLIB_LIBRARY}" CACHE FILEPATH "" FORCE) + endif(ZLIB_LIBRARY_RELEASE) + if(ZLIB_LIBRARY_DEBUG) + set(COLLADA_ZLIB_LIBRARY_DEBUG "${ZLIB_LIBRARY_DEBUG}" CACHE FILEPATH "" FORCE) + else(ZLIB_LIBRARY_DEBUG) + set(COLLADA_ZLIB_LIBRARY_DEBUG "${COLLADA_ZLIB_LIBRARY}" CACHE FILEPATH "" FORCE) + endif(ZLIB_LIBRARY_DEBUG) + else(ZLIB_FOUND) + if(WIN32) + find_library(COLLADA_ZLIB_LIBRARY + NAMES zlib + PATHS + ${COLLADA_DOM_ROOT}/external-libs/libxml2/win32/lib + ${COLLADA_DOM_ROOT}/external-libs/libxml2/mingw/lib + ${ACTUAL_3DPARTY_DIR}/lib + ) + endif(WIN32) + endif(ZLIB_FOUND) + + find_library(COLLADA_PCRECPP_LIBRARY + NAMES pcrecpp + PATHS + ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME} + ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac + ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw + ${ACTUAL_3DPARTY_DIR}/lib + ) + + find_library(COLLADA_PCRECPP_LIBRARY_DEBUG + NAMES pcrecpp-d pcrecppd + PATHS + ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME} + ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac + ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw + ${ACTUAL_3DPARTY_DIR}/lib + ) + + find_library(COLLADA_PCRE_LIBRARY + NAMES pcre + PATHS + ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME} + ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac + ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw + ${ACTUAL_3DPARTY_DIR}/lib + ) + + find_library(COLLADA_PCRE_LIBRARY_DEBUG + NAMES pcre-d pcred + PATHS + ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME} + ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac + ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw + ${ACTUAL_3DPARTY_DIR}/lib + ) + + find_library(COLLADA_MINIZIP_LIBRARY + NAMES minizip + PATHS + ${COLLADA_DOM_ROOT}/external-libs/minizip/win32/lib + ${COLLADA_DOM_ROOT}/external-libs/minizip/mac + ${ACTUAL_3DPARTY_DIR}/lib + ) + + find_library(COLLADA_MINIZIP_LIBRARY_DEBUG + NAMES minizip-d minizipD + PATHS + ${COLLADA_DOM_ROOT}/external-libs/minizip/win32/lib + ${COLLADA_DOM_ROOT}/external-libs/minizip/mac + ${ACTUAL_3DPARTY_DIR}/lib + ) + + find_library(COLLADA_BOOST_FILESYSTEM_LIBRARY + NAMES libboost_filesystem boost_filesystem boost_filesystem-mt libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_54 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_55 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_58 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_62 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_63 + PATHS + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw + ${ACTUAL_3DPARTY_DIR}/lib + ) + + find_library(COLLADA_BOOST_FILESYSTEM_LIBRARY_DEBUG + NAMES libboost_filesystem-d boost_filesystem-d boost_filesystem-mt-d libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_54 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_55 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_58 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_62 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_63 + PATHS + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw + ${ACTUAL_3DPARTY_DIR}/lib + ) + + find_library(COLLADA_BOOST_SYSTEM_LIBRARY + NAMES libboost_system boost_system boost_system-mt libboost_system-${COLLADA_BOOST_BUILDNAME}-mt libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_54 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_55 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_58 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_62 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_63 + PATHS + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw + ${ACTUAL_3DPARTY_DIR}/lib + ) + + find_library(COLLADA_BOOST_SYSTEM_LIBRARY_DEBUG + NAMES libboost_system-d boost_system-d boost_system-mt-d libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_54 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_55 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_58 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_62 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_63 + PATHS + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw + ${ACTUAL_3DPARTY_DIR}/lib + ) + +set(COLLADA_FOUND "NO") +if(COLLADA_DYNAMIC_LIBRARY OR COLLADA_STATIC_LIBRARY) + if(COLLADA_INCLUDE_DIR) + set(COLLADA_FOUND "YES") + find_path(COLLADA_INCLUDE_DOMANY_DIR 1.4/dom/domAny.h ${COLLADA_INCLUDE_DIR}) + + if(COLLADA_INCLUDE_DOMANY_DIR) + set(COLLADA_DOM_2_4_OR_LATER TRUE) + elseif() + set(COLLADA_DOM_2_4_OR_LATER FALSE) + endif() + + endif() +endif() From be71a1624a3bd97c3ad323025778b99b2072f4c2 Mon Sep 17 00:00:00 2001 From: derossm Date: Sat, 11 Mar 2023 00:45:16 -0800 Subject: [PATCH 2/8] freetype is necessary to specifically link on windows, but ubuntu doesn't like it --- apps/openmw/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/openmw/CMakeLists.txt b/apps/openmw/CMakeLists.txt index a454f056b0..a2440ce103 100644 --- a/apps/openmw/CMakeLists.txt +++ b/apps/openmw/CMakeLists.txt @@ -153,10 +153,13 @@ target_link_libraries(openmw ${RecastNavigation_LIBRARIES} "osg-ffmpeg-videoplayer" "oics" - "freetype" components ) +if(WIN32) + target_link_libraries(openmw "freetype") +endif() + if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.16 AND MSVC) target_precompile_headers(openmw PRIVATE From ec33a3500755a19f1bcc02219f977b6bcdcf3eb3 Mon Sep 17 00:00:00 2001 From: derossm Date: Sat, 11 Mar 2023 02:40:52 -0800 Subject: [PATCH 3/8] Freetype wasn't ever explicitly listed as required and the build containers seem to be implicitly using some substitute not found in real windows environments --- CMakeLists.txt | 242 +++++++++++++++++++------------------ apps/openmw/CMakeLists.txt | 12 +- 2 files changed, 129 insertions(+), 125 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 18e8d25d72..fa1cd19345 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,17 +57,10 @@ option(BUILD_BULLETOBJECTTOOL "Build Bullet object tool" ON) set(OpenGL_GL_PREFERENCE LEGACY) # Use LEGACY as we use GL2; GLNVD is for GL3 and up. -# variable to easily check if vcpkg is being used -if(CMAKE_TOOLCHAIN_FILE MATCHES ".*[vV][cC][pP][kK][gG].*") - set(USING_VCPKG TRUE) -else() - set(USING_VCPKG FALSE) -endif() - if (NOT BUILD_LAUNCHER AND NOT BUILD_OPENCS AND NOT BUILD_WIZARD) - set(USE_QT FALSE) + set(USE_QT FALSE) else() - set(USE_QT TRUE) + set(USE_QT TRUE) endif() # If the user doesn't supply a CMAKE_BUILD_TYPE via command line, choose one for them. @@ -156,6 +149,17 @@ else() endif() option(OSG_STATIC "Link static build of OpenSceneGraph into the binaries" ${_osg_static_default}) +# variable to easily check if vcpkg is being used +if(CMAKE_TOOLCHAIN_FILE MATCHES ".*[vV][cC][pP][kK][gG].*") + set(USING_VCPKG TRUE) +else() + set(USING_VCPKG FALSE) +endif() + +if(USING_VCPKG) + find_package(Freetype REQUIRED) +endif() + option(OPENMW_USE_SYSTEM_MYGUI "Use system provided mygui library" ON) # on windows the "system provided" mygui from vcpkg is static if(OPENMW_USE_SYSTEM_MYGUI AND NOT USING_VCPKG) @@ -235,7 +239,7 @@ if (WIN32) endif() if(MSVC) - add_compile_options("/utf-8") + add_compile_options("/utf-8") endif() # Dependencies @@ -517,7 +521,7 @@ include_directories( link_directories(${SDL2_LIBRARY_DIRS} ${Boost_LIBRARY_DIRS} ${COLLADA_DOM_LIBRARY_DIRS}) if(MYGUI_STATIC) - add_definitions(-DMYGUI_STATIC) + add_definitions(-DMYGUI_STATIC) endif (MYGUI_STATIC) if (APPLE) @@ -646,31 +650,31 @@ if (BUILD_OPENMW) endif() if (BUILD_BSATOOL) - add_subdirectory( apps/bsatool ) + add_subdirectory( apps/bsatool ) endif() if (BUILD_ESMTOOL) - add_subdirectory( apps/esmtool ) + add_subdirectory( apps/esmtool ) endif() if (BUILD_LAUNCHER) - add_subdirectory( apps/launcher ) + add_subdirectory( apps/launcher ) endif() if (BUILD_MWINIIMPORTER) - add_subdirectory( apps/mwiniimporter ) + add_subdirectory( apps/mwiniimporter ) endif() if (BUILD_ESSIMPORTER) - add_subdirectory (apps/essimporter ) + add_subdirectory (apps/essimporter ) endif() if (BUILD_OPENCS) - add_subdirectory (apps/opencs) + add_subdirectory (apps/opencs) endif() if (BUILD_WIZARD) - add_subdirectory(apps/wizard) + add_subdirectory(apps/wizard) endif() if (BUILD_NIFTEST) @@ -679,136 +683,136 @@ endif(BUILD_NIFTEST) # UnitTests if (BUILD_UNITTESTS) - add_subdirectory( apps/openmw_test_suite ) + add_subdirectory( apps/openmw_test_suite ) endif() if (BUILD_BENCHMARKS) - add_subdirectory(apps/benchmarks) + add_subdirectory(apps/benchmarks) endif() if (BUILD_NAVMESHTOOL) - add_subdirectory(apps/navmeshtool) + add_subdirectory(apps/navmeshtool) endif() if (BUILD_BULLETOBJECTTOOL) - add_subdirectory( apps/bulletobjecttool ) + add_subdirectory( apps/bulletobjecttool ) endif() if (WIN32) - if (MSVC) - foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} ) - string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "$(SolutionDir)$(Configuration)" ) - set( CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "$(ProjectDir)$(Configuration)" ) - endforeach( OUTPUTCONFIG ) + if (MSVC) + foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} ) + string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "$(SolutionDir)$(Configuration)" ) + set( CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "$(ProjectDir)$(Configuration)" ) + endforeach( OUTPUTCONFIG ) - if (USE_DEBUG_CONSOLE AND BUILD_OPENMW) - set_target_properties(openmw PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE") - set_target_properties(openmw PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:CONSOLE") - set_target_properties(openmw PROPERTIES COMPILE_DEFINITIONS $<$:_CONSOLE>) - elseif (BUILD_OPENMW) - # Turn off debug console, debug output will be written to visual studio output instead - set_target_properties(openmw PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:WINDOWS") - set_target_properties(openmw PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:WINDOWS") - endif() + if (USE_DEBUG_CONSOLE AND BUILD_OPENMW) + set_target_properties(openmw PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE") + set_target_properties(openmw PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:CONSOLE") + set_target_properties(openmw PROPERTIES COMPILE_DEFINITIONS $<$:_CONSOLE>) + elseif (BUILD_OPENMW) + # Turn off debug console, debug output will be written to visual studio output instead + set_target_properties(openmw PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:WINDOWS") + set_target_properties(openmw PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:WINDOWS") + endif() - if (BUILD_OPENMW) - # Release builds don't use the debug console - set_target_properties(openmw PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS") - set_target_properties(openmw PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:WINDOWS") - endif() + if (BUILD_OPENMW) + # Release builds don't use the debug console + set_target_properties(openmw PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS") + set_target_properties(openmw PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:WINDOWS") + endif() - # Play a bit with the warning levels + # Play a bit with the warning levels - set(WARNINGS "/W4") + set(WARNINGS "/W4") - set(WARNINGS_DISABLE - 4100 # Unreferenced formal parameter (-Wunused-parameter) - 4127 # Conditional expression is constant - 4996 # Function was declared deprecated - 5054 # Deprecated operations between enumerations of different types caused by Qt headers - ) - - if( "${MyGUI_VERSION}" VERSION_LESS_EQUAL "3.4.0" ) - set(WARNINGS_DISABLE ${WARNINGS_DISABLE} - 4866 # compiler may not enforce left-to-right evaluation order for call - ) - endif() + set(WARNINGS_DISABLE + 4100 # Unreferenced formal parameter (-Wunused-parameter) + 4127 # Conditional expression is constant + 4996 # Function was declared deprecated + 5054 # Deprecated operations between enumerations of different types caused by Qt headers + ) - if( "${MyGUI_VERSION}" VERSION_LESS_EQUAL "3.4.1" ) - set(WARNINGS_DISABLE ${WARNINGS_DISABLE} - 4275 # non dll-interface class 'MyGUI::delegates::IDelegateUnlink' used as base for dll-interface class 'MyGUI::Widget' - ) - endif() + if( "${MyGUI_VERSION}" VERSION_LESS_EQUAL "3.4.0" ) + set(WARNINGS_DISABLE ${WARNINGS_DISABLE} + 4866 # compiler may not enforce left-to-right evaluation order for call + ) + endif() - foreach(d ${WARNINGS_DISABLE}) - set(WARNINGS "${WARNINGS} /wd${d}") - endforeach(d) + if( "${MyGUI_VERSION}" VERSION_LESS_EQUAL "3.4.1" ) + set(WARNINGS_DISABLE ${WARNINGS_DISABLE} + 4275 # non dll-interface class 'MyGUI::delegates::IDelegateUnlink' used as base for dll-interface class 'MyGUI::Widget' + ) + endif() - if(OPENMW_MSVC_WERROR) - set(WARNINGS "${WARNINGS} /WX") - endif() + foreach(d ${WARNINGS_DISABLE}) + set(WARNINGS "${WARNINGS} /wd${d}") + endforeach(d) - set_target_properties(components PROPERTIES COMPILE_FLAGS "${WARNINGS}") - set_target_properties(osg-ffmpeg-videoplayer PROPERTIES COMPILE_FLAGS "${WARNINGS}") - - if (MSVC_VERSION GREATER_EQUAL 1915 AND MSVC_VERSION LESS 1920) - target_compile_definitions(components INTERFACE _ENABLE_EXTENDED_ALIGNED_STORAGE) - endif() + if(OPENMW_MSVC_WERROR) + set(WARNINGS "${WARNINGS} /WX") + endif() - if (BUILD_BSATOOL) - set_target_properties(bsatool PROPERTIES COMPILE_FLAGS "${WARNINGS}") - endif() + set_target_properties(components PROPERTIES COMPILE_FLAGS "${WARNINGS}") + set_target_properties(osg-ffmpeg-videoplayer PROPERTIES COMPILE_FLAGS "${WARNINGS}") - if (BUILD_ESMTOOL) - set_target_properties(esmtool PROPERTIES COMPILE_FLAGS "${WARNINGS}") - endif() + if (MSVC_VERSION GREATER_EQUAL 1915 AND MSVC_VERSION LESS 1920) + target_compile_definitions(components INTERFACE _ENABLE_EXTENDED_ALIGNED_STORAGE) + endif() - if (BUILD_ESSIMPORTER) - set_target_properties(openmw-essimporter PROPERTIES COMPILE_FLAGS "${WARNINGS}") - endif() + if (BUILD_BSATOOL) + set_target_properties(bsatool PROPERTIES COMPILE_FLAGS "${WARNINGS}") + endif() - if (BUILD_LAUNCHER) - set_target_properties(openmw-launcher PROPERTIES COMPILE_FLAGS "${WARNINGS}") - endif() + if (BUILD_ESMTOOL) + set_target_properties(esmtool PROPERTIES COMPILE_FLAGS "${WARNINGS}") + endif() - if (BUILD_MWINIIMPORTER) - set_target_properties(openmw-iniimporter PROPERTIES COMPILE_FLAGS "${WARNINGS}") - endif() + if (BUILD_ESSIMPORTER) + set_target_properties(openmw-essimporter PROPERTIES COMPILE_FLAGS "${WARNINGS}") + endif() - if (BUILD_OPENCS) - set_target_properties(openmw-cs PROPERTIES COMPILE_FLAGS "${WARNINGS}") - endif() + if (BUILD_LAUNCHER) + set_target_properties(openmw-launcher PROPERTIES COMPILE_FLAGS "${WARNINGS}") + endif() - if (BUILD_OPENMW) - set_target_properties(openmw PROPERTIES COMPILE_FLAGS "${WARNINGS}") - endif() + if (BUILD_MWINIIMPORTER) + set_target_properties(openmw-iniimporter PROPERTIES COMPILE_FLAGS "${WARNINGS}") + endif() - if (BUILD_WIZARD) - set_target_properties(openmw-wizard PROPERTIES COMPILE_FLAGS "${WARNINGS}") - endif() + if (BUILD_OPENCS) + set_target_properties(openmw-cs PROPERTIES COMPILE_FLAGS "${WARNINGS}") + endif() - if (BUILD_UNITTESTS) - set_target_properties(openmw_test_suite PROPERTIES COMPILE_FLAGS "${WARNINGS}") - endif() + if (BUILD_OPENMW) + set_target_properties(openmw PROPERTIES COMPILE_FLAGS "${WARNINGS}") + endif() - if (BUILD_BENCHMARKS) - set_target_properties(openmw_detournavigator_navmeshtilescache_benchmark PROPERTIES COMPILE_FLAGS "${WARNINGS}") - endif() + if (BUILD_WIZARD) + set_target_properties(openmw-wizard PROPERTIES COMPILE_FLAGS "${WARNINGS}") + endif() - if (BUILD_NAVMESHTOOL) - set_target_properties(openmw-navmeshtool PROPERTIES COMPILE_FLAGS "${WARNINGS}") - endif() + if (BUILD_UNITTESTS) + set_target_properties(openmw_test_suite PROPERTIES COMPILE_FLAGS "${WARNINGS}") + endif() - if (BUILD_BULLETOBJECTTOOL) - set(WARNINGS "${WARNINGS} ${MT_BUILD}") - set_target_properties(openmw-bulletobjecttool PROPERTIES COMPILE_FLAGS "${WARNINGS}") - endif() - endif(MSVC) + if (BUILD_BENCHMARKS) + set_target_properties(openmw_detournavigator_navmeshtilescache_benchmark PROPERTIES COMPILE_FLAGS "${WARNINGS}") + endif() - # TODO: At some point release builds should not use the console but rather write to a log file - #set_target_properties(openmw PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS") - #set_target_properties(openmw PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:WINDOWS") + if (BUILD_NAVMESHTOOL) + set_target_properties(openmw-navmeshtool PROPERTIES COMPILE_FLAGS "${WARNINGS}") + endif() + + if (BUILD_BULLETOBJECTTOOL) + set(WARNINGS "${WARNINGS} ${MT_BUILD}") + set_target_properties(openmw-bulletobjecttool PROPERTIES COMPILE_FLAGS "${WARNINGS}") + endif() + endif(MSVC) + + # TODO: At some point release builds should not use the console but rather write to a log file + #set_target_properties(openmw PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS") + #set_target_properties(openmw PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:WINDOWS") endif() if (BUILD_OPENMW AND APPLE) @@ -837,11 +841,11 @@ if (OPENMW_OSX_DEPLOYMENT AND APPLE) configure_file("${OpenMW_SOURCE_DIR}/files/mac/qt.conf" "${APP_BUNDLE_DIR}/Contents/Resources/qt.conf" COPYONLY) if (BUILD_OPENCS) - get_property(OPENCS_BUNDLE_NAME_TMP TARGET openmw-cs PROPERTY OUTPUT_NAME) - set(OPENCS_BUNDLE_NAME "${OPENCS_BUNDLE_NAME_TMP}.app") - configure_file("${QT_COCOA_PLUGIN_PATH}" "${OPENCS_BUNDLE_NAME}/Contents/PlugIns/${QT_COCOA_PLUGIN_GROUP}/${QT_COCOA_PLUGIN_NAME}" COPYONLY) - configure_file("${QT_QMACSTYLE_PLUGIN_PATH}" "${OPENCS_BUNDLE_NAME}/Contents/PlugIns/${QT_QMACSTYLE_PLUGIN_GROUP}/${QT_QMACSTYLE_PLUGIN_NAME}" COPYONLY) - configure_file("${OpenMW_SOURCE_DIR}/files/mac/qt.conf" "${OPENCS_BUNDLE_NAME}/Contents/Resources/qt.conf" COPYONLY) + get_property(OPENCS_BUNDLE_NAME_TMP TARGET openmw-cs PROPERTY OUTPUT_NAME) + set(OPENCS_BUNDLE_NAME "${OPENCS_BUNDLE_NAME_TMP}.app") + configure_file("${QT_COCOA_PLUGIN_PATH}" "${OPENCS_BUNDLE_NAME}/Contents/PlugIns/${QT_COCOA_PLUGIN_GROUP}/${QT_COCOA_PLUGIN_NAME}" COPYONLY) + configure_file("${QT_QMACSTYLE_PLUGIN_PATH}" "${OPENCS_BUNDLE_NAME}/Contents/PlugIns/${QT_QMACSTYLE_PLUGIN_GROUP}/${QT_QMACSTYLE_PLUGIN_NAME}" COPYONLY) + configure_file("${OpenMW_SOURCE_DIR}/files/mac/qt.conf" "${OPENCS_BUNDLE_NAME}/Contents/Resources/qt.conf" COPYONLY) endif () install(DIRECTORY "${APP_BUNDLE_DIR}" USE_SOURCE_PERMISSIONS DESTINATION "." COMPONENT Runtime) diff --git a/apps/openmw/CMakeLists.txt b/apps/openmw/CMakeLists.txt index a2440ce103..4e3323395a 100644 --- a/apps/openmw/CMakeLists.txt +++ b/apps/openmw/CMakeLists.txt @@ -156,8 +156,8 @@ target_link_libraries(openmw components ) -if(WIN32) - target_link_libraries(openmw "freetype") +if(USING_VCPKG) + target_link_libraries(openmw Freetype::Freetype) endif() if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.16 AND MSVC) @@ -196,12 +196,12 @@ if (USE_SYSTEM_TINYXML) endif() if (NOT UNIX) -target_link_libraries(openmw ${SDL2MAIN_LIBRARY}) + target_link_libraries(openmw ${SDL2MAIN_LIBRARY}) endif() # Fix for not visible pthreads functions for linker with glibc 2.15 if (UNIX AND NOT APPLE) -target_link_libraries(openmw ${CMAKE_THREAD_LIBS_INIT}) + target_link_libraries(openmw ${CMAKE_THREAD_LIBS_INIT}) endif() if(APPLE) @@ -234,8 +234,8 @@ if(APPLE) endif(APPLE) if (BUILD_WITH_CODE_COVERAGE) - add_definitions (--coverage) - target_link_libraries(openmw gcov) + add_definitions (--coverage) + target_link_libraries(openmw gcov) endif() if (WIN32) From bb3f4abb0b185fadfdac7c7e9841fc3616e9ad47 Mon Sep 17 00:00:00 2001 From: derossm Date: Sat, 11 Mar 2023 02:53:54 -0800 Subject: [PATCH 4/8] merging line with coverage added --- CMakeLists.txt | 12 ++++++------ apps/openmw/CMakeLists.txt | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fa1cd19345..502b3a9a2d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -707,13 +707,13 @@ if (WIN32) endforeach( OUTPUTCONFIG ) if (USE_DEBUG_CONSOLE AND BUILD_OPENMW) - set_target_properties(openmw PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE") - set_target_properties(openmw PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:CONSOLE") - set_target_properties(openmw PROPERTIES COMPILE_DEFINITIONS $<$:_CONSOLE>) + set_target_properties(openmw PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE") + set_target_properties(openmw PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:CONSOLE") + set_target_properties(openmw PROPERTIES COMPILE_DEFINITIONS $<$:_CONSOLE>) elseif (BUILD_OPENMW) - # Turn off debug console, debug output will be written to visual studio output instead - set_target_properties(openmw PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:WINDOWS") - set_target_properties(openmw PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:WINDOWS") + # Turn off debug console, debug output will be written to visual studio output instead + set_target_properties(openmw PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:WINDOWS") + set_target_properties(openmw PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:WINDOWS") endif() if (BUILD_OPENMW) diff --git a/apps/openmw/CMakeLists.txt b/apps/openmw/CMakeLists.txt index 4e3323395a..9a37cb1951 100644 --- a/apps/openmw/CMakeLists.txt +++ b/apps/openmw/CMakeLists.txt @@ -234,7 +234,7 @@ if(APPLE) endif(APPLE) if (BUILD_WITH_CODE_COVERAGE) - add_definitions (--coverage) + target_compile_options(openmw PRIVATE --coverage) target_link_libraries(openmw gcov) endif() From 71c336f845b629f79f9f31b5b2721a977256a269 Mon Sep 17 00:00:00 2001 From: derossm Date: Sun, 12 Mar 2023 23:08:06 -0700 Subject: [PATCH 5/8] moved find(freetype) to app openmw where needed --- CMakeLists.txt | 10 +++++----- apps/openmw/CMakeLists.txt | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 502b3a9a2d..1a767fdee0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -156,10 +156,6 @@ else() set(USING_VCPKG FALSE) endif() -if(USING_VCPKG) - find_package(Freetype REQUIRED) -endif() - option(OPENMW_USE_SYSTEM_MYGUI "Use system provided mygui library" ON) # on windows the "system provided" mygui from vcpkg is static if(OPENMW_USE_SYSTEM_MYGUI AND NOT USING_VCPKG) @@ -288,7 +284,11 @@ if(NOT COLLADA_DOM_VERSION_MINOR) set(COLLADA_DOM_VERSION_MINOR 5) endif() -find_package(collada-dom 2.5) +find_package(collada-dom 2.5 + NAMES + collada-dom + collada_dom +) option(OPENMW_USE_SYSTEM_ICU "Use system ICU library instead of internal. If disabled, requires autotools" ON) if(OPENMW_USE_SYSTEM_ICU) diff --git a/apps/openmw/CMakeLists.txt b/apps/openmw/CMakeLists.txt index 9a37cb1951..c93a2ae6b0 100644 --- a/apps/openmw/CMakeLists.txt +++ b/apps/openmw/CMakeLists.txt @@ -157,6 +157,7 @@ target_link_libraries(openmw ) if(USING_VCPKG) + find_package(Freetype REQUIRED) target_link_libraries(openmw Freetype::Freetype) endif() From 041094d45f6d3b8aa144fe4a91717674846dfeef Mon Sep 17 00:00:00 2001 From: derossm Date: Mon, 13 Mar 2023 03:57:23 -0700 Subject: [PATCH 6/8] found where to best put freetype --- CMakeLists.txt | 6 +----- apps/openmw/CMakeLists.txt | 5 ----- components/CMakeLists.txt | 4 +++- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1a767fdee0..79d779f92d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -284,11 +284,7 @@ if(NOT COLLADA_DOM_VERSION_MINOR) set(COLLADA_DOM_VERSION_MINOR 5) endif() -find_package(collada-dom 2.5 - NAMES - collada-dom - collada_dom -) +find_package(collada-dom 2.5) option(OPENMW_USE_SYSTEM_ICU "Use system ICU library instead of internal. If disabled, requires autotools" ON) if(OPENMW_USE_SYSTEM_ICU) diff --git a/apps/openmw/CMakeLists.txt b/apps/openmw/CMakeLists.txt index c93a2ae6b0..15a6b8713c 100644 --- a/apps/openmw/CMakeLists.txt +++ b/apps/openmw/CMakeLists.txt @@ -156,11 +156,6 @@ target_link_libraries(openmw components ) -if(USING_VCPKG) - find_package(Freetype REQUIRED) - target_link_libraries(openmw Freetype::Freetype) -endif() - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.16 AND MSVC) target_precompile_headers(openmw PRIVATE diff --git a/components/CMakeLists.txt b/components/CMakeLists.txt index a78d8c61cb..d8783fa997 100644 --- a/components/CMakeLists.txt +++ b/components/CMakeLists.txt @@ -514,7 +514,9 @@ if(OSG_STATIC) get_whole_archive_options(_opts ${_osg_plugins_static_files}) target_link_options(components_osg_plugins INTERFACE ${_opts}) target_link_libraries(components components_osg_plugins) +endif(OSG_STATIC) +if(OSG_STATIC OR USING_VCPKG) if(OPENMW_USE_SYSTEM_OSG) # OSG plugin pkgconfig files are missing these dependencies. # https://github.com/openscenegraph/OpenSceneGraph/issues/1052 @@ -523,7 +525,7 @@ if(OSG_STATIC) find_package(PNG REQUIRED) target_link_libraries(components Freetype::Freetype JPEG::JPEG PNG::PNG) endif() -endif(OSG_STATIC) +endif(OSG_STATIC OR USING_VCPKG) if(USE_QT) set_property(TARGET components_qt PROPERTY AUTOMOC ON) From 96d584ea9b01fe21e77afc6391f89bd54e7c69d3 Mon Sep 17 00:00:00 2001 From: derossm Date: Mon, 13 Mar 2023 11:22:17 +0000 Subject: [PATCH 7/8] Delete Findcollada-dom.cmake --- cmake/Findcollada-dom.cmake | 316 ------------------------------------ 1 file changed, 316 deletions(-) delete mode 100644 cmake/Findcollada-dom.cmake diff --git a/cmake/Findcollada-dom.cmake b/cmake/Findcollada-dom.cmake deleted file mode 100644 index f6ea5cb060..0000000000 --- a/cmake/Findcollada-dom.cmake +++ /dev/null @@ -1,316 +0,0 @@ -# From: https://github.com/openscenegraph/OpenSceneGraph/blob/master/CMakeModules/FindCOLLADA.cmake -# Locate Collada -# This module defines: -# COLLADA_INCLUDE_DIR, where to find the headers -# -# COLLADA_LIBRARY, COLLADA_LIBRARY_DEBUG -# COLLADA_FOUND, if false, do not try to link to Collada dynamically -# -# COLLADA_LIBRARY_STATIC, COLLADA_LIBRARY_STATIC_DEBUG -# COLLADA_STATIC_FOUND, if false, do not try to link to Collada statically -# -# $COLLADA_DIR is an environment variable that would -# correspond to the ./configure --prefix=$COLLADA_DIR -# -# Created by Robert Osfield. - -# Check if COLLADA_DIR is set, otherwise use ACTUAL_3DPARTY_DIR: -set(COLLADA_ENV_VAR_AVAILABLE $ENV{COLLADA_DIR}) -if(COLLADA_ENV_VAR_AVAILABLE) - set(COLLADA_DOM_ROOT "$ENV{COLLADA_DIR}/dom" CACHE PATH "Location of Collada DOM directory" FORCE) -else() - set(COLLADA_DOM_ROOT "${ACTUAL_3DPARTY_DIR}/include/1.4/dom" CACHE PATH "Location of Collada DOM directory" FORCE) -endif() - -if(APPLE) - set(COLLADA_BUILDNAME "mac") - set(COLLADA_BOOST_BUILDNAME ${COLLADA_BUILDNAME}) -elseif(MINGW) - set(COLLADA_BUILDNAME "mingw") - set(COLLADA_BOOST_BUILDNAME ${COLLADA_BUILDNAME}) -elseif((MSVC_VERSION GREATER 1910) OR (MSVC_VERSION EQUAL 1910)) - set(COLLADA_BUILDNAME "vc14") - set(COLLADA_BOOST_BUILDNAME "vc141") -elseif(MSVC_VERSION EQUAL 1900) - set(COLLADA_BUILDNAME "vc14") - set(COLLADA_BOOST_BUILDNAME "vc140") -elseif(MSVC_VERSION EQUAL 1800) - set(COLLADA_BUILDNAME "vc12") - set(COLLADA_BOOST_BUILDNAME "vc120") -elseif(MSVC_VERSION EQUAL 1700) - set(COLLADA_BUILDNAME "vc11") - set(COLLADA_BOOST_BUILDNAME "vc110") -elseif(MSVC_VERSION EQUAL 1600) - set(COLLADA_BUILDNAME "vc10") - set(COLLADA_BOOST_BUILDNAME "vc100") -elseif(MSVC_VERSION EQUAL 1500) - set(COLLADA_BUILDNAME "vc9") - set(COLLADA_BOOST_BUILDNAME "vc90") -elseif(MSVC_VERSION EQUAL 1400) - set(COLLADA_BUILDNAME "vc8") - set(COLLADA_BOOST_BUILDNAME "vc80") -else() - set(COLLADA_BUILDNAME "linux") - set(COLLADA_BOOST_BUILDNAME ${COLLADA_BUILDNAME}) -endif() - -if(${CMAKE_VS_PLATFORM_TOOLset}) - string(REPLACE "v" "vc" COLLADA_BOOST_BUILDNAME ${CMAKE_VS_PLATFORM_TOOLset}) -endif() - -find_path(COLLADA_INCLUDE_DIR dae.h - PATHS - ${COLLADA_DOM_ROOT}/include - $ENV{COLLADA_DIR}/include - $ENV{COLLADA_DIR} - ~/Library/Frameworks - /Library/Frameworks - /opt/local/Library/Frameworks #macports - /usr/local/include - /usr/include/ - /sw/include # Fink - /opt/local/include # DarwinPorts - /opt/csw/include # Blastwave - /opt/include - /usr/freeware/include - ${ACTUAL_3DPARTY_DIR}/include - PATH_SUFFIXES - colladadom - collada-dom - collada-dom2.5 - collada-dom2.4 - collada-dom2.2 -) - -find_library(COLLADA_DYNAMIC_LIBRARY - NAMES collada_dom collada14dom Collada14Dom libcollada14dom21 libcollada14dom22 collada-dom2.5-dp collada-dom2.5-dp-${COLLADA_BOOST_BUILDNAME}-mt collada-dom2.4-dp collada-dom2.4-dp-${COLLADA_BOOST_BUILDNAME}-mt - PATHS - ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4 - ${COLLADA_DOM_ROOT} - $ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4 - $ENV{COLLADA_DIR}/lib - $ENV{COLLADA_DIR}/lib-dbg - $ENV{COLLADA_DIR} - ~/Library/Frameworks - /Library/Frameworks - /opt/local/Library/Frameworks #macports - /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 - /sw/lib - /opt/local/lib - /opt/csw/lib - /opt/lib - /usr/freeware/lib64 - ${ACTUAL_3DPARTY_DIR}/lib -) - -find_library(COLLADA_DYNAMIC_LIBRARY_DEBUG - NAMES collada_dom-d collada14dom-d Collada14Dom-d libcollada14dom21-d libcollada14dom22-d collada-dom2.5-dp-d collada-dom2.5-dp-${COLLADA_BOOST_BUILDNAME}-mt-d collada-dom2.4-dp-d collada-dom2.4-dp-${COLLADA_BOOST_BUILDNAME}-mt-d - PATHS - ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4-d - ${COLLADA_DOM_ROOT} - $ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4-d - $ENV{COLLADA_DIR}/lib - $ENV{COLLADA_DIR}/lib-dbg - $ENV{COLLADA_DIR} - ~/Library/Frameworks - /Library/Frameworks - /opt/local/Library/Frameworks #macports - /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 - /sw/lib - /opt/local/lib - /opt/csw/lib - /opt/lib - /usr/freeware/lib64 - ${ACTUAL_3DPARTY_DIR}/lib -) - -find_library(COLLADA_STATIC_LIBRARY - NAMES libcollada14dom21-s libcollada14dom22-s libcollada14dom.a - PATHS - ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4 - $ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4 - $ENV{COLLADA_DIR}/lib - $ENV{COLLADA_DIR}/lib-dbg - $ENV{COLLADA_DIR} - ~/Library/Frameworks - /Library/Frameworks - /opt/local/Library/Frameworks #macports - /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 - /sw/lib - /opt/local/lib - /opt/csw/lib - /opt/lib - /usr/freeware/lib64 - ${ACTUAL_3DPARTY_DIR}/lib -) - -find_library(COLLADA_STATIC_LIBRARY_DEBUG - NAMES collada_dom-sd collada14dom-sd libcollada14dom21-sd libcollada14dom22-sd libcollada14dom-d.a - PATHS - ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4-d - $ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4-d - $ENV{COLLADA_DIR}/lib - $ENV{COLLADA_DIR}/lib-dbg - $ENV{COLLADA_DIR} - ~/Library/Frameworks - /Library/Frameworks - /opt/local/Library/Frameworks #macports - /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 - /sw/lib - /opt/local/lib - /opt/csw/lib - /opt/lib - /usr/freeware/lib64 - ${ACTUAL_3DPARTY_DIR}/lib -) - - # find extra libraries that the static linking requires - find_package(LibXml2) - if(LIBXML2_FOUND) - set(COLLADA_LIBXML_LIBRARY "${LIBXML2_LIBRARIES}" CACHE FILEPATH "" FORCE) - else(LIBXML2_FOUND) - if(WIN32) - find_library(COLLADA_LIBXML_LIBRARY - NAMES libxml2 - PATHS - ${COLLADA_DOM_ROOT}/external-libs/libxml2/win32/lib - ${COLLADA_DOM_ROOT}/external-libs/libxml2/mingw/lib - ${ACTUAL_3DPARTY_DIR}/lib - ) - endif(WIN32) - endif(LIBXML2_FOUND) - - find_package(ZLIB) - if(ZLIB_FOUND) - if(ZLIB_LIBRARY_RELEASE) - set(COLLADA_ZLIB_LIBRARY "${ZLIB_LIBRARY_RELEASE}" CACHE FILEPATH "" FORCE) - else(ZLIB_LIBRARY_RELEASE) - set(COLLADA_ZLIB_LIBRARY "${ZLIB_LIBRARY}" CACHE FILEPATH "" FORCE) - endif(ZLIB_LIBRARY_RELEASE) - if(ZLIB_LIBRARY_DEBUG) - set(COLLADA_ZLIB_LIBRARY_DEBUG "${ZLIB_LIBRARY_DEBUG}" CACHE FILEPATH "" FORCE) - else(ZLIB_LIBRARY_DEBUG) - set(COLLADA_ZLIB_LIBRARY_DEBUG "${COLLADA_ZLIB_LIBRARY}" CACHE FILEPATH "" FORCE) - endif(ZLIB_LIBRARY_DEBUG) - else(ZLIB_FOUND) - if(WIN32) - find_library(COLLADA_ZLIB_LIBRARY - NAMES zlib - PATHS - ${COLLADA_DOM_ROOT}/external-libs/libxml2/win32/lib - ${COLLADA_DOM_ROOT}/external-libs/libxml2/mingw/lib - ${ACTUAL_3DPARTY_DIR}/lib - ) - endif(WIN32) - endif(ZLIB_FOUND) - - find_library(COLLADA_PCRECPP_LIBRARY - NAMES pcrecpp - PATHS - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME} - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw - ${ACTUAL_3DPARTY_DIR}/lib - ) - - find_library(COLLADA_PCRECPP_LIBRARY_DEBUG - NAMES pcrecpp-d pcrecppd - PATHS - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME} - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw - ${ACTUAL_3DPARTY_DIR}/lib - ) - - find_library(COLLADA_PCRE_LIBRARY - NAMES pcre - PATHS - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME} - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw - ${ACTUAL_3DPARTY_DIR}/lib - ) - - find_library(COLLADA_PCRE_LIBRARY_DEBUG - NAMES pcre-d pcred - PATHS - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME} - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw - ${ACTUAL_3DPARTY_DIR}/lib - ) - - find_library(COLLADA_MINIZIP_LIBRARY - NAMES minizip - PATHS - ${COLLADA_DOM_ROOT}/external-libs/minizip/win32/lib - ${COLLADA_DOM_ROOT}/external-libs/minizip/mac - ${ACTUAL_3DPARTY_DIR}/lib - ) - - find_library(COLLADA_MINIZIP_LIBRARY_DEBUG - NAMES minizip-d minizipD - PATHS - ${COLLADA_DOM_ROOT}/external-libs/minizip/win32/lib - ${COLLADA_DOM_ROOT}/external-libs/minizip/mac - ${ACTUAL_3DPARTY_DIR}/lib - ) - - find_library(COLLADA_BOOST_FILESYSTEM_LIBRARY - NAMES libboost_filesystem boost_filesystem boost_filesystem-mt libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_54 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_55 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_58 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_62 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_63 - PATHS - ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} - ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw - ${ACTUAL_3DPARTY_DIR}/lib - ) - - find_library(COLLADA_BOOST_FILESYSTEM_LIBRARY_DEBUG - NAMES libboost_filesystem-d boost_filesystem-d boost_filesystem-mt-d libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_54 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_55 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_58 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_62 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_63 - PATHS - ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} - ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw - ${ACTUAL_3DPARTY_DIR}/lib - ) - - find_library(COLLADA_BOOST_SYSTEM_LIBRARY - NAMES libboost_system boost_system boost_system-mt libboost_system-${COLLADA_BOOST_BUILDNAME}-mt libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_54 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_55 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_58 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_62 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_63 - PATHS - ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} - ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw - ${ACTUAL_3DPARTY_DIR}/lib - ) - - find_library(COLLADA_BOOST_SYSTEM_LIBRARY_DEBUG - NAMES libboost_system-d boost_system-d boost_system-mt-d libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_54 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_55 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_58 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_62 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_63 - PATHS - ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} - ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw - ${ACTUAL_3DPARTY_DIR}/lib - ) - -set(COLLADA_FOUND "NO") -if(COLLADA_DYNAMIC_LIBRARY OR COLLADA_STATIC_LIBRARY) - if(COLLADA_INCLUDE_DIR) - set(COLLADA_FOUND "YES") - find_path(COLLADA_INCLUDE_DOMANY_DIR 1.4/dom/domAny.h ${COLLADA_INCLUDE_DIR}) - - if(COLLADA_INCLUDE_DOMANY_DIR) - set(COLLADA_DOM_2_4_OR_LATER TRUE) - elseif() - set(COLLADA_DOM_2_4_OR_LATER FALSE) - endif() - - endif() -endif() From c3f6f1d977dff9174573b02d0787b8283fbb3a9c Mon Sep 17 00:00:00 2001 From: derossm Date: Mon, 13 Mar 2023 11:23:50 +0000 Subject: [PATCH 8/8] Update CMakeLists.txt --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 01ae5ff3b5..7220712cf7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -285,7 +285,7 @@ if(NOT COLLADA_DOM_VERSION_MINOR) set(COLLADA_DOM_VERSION_MINOR 5) endif() -find_package(collada-dom 2.5) +find_package(collada_dom 2.5) option(OPENMW_USE_SYSTEM_ICU "Use system ICU library instead of internal. If disabled, requires autotools" ON) if(OPENMW_USE_SYSTEM_ICU)