summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/cmake/LLPrimitive.cmake86
1 files changed, 44 insertions, 42 deletions
diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake
index 216f4d574a..9ea7ff899e 100644
--- a/indra/cmake/LLPrimitive.cmake
+++ b/indra/cmake/LLPrimitive.cmake
@@ -29,7 +29,7 @@ if(LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD )
endif(LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD )
if( USESYSTEMLIBS )
- if ( NOT DARWIN AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0) )
+ if ( ${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0 )
if (NOT EXISTS ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4.tar.gz)
file(DOWNLOAD
https://github.com/secondlife/3p-colladadom/archive/refs/tags/v2.3-r4.tar.gz
@@ -45,24 +45,47 @@ if( USESYSTEMLIBS )
pkg_check_modules(Minizip REQUIRED minizip)
pkg_check_modules(Libxml2 REQUIRED libxml-2.0)
pkg_check_modules(Libpcrecpp libpcrecpp)
- try_compile(COLLADADOM_RESULT
- PROJECT colladadom
- SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
- BINARY_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
- TARGET collada14dom
- CMAKE_FLAGS
- -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
- -DOPT_COLLADA14:BOOL=ON
- -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:FILEPATH=${LIBS_PREBUILT_DIR}/include/collada
- -DCOLLADA_DOM_SOVERSION:STRING=0
- -DCOLLADA_DOM_VERSION:STRING=2.3-r4
- -DEXTRA_COMPILE_FLAGS:STRING="-I${Minizip_INCLUDE_DIRS} -I${Libxml2_INCLUDE_DIRS} -I${Libpcrecpp_INCLUDE_DIRS}"
- -DCMAKE_SHARED_LINKER_FLAGS:STRING="-L${Libxml2_LIBRARY_DIRS} -l${Libxml2_LIBRARIES}"
- -Dlibpcrecpp_LIBRARIES:STRING=pcrecpp
- -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem
- -DBoost_SYSTEM_LIBRARY:STRING=boost_system
- OUTPUT_VARIABLE colladadom_installed
- )
+ if (DARWIN)
+ try_compile(COLLADADOM_RESULT
+ PROJECT colladadom
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
+ BINARY_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
+ TARGET collada14dom
+ CMAKE_FLAGS
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DOPT_COLLADA14:BOOL=ON
+ -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:FILEPATH=${LIBS_PREBUILT_DIR}/include/collada
+ -DCOLLADA_DOM_SOVERSION:STRING=0
+ -DCOLLADA_DOM_VERSION:STRING=2.3-r4
+ -DEXTRA_COMPILE_FLAGS:STRING="-I${Minizip_INCLUDE_DIRS} -I${Libxml2_INCLUDE_DIRS}"
+ -DCMAKE_SHARED_LINKER_FLAGS:STRING="-L${Libxml2_LIBRARY_DIRS} -l${Libxml2_LIBRARIES}"
+ -Dlibpcrecpp_LIBRARIES:STRING=pcrecpp
+ -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem-mt
+ -DBoost_SYSTEM_LIBRARY:STRING=boost_system-mt
+ -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
+ -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.15
+ OUTPUT_VARIABLE colladadom_installed
+ )
+ else (DARWIN)
+ try_compile(COLLADADOM_RESULT
+ PROJECT colladadom
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
+ BINARY_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
+ TARGET collada14dom
+ CMAKE_FLAGS
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DOPT_COLLADA14:BOOL=ON
+ -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:FILEPATH=${LIBS_PREBUILT_DIR}/include/collada
+ -DCOLLADA_DOM_SOVERSION:STRING=0
+ -DCOLLADA_DOM_VERSION:STRING=2.3-r4
+ -DEXTRA_COMPILE_FLAGS:STRING="-I${Minizip_INCLUDE_DIRS} -I${Libxml2_INCLUDE_DIRS} -I${Libpcrecpp_INCLUDE_DIRS}"
+ -DCMAKE_SHARED_LINKER_FLAGS:STRING="-L${Libxml2_LIBRARY_DIRS} -l${Libxml2_LIBRARIES}"
+ -Dlibpcrecpp_LIBRARIES:STRING=pcrecpp
+ -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem
+ -DBoost_SYSTEM_LIBRARY:STRING=boost_system
+ OUTPUT_VARIABLE colladadom_installed
+ )
+ endif (DARWIN)
if (${COLLADADOM_RESULT})
file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/include/collada)
file(
@@ -75,36 +98,15 @@ if( USESYSTEMLIBS )
)
file(WRITE ${PREBUILD_TRACKING_DIR}/colladadom_installed "0")
endif (${COLLADADOM_RESULT})
- endif ( NOT DARWIN AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0) )
+ endif( ${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0 )
else( USESYSTEMLIBS )
use_system_binary( colladadom )
-endif( USESYSTEMLIBS )
-if( DARWIN OR NOT USESYSTEMLIBS )
use_prebuilt_binary(colladadom)
- if( DARWIN )
- execute_process(
- COMMAND lipo -archs libcollada14dom.2.3-r4.dylib
- WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/lib/release
- OUTPUT_VARIABLE colladadom_archs
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
- if( NOT ${colladadom_archs} STREQUAL ${CMAKE_OSX_ARCHITECTURES} )
- execute_process(
- COMMAND lipo
- libcollada14dom.2.3-r4.dylib
- -thin ${CMAKE_OSX_ARCHITECTURES}
- -output libcollada14dom.2.3-r4.dylib
- WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/lib/release
- )
- endif( NOT ${colladadom_archs} STREQUAL ${CMAKE_OSX_ARCHITECTURES} )
- endif( DARWIN )
-endif( DARWIN OR NOT USESYSTEMLIBS )
-if( NOT USESYSTEMLIBS )
use_prebuilt_binary(minizip-ng) # needed for colladadom
use_prebuilt_binary(pcre)
use_prebuilt_binary(libxml2)
-endif( NOT USESYSTEMLIBS )
+endif( USESYSTEMLIBS )
target_link_libraries( ll::pcre INTERFACE pcrecpp pcre )