diff options
Diffstat (limited to 'indra/cmake')
-rw-r--r-- | indra/cmake/APR.cmake | 2 | ||||
-rw-r--r-- | indra/cmake/Boost.cmake | 6 | ||||
-rw-r--r-- | indra/cmake/CMakeLists.txt | 1 | ||||
-rw-r--r-- | indra/cmake/GLEXT.cmake | 4 | ||||
-rw-r--r-- | indra/cmake/LLPrimitive.cmake | 67 | ||||
-rw-r--r-- | indra/cmake/LLWindow.cmake | 2 | ||||
-rw-r--r-- | indra/cmake/LibVLCPlugin.cmake | 7 |
7 files changed, 61 insertions, 28 deletions
diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake index fa3b8a4ffb..58a00c74da 100644 --- a/indra/cmake/APR.cmake +++ b/indra/cmake/APR.cmake @@ -8,7 +8,7 @@ add_library( ll::apr INTERFACE IMPORTED ) if (WINDOWS) target_include_directories(ll::apr SYSTEM INTERFACE ${prefix_result}/../include) target_link_directories(ll::apr INTERFACE ${prefix_result}) - target_link_libraries(ll::apr INTERFACE apr-1 apr-util-1) + target_link_libraries(ll::apr INTERFACE libapr-1 libaprutil-1) else () include(FindPkgConfig) pkg_check_modules(Apr REQUIRED apr-1 apr-util-1) diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index 9ea1f6c9a6..5a9e10b38b 100644 --- a/indra/cmake/Boost.cmake +++ b/indra/cmake/Boost.cmake @@ -21,11 +21,15 @@ target_link_libraries( ll::boost INTERFACE boost_fiber${sfx} boost_filesystem${sfx} boost_program_options${sfx} - boost_regex${sfx} boost_system${sfx} boost_thread${sfx} boost_url${sfx} ) +if (WINDOWS) + target_link_libraries( ll::boost INTERFACE boost_json${sfx}) +else () + target_link_libraries( ll::boost INTERFACE boost_regex${sfx}) +endif () target_compile_definitions( ll::boost INTERFACE BOOST_BIND_GLOBAL_PLACEHOLDERS ) return() diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 746d242560..5525ac9f24 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -24,6 +24,7 @@ set(cmake_SOURCE_FILES FindAutobuild.cmake FMODSTUDIO.cmake FreeType.cmake + GLEXT.cmake GLH.cmake GLM.cmake Havok.cmake diff --git a/indra/cmake/GLEXT.cmake b/indra/cmake/GLEXT.cmake index a780966f0c..f45b27e7b8 100644 --- a/indra/cmake/GLEXT.cmake +++ b/indra/cmake/GLEXT.cmake @@ -3,7 +3,9 @@ include(Prebuilt) include(GLH) add_library( ll::glext INTERFACE IMPORTED ) -use_system_binary(glext) +#use_system_binary(glext) +if (WINDOWS) use_prebuilt_binary(glext) +endif () diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index 3429a744f5..6dc0659bd8 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -18,44 +18,48 @@ if( USE_CONAN ) "${CONAN_INCLUDE_DIRS_COLLADADOM}/collada-dom/1.4/" ) endif() -if( LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD ) +if (LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD) # Build of the collada-dom for Linux and FreeBSD is done in # indra/llprimitive/CMakeLists.txt return() -elseif ( NOT WINDOWS ) +else () include(FindPkgConfig) pkg_check_modules(Minizip REQUIRED minizip) pkg_check_modules(Libxml2 REQUIRED libxml-2.0) target_link_libraries( ll::minizip-ng INTERFACE ${Minizip_LIBRARIES} ) target_link_libraries( ll::libxml INTERFACE ${Libxml2_LIBRARIES} ) - 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-r8.tar.gz ) + 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-r8.tar.gz) file(DOWNLOAD https://github.com/secondlife/3p-colladadom/archive/refs/tags/v2.3-r8.tar.gz ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8.tar.gz ) - endif() + endif () file(ARCHIVE_EXTRACT INPUT ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8.tar.gz DESTINATION ${CMAKE_BINARY_DIR} ) - if ( WINDOWS ) + if (WINDOWS) execute_process( - COMMAND sed -i "s/SHARED/STATIC/g" CMakeLists.txt - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4 + COMMAND sed -i "s/SHARED/STATIC/" 1.4/CMakeLists.txt + COMMAND sed -i "/#include <cstdarg>/a #define WIN32" dae/daeUtils.cpp + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src ) - set(BOOST_LIBRARY_SUFFIX -vc143-mt-x64-1_88) else () execute_process( - COMMAND sed -i "" -e "s/SHARED/STATIC/g" CMakeLists.txt - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4 + COMMAND sed -i "" -e "s/SHARED/STATIC/" src/1.4/CMakeLists.txt + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8 ) endif () - if( DARWIN ) + if (DARWIN) set(BOOST_CFLAGS -I${Libxml2_LIBRARY_DIRS}exec/boost/1.87/include) set(BOOST_LIBS -L${Minizip_LIBRARY_DIRS}exec/boost/1.87/lib) set(BOOST_LIBRARY_SUFFIX -mt) - endif() + elseif (WINDOWS) + set(BOOST_CFLAGS -I${prefix_result}/../include) + set(BOOST_LIBS -L${prefix_result}) + set(BOOST_LIBRARY_SUFFIX -vc143-mt-x64-1_88) + endif () file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/collada/1.4) try_compile(COLLADADOM_RESULT PROJECT colladadom @@ -78,7 +82,26 @@ elseif ( NOT WINDOWS ) -DOPT_COLLADA14:BOOL=ON -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:PATH=${LIBS_PREBUILT_DIR}/include/collada ) - if( ${COLLADADOM_RESULT} ) + if (WINDOWS) + execute_process( + COMMAND MSBuild.exe ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/Project.sln -p:Configuration=Release + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8 + OUTPUT_VARIABLE colladadom_installed + ) + file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/include/collada) + file( + COPY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/include + DESTINATION ${LIBS_PREBUILT_DIR}/include + ) + file(RENAME + ${LIBS_PREBUILT_DIR}/include/include + ${LIBS_PREBUILT_DIR}/include/collada + ) + file(RENAME + ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4/Release/collada14dom.lib + ${ARCH_PREBUILT_DIRS_RELEASE}/libcollada14dom23-s.lib + ) + elseif (${COLLADADOM_RESULT}) execute_process( COMMAND ${CMAKE_MAKE_PROGRAM} install WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8 @@ -88,17 +111,15 @@ elseif ( NOT WINDOWS ) ${ARCH_PREBUILT_DIRS}/libcollada14dom.a ${ARCH_PREBUILT_DIRS_RELEASE}/libcollada14dom.a ) - file(WRITE ${PREBUILD_TRACKING_DIR}/colladadom_installed "${colladadom_installed}") - endif() - endif() -endif() + endif () + file(WRITE ${PREBUILD_TRACKING_DIR}/colladadom_installed "${colladadom_installed}") + endif () +endif () -#use_system_binary( colladadom ) +if (FALSE) +use_system_binary( colladadom ) -if (WINDOWS) use_prebuilt_binary(colladadom) -endif () -if( FALSE ) use_prebuilt_binary(minizip-ng) # needed for colladadom use_prebuilt_binary(libxml2) @@ -113,7 +134,7 @@ if (WINDOWS) else() target_link_libraries( ll::libxml INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/libxml2.a) endif() -endif( FALSE ) +endif (FALSE) target_include_directories( ll::colladadom SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/collada diff --git a/indra/cmake/LLWindow.cmake b/indra/cmake/LLWindow.cmake index 34df3ad33b..007b8dfba6 100644 --- a/indra/cmake/LLWindow.cmake +++ b/indra/cmake/LLWindow.cmake @@ -1,7 +1,7 @@ # -*- cmake -*- include(Variables) -include(GLH) +include(GLEXT) include(Prebuilt) include_guard() diff --git a/indra/cmake/LibVLCPlugin.cmake b/indra/cmake/LibVLCPlugin.cmake index 5ed77af0c2..45ef25a63c 100644 --- a/indra/cmake/LibVLCPlugin.cmake +++ b/indra/cmake/LibVLCPlugin.cmake @@ -27,6 +27,12 @@ if (DARWIN) target_include_directories( ll::libvlc SYSTEM INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/include) target_link_directories( ll::libvlc INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/lib) target_link_libraries( ll::libvlc INTERFACE vlc vlccore ) +elseif (WINDOWS) +use_prebuilt_binary(vlc-bin) + target_link_libraries( ll::libvlc INTERFACE + libvlc.lib + libvlccore.lib + ) else () include(FindPkgConfig) pkg_check_modules(Libvlc REQUIRED libvlc vlc-plugin) @@ -35,7 +41,6 @@ else () target_link_libraries( ll::libvlc INTERFACE ${Libvlc_LIBRARIES} ) endif () -#use_prebuilt_binary(vlc-bin) set(LIBVLCPLUGIN ON CACHE BOOL "LIBVLCPLUGIN support for the llplugin/llmedia test apps.") |