Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm
# Conflicts: # .gitignore # indra/cmake/00-Common.cmake # indra/cmake/CMakeLists.txt # indra/cmake/GLEXT.cmake # indra/cmake/LLCommon.cmake # indra/cmake/LLMath.cmake # indra/cmake/LLRender.cmake # indra/cmake/Tracy.cmake # indra/llprimitive/CMakeLists.txt # indra/llrender/llglheaders.h # indra/llrender/llglslshader.cpp # indra/newview/VIEWER_VERSION.txt # indra/newview/llface.cpp # indra/newview/lltexturefetch.h # indra/newview/llviewerobjectlist.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/llvopartgroup.cpp # indra/newview/llxmlrpctransaction.cppmaster
commit
68e5f326b3
|
|
@ -5,6 +5,7 @@ env:
|
||||||
EXTRA_ARGS: -DFMODSTUDIO=ON -DUSE_KDU=ON --crashreporting
|
EXTRA_ARGS: -DFMODSTUDIO=ON -DUSE_KDU=ON --crashreporting
|
||||||
build_secrets_checkout: ${{github.workspace}}/signing
|
build_secrets_checkout: ${{github.workspace}}/signing
|
||||||
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build_matrix:
|
build_matrix:
|
||||||
strategy:
|
strategy:
|
||||||
|
|
@ -31,6 +32,18 @@ jobs:
|
||||||
- name: Check python version
|
- name: Check python version
|
||||||
run: python -V
|
run: python -V
|
||||||
|
|
||||||
|
- name: Free Disk Space (Ubuntu)
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
uses: jlumbroso/free-disk-space@main
|
||||||
|
with:
|
||||||
|
swap-storage: false
|
||||||
|
|
||||||
|
- name: Set gcc version on Linux
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
run: |
|
||||||
|
echo "CC=gcc-10" >> $GITHUB_ENV
|
||||||
|
echo "CXX=g++-10" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Install Bash 4 and GNU sed on Mac
|
- name: Install Bash 4 and GNU sed on Mac
|
||||||
if: runner.os == 'macOS'
|
if: runner.os == 'macOS'
|
||||||
run: |
|
run: |
|
||||||
|
|
@ -117,12 +130,14 @@ jobs:
|
||||||
security set-key-partition-list -S apple-tool:,apple:, -s -k "$FS_KEYCHAIN_PASS" -t private ~/Library/Keychains/viewer.keychain
|
security set-key-partition-list -S apple-tool:,apple:, -s -k "$FS_KEYCHAIN_PASS" -t private ~/Library/Keychains/viewer.keychain
|
||||||
security list-keychain -d user -s ~/Library/Keychains/viewer.keychain
|
security list-keychain -d user -s ~/Library/Keychains/viewer.keychain
|
||||||
|
|
||||||
- name: Install required Ubuntu packages
|
- name: Install required Ubuntu packages and release some space.
|
||||||
if: runner.os == 'Linux'
|
if: runner.os == 'Linux'
|
||||||
run: |
|
run: |
|
||||||
dependencies=("python3-setuptools" "mesa-common-dev" "libgl1-mesa-dev" "libxinerama-dev" "libxrandr-dev" "libpulse-dev" "libglu1-mesa-dev" "libfreetype6-dev" "libfontconfig1")
|
dependencies=("python3-setuptools" "mesa-common-dev" "libgl1-mesa-dev" "libxinerama-dev" "libxrandr-dev" "libpulse-dev" "libglu1-mesa-dev" "libfreetype6-dev" "libfontconfig1")
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y "${dependencies[@]}"
|
sudo apt-get install -y "${dependencies[@]}"
|
||||||
|
sudo apt-get autoremove --purge
|
||||||
|
sudo apt-get clean
|
||||||
|
|
||||||
- name: test macOS bundles are present
|
- name: test macOS bundles are present
|
||||||
if: runner.os == 'MacOS'
|
if: runner.os == 'MacOS'
|
||||||
|
|
@ -168,7 +183,9 @@ jobs:
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
shell: bash
|
shell: bash
|
||||||
|
- name: Clean up packages to give more space
|
||||||
|
run: rm *${{ env.fallback_platform }}*bz2
|
||||||
|
shell: bash
|
||||||
- name: Configure
|
- name: Configure
|
||||||
run: autobuild configure --debug -c ReleaseFS -A${{matrix.addrsize}} -- --package --chan ${{env.FS_RELEASE_CHAN}} ${{env.EXTRA_ARGS}} ${{env.FS_GRID}}
|
run: autobuild configure --debug -c ReleaseFS -A${{matrix.addrsize}} -- --package --chan ${{env.FS_RELEASE_CHAN}} ${{env.EXTRA_ARGS}} ${{env.FS_GRID}}
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
|
||||||
|
|
@ -35,9 +35,8 @@ indra/packages/*
|
||||||
build-vc80/
|
build-vc80/
|
||||||
build-vc100/
|
build-vc100/
|
||||||
build-vc120/
|
build-vc120/
|
||||||
build-vc[0-9]*-32*/
|
build-vc*-32/
|
||||||
build-vc[0-9]*-64*/
|
build-vc*-64/
|
||||||
build-vc160-64/
|
|
||||||
indra/CMakeFiles
|
indra/CMakeFiles
|
||||||
indra/build-vc[0-9]*
|
indra/build-vc[0-9]*
|
||||||
indra/lib/mono/1.0/*.dll
|
indra/lib/mono/1.0/*.dll
|
||||||
|
|
|
||||||
192
autobuild.xml
192
autobuild.xml
|
|
@ -45,7 +45,7 @@
|
||||||
<string>gstreamer10</string>
|
<string>gstreamer10</string>
|
||||||
<key>platforms</key>
|
<key>platforms</key>
|
||||||
<map>
|
<map>
|
||||||
<key>linux</key>
|
<key>linux64</key>
|
||||||
<map>
|
<map>
|
||||||
<key>archive</key>
|
<key>archive</key>
|
||||||
<map>
|
<map>
|
||||||
|
|
@ -55,7 +55,7 @@
|
||||||
<string>http://downloads.phoenixviewer.com/gstreamer10-1.6.3.201605191852-linux-201605191852.tar.bz2</string>
|
<string>http://downloads.phoenixviewer.com/gstreamer10-1.6.3.201605191852-linux-201605191852.tar.bz2</string>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>linux</string>
|
<string>linux64</string>
|
||||||
</map>
|
</map>
|
||||||
</map>
|
</map>
|
||||||
<key>version</key>
|
<key>version</key>
|
||||||
|
|
@ -83,7 +83,7 @@
|
||||||
<string>http://3p.firestormviewer.org/breakpad-4708e6fb-linux64_bionic-220392253.tar.bz2</string>
|
<string>http://3p.firestormviewer.org/breakpad-4708e6fb-linux64_bionic-220392253.tar.bz2</string>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>linux</string>
|
<string>linux64</string>
|
||||||
</map>
|
</map>
|
||||||
</map>
|
</map>
|
||||||
<key>version</key>
|
<key>version</key>
|
||||||
|
|
@ -111,7 +111,7 @@
|
||||||
<string>http://3p.firestormviewer.org/glib-2.56.0.220911433-linux64_bionic-220911433.tar.bz2</string>
|
<string>http://3p.firestormviewer.org/glib-2.56.0.220911433-linux64_bionic-220911433.tar.bz2</string>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>linux</string>
|
<string>linux64</string>
|
||||||
</map>
|
</map>
|
||||||
</map>
|
</map>
|
||||||
<key>version</key>
|
<key>version</key>
|
||||||
|
|
@ -325,7 +325,7 @@
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>darwin</string>
|
<string>darwin</string>
|
||||||
</map>
|
</map>
|
||||||
<key>linux</key>
|
<key>linux64</key>
|
||||||
<map>
|
<map>
|
||||||
<key>archive</key>
|
<key>archive</key>
|
||||||
<map>
|
<map>
|
||||||
|
|
@ -335,7 +335,7 @@
|
||||||
<uri>http://3p.firestormviewer.org/libnotify-0.4.4-linux-20101003.tar.bz2</uri>
|
<uri>http://3p.firestormviewer.org/libnotify-0.4.4-linux-20101003.tar.bz2</uri>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>linux</string>
|
<string>linux64</string>
|
||||||
</map>
|
</map>
|
||||||
<key>windows</key>
|
<key>windows</key>
|
||||||
<map>
|
<map>
|
||||||
|
|
@ -724,9 +724,9 @@
|
||||||
<key>archive</key>
|
<key>archive</key>
|
||||||
<map>
|
<map>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<string>f283a064c30695bd7bf071f1bd481f32</string>
|
<string>a880dfc15fcb330baf548a85324cd88a</string>
|
||||||
<key>url</key>
|
<key>url</key>
|
||||||
<string>https://3p.firestormviewer.org/colladadom-2.3.222232011-darwin64-222232011.tar.bz2</string>
|
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/104133/913090/colladadom-2.3.574693-darwin64-574693.tar.bz2</string>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>darwin64</string>
|
<string>darwin64</string>
|
||||||
|
|
@ -748,9 +748,9 @@
|
||||||
<key>archive</key>
|
<key>archive</key>
|
||||||
<map>
|
<map>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<string>1c094d709a35b252bba7b6ef1871085c</string>
|
<string>7e84441d9c7cf019a7bdc7b818b16c27</string>
|
||||||
<key>url</key>
|
<key>url</key>
|
||||||
<string>https://3p.firestormviewer.org/colladadom-2.3.222231850-windows-222231850.tar.bz2</string>
|
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/104112/912957/colladadom-2.3.574693-windows-574693.tar.bz2</string>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>windows</string>
|
<string>windows</string>
|
||||||
|
|
@ -760,16 +760,16 @@
|
||||||
<key>archive</key>
|
<key>archive</key>
|
||||||
<map>
|
<map>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<string>a7596da3696fc423ec1bc7d6764c01ab</string>
|
<string>2eaffbb8a93b03a732d3c47055a8efcb</string>
|
||||||
<key>url</key>
|
<key>url</key>
|
||||||
<string>https://3p.firestormviewer.org/colladadom-2.3.222231903-windows64-222231903.tar.bz2</string>
|
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/104135/913103/colladadom-2.3.574693-windows64-574693.tar.bz2</string>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>windows64</string>
|
<string>windows64</string>
|
||||||
</map>
|
</map>
|
||||||
</map>
|
</map>
|
||||||
<key>version</key>
|
<key>version</key>
|
||||||
<string>2.3.569219</string>
|
<string>2.3.574693</string>
|
||||||
</map>
|
</map>
|
||||||
<key>cubemaptoequirectangular</key>
|
<key>cubemaptoequirectangular</key>
|
||||||
<map>
|
<map>
|
||||||
|
|
@ -1084,11 +1084,11 @@
|
||||||
<key>archive</key>
|
<key>archive</key>
|
||||||
<map>
|
<map>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<string>fec86a4837ae9c6932c10af11851c4d0</string>
|
<string>eebbcd0757dd28646ebb4505e7af140e</string>
|
||||||
<key>hash_algorithm</key>
|
<key>hash_algorithm</key>
|
||||||
<string>md5</string>
|
<string>md5</string>
|
||||||
<key>url</key>
|
<key>url</key>
|
||||||
<string>file:///opt/firestorm/fmodstudio-2.02.09-darwin64-5.tar.bz2</string>
|
<string>file:///opt/firestorm/fmodstudio-2.02.13-darwin64-6.tar.bz2</string>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>darwin</string>
|
<string>darwin</string>
|
||||||
|
|
@ -1098,11 +1098,11 @@
|
||||||
<key>archive</key>
|
<key>archive</key>
|
||||||
<map>
|
<map>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<string>e610f49fa7ed5b10b0cc6409b9bf4afc</string>
|
<string>5fee0f9587f50531211ff9e1e860692f</string>
|
||||||
<key>hash_algorithm</key>
|
<key>hash_algorithm</key>
|
||||||
<string>md5</string>
|
<string>md5</string>
|
||||||
<key>url</key>
|
<key>url</key>
|
||||||
<string>file:///opt/firestorm/fmodstudio-2.02.11-linux64-230190114.tar.bz2</string>
|
<string>file:///opt/firestorm/fmodstudio-2.02.13-linux64-230861132.tar.bz2</string>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>linux64</string>
|
<string>linux64</string>
|
||||||
|
|
@ -1112,11 +1112,11 @@
|
||||||
<key>archive</key>
|
<key>archive</key>
|
||||||
<map>
|
<map>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<string>8b2fff1a0a7e057da99fdade1f9e82ff</string>
|
<string>99c928b18a0d2f08b0ee33fca90c4118</string>
|
||||||
<key>hash_algorithm</key>
|
<key>hash_algorithm</key>
|
||||||
<string>md5</string>
|
<string>md5</string>
|
||||||
<key>url</key>
|
<key>url</key>
|
||||||
<string>file:///c:/cygwin/opt/firestorm/fmodstudio-2.02.11-windows-230181802.tar.bz2</string>
|
<string>file:///c:/cygwin/opt/firestorm/fmodstudio-2.02.13-windows-230860911.tar.bz2</string>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>windows</string>
|
<string>windows</string>
|
||||||
|
|
@ -1126,18 +1126,18 @@
|
||||||
<key>archive</key>
|
<key>archive</key>
|
||||||
<map>
|
<map>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<string>6cf457e2268ed83326c6d77f3475e8f5</string>
|
<string>01946a6427d126570607c02b75560f02</string>
|
||||||
<key>hash_algorithm</key>
|
<key>hash_algorithm</key>
|
||||||
<string>md5</string>
|
<string>md5</string>
|
||||||
<key>url</key>
|
<key>url</key>
|
||||||
<string>file:///c:/cygwin/opt/firestorm/fmodstudio-2.02.11-windows64-230181820.tar.bz2</string>
|
<string>file:///c:/cygwin/opt/firestorm/fmodstudio-2.02.13-windows64-230860913.tar.bz2</string>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>windows64</string>
|
<string>windows64</string>
|
||||||
</map>
|
</map>
|
||||||
</map>
|
</map>
|
||||||
<key>version</key>
|
<key>version</key>
|
||||||
<string>2.02.11</string>
|
<string>2.02.13</string>
|
||||||
</map>
|
</map>
|
||||||
<key>fontconfig</key>
|
<key>fontconfig</key>
|
||||||
<map>
|
<map>
|
||||||
|
|
@ -2077,9 +2077,9 @@
|
||||||
<key>archive</key>
|
<key>archive</key>
|
||||||
<map>
|
<map>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<string>da57838d80cf332f4a3026713a13f086</string>
|
<string>e51c6f5dfd76eb148348a44ff57e66c2</string>
|
||||||
<key>url</key>
|
<key>url</key>
|
||||||
<string>https://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/90708/824484/llphysicsextensions_source-1.0.565754-darwin64-565754.tar.bz2</string>
|
<string>https://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/104810/918016/llphysicsextensions_source-1.0.575107-darwin64-575107.tar.bz2</string>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>darwin64</string>
|
<string>darwin64</string>
|
||||||
|
|
@ -2101,9 +2101,9 @@
|
||||||
<key>archive</key>
|
<key>archive</key>
|
||||||
<map>
|
<map>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<string>28ad884012aa0bb70cf4101853af2f9a</string>
|
<string>dbbe4cc568ac149d862e421cdda4dd48</string>
|
||||||
<key>url</key>
|
<key>url</key>
|
||||||
<string>https://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/90733/824570/llphysicsextensions_source-1.0.565768-windows-565768.tar.bz2</string>
|
<string>https://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/104809/918011/llphysicsextensions_source-1.0.575107-windows-575107.tar.bz2</string>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>windows</string>
|
<string>windows</string>
|
||||||
|
|
@ -3033,6 +3033,16 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>windows64</string>
|
<string>windows64</string>
|
||||||
</map>
|
</map>
|
||||||
|
<key>linux64</key>
|
||||||
|
<map>
|
||||||
|
<key>archive</key>
|
||||||
|
<map>
|
||||||
|
<key>hash</key>
|
||||||
|
<string>46edf0f55417f8ef0d33a5c007bc3644</string>
|
||||||
|
<key>url</key>
|
||||||
|
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/89310/815451/threejs-0.132.2-windows64-564843.tar.bz2</string>
|
||||||
|
</map>
|
||||||
|
</map>
|
||||||
</map>
|
</map>
|
||||||
<key>version</key>
|
<key>version</key>
|
||||||
<string>0.132.2</string>
|
<string>0.132.2</string>
|
||||||
|
|
@ -3252,9 +3262,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
||||||
<key>archive</key>
|
<key>archive</key>
|
||||||
<map>
|
<map>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<string>2e8d817e7837dd6f4284b13fa3f5c15e</string>
|
<string>9e1b5515ab59b4e9cfeef6626d65d03d</string>
|
||||||
<key>url</key>
|
<key>url</key>
|
||||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/104765/917714/viewer_manager-3.0.575083-darwin64-575083.tar.bz2</string>
|
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/108609/945996/viewer_manager-3.0.577252-darwin64-577252.tar.bz2</string>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>darwin64</string>
|
<string>darwin64</string>
|
||||||
|
|
@ -3276,9 +3286,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
||||||
<key>archive</key>
|
<key>archive</key>
|
||||||
<map>
|
<map>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<string>3efa80faaf537e39a77218cd6efa9409</string>
|
<string>a3c599595ecc8fb987a5499fca42520a</string>
|
||||||
<key>url</key>
|
<key>url</key>
|
||||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/104766/917721/viewer_manager-3.0.575083-windows-575083.tar.bz2</string>
|
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/108610/946003/viewer_manager-3.0.577252-windows-577252.tar.bz2</string>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>windows</string>
|
<string>windows</string>
|
||||||
|
|
@ -3289,7 +3299,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
||||||
<key>source_type</key>
|
<key>source_type</key>
|
||||||
<string>hg</string>
|
<string>hg</string>
|
||||||
<key>version</key>
|
<key>version</key>
|
||||||
<string>3.0.575083</string>
|
<string>3.0.577252</string>
|
||||||
</map>
|
</map>
|
||||||
<key>vlc-bin</key>
|
<key>vlc-bin</key>
|
||||||
<map>
|
<map>
|
||||||
|
|
@ -3873,6 +3883,112 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>common</string>
|
<string>common</string>
|
||||||
</map>
|
</map>
|
||||||
|
<key>linux64</key>
|
||||||
|
<map>
|
||||||
|
<key>build_directory</key>
|
||||||
|
<string>build-linux-x86_64</string>
|
||||||
|
<key>configurations</key>
|
||||||
|
<map>
|
||||||
|
<key>Release</key>
|
||||||
|
<map>
|
||||||
|
<key>build</key>
|
||||||
|
<map>
|
||||||
|
<key>command</key>
|
||||||
|
<string>ninja</string>
|
||||||
|
</map>
|
||||||
|
<key>configure</key>
|
||||||
|
<map>
|
||||||
|
<key>arguments</key>
|
||||||
|
<array>
|
||||||
|
<string>../indra</string>
|
||||||
|
</array>
|
||||||
|
<key>options</key>
|
||||||
|
<array>
|
||||||
|
<string>-G</string>
|
||||||
|
<string>Ninja</string>
|
||||||
|
<string>-DLL_TESTS=Off</string>
|
||||||
|
</array>
|
||||||
|
</map>
|
||||||
|
<key>default</key>
|
||||||
|
<string>True</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Release</string>
|
||||||
|
</map>
|
||||||
|
<key>ReleaseOS</key>
|
||||||
|
<map>
|
||||||
|
<key>build</key>
|
||||||
|
<map>
|
||||||
|
<key>command</key>
|
||||||
|
<string>ninja</string>
|
||||||
|
</map>
|
||||||
|
<key>configure</key>
|
||||||
|
<map>
|
||||||
|
<key>options</key>
|
||||||
|
<array>
|
||||||
|
<string>-G</string>
|
||||||
|
<string>Ninja</string>
|
||||||
|
<string>-DLL_TESTS=Off</string>
|
||||||
|
</array>
|
||||||
|
</map>
|
||||||
|
<key>name</key>
|
||||||
|
<string>ReleaseOS</string>
|
||||||
|
</map>
|
||||||
|
<key>default</key>
|
||||||
|
<map>
|
||||||
|
<key>build</key>
|
||||||
|
<map>
|
||||||
|
</map>
|
||||||
|
<key>name</key>
|
||||||
|
<string>default</string>
|
||||||
|
</map>
|
||||||
|
<key>ReleaseFS</key>
|
||||||
|
<map>
|
||||||
|
<key>build</key>
|
||||||
|
<map>
|
||||||
|
<key>options</key>
|
||||||
|
<array>
|
||||||
|
<string>--build</string>
|
||||||
|
<string>--platform linux</string>
|
||||||
|
</array>
|
||||||
|
</map>
|
||||||
|
<key>configure</key>
|
||||||
|
<map>
|
||||||
|
<key>options</key>
|
||||||
|
<array>
|
||||||
|
<string>--kdu</string>
|
||||||
|
<string>--fmodstudio</string>
|
||||||
|
<string>--platform linux</string>
|
||||||
|
</array>
|
||||||
|
</map>
|
||||||
|
<key>name</key>
|
||||||
|
<string>ReleaseFS</string>
|
||||||
|
</map>
|
||||||
|
<key>ReleaseFS_open</key>
|
||||||
|
<map>
|
||||||
|
<key>build</key>
|
||||||
|
<map>
|
||||||
|
<key>options</key>
|
||||||
|
<array>
|
||||||
|
<string>--build</string>
|
||||||
|
<string>--platform linux</string>
|
||||||
|
<string>--package</string>
|
||||||
|
</array>
|
||||||
|
</map>
|
||||||
|
<key>configure</key>
|
||||||
|
<map>
|
||||||
|
<key>options</key>
|
||||||
|
<array>
|
||||||
|
<string>--platform linux</string>
|
||||||
|
<string>--package</string>
|
||||||
|
</array>
|
||||||
|
</map>
|
||||||
|
<key>name</key>
|
||||||
|
<string>ReleaseFS_open</string>
|
||||||
|
</map>
|
||||||
|
</map>
|
||||||
|
<key>name</key>
|
||||||
|
<string>linux64</string>
|
||||||
|
</map>
|
||||||
<key>darwin64</key>
|
<key>darwin64</key>
|
||||||
<map>
|
<map>
|
||||||
<key>build_directory</key>
|
<key>build_directory</key>
|
||||||
|
|
@ -4324,7 +4440,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
||||||
<key>windows</key>
|
<key>windows</key>
|
||||||
<map>
|
<map>
|
||||||
<key>build_directory</key>
|
<key>build_directory</key>
|
||||||
<string>build-vc${AUTOBUILD_VSVER|150}-$AUTOBUILD_ADDRSIZE</string>
|
<string>build-vc${AUTOBUILD_VSVER|170}-$AUTOBUILD_ADDRSIZE</string>
|
||||||
<key>configurations</key>
|
<key>configurations</key>
|
||||||
<map>
|
<map>
|
||||||
<key>RelWithDebInfo</key>
|
<key>RelWithDebInfo</key>
|
||||||
|
|
@ -4353,6 +4469,8 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
||||||
<array>
|
<array>
|
||||||
<string>-G</string>
|
<string>-G</string>
|
||||||
<string>${AUTOBUILD_WIN_CMAKE_GEN|NOTWIN}</string>
|
<string>${AUTOBUILD_WIN_CMAKE_GEN|NOTWIN}</string>
|
||||||
|
<string>-A</string>
|
||||||
|
<string>${AUTOBUILD_WIN_VSPLATFORM|NOTWIN}</string>
|
||||||
</array>
|
</array>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
|
|
@ -4389,9 +4507,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
||||||
<array>
|
<array>
|
||||||
<string>-G</string>
|
<string>-G</string>
|
||||||
<string>${AUTOBUILD_WIN_CMAKE_GEN|NOTWIN}</string>
|
<string>${AUTOBUILD_WIN_CMAKE_GEN|NOTWIN}</string>
|
||||||
|
<string>-A</string>
|
||||||
|
<string>${AUTOBUILD_WIN_VSPLATFORM|NOTWIN}</string>
|
||||||
<string>-DINSTALL_PROPRIETARY=FALSE</string>
|
<string>-DINSTALL_PROPRIETARY=FALSE</string>
|
||||||
<string>-DUSE_KDU=FALSE</string>
|
<string>-DUSE_KDU=FALSE</string>
|
||||||
<string>-DOPENAL:BOOL=ON</string>
|
<string>-DUSE_OPENAL:BOOL=ON</string>
|
||||||
</array>
|
</array>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
|
|
@ -4423,6 +4543,8 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
||||||
<array>
|
<array>
|
||||||
<string>-G</string>
|
<string>-G</string>
|
||||||
<string>${AUTOBUILD_WIN_CMAKE_GEN|NOTWIN}</string>
|
<string>${AUTOBUILD_WIN_CMAKE_GEN|NOTWIN}</string>
|
||||||
|
<string>-A</string>
|
||||||
|
<string>${AUTOBUILD_WIN_VSPLATFORM|NOTWIN}</string>
|
||||||
</array>
|
</array>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
|
|
@ -4459,10 +4581,12 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
||||||
<array>
|
<array>
|
||||||
<string>-G</string>
|
<string>-G</string>
|
||||||
<string>${AUTOBUILD_WIN_CMAKE_GEN|NOTWIN}</string>
|
<string>${AUTOBUILD_WIN_CMAKE_GEN|NOTWIN}</string>
|
||||||
|
<string>-A</string>
|
||||||
|
<string>${AUTOBUILD_WIN_VSPLATFORM|NOTWIN}</string>
|
||||||
<string>-DUNATTENDED:BOOL=ON</string>
|
<string>-DUNATTENDED:BOOL=ON</string>
|
||||||
<string>-DINSTALL_PROPRIETARY=FALSE</string>
|
<string>-DINSTALL_PROPRIETARY=FALSE</string>
|
||||||
<string>-DUSE_KDU=FALSE</string>
|
<string>-DUSE_KDU=FALSE</string>
|
||||||
<string>-DOPENAL:BOOL=ON</string>
|
<string>-DUSE_OPENAL:BOOL=ON</string>
|
||||||
</array>
|
</array>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
|
|
|
||||||
|
|
@ -1137,6 +1137,7 @@ Nicky Dasmijn
|
||||||
SL-14541
|
SL-14541
|
||||||
SL-16438
|
SL-16438
|
||||||
SL-17218
|
SL-17218
|
||||||
|
SL-17238
|
||||||
SL-17585
|
SL-17585
|
||||||
Nicky Perian
|
Nicky Perian
|
||||||
OPEN-1
|
OPEN-1
|
||||||
|
|
|
||||||
|
|
@ -4,24 +4,43 @@
|
||||||
# other commands to guarantee full compatibility
|
# other commands to guarantee full compatibility
|
||||||
# with the version specified
|
# with the version specified
|
||||||
## 3.8 added VS_DEBUGGER_WORKING_DIRECTORY support
|
## 3.8 added VS_DEBUGGER_WORKING_DIRECTORY support
|
||||||
cmake_minimum_required(VERSION 3.12.0 FATAL_ERROR)
|
## 3.13/12 is needed for add_link_options/add_compile_definitions
|
||||||
|
## 3.14 added FILE CREATE_LINK
|
||||||
set(CMAKE_CXX_STANDARD 17) #<FS> Enable c++17 on all platforms
|
## 3.16 is needed for target_precompile_headers
|
||||||
|
## Nicky: Ideally we want at least 3.21 for good preset support
|
||||||
|
## We're not there yet, but once done, there is a kludge in Linking.cmake
|
||||||
|
# "if(${CMAKE_VERSION} VERSION_LESS "3.20.0")" that can also be removed
|
||||||
|
cmake_minimum_required(VERSION 3.16.0 FATAL_ERROR)
|
||||||
|
|
||||||
set(ROOT_PROJECT_NAME "Firestorm" CACHE STRING
|
set(ROOT_PROJECT_NAME "Firestorm" CACHE STRING
|
||||||
"The root project/makefile/solution name. Defaults to Firestorm.")
|
"The root project/makefile/solution name. Defaults to Firestorm.")
|
||||||
project(${ROOT_PROJECT_NAME})
|
project(${ROOT_PROJECT_NAME})
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_CURRENT_BINARY_DIR}")
|
||||||
|
|
||||||
|
include(conanbuildinfo OPTIONAL RESULT_VARIABLE USE_CONAN )
|
||||||
|
if( USE_CONAN )
|
||||||
|
set( USE_CONAN ON )
|
||||||
|
set( USE_AUTOBUILD_3P OFF )
|
||||||
|
conan_basic_setup(TARGETS NO_OUTPUT_DIRS)
|
||||||
|
add_compile_definitions(LL_USESYSTEMLIBS USE_CONAN NO_AUTOBUILD_3P)
|
||||||
|
else()
|
||||||
|
set( USE_CONAN OFF )
|
||||||
|
set( USE_AUTOBUILD_3P ON )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# The viewer code base can now be successfully compiled with -std=c++14. But
|
||||||
|
# turning that on in the generic viewer-build-variables/variables file would
|
||||||
|
# potentially require tweaking each of our ~50 third-party library builds.
|
||||||
|
# Until we decide to set -std=c++14 in viewer-build-variables/variables, set
|
||||||
|
# it locally here: we want to at least prevent inadvertently reintroducing
|
||||||
|
# viewer code that would fail with C++14.
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
include(Variables)
|
include(Variables)
|
||||||
include(BuildVersion)
|
include(BuildVersion)
|
||||||
|
|
||||||
set(LEGACY_STDIO_LIBS)
|
|
||||||
if (WINDOWS)
|
|
||||||
set(LEGACY_STDIO_LIBS legacy_stdio_definitions)
|
|
||||||
endif (WINDOWS)
|
|
||||||
|
|
||||||
if (NOT CMAKE_BUILD_TYPE)
|
if (NOT CMAKE_BUILD_TYPE)
|
||||||
set(CMAKE_BUILD_TYPE Release CACHE STRING
|
set(CMAKE_BUILD_TYPE Release CACHE STRING
|
||||||
"Build type. One of: Release RelWithDebInfo" FORCE)
|
"Build type. One of: Release RelWithDebInfo" FORCE)
|
||||||
|
|
@ -123,10 +142,10 @@ add_subdirectory(${LIBS_OPEN_PREFIX}llplugin)
|
||||||
add_subdirectory(${LIBS_OPEN_PREFIX}llui)
|
add_subdirectory(${LIBS_OPEN_PREFIX}llui)
|
||||||
add_subdirectory(${LIBS_OPEN_PREFIX}viewer_components)
|
add_subdirectory(${LIBS_OPEN_PREFIX}viewer_components)
|
||||||
|
|
||||||
if (LL_TESTS OR NOT USESYSTEMLIBS)
|
if( LL_TESTS )
|
||||||
# Legacy C++ tests. Build always, run if LL_TESTS is true.
|
# Legacy C++ tests. Build always, run if LL_TESTS is true.
|
||||||
add_subdirectory(${VIEWER_PREFIX}test)
|
add_subdirectory(${VIEWER_PREFIX}test)
|
||||||
endif (LL_TESTS OR NOT USESYSTEMLIBS)
|
endif()
|
||||||
|
|
||||||
if (ENABLE_MEDIA_PLUGINS)
|
if (ENABLE_MEDIA_PLUGINS)
|
||||||
# viewer media plugins
|
# viewer media plugins
|
||||||
|
|
@ -138,7 +157,6 @@ if (LINUX)
|
||||||
include(LLAppearanceUtility)
|
include(LLAppearanceUtility)
|
||||||
add_subdirectory(${LLAPPEARANCEUTILITY_SRC_DIR} ${LLAPPEARANCEUTILITY_BIN_DIR})
|
add_subdirectory(${LLAPPEARANCEUTILITY_SRC_DIR} ${LLAPPEARANCEUTILITY_BIN_DIR})
|
||||||
endif (INSTALL_PROPRIETARY)
|
endif (INSTALL_PROPRIETARY)
|
||||||
# add_dependencies(viewer linux-crash-logger-strip-target)
|
|
||||||
elseif (WINDOWS)
|
elseif (WINDOWS)
|
||||||
# cmake EXISTS requires an absolute path, see indra/cmake/Variables.cmake
|
# cmake EXISTS requires an absolute path, see indra/cmake/Variables.cmake
|
||||||
if (EXISTS ${VIEWER_DIR}win_setup)
|
if (EXISTS ${VIEWER_DIR}win_setup)
|
||||||
|
|
@ -153,12 +171,6 @@ if (WINDOWS)
|
||||||
endif (EXISTS ${VIEWER_DIR}win_setup)
|
endif (EXISTS ${VIEWER_DIR}win_setup)
|
||||||
endif (WINDOWS)
|
endif (WINDOWS)
|
||||||
|
|
||||||
# sets the 'startup project' for debugging from visual studio.
|
|
||||||
set_property(
|
|
||||||
DIRECTORY ${VIEWER_PREFIX}
|
|
||||||
PROPERTY VS_STARTUP_PROJECT firestorm-bin
|
|
||||||
)
|
|
||||||
|
|
||||||
if (USE_BUGSPLAT)
|
if (USE_BUGSPLAT)
|
||||||
if (BUGSPLAT_DB)
|
if (BUGSPLAT_DB)
|
||||||
message(STATUS "Building with BugSplat; database '${BUGSPLAT_DB}'")
|
message(STATUS "Building with BugSplat; database '${BUGSPLAT_DB}'")
|
||||||
|
|
@ -178,6 +190,12 @@ set_target_properties(
|
||||||
|
|
||||||
add_subdirectory(${VIEWER_PREFIX}doxygen EXCLUDE_FROM_ALL)
|
add_subdirectory(${VIEWER_PREFIX}doxygen EXCLUDE_FROM_ALL)
|
||||||
|
|
||||||
|
# sets the 'startup project' for debugging from visual studio.
|
||||||
|
set_property(
|
||||||
|
DIRECTORY ${VIEWER_PREFIX}
|
||||||
|
PROPERTY VS_STARTUP_PROJECT ${VIEWER_BINARY_NAME}
|
||||||
|
)
|
||||||
|
|
||||||
if (LL_TESTS)
|
if (LL_TESTS)
|
||||||
# Define after the custom targets are created so
|
# Define after the custom targets are created so
|
||||||
# individual apps can add themselves as dependencies
|
# individual apps can add themselves as dependencies
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,7 @@
|
||||||
# Also realize that CMAKE_CXX_FLAGS may already be partially populated on
|
# Also realize that CMAKE_CXX_FLAGS may already be partially populated on
|
||||||
# entry to this file.
|
# entry to this file.
|
||||||
#*****************************************************************************
|
#*****************************************************************************
|
||||||
|
include_guard()
|
||||||
if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
|
|
||||||
set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES")
|
|
||||||
|
|
||||||
include(Variables)
|
include(Variables)
|
||||||
|
|
||||||
|
|
@ -34,25 +32,22 @@ endif (WINDOWS)
|
||||||
# as well?
|
# as well?
|
||||||
|
|
||||||
# Portable compilation flags.
|
# Portable compilation flags.
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DADDRESS_SIZE=${ADDRESS_SIZE}")
|
add_compile_definitions( ADDRESS_SIZE=${ADDRESS_SIZE})
|
||||||
|
|
||||||
# Configure crash reporting
|
# Configure crash reporting
|
||||||
set(RELEASE_CRASH_REPORTING OFF CACHE BOOL "Enable use of crash reporting in release builds")
|
set(RELEASE_CRASH_REPORTING OFF CACHE BOOL "Enable use of crash reporting in release builds")
|
||||||
set(NON_RELEASE_CRASH_REPORTING OFF CACHE BOOL "Enable use of crash reporting in developer builds")
|
set(NON_RELEASE_CRASH_REPORTING OFF CACHE BOOL "Enable use of crash reporting in developer builds")
|
||||||
|
|
||||||
if(RELEASE_CRASH_REPORTING)
|
if(RELEASE_CRASH_REPORTING)
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DLL_SEND_CRASH_REPORTS=1")
|
add_compile_definitions( LL_SEND_CRASH_REPORTS=1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NON_RELEASE_CRASH_REPORTING)
|
if(NON_RELEASE_CRASH_REPORTING)
|
||||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DLL_SEND_CRASH_REPORTS=1")
|
add_compile_definitions( LL_SEND_CRASH_REPORTS=1)
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DLL_SEND_CRASH_REPORTS=1")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Don't bother with MinSizeRel or Debug builds.
|
# Don't bother with a MinSizeRel or Debug builds.
|
||||||
set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release" CACHE STRING
|
set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release" CACHE STRING "Supported build types." FORCE)
|
||||||
"Supported build types." FORCE)
|
|
||||||
|
|
||||||
|
|
||||||
# Platform-specific compilation flags.
|
# Platform-specific compilation flags.
|
||||||
|
|
||||||
|
|
@ -82,45 +77,34 @@ if (WINDOWS)
|
||||||
# CP changed to only append the flag for 32bit builds - on 64bit builds,
|
# CP changed to only append the flag for 32bit builds - on 64bit builds,
|
||||||
# locally at least, the build output is spammed with 1000s of 'D9002'
|
# locally at least, the build output is spammed with 1000s of 'D9002'
|
||||||
# warnings about this switch being ignored.
|
# warnings about this switch being ignored.
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
|
|
||||||
# <FS:ND> Remove this, it's no option to cl.exe and causes a massive amount of warnings.
|
# <FS:ND> Remove this, it's no option to cl.exe and causes a massive amount of warnings.
|
||||||
#if( ADDRESS_SIZE EQUAL 32 )
|
#if( ADDRESS_SIZE EQUAL 32 )
|
||||||
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /p:PreferredToolArchitecture=x64")
|
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /p:PreferredToolArchitecture=x64")
|
||||||
#endif()
|
#endif()
|
||||||
|
|
||||||
# Preserve first-pass-through versions (ie no FORCE overwrite). Prevents recursive addition of /Zo (04/2021)
|
|
||||||
set(OG_CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE} CACHE STRING "OG_CXX_FLAGS_RELEASE")
|
|
||||||
set(OG_CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} CACHE STRING "OG_CXX_FLAGS_RELWITHDEBINFO")
|
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
|
||||||
"${OG_CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Zo"
|
|
||||||
CACHE STRING "C++ compiler release-with-debug options" FORCE)
|
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE
|
|
||||||
"${OG_CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /Zo"
|
|
||||||
CACHE STRING "C++ compiler release options" FORCE)
|
|
||||||
|
|
||||||
# zlib has assembly-language object files incompatible with SAFESEH
|
# zlib has assembly-language object files incompatible with SAFESEH
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE /SAFESEH:NO /NODEFAULTLIB:LIBCMT /IGNORE:4099")
|
add_link_options(/LARGEADDRESSAWARE
|
||||||
|
/SAFESEH:NO
|
||||||
set(CMAKE_CXX_STANDARD_LIBRARIES "")
|
/NODEFAULTLIB:LIBCMT
|
||||||
set(CMAKE_C_STANDARD_LIBRARIES "")
|
/IGNORE:4099)
|
||||||
|
|
||||||
add_definitions(
|
add_definitions(
|
||||||
/DNOMINMAX
|
-DNOMINMAX
|
||||||
# /DDOM_DYNAMIC # For shared library colladadom
|
# /DDOM_DYNAMIC # For shared library colladadom
|
||||||
)
|
)
|
||||||
add_compile_options(
|
add_compile_options(
|
||||||
/GS
|
/Zo
|
||||||
/TP
|
/GS
|
||||||
/W3
|
/TP
|
||||||
/c
|
/W3
|
||||||
/Zc:forScope
|
/c
|
||||||
/nologo
|
/Zc:forScope
|
||||||
/Oy-
|
/nologo
|
||||||
/Oi
|
/Oy-
|
||||||
/Ot
|
/Oi
|
||||||
# /arch:SSE2
|
/Ot
|
||||||
/fp:fast
|
/fp:fast
|
||||||
|
/MP
|
||||||
)
|
)
|
||||||
|
|
||||||
# <FS:Ansariel> AVX/AVX2 support
|
# <FS:Ansariel> AVX/AVX2 support
|
||||||
|
|
@ -138,8 +122,19 @@ if (WINDOWS)
|
||||||
|
|
||||||
# Are we using the crummy Visual Studio KDU build workaround?
|
# Are we using the crummy Visual Studio KDU build workaround?
|
||||||
if (NOT VS_DISABLE_FATAL_WARNINGS)
|
if (NOT VS_DISABLE_FATAL_WARNINGS)
|
||||||
add_definitions(/WX)
|
add_compile_options(/WX)
|
||||||
endif (NOT VS_DISABLE_FATAL_WARNINGS)
|
endif (NOT VS_DISABLE_FATAL_WARNINGS)
|
||||||
|
|
||||||
|
#ND: When using something like buildcache (https://github.com/mbitsnbites/buildcache)
|
||||||
|
# to make those wrappers work /Zi must be changed to /Z7, as /Zi due to it's nature is not compatible with caching
|
||||||
|
if( ${CMAKE_CXX_COMPILER_LAUNCHER} MATCHES ".*cache.*")
|
||||||
|
add_compile_options( /Z7 )
|
||||||
|
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
|
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
|
||||||
|
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
|
||||||
|
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
|
||||||
|
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
||||||
|
endif()
|
||||||
endif (WINDOWS)
|
endif (WINDOWS)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -153,8 +148,8 @@ if (LINUX)
|
||||||
COMMAND echo "int main( char **a, int c ){ \n#ifdef _FORTIFY_SOURCE\n#error FORTITY_SOURCE_SET\n#else\nreturn 0;\n#endif\n}"
|
COMMAND echo "int main( char **a, int c ){ \n#ifdef _FORTIFY_SOURCE\n#error FORTITY_SOURCE_SET\n#else\nreturn 0;\n#endif\n}"
|
||||||
COMMAND sh -c "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} -xc++ -w - -o /dev/null"
|
COMMAND sh -c "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} -xc++ -w - -o /dev/null"
|
||||||
OUTPUT_VARIABLE FORTIFY_SOURCE_OUT
|
OUTPUT_VARIABLE FORTIFY_SOURCE_OUT
|
||||||
ERROR_VARIABLE FORTIFY_SOURCE_ERR
|
ERROR_VARIABLE FORTIFY_SOURCE_ERR
|
||||||
RESULT_VARIABLE FORTIFY_SOURCE_RES
|
RESULT_VARIABLE FORTIFY_SOURCE_RES
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -190,15 +185,13 @@ if (LINUX)
|
||||||
if (ADDRESS_SIZE EQUAL 32)
|
if (ADDRESS_SIZE EQUAL 32)
|
||||||
add_compile_options(-march=pentium4)
|
add_compile_options(-march=pentium4)
|
||||||
endif (ADDRESS_SIZE EQUAL 32)
|
endif (ADDRESS_SIZE EQUAL 32)
|
||||||
#add_compile_options(-ftree-vectorize) # THIS CRASHES GCC 3.1-3.2
|
|
||||||
if (NOT USESYSTEMLIBS)
|
# this stops us requiring a really recent glibc at runtime
|
||||||
# this stops us requiring a really recent glibc at runtime
|
add_compile_options(-fno-stack-protector)
|
||||||
add_compile_options(-fno-stack-protector)
|
# linking can be very memory-hungry, especially the final viewer link
|
||||||
# linking can be very memory-hungry, especially the final viewer link
|
#set(CMAKE_CXX_LINK_FLAGS "-Wl,--no-keep-memory")
|
||||||
#set(CMAKE_CXX_LINK_FLAGS "-Wl,--no-keep-memory")
|
set(CMAKE_CXX_LINK_FLAGS "-Wl,--no-keep-memory -Wl,--build-id -Wl,-rpath,'$ORIGIN:$ORIGIN/../lib' -Wl,--exclude-libs,ALL")
|
||||||
set(CMAKE_CXX_LINK_FLAGS "-Wl,--no-keep-memory -Wl,--build-id -Wl,-rpath,'$ORIGIN:$ORIGIN/../lib' -Wl,--exclude-libs,ALL")
|
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-keep-memory -Wl,--build-id -Wl,-rpath,'$ORIGIN:$ORIGIN/../lib' -Wl,--exclude-libs,ALL")
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-keep-memory -Wl,--build-id -Wl,-rpath,'$ORIGIN:$ORIGIN/../lib' -Wl,--exclude-libs,ALL")
|
|
||||||
endif (NOT USESYSTEMLIBS)
|
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-fno-inline ${CMAKE_CXX_FLAGS_DEBUG}")
|
set(CMAKE_CXX_FLAGS_DEBUG "-fno-inline ${CMAKE_CXX_FLAGS_DEBUG}")
|
||||||
endif (LINUX)
|
endif (LINUX)
|
||||||
|
|
@ -216,13 +209,7 @@ if (DARWIN)
|
||||||
# see Variables.cmake.
|
# see Variables.cmake.
|
||||||
string(REPLACE "-gdwarf-2" "-g${CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT}"
|
string(REPLACE "-gdwarf-2" "-g${CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT}"
|
||||||
CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
# The viewer code base can now be successfully compiled with -std=c++14. But
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DARWIN_extra_cstar_flags}")
|
||||||
# turning that on in the generic viewer-build-variables/variables file would
|
|
||||||
# potentially require tweaking each of our ~50 third-party library builds.
|
|
||||||
# Until we decide to set -std=c++14 in viewer-build-variables/variables, set
|
|
||||||
# it locally here: we want to at least prevent inadvertently reintroducing
|
|
||||||
# viewer code that would fail with C++14.
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DARWIN_extra_cstar_flags} -std=c++14")
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${DARWIN_extra_cstar_flags}")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${DARWIN_extra_cstar_flags}")
|
||||||
# NOTE: it's critical that the optimization flag is put in front.
|
# NOTE: it's critical that the optimization flag is put in front.
|
||||||
# NOTE: it's critical to have both CXX_FLAGS and C_FLAGS covered.
|
# NOTE: it's critical to have both CXX_FLAGS and C_FLAGS covered.
|
||||||
|
|
@ -231,7 +218,6 @@ set(ENABLE_SIGNING TRUE)
|
||||||
set(SIGNING_IDENTITY "Developer ID Application: The Phoenix Firestorm Project, Inc." )
|
set(SIGNING_IDENTITY "Developer ID Application: The Phoenix Firestorm Project, Inc." )
|
||||||
endif (DARWIN)
|
endif (DARWIN)
|
||||||
|
|
||||||
|
|
||||||
if (LINUX OR DARWIN)
|
if (LINUX OR DARWIN)
|
||||||
if (CMAKE_CXX_COMPILER MATCHES ".*clang")
|
if (CMAKE_CXX_COMPILER MATCHES ".*clang")
|
||||||
set(CMAKE_COMPILER_IS_CLANGXX 1)
|
set(CMAKE_COMPILER_IS_CLANGXX 1)
|
||||||
|
|
@ -258,6 +244,10 @@ if (LINUX OR DARWIN)
|
||||||
set(GCC_CXX_WARNINGS "${GCC_WARNINGS} -Wno-reorder -Wno-non-virtual-dtor -Wno-unused-variable -Wno-unused-but-set-variable -Wno-pragmas -Wno-deprecated")
|
set(GCC_CXX_WARNINGS "${GCC_WARNINGS} -Wno-reorder -Wno-non-virtual-dtor -Wno-unused-variable -Wno-unused-but-set-variable -Wno-pragmas -Wno-deprecated")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0)
|
||||||
|
set(GCC_CXX_WARNINGS "${GCC_CXX_WARNINGS} -Wno-c++20-compat")
|
||||||
|
endif()
|
||||||
|
|
||||||
set(CMAKE_C_FLAGS "${GCC_WARNINGS} ${CMAKE_C_FLAGS}")
|
set(CMAKE_C_FLAGS "${GCC_WARNINGS} ${CMAKE_C_FLAGS}")
|
||||||
set(CMAKE_CXX_FLAGS "${GCC_CXX_WARNINGS} ${CMAKE_CXX_FLAGS}")
|
set(CMAKE_CXX_FLAGS "${GCC_CXX_WARNINGS} ${CMAKE_CXX_FLAGS}")
|
||||||
|
|
||||||
|
|
@ -266,24 +256,3 @@ if (LINUX OR DARWIN)
|
||||||
endif (LINUX OR DARWIN)
|
endif (LINUX OR DARWIN)
|
||||||
|
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
|
||||||
add_definitions(-DLL_USESYSTEMLIBS=1)
|
|
||||||
|
|
||||||
if (LINUX AND ADDRESS_SIZE EQUAL 32)
|
|
||||||
add_definitions(-march=pentiumpro)
|
|
||||||
endif (LINUX AND ADDRESS_SIZE EQUAL 32)
|
|
||||||
|
|
||||||
else (USESYSTEMLIBS)
|
|
||||||
set(${ARCH}_linux_INCLUDES
|
|
||||||
atk-1.0
|
|
||||||
cairo
|
|
||||||
freetype
|
|
||||||
glib-2.0
|
|
||||||
gstreamer-0.10
|
|
||||||
gtk-2.0
|
|
||||||
pango-1.0
|
|
||||||
)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
||||||
endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,54 +1,46 @@
|
||||||
include(Linking)
|
include(Linking)
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
set(APR_FIND_QUIETLY ON)
|
include_guard()
|
||||||
set(APR_FIND_REQUIRED ON)
|
|
||||||
|
|
||||||
set(APRUTIL_FIND_QUIETLY ON)
|
add_library( ll::apr INTERFACE IMPORTED )
|
||||||
set(APRUTIL_FIND_REQUIRED ON)
|
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
use_system_binary( apr apr-util )
|
||||||
include(FindAPR)
|
use_prebuilt_binary(apr_suite)
|
||||||
else (USESYSTEMLIBS)
|
|
||||||
use_prebuilt_binary(apr_suite)
|
|
||||||
if (WINDOWS)
|
|
||||||
if (LLCOMMON_LINK_SHARED)
|
|
||||||
set(APR_selector "lib")
|
|
||||||
else (LLCOMMON_LINK_SHARED)
|
|
||||||
set(APR_selector "")
|
|
||||||
endif (LLCOMMON_LINK_SHARED)
|
|
||||||
set(APR_LIBRARIES
|
|
||||||
debug ${ARCH_PREBUILT_DIRS_DEBUG}/${APR_selector}apr-1.lib
|
|
||||||
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/${APR_selector}apr-1.lib
|
|
||||||
)
|
|
||||||
set(APRICONV_LIBRARIES
|
|
||||||
debug ${ARCH_PREBUILT_DIRS_DEBUG}/${APR_selector}apriconv-1.lib
|
|
||||||
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/${APR_selector}apriconv-1.lib
|
|
||||||
)
|
|
||||||
set(APRUTIL_LIBRARIES
|
|
||||||
debug ${ARCH_PREBUILT_DIRS_DEBUG}/${APR_selector}aprutil-1.lib ${APRICONV_LIBRARIES}
|
|
||||||
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/${APR_selector}aprutil-1.lib ${APRICONV_LIBRARIES}
|
|
||||||
)
|
|
||||||
elseif (DARWIN)
|
|
||||||
if (LLCOMMON_LINK_SHARED)
|
|
||||||
set(APR_selector "0.dylib")
|
|
||||||
set(APRUTIL_selector "0.dylib")
|
|
||||||
else (LLCOMMON_LINK_SHARED)
|
|
||||||
set(APR_selector "a")
|
|
||||||
set(APRUTIL_selector "a")
|
|
||||||
endif (LLCOMMON_LINK_SHARED)
|
|
||||||
set(APR_LIBRARIES libapr-1.${APR_selector})
|
|
||||||
set(APRUTIL_LIBRARIES libaprutil-1.${APRUTIL_selector})
|
|
||||||
set(APRICONV_LIBRARIES iconv)
|
|
||||||
else (WINDOWS)
|
|
||||||
set(APR_LIBRARIES apr-1)
|
|
||||||
set(APRUTIL_LIBRARIES aprutil-1)
|
|
||||||
set(APRICONV_LIBRARIES iconv)
|
|
||||||
endif (WINDOWS)
|
|
||||||
set(APR_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/apr-1)
|
|
||||||
|
|
||||||
if (LINUX)
|
if (WINDOWS)
|
||||||
list(APPEND APRUTIL_LIBRARIES uuid)
|
if (LLCOMMON_LINK_SHARED)
|
||||||
list(APPEND APRUTIL_LIBRARIES rt)
|
set(APR_selector "lib")
|
||||||
endif (LINUX)
|
else (LLCOMMON_LINK_SHARED)
|
||||||
endif (USESYSTEMLIBS)
|
set(APR_selector "")
|
||||||
|
endif (LLCOMMON_LINK_SHARED)
|
||||||
|
target_link_libraries( ll::apr INTERFACE
|
||||||
|
${ARCH_PREBUILT_DIRS_RELEASE}/${APR_selector}apr-1.lib
|
||||||
|
${ARCH_PREBUILT_DIRS_RELEASE}/${APR_selector}apriconv-1.lib
|
||||||
|
${ARCH_PREBUILT_DIRS_RELEASE}/${APR_selector}aprutil-1.lib
|
||||||
|
)
|
||||||
|
elseif (DARWIN)
|
||||||
|
if (LLCOMMON_LINK_SHARED)
|
||||||
|
set(APR_selector "0.dylib")
|
||||||
|
set(APRUTIL_selector "0.dylib")
|
||||||
|
else (LLCOMMON_LINK_SHARED)
|
||||||
|
set(APR_selector "a")
|
||||||
|
set(APRUTIL_selector "a")
|
||||||
|
endif (LLCOMMON_LINK_SHARED)
|
||||||
|
|
||||||
|
target_link_libraries( ll::apr INTERFACE
|
||||||
|
libapr-1.${APR_selector}
|
||||||
|
libaprutil-1.${APRUTIL_selector}
|
||||||
|
iconv
|
||||||
|
)
|
||||||
|
else (WINDOWS)
|
||||||
|
# linux
|
||||||
|
target_link_libraries( ll::apr INTERFACE
|
||||||
|
apr-1
|
||||||
|
aprutil-1
|
||||||
|
# iconv # <FS:Zi> Doesn't seem to be necessary for Linux
|
||||||
|
uuid
|
||||||
|
rt
|
||||||
|
)
|
||||||
|
endif (WINDOWS)
|
||||||
|
target_include_directories( ll::apr SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/apr-1 )
|
||||||
|
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
include(Prebuilt)
|
|
||||||
use_prebuilt_binary(libatmosphere)
|
|
||||||
set(LIBATMOSPHERE_LIBRARIES atmosphere)
|
|
||||||
set(LIBATMOSPHERE_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/atmosphere)
|
|
||||||
|
|
@ -1,42 +1,17 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
include_guard()
|
||||||
include(FindPkgConfig)
|
add_library( ll::vorbis INTERFACE IMPORTED )
|
||||||
pkg_check_modules(OGG REQUIRED ogg)
|
|
||||||
pkg_check_modules(VORBIS REQUIRED vorbis)
|
|
||||||
pkg_check_modules(VORBISENC REQUIRED vorbisenc)
|
|
||||||
pkg_check_modules(VORBISFILE REQUIRED vorbisfile)
|
|
||||||
else (USESYSTEMLIBS)
|
|
||||||
use_prebuilt_binary(ogg_vorbis)
|
|
||||||
set(VORBIS_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
|
|
||||||
set(VORBISENC_INCLUDE_DIRS ${VORBIS_INCLUDE_DIRS})
|
|
||||||
set(VORBISFILE_INCLUDE_DIRS ${VORBIS_INCLUDE_DIRS})
|
|
||||||
|
|
||||||
if (WINDOWS)
|
use_system_binary(vorbis)
|
||||||
set(OGG_LIBRARIES
|
use_prebuilt_binary(ogg_vorbis)
|
||||||
optimized ogg_static
|
target_include_directories( ll::vorbis SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include )
|
||||||
debug ogg_static_d)
|
|
||||||
set(VORBIS_LIBRARIES
|
if (WINDOWS)
|
||||||
optimized vorbis_static
|
target_link_libraries(ll::vorbis INTERFACE ogg_static vorbis_static vorbisenc_static vorbisfile_static )
|
||||||
debug vorbis_static_d)
|
else (WINDOWS)
|
||||||
set(VORBISENC_LIBRARIES
|
# <FS:Zi> These must be in this order, or it won't link: vorbisenc vorbisfile vorbis ogg
|
||||||
optimized vorbisenc_static
|
target_link_libraries(ll::vorbis INTERFACE vorbisenc vorbisfile vorbis ogg)
|
||||||
debug vorbisenc_static_d)
|
endif (WINDOWS)
|
||||||
set(VORBISFILE_LIBRARIES
|
|
||||||
optimized vorbisfile_static
|
|
||||||
debug vorbisfile_static_d)
|
|
||||||
else (WINDOWS)
|
|
||||||
set(OGG_LIBRARIES ogg)
|
|
||||||
set(VORBIS_LIBRARIES vorbis)
|
|
||||||
set(VORBISENC_LIBRARIES vorbisenc)
|
|
||||||
set(VORBISFILE_LIBRARIES vorbisfile)
|
|
||||||
endif (WINDOWS)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
||||||
link_directories(
|
|
||||||
${VORBIS_LIBRARY_DIRS}
|
|
||||||
${VORBISENC_LIBRARY_DIRS}
|
|
||||||
${VORBISFILE_LIBRARY_DIRS}
|
|
||||||
${OGG_LIBRARY_DIRS}
|
|
||||||
)
|
|
||||||
|
|
|
||||||
|
|
@ -1,114 +1,53 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
set(Boost_FIND_QUIETLY ON)
|
include_guard()
|
||||||
set(Boost_FIND_REQUIRED ON)
|
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
add_library( ll::boost INTERFACE IMPORTED )
|
||||||
include(FindBoost)
|
if( USE_CONAN )
|
||||||
|
target_link_libraries( ll::boost INTERFACE CONAN_PKG::boost )
|
||||||
|
target_compile_definitions( ll::boost INTERFACE BOOST_ALLOW_DEPRECATED_HEADERS BOOST_BIND_GLOBAL_PLACEHOLDERS )
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
set(BOOST_CONTEXT_LIBRARY boost_context-mt)
|
use_prebuilt_binary(boost)
|
||||||
set(BOOST_FIBER_LIBRARY boost_fiber-mt)
|
|
||||||
set(BOOST_FILESYSTEM_LIBRARY boost_filesystem-mt)
|
|
||||||
set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-mt)
|
|
||||||
set(BOOST_REGEX_LIBRARY boost_regex-mt)
|
|
||||||
set(BOOST_SIGNALS_LIBRARY boost_signals-mt)
|
|
||||||
set(BOOST_SYSTEM_LIBRARY boost_system-mt)
|
|
||||||
set(BOOST_THREAD_LIBRARY boost_thread-mt)
|
|
||||||
set(BOOST_WAVE_LIBRARY boost_wave-mt)
|
|
||||||
else (USESYSTEMLIBS)
|
|
||||||
use_prebuilt_binary(boost)
|
|
||||||
set(Boost_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
|
|
||||||
|
|
||||||
# with the address size.
|
# As of sometime between Boost 1.67 and 1.72, Boost libraries are suffixed
|
||||||
set(addrsfx "-x${ADDRESS_SIZE}")
|
# with the address size.
|
||||||
|
set(addrsfx "-x${ADDRESS_SIZE}")
|
||||||
|
|
||||||
if (WINDOWS)
|
if (WINDOWS)
|
||||||
set(BOOST_CONTEXT_LIBRARY
|
target_link_libraries( ll::boost INTERFACE
|
||||||
optimized libboost_context-mt${addrsfx}
|
libboost_context-mt${addrsfx}
|
||||||
debug libboost_context-mt${addrsfx}-gd)
|
libboost_fiber-mt${addrsfx}
|
||||||
set(BOOST_FIBER_LIBRARY
|
libboost_filesystem-mt${addrsfx}
|
||||||
optimized libboost_fiber-mt${addrsfx}
|
libboost_program_options-mt${addrsfx}
|
||||||
debug libboost_fiber-mt${addrsfx}-gd)
|
libboost_regex-mt${addrsfx}
|
||||||
set(BOOST_FILESYSTEM_LIBRARY
|
libboost_system-mt${addrsfx}
|
||||||
optimized libboost_filesystem-mt${addrsfx}
|
libboost_thread-mt${addrsfx}
|
||||||
debug libboost_filesystem-mt${addrsfx}-gd)
|
libboost_wave-mt${addrsfx})
|
||||||
set(BOOST_PROGRAM_OPTIONS_LIBRARY
|
elseif (LINUX)
|
||||||
optimized libboost_program_options-mt${addrsfx}
|
target_link_libraries( ll::boost INTERFACE
|
||||||
debug libboost_program_options-mt${addrsfx}-gd)
|
# <FS:Zi> do not change the order: fiber first, context next, or SLPlugin will not build
|
||||||
set(BOOST_REGEX_LIBRARY
|
boost_fiber-mt${addrsfx}
|
||||||
optimized libboost_regex-mt${addrsfx}
|
boost_context-mt${addrsfx}
|
||||||
debug libboost_regex-mt${addrsfx}-gd)
|
boost_filesystem-mt${addrsfx}
|
||||||
set(BOOST_SIGNALS_LIBRARY
|
boost_program_options-mt${addrsfx}
|
||||||
optimized libboost_signals-mt${addrsfx}
|
boost_regex-mt${addrsfx}
|
||||||
debug libboost_signals-mt${addrsfx}-gd)
|
boost_system-mt${addrsfx}
|
||||||
set(BOOST_SYSTEM_LIBRARY
|
boost_thread-mt${addrsfx}
|
||||||
optimized libboost_system-mt${addrsfx}
|
boost_wave-mt${addrsfx})
|
||||||
debug libboost_system-mt${addrsfx}-gd)
|
elseif (DARWIN)
|
||||||
set(BOOST_THREAD_LIBRARY
|
target_link_libraries( ll::boost INTERFACE
|
||||||
optimized libboost_thread-mt${addrsfx}
|
boost_context-mt${addrsfx}
|
||||||
debug libboost_thread-mt${addrsfx}-gd)
|
boost_fiber-mt${addrsfx}
|
||||||
set(BOOST_WAVE_LIBRARY
|
boost_filesystem-mt${addrsfx}
|
||||||
optimized libboost_wave-mt${addrsfx}
|
boost_program_options-mt${addrsfx}
|
||||||
debug libboost_wave-mt${addrsfx}-gd)
|
boost_regex-mt${addrsfx}
|
||||||
elseif (LINUX)
|
boost_system-mt${addrsfx}
|
||||||
set(BOOST_CONTEXT_LIBRARY
|
boost_thread-mt${addrsfx}
|
||||||
optimized boost_context-mt${addrsfx}
|
boost_wave-mt${addrsfx})
|
||||||
debug boost_context-mt${addrsfx}-d)
|
endif (WINDOWS)
|
||||||
set(BOOST_FIBER_LIBRARY
|
|
||||||
optimized boost_fiber-mt${addrsfx}
|
|
||||||
debug boost_fiber-mt${addrsfx}-d)
|
|
||||||
set(BOOST_FILESYSTEM_LIBRARY
|
|
||||||
optimized boost_filesystem-mt${addrsfx}
|
|
||||||
debug boost_filesystem-mt${addrsfx}-d)
|
|
||||||
set(BOOST_PROGRAM_OPTIONS_LIBRARY
|
|
||||||
optimized boost_program_options-mt${addrsfx}
|
|
||||||
debug boost_program_options-mt${addrsfx}-d)
|
|
||||||
set(BOOST_REGEX_LIBRARY
|
|
||||||
optimized boost_regex-mt${addrsfx}
|
|
||||||
debug boost_regex-mt${addrsfx}-d)
|
|
||||||
set(BOOST_SIGNALS_LIBRARY
|
|
||||||
optimized boost_signals-mt${addrsfx}
|
|
||||||
debug boost_signals-mt${addrsfx}-d)
|
|
||||||
set(BOOST_SYSTEM_LIBRARY
|
|
||||||
optimized boost_system-mt${addrsfx}
|
|
||||||
debug boost_system-mt${addrsfx}-d)
|
|
||||||
set(BOOST_THREAD_LIBRARY
|
|
||||||
optimized boost_thread-mt${addrsfx}
|
|
||||||
debug boost_thread-mt${addrsfx}-d)
|
|
||||||
set(BOOST_WAVE_LIBRARY
|
|
||||||
optimized boost_wave-mt${addrsfx}
|
|
||||||
debug boost_wave-mt${addrsfx}-gd)
|
|
||||||
elseif (DARWIN)
|
|
||||||
set(BOOST_CONTEXT_LIBRARY
|
|
||||||
optimized boost_context-mt${addrsfx}
|
|
||||||
debug boost_context-mt${addrsfx})
|
|
||||||
set(BOOST_FIBER_LIBRARY
|
|
||||||
optimized boost_fiber-mt${addrsfx}
|
|
||||||
debug boost_fiber-mt${addrsfx})
|
|
||||||
set(BOOST_FILESYSTEM_LIBRARY
|
|
||||||
optimized boost_filesystem-mt${addrsfx}
|
|
||||||
debug boost_filesystem-mt${addrsfx})
|
|
||||||
set(BOOST_PROGRAM_OPTIONS_LIBRARY
|
|
||||||
optimized boost_program_options-mt${addrsfx}
|
|
||||||
debug boost_program_options-mt${addrsfx})
|
|
||||||
set(BOOST_REGEX_LIBRARY
|
|
||||||
optimized boost_regex-mt${addrsfx}
|
|
||||||
debug boost_regex-mt${addrsfx})
|
|
||||||
set(BOOST_SIGNALS_LIBRARY
|
|
||||||
optimized boost_signals-mt${addrsfx}
|
|
||||||
debug boost_signals-mt${addrsfx})
|
|
||||||
set(BOOST_SYSTEM_LIBRARY
|
|
||||||
optimized boost_system-mt${addrsfx}
|
|
||||||
debug boost_system-mt${addrsfx})
|
|
||||||
set(BOOST_THREAD_LIBRARY
|
|
||||||
optimized boost_thread-mt${addrsfx}
|
|
||||||
debug boost_thread-mt${addrsfx})
|
|
||||||
set(BOOST_WAVE_LIBRARY
|
|
||||||
optimized boost_wave-mt${addrsfx}
|
|
||||||
debug boost_wave-mt${addrsfx}-gd)
|
|
||||||
endif (WINDOWS)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
||||||
if (LINUX)
|
if (LINUX)
|
||||||
set(BOOST_SYSTEM_LIBRARY ${BOOST_SYSTEM_LIBRARY} rt)
|
set(BOOST_SYSTEM_LIBRARY ${BOOST_SYSTEM_LIBRARY} rt)
|
||||||
|
|
|
||||||
|
|
@ -16,5 +16,5 @@ add_custom_command(OUTPUT packages-info.txt
|
||||||
COMMAND ${PYTHON_EXECUTABLE}
|
COMMAND ${PYTHON_EXECUTABLE}
|
||||||
${CMAKE_SOURCE_DIR}/cmake/run_build_test.py -DAUTOBUILD_ADDRSIZE=${ADDRESS_SIZE} -DAUTOBUILD=${AUTOBUILD_EXECUTABLE}
|
${CMAKE_SOURCE_DIR}/cmake/run_build_test.py -DAUTOBUILD_ADDRSIZE=${ADDRESS_SIZE} -DAUTOBUILD=${AUTOBUILD_EXECUTABLE}
|
||||||
${PYTHON_EXECUTABLE}
|
${PYTHON_EXECUTABLE}
|
||||||
${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py "${VIEWER_CHANNEL}" "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}" > packages-info.txt
|
${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py "${VIEWER_CHANNEL}" "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}" "${AUTOBUILD_INSTALL_DIR}" > packages-info.txt
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ if (NOT DEFINED VIEWER_SHORT_VERSION) # will be true in indra/, false in indra/n
|
||||||
string(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" VIEWER_VERSION_MAJOR ${VIEWER_SHORT_VERSION})
|
string(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" VIEWER_VERSION_MAJOR ${VIEWER_SHORT_VERSION})
|
||||||
string(REGEX REPLACE "^[0-9]+\\.([0-9]+)\\.[0-9]+" "\\1" VIEWER_VERSION_MINOR ${VIEWER_SHORT_VERSION})
|
string(REGEX REPLACE "^[0-9]+\\.([0-9]+)\\.[0-9]+" "\\1" VIEWER_VERSION_MINOR ${VIEWER_SHORT_VERSION})
|
||||||
string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" VIEWER_VERSION_PATCH ${VIEWER_SHORT_VERSION})
|
string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" VIEWER_VERSION_PATCH ${VIEWER_SHORT_VERSION})
|
||||||
|
|
||||||
if (DEFINED ENV{revision})
|
if (DEFINED ENV{revision})
|
||||||
set(VIEWER_VERSION_REVISION $ENV{revision})
|
set(VIEWER_VERSION_REVISION $ENV{revision})
|
||||||
message(STATUS "Revision (from environment): ${VIEWER_VERSION_REVISION}")
|
message(STATUS "Revision (from environment): ${VIEWER_VERSION_REVISION}")
|
||||||
|
|
@ -19,23 +18,23 @@ if (NOT DEFINED VIEWER_SHORT_VERSION) # will be true in indra/, false in indra/n
|
||||||
message(STATUS "Revision (from autobuild environment): ${VIEWER_VERSION_REVISION}")
|
message(STATUS "Revision (from autobuild environment): ${VIEWER_VERSION_REVISION}")
|
||||||
|
|
||||||
else (DEFINED ENV{revision})
|
else (DEFINED ENV{revision})
|
||||||
find_program(GIT git)
|
find_program(GIT git)
|
||||||
if (DEFINED GIT )
|
if (DEFINED GIT )
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${GIT} rev-list --count HEAD
|
COMMAND ${GIT} rev-list --count HEAD
|
||||||
OUTPUT_VARIABLE VIEWER_VERSION_REVISION
|
OUTPUT_VARIABLE VIEWER_VERSION_REVISION
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
)
|
)
|
||||||
if ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$")
|
if ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$")
|
||||||
message(STATUS "Revision (from git) ${VIEWER_VERSION_REVISION}")
|
message(STATUS "Revision (from git) ${VIEWER_VERSION_REVISION}")
|
||||||
else ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$")
|
else ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$")
|
||||||
message(STATUS "Revision not set (repository not found?); using 0")
|
message(STATUS "Revision not set (repository not found?); using 0")
|
||||||
set(VIEWER_VERSION_REVISION 0 )
|
set(VIEWER_VERSION_REVISION 0 )
|
||||||
endif ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$")
|
endif ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$")
|
||||||
else (DEFINED GIT )
|
else (DEFINED GIT )
|
||||||
message(STATUS "Revision not set: 'git' found; using 0")
|
message(STATUS "Revision not set: 'git' found; using 0")
|
||||||
set(VIEWER_VERSION_REVISION 0)
|
set(VIEWER_VERSION_REVISION 0)
|
||||||
endif (DEFINED GIT)
|
endif (DEFINED GIT)
|
||||||
endif (DEFINED ENV{revision})
|
endif (DEFINED ENV{revision})
|
||||||
message(STATUS "Building '${VIEWER_CHANNEL}' Version ${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}")
|
message(STATUS "Building '${VIEWER_CHANNEL}' Version ${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}")
|
||||||
else ( EXISTS ${VIEWER_VERSION_BASE_FILE} )
|
else ( EXISTS ${VIEWER_VERSION_BASE_FILE} )
|
||||||
|
|
|
||||||
|
|
@ -2,18 +2,14 @@
|
||||||
include(Linking)
|
include(Linking)
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
include_guard()
|
||||||
set(CEFPLUGIN OFF CACHE BOOL
|
add_library( ll::cef INTERFACE IMPORTED )
|
||||||
"CEFPLUGIN support for the llplugin/llmedia test apps.")
|
|
||||||
else (USESYSTEMLIBS)
|
use_prebuilt_binary(dullahan)
|
||||||
use_prebuilt_binary(dullahan)
|
target_include_directories( ll::cef SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/cef)
|
||||||
set(CEFPLUGIN ON CACHE BOOL
|
|
||||||
"CEFPLUGIN support for the llplugin/llmedia test apps.")
|
|
||||||
set(CEF_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/cef)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
||||||
if (WINDOWS)
|
if (WINDOWS)
|
||||||
set(CEF_PLUGIN_LIBRARIES
|
target_link_libraries( ll::cef INTERFACE
|
||||||
libcef.lib
|
libcef.lib
|
||||||
libcef_dll_wrapper.lib
|
libcef_dll_wrapper.lib
|
||||||
dullahan.lib
|
dullahan.lib
|
||||||
|
|
@ -29,7 +25,7 @@ elseif (DARWIN)
|
||||||
message(FATAL_ERROR "CEF not found")
|
message(FATAL_ERROR "CEF not found")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CEF_PLUGIN_LIBRARIES
|
target_link_libraries( ll::cef INTERFACE
|
||||||
${ARCH_PREBUILT_DIRS_RELEASE}/libcef_dll_wrapper.a
|
${ARCH_PREBUILT_DIRS_RELEASE}/libcef_dll_wrapper.a
|
||||||
${ARCH_PREBUILT_DIRS_RELEASE}/libdullahan.a
|
${ARCH_PREBUILT_DIRS_RELEASE}/libdullahan.a
|
||||||
${APPKIT_LIBRARY}
|
${APPKIT_LIBRARY}
|
||||||
|
|
@ -37,7 +33,7 @@ elseif (DARWIN)
|
||||||
)
|
)
|
||||||
|
|
||||||
elseif (LINUX)
|
elseif (LINUX)
|
||||||
set(CEF_PLUGIN_LIBRARIES
|
target_link_libraries( ll::cef INTERFACE
|
||||||
dullahan
|
dullahan
|
||||||
cef
|
cef
|
||||||
cef_dll_wrapper.a
|
cef_dll_wrapper.a
|
||||||
|
|
|
||||||
|
|
@ -5,114 +5,81 @@ include(00-Common)
|
||||||
project(cmake)
|
project(cmake)
|
||||||
|
|
||||||
set(cmake_SOURCE_FILES
|
set(cmake_SOURCE_FILES
|
||||||
CMakeLists.txt
|
CMakeLists.txt
|
||||||
|
00-Common.cmake
|
||||||
00-Common.cmake
|
APR.cmake
|
||||||
APR.cmake
|
Audio.cmake
|
||||||
Audio.cmake
|
Boost.cmake
|
||||||
Boost.cmake
|
bugsplat.cmake
|
||||||
bugsplat.cmake
|
BuildVersion.cmake
|
||||||
BuildVersion.cmake
|
CEFPlugin.cmake
|
||||||
CEFPlugin.cmake
|
CMakeCopyIfDifferent.cmake
|
||||||
CMakeCopyIfDifferent.cmake
|
ConfigurePkgConfig.cmake
|
||||||
ColladaDom.cmake
|
CURL.cmake
|
||||||
ConfigurePkgConfig.cmake
|
Copy3rdPartyLibs.cmake
|
||||||
CURL.cmake
|
DBusGlib.cmake
|
||||||
Copy3rdPartyLibs.cmake
|
DeploySharedLibs.cmake
|
||||||
GLIB.cmake
|
Discord.cmake # <FS:LO> Discord rich presence
|
||||||
DeploySharedLibs.cmake
|
DragDrop.cmake
|
||||||
Discord.cmake # <FS:LO> Discord rich presence
|
EXPAT.cmake
|
||||||
DragDrop.cmake
|
FindAutobuild.cmake
|
||||||
EXPAT.cmake
|
FMODSTUDIO.cmake
|
||||||
FindAPR.cmake
|
FreeType.cmake
|
||||||
FindAutobuild.cmake
|
GLEXT.cmake
|
||||||
FindFMODSTUDIO.cmake
|
GLH.cmake
|
||||||
FindGLH.cmake
|
GLOD.cmake # <FS:Ansariel> Bring back GLOD
|
||||||
FindHUNSPELL.cmake
|
GoogleMock.cmake
|
||||||
FindJsonCpp.cmake
|
Havok.cmake
|
||||||
FindNDOF.cmake
|
Hunspell.cmake
|
||||||
FindOpenJPEG.cmake
|
JsonCpp.cmake
|
||||||
FindSCP.cmake
|
LLAddBuildTest.cmake
|
||||||
FindURIPARSER.cmake
|
LLAppearance.cmake
|
||||||
FindXmlRpcEpi.cmake
|
LLAudio.cmake
|
||||||
FindZLIBNG.cmake
|
LLCommon.cmake
|
||||||
FMODSTUDIO.cmake
|
LLImage.cmake
|
||||||
FreeType.cmake
|
LLKDU.cmake
|
||||||
GLEXT.cmake
|
LLPhysicsExtensions.cmake
|
||||||
GLH.cmake
|
LLPrimitive.cmake
|
||||||
GLOD.cmake
|
LLSharedLibs.cmake
|
||||||
## GStreamer010Plugin.cmake
|
LLTestCommand.cmake
|
||||||
GoogleMock.cmake
|
LLWindow.cmake
|
||||||
Growl.cmake
|
Linking.cmake
|
||||||
Havok.cmake
|
MediaPluginBase.cmake # <FS:Zi> Linux volume catcher
|
||||||
Hunspell.cmake
|
Meshoptimizer.cmake
|
||||||
JPEG.cmake
|
NDOF.cmake
|
||||||
JsonCpp.cmake
|
OPENAL.cmake
|
||||||
LLAddBuildTest.cmake
|
OpenGL.cmake
|
||||||
LLAppearance.cmake
|
OpenJPEG.cmake
|
||||||
LLAudio.cmake
|
OpenSSL.cmake
|
||||||
LLCharacter.cmake
|
PNG.cmake
|
||||||
LLCommon.cmake
|
PluginAPI.cmake
|
||||||
LLCrashLogger.cmake
|
Prebuilt.cmake
|
||||||
LLImage.cmake
|
PulseAudio.cmake
|
||||||
LLImageJ2COJ.cmake
|
Python.cmake
|
||||||
LLInventory.cmake
|
TemplateCheck.cmake
|
||||||
LLKDU.cmake
|
Tut.cmake
|
||||||
LLLogin.cmake
|
UI.cmake
|
||||||
LLMath.cmake
|
UnixInstall.cmake
|
||||||
LLMeshOptimizer.cmake
|
URIPARSER.cmake
|
||||||
LLMessage.cmake
|
Variables.cmake
|
||||||
LLPhysicsExtensions.cmake
|
ViewerMiscLibs.cmake
|
||||||
LLPlugin.cmake
|
VisualLeakDetector.cmake
|
||||||
LLPrimitive.cmake
|
LibVLCPlugin.cmake
|
||||||
LLRender.cmake
|
XmlRpcEpi.cmake
|
||||||
LLSharedLibs.cmake
|
xxHash.cmake
|
||||||
LLTestCommand.cmake
|
ZLIBNG.cmake
|
||||||
LLUI.cmake
|
)
|
||||||
LLFileSystem.cmake
|
|
||||||
LLWindow.cmake
|
|
||||||
LLXML.cmake
|
|
||||||
Linking.cmake
|
|
||||||
MediaPluginBase.cmake
|
|
||||||
MESHOPTIMIZER.cmake
|
|
||||||
NDOF.cmake
|
|
||||||
OPENAL.cmake
|
|
||||||
OpenGL.cmake
|
|
||||||
OpenJPEG.cmake
|
|
||||||
OpenSSL.cmake
|
|
||||||
PNG.cmake
|
|
||||||
PluginAPI.cmake
|
|
||||||
Prebuilt.cmake
|
|
||||||
PulseAudio.cmake
|
|
||||||
Python.cmake
|
|
||||||
TemplateCheck.cmake
|
|
||||||
Tracy.cmake
|
|
||||||
Tut.cmake
|
|
||||||
UI.cmake
|
|
||||||
UnixInstall.cmake
|
|
||||||
URIPARSER.cmake
|
|
||||||
Variables.cmake
|
|
||||||
ViewerMiscLibs.cmake
|
|
||||||
VisualLeakDetector.cmake
|
|
||||||
LibVLCPlugin.cmake
|
|
||||||
XmlRpcEpi.cmake
|
|
||||||
xxHash.cmake
|
|
||||||
ZLIBNG.cmake
|
|
||||||
)
|
|
||||||
|
|
||||||
source_group("Shared Rules" FILES ${cmake_SOURCE_FILES})
|
source_group("Shared Rules" FILES ${cmake_SOURCE_FILES})
|
||||||
|
|
||||||
set(master_SOURCE_FILES
|
set(master_SOURCE_FILES
|
||||||
../CMakeLists.txt
|
../CMakeLists.txt
|
||||||
)
|
)
|
||||||
|
|
||||||
source_group("Master Rules" FILES ${master_SOURCE_FILES})
|
source_group("Master Rules" FILES ${master_SOURCE_FILES})
|
||||||
|
|
||||||
set_source_files_properties(${cmake_SOURCE_FILES} ${master_SOURCE_FILES}
|
|
||||||
PROPERTIES HEADER_FILE_ONLY TRUE)
|
|
||||||
|
|
||||||
add_library(cmake
|
add_library(cmake
|
||||||
cmake_dummy.cpp
|
cmake_dummy.cpp
|
||||||
${cmake_SOURCE_FILES}
|
${cmake_SOURCE_FILES}
|
||||||
${master_SOURCE_FILES}
|
${master_SOURCE_FILES}
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -2,24 +2,14 @@
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
include(NGHTTP2)
|
include(NGHTTP2)
|
||||||
|
|
||||||
set(CURL_FIND_QUIETLY ON)
|
include_guard()
|
||||||
set(CURL_FIND_REQUIRED ON)
|
add_library( ll::libcurl INTERFACE IMPORTED )
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
use_system_binary(libcurl)
|
||||||
include(FindCURL)
|
use_prebuilt_binary(curl)
|
||||||
else (USESYSTEMLIBS)
|
if (WINDOWS)
|
||||||
use_prebuilt_binary(curl)
|
target_link_libraries(ll::libcurl INTERFACE libcurl.lib)
|
||||||
if (WINDOWS)
|
else (WINDOWS)
|
||||||
set(CURL_LIBRARIES
|
target_link_libraries(ll::libcurl INTERFACE libcurl.a)
|
||||||
debug libcurld.lib
|
endif (WINDOWS)
|
||||||
optimized libcurl.lib)
|
target_include_directories( ll::libcurl SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include)
|
||||||
else (WINDOWS)
|
|
||||||
set(CURL_LIBRARIES libcurl.a)
|
|
||||||
if (LINUX)
|
|
||||||
list(APPEND CURL_LIBRARIES
|
|
||||||
pthread ${NGHTTP2_LIBRARIES}
|
|
||||||
)
|
|
||||||
endif (LINUX)
|
|
||||||
endif (WINDOWS)
|
|
||||||
set(CURL_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@
|
||||||
|
|
||||||
include(CMakeCopyIfDifferent)
|
include(CMakeCopyIfDifferent)
|
||||||
include(Linking)
|
include(Linking)
|
||||||
|
include(OPENAL)
|
||||||
|
include(FMODSTUDIO)
|
||||||
|
|
||||||
# When we copy our dependent libraries, we almost always want to copy them to
|
# When we copy our dependent libraries, we almost always want to copy them to
|
||||||
# both the Release and the RelWithDebInfo staging directories. This has
|
# both the Release and the RelWithDebInfo staging directories. This has
|
||||||
|
|
@ -13,27 +15,27 @@ include(Linking)
|
||||||
# copy_if_different commands. Encapsulate that usage.
|
# copy_if_different commands. Encapsulate that usage.
|
||||||
# Pass FROM_DIR, TARGETS and the files to copy. TO_DIR is implicit.
|
# Pass FROM_DIR, TARGETS and the files to copy. TO_DIR is implicit.
|
||||||
# to_staging_dirs diverges from copy_if_different in that it appends to TARGETS.
|
# to_staging_dirs diverges from copy_if_different in that it appends to TARGETS.
|
||||||
MACRO(to_staging_dirs from_dir targets)
|
macro(to_staging_dirs from_dir targets)
|
||||||
foreach(staging_dir
|
set( targetDir "${SHARED_LIB_STAGING_DIR}")
|
||||||
"${SHARED_LIB_STAGING_DIR_RELEASE}"
|
copy_if_different("${from_dir}" "${targetDir}" out_targets ${ARGN})
|
||||||
"${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}")
|
|
||||||
copy_if_different("${from_dir}" "${staging_dir}" out_targets ${ARGN})
|
|
||||||
list(APPEND "${targets}" "${out_targets}")
|
list(APPEND "${targets}" "${out_targets}")
|
||||||
endforeach()
|
endmacro()
|
||||||
ENDMACRO(to_staging_dirs from_dir to_dir targets)
|
|
||||||
|
|
||||||
###################################################################
|
###################################################################
|
||||||
# set up platform specific lists of files that need to be copied
|
# set up platform specific lists of files that need to be copied
|
||||||
###################################################################
|
###################################################################
|
||||||
if(WINDOWS)
|
if(WINDOWS)
|
||||||
set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}/Debug")
|
|
||||||
set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}/RelWithDebInfo")
|
|
||||||
set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}/Release")
|
|
||||||
|
|
||||||
#*******************************
|
#*******************************
|
||||||
# VIVOX - *NOTE: no debug version
|
# VIVOX - *NOTE: no debug version
|
||||||
set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
|
set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
|
||||||
set(slvoice_src_dir "${ARCH_PREBUILT_BIN_RELEASE}")
|
|
||||||
|
# ND, it seems there is no such thing defined. At least when building a viewer
|
||||||
|
# Does this maybe matter on some LL buildserver? Otherwise this and the snippet using slvoice_src_dir
|
||||||
|
# can all go
|
||||||
|
if( ARCH_PREBUILT_BIN_RELEASE )
|
||||||
|
set(slvoice_src_dir "${ARCH_PREBUILT_BIN_RELEASE}")
|
||||||
|
endif()
|
||||||
set(slvoice_files SLVoice.exe )
|
set(slvoice_files SLVoice.exe )
|
||||||
if (ADDRESS_SIZE EQUAL 64)
|
if (ADDRESS_SIZE EQUAL 64)
|
||||||
list(APPEND vivox_libs
|
list(APPEND vivox_libs
|
||||||
|
|
@ -92,14 +94,14 @@ if(WINDOWS)
|
||||||
endif (USE_BUGSPLAT)
|
endif (USE_BUGSPLAT)
|
||||||
|
|
||||||
set(release_files ${release_files} growl++.dll growl.dll )
|
set(release_files ${release_files} growl++.dll growl.dll )
|
||||||
if (FMODSTUDIO)
|
if (TARGET ll::fmodstudio)
|
||||||
set(debug_files ${debug_files} fmodL.dll)
|
set(debug_files ${debug_files} fmodL.dll)
|
||||||
set(release_files ${release_files} fmod.dll)
|
set(release_files ${release_files} fmod.dll)
|
||||||
endif (FMODSTUDIO)
|
endif ()
|
||||||
|
|
||||||
if (OPENAL)
|
if (TARGET ll::openal)
|
||||||
list(APPEND release_files openal32.dll alut.dll)
|
list(APPEND release_files openal32.dll alut.dll)
|
||||||
endif (OPENAL)
|
endif ()
|
||||||
|
|
||||||
#*******************************
|
#*******************************
|
||||||
# Copy MS C runtime dlls, required for packaging.
|
# Copy MS C runtime dlls, required for packaging.
|
||||||
|
|
@ -182,10 +184,6 @@ if(WINDOWS)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
elseif(DARWIN)
|
elseif(DARWIN)
|
||||||
set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}/Debug/Resources")
|
|
||||||
set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/Resources")
|
|
||||||
set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}/Release/Resources")
|
|
||||||
|
|
||||||
set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
|
set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
|
||||||
set(slvoice_files SLVoice)
|
set(slvoice_files SLVoice)
|
||||||
set(vivox_libs
|
set(vivox_libs
|
||||||
|
|
@ -215,10 +213,10 @@ elseif(DARWIN)
|
||||||
libgrowl++.dylib
|
libgrowl++.dylib
|
||||||
)
|
)
|
||||||
|
|
||||||
if (FMODSTUDIO)
|
if (TARGET ll::fmodstudio)
|
||||||
set(debug_files ${debug_files} libfmodL.dylib)
|
set(debug_files ${debug_files} libfmodL.dylib)
|
||||||
set(release_files ${release_files} libfmod.dylib)
|
set(release_files ${release_files} libfmod.dylib)
|
||||||
endif (FMODSTUDIO)
|
endif ()
|
||||||
|
|
||||||
elseif(LINUX)
|
elseif(LINUX)
|
||||||
# linux is weird, multiple side by side configurations aren't supported
|
# linux is weird, multiple side by side configurations aren't supported
|
||||||
|
|
@ -267,10 +265,26 @@ elseif(LINUX)
|
||||||
)
|
)
|
||||||
endif (NOT USESYSTEMLIBS)
|
endif (NOT USESYSTEMLIBS)
|
||||||
|
|
||||||
if (FMODSTUDIO)
|
if( USE_AUTOBUILD_3P )
|
||||||
|
list( APPEND release_files
|
||||||
|
libapr-1.so.0
|
||||||
|
libaprutil-1.so.0
|
||||||
|
|
||||||
|
|
||||||
|
libhunspell-1.3.so.0.0.0
|
||||||
|
libuuid.so.16
|
||||||
|
libuuid.so.16.0.22
|
||||||
|
|
||||||
|
|
||||||
|
libgmodule-2.0.a
|
||||||
|
libgobject-2.0.a
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (TARGET ll::fmodstudio)
|
||||||
set(debug_files ${debug_files} "libfmodL.so")
|
set(debug_files ${debug_files} "libfmodL.so")
|
||||||
set(release_files ${release_files} "libfmod.so")
|
set(release_files ${release_files} "libfmod.so")
|
||||||
endif (FMODSTUDIO)
|
endif ()
|
||||||
|
|
||||||
else(WINDOWS)
|
else(WINDOWS)
|
||||||
message(STATUS "WARNING: unrecognized platform for staging 3rd party libs, skipping...")
|
message(STATUS "WARNING: unrecognized platform for staging 3rd party libs, skipping...")
|
||||||
|
|
@ -300,13 +314,16 @@ endif(WINDOWS)
|
||||||
# Curiously, slvoice_files are only copied to SHARED_LIB_STAGING_DIR_RELEASE.
|
# Curiously, slvoice_files are only copied to SHARED_LIB_STAGING_DIR_RELEASE.
|
||||||
# It's unclear whether this is oversight or intentional, but anyway leave the
|
# It's unclear whether this is oversight or intentional, but anyway leave the
|
||||||
# single copy_if_different command rather than using to_staging_dirs.
|
# single copy_if_different command rather than using to_staging_dirs.
|
||||||
copy_if_different(
|
|
||||||
${slvoice_src_dir}
|
if( slvoice_src_dir )
|
||||||
"${SHARED_LIB_STAGING_DIR_RELEASE}"
|
copy_if_different(
|
||||||
out_targets
|
${slvoice_src_dir}
|
||||||
${slvoice_files}
|
"${SHARED_LIB_STAGING_DIR_RELEASE}"
|
||||||
|
out_targets
|
||||||
|
${slvoice_files}
|
||||||
)
|
)
|
||||||
list(APPEND third_party_targets ${out_targets})
|
list(APPEND third_party_targets ${out_targets})
|
||||||
|
endif()
|
||||||
|
|
||||||
to_staging_dirs(
|
to_staging_dirs(
|
||||||
${vivox_lib_dir}
|
${vivox_lib_dir}
|
||||||
|
|
@ -320,10 +337,16 @@ to_staging_dirs(
|
||||||
${release_files}
|
${release_files}
|
||||||
)
|
)
|
||||||
|
|
||||||
#<FS:TS> We need to do this regardless
|
add_custom_target(
|
||||||
#if(NOT USESYSTEMLIBS)
|
stage_third_party_libs ALL
|
||||||
add_custom_target(
|
DEPENDS ${third_party_targets}
|
||||||
stage_third_party_libs ALL
|
)
|
||||||
DEPENDS ${third_party_targets}
|
|
||||||
)
|
if(DARWIN)
|
||||||
#endif(NOT USESYSTEMLIBS)
|
# Support our "@executable_path/../Resources" load path for executables
|
||||||
|
# that end up in any of the above SHARED_LIB_STAGING_DIR_MUMBLE
|
||||||
|
# directories.
|
||||||
|
add_custom_command( TARGET stage_third_party_libs POST_BUILD
|
||||||
|
COMMAND cmake -E create_symlink ${SHARED_LIB_STAGING_DIR} ${CMAKE_BINARY_DIR}/sharedlibs/Resources
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
# -*- cmake -*-
|
||||||
|
include(Prebuilt)
|
||||||
|
|
||||||
|
add_library( ll::dbus INTERFACE IMPORTED)
|
||||||
|
|
||||||
|
if( LINUX )
|
||||||
|
# Only define this when not using the prebuild 3ps, lls prebuild is broken
|
||||||
|
if( NOT USE_AUTOBUILD_3P )
|
||||||
|
target_compile_definitions( ll::dbus INTERFACE LL_DBUS_ENABLED )
|
||||||
|
endif()
|
||||||
|
use_system_binary(dbus)
|
||||||
|
|
||||||
|
use_prebuilt_binary(dbus_glib)
|
||||||
|
endif()
|
||||||
|
|
@ -1,20 +1,16 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
|
|
||||||
set(OS_DRAG_DROP ON CACHE BOOL "Build the viewer with OS level drag and drop turned on or off")
|
set(OS_DRAG_DROP ON CACHE BOOL "Build the viewer with OS level drag and drop turned on or off")
|
||||||
|
|
||||||
if (OS_DRAG_DROP)
|
|
||||||
|
|
||||||
|
if (OS_DRAG_DROP)
|
||||||
if (WINDOWS)
|
if (WINDOWS)
|
||||||
add_definitions(-DLL_OS_DRAGDROP_ENABLED=1)
|
add_definitions(-DLL_OS_DRAGDROP_ENABLED=1)
|
||||||
endif (WINDOWS)
|
endif (WINDOWS)
|
||||||
|
|
||||||
if (DARWIN)
|
if (DARWIN)
|
||||||
add_definitions(-DLL_OS_DRAGDROP_ENABLED=1)
|
add_definitions(-DLL_OS_DRAGDROP_ENABLED=1)
|
||||||
endif (DARWIN)
|
endif (DARWIN)
|
||||||
|
if (LINUX)
|
||||||
#if (LINUX)
|
add_definitions(-DLL_OS_DRAGDROP_ENABLED=1)
|
||||||
# add_definitions(-DLL_OS_DRAGDROP_ENABLED=0)
|
endif (LINUX)
|
||||||
#endif (LINUX)
|
endif (OS_DRAG_DROP)
|
||||||
|
|
||||||
endif (OS_DRAG_DROP)
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,20 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
set(EXPAT_FIND_QUIETLY ON)
|
include_guard()
|
||||||
set(EXPAT_FIND_REQUIRED ON)
|
add_library( ll::expat INTERFACE IMPORTED )
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
use_system_binary(expat)
|
||||||
include(FindEXPAT)
|
use_prebuilt_binary(expat)
|
||||||
else (USESYSTEMLIBS)
|
if (WINDOWS)
|
||||||
use_prebuilt_binary(expat)
|
target_link_libraries( ll::expat INTERFACE libexpatMT )
|
||||||
if (WINDOWS)
|
set(EXPAT_COPY libexpatMT.dll)
|
||||||
set(EXPAT_LIBRARIES libexpatMT)
|
else (WINDOWS)
|
||||||
set(EXPAT_COPY libexpatMT.dll)
|
target_link_libraries( ll::expat INTERFACE expat )
|
||||||
else (WINDOWS)
|
if (DARWIN)
|
||||||
set(EXPAT_LIBRARIES expat)
|
set(EXPAT_COPY libexpat.1.dylib libexpat.dylib)
|
||||||
if (DARWIN)
|
else ()
|
||||||
set(EXPAT_COPY libexpat.1.dylib libexpat.dylib)
|
set(EXPAT_COPY libexpat.so.1 libexpat.so)
|
||||||
else ()
|
endif ()
|
||||||
set(EXPAT_COPY libexpat.so.1 libexpat.so)
|
endif (WINDOWS)
|
||||||
endif ()
|
target_include_directories( ll::expat SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include )
|
||||||
endif (WINDOWS)
|
|
||||||
set(EXPAT_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
|
||||||
|
|
@ -2,15 +2,5 @@
|
||||||
include(Linking)
|
include(Linking)
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
set(EXAMPLEPLUGIN ON CACHE BOOL
|
||||||
set(EXAMPLEPLUGIN OFF CACHE BOOL
|
|
||||||
"EXAMPLEPLUGIN support for the llplugin/llmedia test apps.")
|
"EXAMPLEPLUGIN support for the llplugin/llmedia test apps.")
|
||||||
else (USESYSTEMLIBS)
|
|
||||||
set(EXAMPLEPLUGIN ON CACHE BOOL
|
|
||||||
"EXAMPLEPLUGIN support for the llplugin/llmedia test apps.")
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
||||||
if (WINDOWS)
|
|
||||||
elseif (DARWIN)
|
|
||||||
elseif (LINUX)
|
|
||||||
endif (WINDOWS)
|
|
||||||
|
|
|
||||||
|
|
@ -1,48 +1,50 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
|
|
||||||
# FMOD Studio can be set when launching the make using the argument -DFMODSTUDIO:BOOL=ON
|
include_guard()
|
||||||
|
|
||||||
|
# FMODSTUDIO can be set when launching the make using the argument -DFMODSTUDIO:BOOL=ON
|
||||||
# When building using proprietary binaries though (i.e. having access to LL private servers),
|
# When building using proprietary binaries though (i.e. having access to LL private servers),
|
||||||
# we always build with FMODSTUDIO.
|
# we always build with FMODSTUDIO.
|
||||||
# Open source devs should use the -DFMODSTUDIO:BOOL=ON then if they want to build with FMOD, whether
|
# Open source devs should use the -DFMODSTUDIO:BOOL=ON then if they want to build with FMOD, whether
|
||||||
# they are using USESYSTEMLIBS or not.
|
# they are using USESYSTEMLIBS or not.
|
||||||
if (INSTALL_PROPRIETARY)
|
if (INSTALL_PROPRIETARY)
|
||||||
set(FMODSTUDIO ON CACHE BOOL "Using FMOD Studio sound library.")
|
set(USE_FMODSTUDIO ON CACHE BOOL "Using FMODSTUDIO sound library.")
|
||||||
endif (INSTALL_PROPRIETARY)
|
endif (INSTALL_PROPRIETARY)
|
||||||
|
|
||||||
|
# ND: To streamline arguments passed, switch from FMODSTUDIO to USE_FMODSTUDIO
|
||||||
|
# To not break all old build scripts convert old arguments but warn about it
|
||||||
|
if(FMODSTUDIO)
|
||||||
|
message( WARNING "Use of the FMODSTUDIO argument is deprecated, please switch to USE_FMODSTUDIO")
|
||||||
|
set(USE_FMODSTUDIO ${FMODSTUDIO})
|
||||||
|
endif()
|
||||||
|
|
||||||
if (FMODSTUDIO)
|
if (USE_FMODSTUDIO)
|
||||||
if (USESYSTEMLIBS)
|
add_library( ll::fmodstudio INTERFACE IMPORTED )
|
||||||
# In that case, we use the version of the library installed on the system
|
target_compile_definitions( ll::fmodstudio INTERFACE LL_FMODSTUDIO=1)
|
||||||
set(FMODSTUDIO_FIND_REQUIRED ON)
|
|
||||||
include(FindFMODSTUDIO)
|
if (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR)
|
||||||
else (USESYSTEMLIBS)
|
# If the path have been specified in the arguments, use that
|
||||||
if (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR)
|
|
||||||
# If the path have been specified in the arguments, use that
|
target_link_libraries(ll::fmodstudio INTERFACE ${FMODSTUDIO_LIBRARY})
|
||||||
set(FMODSTUDIO_LIBRARIES ${FMODSTUDIO_LIBRARY})
|
target_include_directories( ll::fmodstudio SYSTEM INTERFACE ${FMODSTUDIO_INCLUDE_DIR})
|
||||||
MESSAGE(STATUS "Using FMODSTUDIO path: ${FMODSTUDIO_LIBRARIES}, ${FMODSTUDIO_INCLUDE_DIR}")
|
else (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR)
|
||||||
else (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR)
|
# If not, we're going to try to get the package listed in autobuild.xml
|
||||||
# If not, we're going to try to get the package listed in autobuild.xml
|
# Note: if you're not using INSTALL_PROPRIETARY, the package URL should be local (file:/// URL)
|
||||||
# Note: if you're not using INSTALL_PROPRIETARY, the package URL should be local (file:/// URL)
|
# as accessing the private LL location will fail if you don't have the credential
|
||||||
# as accessing the private LL location will fail if you don't have the credential
|
include(Prebuilt)
|
||||||
include(Prebuilt)
|
use_prebuilt_binary(fmodstudio)
|
||||||
use_prebuilt_binary(fmodstudio)
|
if (WINDOWS)
|
||||||
if (WINDOWS)
|
target_link_libraries( ll::fmodstudio INTERFACE fmod_vc)
|
||||||
set(FMODSTUDIO_LIBRARY
|
elseif (DARWIN)
|
||||||
debug fmodL_vc
|
#despite files being called libfmod.dylib, we are searching for fmod
|
||||||
optimized fmod_vc)
|
target_link_libraries( ll::fmodstudio INTERFACE fmod)
|
||||||
elseif (DARWIN)
|
elseif (LINUX)
|
||||||
#despite files being called libfmod.dylib, we are searching for fmod
|
target_link_libraries( ll::fmodstudio INTERFACE fmod)
|
||||||
set(FMODSTUDIO_LIBRARY
|
endif (WINDOWS)
|
||||||
debug fmodL
|
|
||||||
optimized fmod)
|
target_include_directories( ll::fmodstudio SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/fmodstudio)
|
||||||
elseif (LINUX)
|
endif (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR)
|
||||||
set(FMODSTUDIO_LIBRARY
|
else()
|
||||||
debug fmodL
|
set( USE_FMODSTUDIO "OFF")
|
||||||
optimized fmod)
|
endif ()
|
||||||
endif (WINDOWS)
|
|
||||||
set(FMODSTUDIO_LIBRARIES ${FMODSTUDIO_LIBRARY})
|
|
||||||
set(FMODSTUDIO_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/fmodstudio)
|
|
||||||
endif (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
endif (FMODSTUDIO)
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,94 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
# - Find Apache Portable Runtime
|
|
||||||
# Find the APR includes and libraries
|
|
||||||
# This module defines
|
|
||||||
# APR_INCLUDE_DIR and APRUTIL_INCLUDE_DIR, where to find apr.h, etc.
|
|
||||||
# APR_LIBRARIES and APRUTIL_LIBRARIES, the libraries needed to use APR.
|
|
||||||
# APR_FOUND and APRUTIL_FOUND, If false, do not try to use APR.
|
|
||||||
# also defined, but not for general use are
|
|
||||||
# APR_LIBRARY and APRUTIL_LIBRARY, where to find the APR library.
|
|
||||||
|
|
||||||
# APR first.
|
|
||||||
|
|
||||||
FIND_PATH(APR_INCLUDE_DIR apr.h
|
|
||||||
/usr/local/include/apr-1
|
|
||||||
/usr/local/include/apr-1.0
|
|
||||||
/usr/include/apr-1
|
|
||||||
/usr/include/apr-1.0
|
|
||||||
)
|
|
||||||
|
|
||||||
SET(APR_NAMES ${APR_NAMES} apr-1)
|
|
||||||
FIND_LIBRARY(APR_LIBRARY
|
|
||||||
NAMES ${APR_NAMES}
|
|
||||||
PATHS /usr/lib /usr/local/lib
|
|
||||||
)
|
|
||||||
|
|
||||||
IF (APR_LIBRARY AND APR_INCLUDE_DIR)
|
|
||||||
SET(APR_LIBRARIES ${APR_LIBRARY})
|
|
||||||
SET(APR_FOUND "YES")
|
|
||||||
ELSE (APR_LIBRARY AND APR_INCLUDE_DIR)
|
|
||||||
SET(APR_FOUND "NO")
|
|
||||||
ENDIF (APR_LIBRARY AND APR_INCLUDE_DIR)
|
|
||||||
|
|
||||||
|
|
||||||
IF (APR_FOUND)
|
|
||||||
IF (NOT APR_FIND_QUIETLY)
|
|
||||||
MESSAGE(STATUS "Found APR: ${APR_LIBRARIES}")
|
|
||||||
ENDIF (NOT APR_FIND_QUIETLY)
|
|
||||||
ELSE (APR_FOUND)
|
|
||||||
IF (APR_FIND_REQUIRED)
|
|
||||||
MESSAGE(FATAL_ERROR "Could not find APR library")
|
|
||||||
ENDIF (APR_FIND_REQUIRED)
|
|
||||||
ENDIF (APR_FOUND)
|
|
||||||
|
|
||||||
# Deprecated declarations.
|
|
||||||
SET (NATIVE_APR_INCLUDE_PATH ${APR_INCLUDE_DIR} )
|
|
||||||
GET_FILENAME_COMPONENT (NATIVE_APR_LIB_PATH ${APR_LIBRARY} PATH)
|
|
||||||
|
|
||||||
MARK_AS_ADVANCED(
|
|
||||||
APR_LIBRARY
|
|
||||||
APR_INCLUDE_DIR
|
|
||||||
)
|
|
||||||
|
|
||||||
# Next, APRUTIL.
|
|
||||||
|
|
||||||
FIND_PATH(APRUTIL_INCLUDE_DIR apu.h
|
|
||||||
/usr/local/include/apr-1
|
|
||||||
/usr/local/include/apr-1.0
|
|
||||||
/usr/include/apr-1
|
|
||||||
/usr/include/apr-1.0
|
|
||||||
)
|
|
||||||
|
|
||||||
SET(APRUTIL_NAMES ${APRUTIL_NAMES} aprutil-1)
|
|
||||||
FIND_LIBRARY(APRUTIL_LIBRARY
|
|
||||||
NAMES ${APRUTIL_NAMES}
|
|
||||||
PATHS /usr/lib /usr/local/lib
|
|
||||||
)
|
|
||||||
|
|
||||||
IF (APRUTIL_LIBRARY AND APRUTIL_INCLUDE_DIR)
|
|
||||||
SET(APRUTIL_LIBRARIES ${APRUTIL_LIBRARY})
|
|
||||||
SET(APRUTIL_FOUND "YES")
|
|
||||||
ELSE (APRUTIL_LIBRARY AND APRUTIL_INCLUDE_DIR)
|
|
||||||
SET(APRUTIL_FOUND "NO")
|
|
||||||
ENDIF (APRUTIL_LIBRARY AND APRUTIL_INCLUDE_DIR)
|
|
||||||
|
|
||||||
|
|
||||||
IF (APRUTIL_FOUND)
|
|
||||||
IF (NOT APRUTIL_FIND_QUIETLY)
|
|
||||||
MESSAGE(STATUS "Found APRUTIL: ${APRUTIL_LIBRARIES}")
|
|
||||||
ENDIF (NOT APRUTIL_FIND_QUIETLY)
|
|
||||||
ELSE (APRUTIL_FOUND)
|
|
||||||
IF (APRUTIL_FIND_REQUIRED)
|
|
||||||
MESSAGE(FATAL_ERROR "Could not find APRUTIL library")
|
|
||||||
ENDIF (APRUTIL_FIND_REQUIRED)
|
|
||||||
ENDIF (APRUTIL_FOUND)
|
|
||||||
|
|
||||||
# Deprecated declarations.
|
|
||||||
SET (NATIVE_APRUTIL_INCLUDE_PATH ${APRUTIL_INCLUDE_DIR} )
|
|
||||||
GET_FILENAME_COMPONENT (NATIVE_APRUTIL_LIB_PATH ${APRUTIL_LIBRARY} PATH)
|
|
||||||
|
|
||||||
MARK_AS_ADVANCED(
|
|
||||||
APRUTIL_LIBRARY
|
|
||||||
APRUTIL_INCLUDE_DIR
|
|
||||||
)
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
# - Find GLH
|
|
||||||
# Find the Graphic Library Helper includes.
|
|
||||||
# This module defines
|
|
||||||
# GLH_INCLUDE_DIR, where to find glh/glh_linear.h.
|
|
||||||
# GLH_FOUND, If false, do not try to use GLH.
|
|
||||||
|
|
||||||
find_path(GLH_INCLUDE_DIR glh/glh_linear.h
|
|
||||||
NO_SYSTEM_ENVIRONMENT_PATH
|
|
||||||
)
|
|
||||||
|
|
||||||
if (GLH_INCLUDE_DIR)
|
|
||||||
set(GLH_FOUND "YES")
|
|
||||||
else (GLH_INCLUDE_DIR)
|
|
||||||
set(GLH_FOUND "NO")
|
|
||||||
endif (GLH_INCLUDE_DIR)
|
|
||||||
|
|
||||||
if (GLH_FOUND)
|
|
||||||
if (NOT GLH_FIND_QUIETLY)
|
|
||||||
message(STATUS "Found GLH: ${GLH_INCLUDE_DIR}")
|
|
||||||
set(GLH_FIND_QUIETLY TRUE) # Only alert us the first time
|
|
||||||
endif (NOT GLH_FIND_QUIETLY)
|
|
||||||
else (GLH_FOUND)
|
|
||||||
if (GLH_FIND_REQUIRED)
|
|
||||||
message(FATAL_ERROR "Could not find GLH")
|
|
||||||
endif (GLH_FIND_REQUIRED)
|
|
||||||
endif (GLH_FOUND)
|
|
||||||
|
|
||||||
mark_as_advanced(GLH_INCLUDE_DIR)
|
|
||||||
|
|
@ -1,66 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
# - Find Google perftools
|
|
||||||
# Find the Google perftools includes and libraries
|
|
||||||
# This module defines
|
|
||||||
# GOOGLE_PERFTOOLS_INCLUDE_DIR, where to find heap-profiler.h, etc.
|
|
||||||
# GOOGLE_PERFTOOLS_FOUND, If false, do not try to use Google perftools.
|
|
||||||
# also defined for general use are
|
|
||||||
# TCMALLOC_LIBRARIES, where to find the tcmalloc library.
|
|
||||||
# STACKTRACE_LIBRARIES, where to find the stacktrace library.
|
|
||||||
# PROFILER_LIBRARIES, where to find the profiler library.
|
|
||||||
|
|
||||||
FIND_PATH(GOOGLE_PERFTOOLS_INCLUDE_DIR google/heap-profiler.h
|
|
||||||
/usr/local/include
|
|
||||||
/usr/include
|
|
||||||
)
|
|
||||||
|
|
||||||
SET(TCMALLOC_NAMES ${TCMALLOC_NAMES} tcmalloc)
|
|
||||||
FIND_LIBRARY(TCMALLOC_LIBRARY
|
|
||||||
NAMES ${TCMALLOC_NAMES}
|
|
||||||
PATHS /usr/lib /usr/local/lib
|
|
||||||
)
|
|
||||||
|
|
||||||
IF (TCMALLOC_LIBRARY AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
|
|
||||||
SET(TCMALLOC_LIBRARIES ${TCMALLOC_LIBRARY})
|
|
||||||
SET(GOOGLE_PERFTOOLS_FOUND "YES")
|
|
||||||
ELSE (TCMALLOC_LIBRARY AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
|
|
||||||
SET(GOOGLE_PERFTOOLS_FOUND "NO")
|
|
||||||
ENDIF (TCMALLOC_LIBRARY AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
|
|
||||||
|
|
||||||
SET(STACKTRACE_NAMES ${STACKTRACE_NAMES} stacktrace)
|
|
||||||
FIND_LIBRARY(STACKTRACE_LIBRARY
|
|
||||||
NAMES ${STACKTRACE_LIBRARY}
|
|
||||||
PATHS /usr/lib /usr/local/lib
|
|
||||||
)
|
|
||||||
|
|
||||||
IF (STACKTRACE_LIBRARY AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
|
|
||||||
SET(STACKTRACE_LIBRARIES ${STACKTRACE_LIBRARY})
|
|
||||||
ENDIF (STACKTRACE_LIBRARY AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
|
|
||||||
|
|
||||||
SET(PROFILER_NAMES ${PROFILER_NAMES} profiler)
|
|
||||||
FIND_LIBRARY(PROFILER_LIBRARY
|
|
||||||
NAMES ${PROFILER_LIBRARY}
|
|
||||||
PATHS /usr/lib /usr/local/lib
|
|
||||||
)
|
|
||||||
|
|
||||||
IF (PROFILER_LIBRARY AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
|
|
||||||
SET(PROFILER_LIBRARIES ${PROFILER_LIBRARY})
|
|
||||||
ENDIF (PROFILER_LIBRARY AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
|
|
||||||
|
|
||||||
IF (GOOGLE_PERFTOOLS_FOUND)
|
|
||||||
IF (NOT GOOGLE_PERFTOOLS_FIND_QUIETLY)
|
|
||||||
MESSAGE(STATUS "Found Google perftools: ${GOOGLE_PERFTOOLS_LIBRARIES}")
|
|
||||||
ENDIF (NOT GOOGLE_PERFTOOLS_FIND_QUIETLY)
|
|
||||||
ELSE (GOOGLE_PERFTOOLS_FOUND)
|
|
||||||
IF (GOOGLE_PERFTOOLS_FIND_REQUIRED)
|
|
||||||
MESSAGE(FATAL_ERROR "Could not find Google perftools library")
|
|
||||||
ENDIF (GOOGLE_PERFTOOLS_FIND_REQUIRED)
|
|
||||||
ENDIF (GOOGLE_PERFTOOLS_FOUND)
|
|
||||||
|
|
||||||
MARK_AS_ADVANCED(
|
|
||||||
TCMALLOC_LIBRARY
|
|
||||||
STACKTRACE_LIBRARY
|
|
||||||
PROFILER_LIBRARY
|
|
||||||
GOOGLE_PERFTOOLS_INCLUDE_DIR
|
|
||||||
)
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
# - Find HUNSPELL
|
|
||||||
# This module defines
|
|
||||||
# HUNSPELL_INCLUDE_DIR, where to find libhunspell.h, etc.
|
|
||||||
# HUNSPELL_LIBRARY, the library needed to use HUNSPELL.
|
|
||||||
# HUNSPELL_FOUND, If false, do not try to use HUNSPELL.
|
|
||||||
|
|
||||||
find_path(HUNSPELL_INCLUDE_DIR hunspell.h
|
|
||||||
PATH_SUFFIXES hunspell
|
|
||||||
)
|
|
||||||
|
|
||||||
set(HUNSPELL_NAMES ${HUNSPELL_NAMES} hunspell-1.4 libhunspell-1.3 libhunspell)
|
|
||||||
find_library(HUNSPELL_LIBRARY
|
|
||||||
NAMES ${HUNSPELL_NAMES}
|
|
||||||
)
|
|
||||||
|
|
||||||
if (HUNSPELL_LIBRARY AND HUNSPELL_INCLUDE_DIR)
|
|
||||||
set(HUNSPELL_FOUND "YES")
|
|
||||||
else (HUNSPELL_LIBRARY AND HUNSPELL_INCLUDE_DIR)
|
|
||||||
set(HUNSPELL_FOUND "NO")
|
|
||||||
endif (HUNSPELL_LIBRARY AND HUNSPELL_INCLUDE_DIR)
|
|
||||||
|
|
||||||
|
|
||||||
if (HUNSPELL_FOUND)
|
|
||||||
if (NOT HUNSPELL_FIND_QUIETLY)
|
|
||||||
message(STATUS "Found Hunspell: Library in '${HUNSPELL_LIBRARY}' and header in '${HUNSPELL_INCLUDE_DIR}' ")
|
|
||||||
endif (NOT HUNSPELL_FIND_QUIETLY)
|
|
||||||
else (HUNSPELL_FOUND)
|
|
||||||
if (HUNSPELL_FIND_REQUIRED)
|
|
||||||
message(FATAL_ERROR " * * *\nCould not find HUNSPELL library! * * *")
|
|
||||||
endif (HUNSPELL_FIND_REQUIRED)
|
|
||||||
endif (HUNSPELL_FOUND)
|
|
||||||
|
|
||||||
mark_as_advanced(
|
|
||||||
HUNSPELL_LIBRARY
|
|
||||||
HUNSPELL_INCLUDE_DIR
|
|
||||||
)
|
|
||||||
|
|
@ -1,59 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
# - Find JSONCpp
|
|
||||||
# Find the JSONCpp includes and library
|
|
||||||
# This module defines
|
|
||||||
# JSONCPP_INCLUDE_DIR, where to find json.h, etc.
|
|
||||||
# JSONCPP_LIBRARIES, the libraries needed to use jsoncpp.
|
|
||||||
# JSONCPP_FOUND, If false, do not try to use jsoncpp.
|
|
||||||
# also defined, but not for general use are
|
|
||||||
# JSONCPP_LIBRARY, where to find the jsoncpp library.
|
|
||||||
|
|
||||||
FIND_PATH(JSONCPP_INCLUDE_DIR NAMES jsoncpp/json.h jsoncpp/json/json.h
|
|
||||||
/usr/local/include
|
|
||||||
/usr/include
|
|
||||||
)
|
|
||||||
|
|
||||||
# Get the GCC compiler version
|
|
||||||
EXEC_PROGRAM(${CMAKE_CXX_COMPILER}
|
|
||||||
ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
|
|
||||||
OUTPUT_VARIABLE _gcc_COMPILER_VERSION
|
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
||||||
)
|
|
||||||
|
|
||||||
# Try to find a library that was compiled with the same compiler version as we currently use.
|
|
||||||
SET(JSONCPP_NAMES ${JSONCPP_NAMES} libjson_linux-gcc-${_gcc_COMPILER_VERSION}_libmt.so)
|
|
||||||
|
|
||||||
# On standalone, assume that the system installed library was compiled with the used compiler.
|
|
||||||
SET(JSONCPP_NAMES ${JSONCPP_NAMES} libjson.so libjsoncpp.so)
|
|
||||||
|
|
||||||
FIND_LIBRARY(JSONCPP_LIBRARY
|
|
||||||
NAMES ${JSONCPP_NAMES}
|
|
||||||
)
|
|
||||||
|
|
||||||
IF (JSONCPP_LIBRARY AND JSONCPP_INCLUDE_DIR)
|
|
||||||
SET(JSONCPP_LIBRARIES ${JSONCPP_LIBRARY})
|
|
||||||
SET(JSONCPP_FOUND "YES")
|
|
||||||
ELSE (JSONCPP_LIBRARY AND JSONCPP_INCLUDE_DIR)
|
|
||||||
SET(JSONCPP_FOUND "NO")
|
|
||||||
ENDIF (JSONCPP_LIBRARY AND JSONCPP_INCLUDE_DIR)
|
|
||||||
|
|
||||||
|
|
||||||
IF (JSONCPP_FOUND)
|
|
||||||
IF (NOT JSONCPP_FIND_QUIETLY)
|
|
||||||
MESSAGE(STATUS "Found JSONCpp: ${JSONCPP_LIBRARIES}")
|
|
||||||
ENDIF (NOT JSONCPP_FIND_QUIETLY)
|
|
||||||
ELSE (JSONCPP_FOUND)
|
|
||||||
IF (JSONCPP_FIND_REQUIRED)
|
|
||||||
MESSAGE(FATAL_ERROR "Could not find JSONCpp library")
|
|
||||||
ENDIF (JSONCPP_FIND_REQUIRED)
|
|
||||||
ENDIF (JSONCPP_FOUND)
|
|
||||||
|
|
||||||
# Deprecated declarations.
|
|
||||||
SET (NATIVE_JSONCPP_INCLUDE_PATH ${JSONCPP_INCLUDE_DIR} )
|
|
||||||
GET_FILENAME_COMPONENT (NATIVE_JSONCPP_LIB_PATH ${JSONCPP_LIBRARY} PATH)
|
|
||||||
|
|
||||||
MARK_AS_ADVANCED(
|
|
||||||
JSONCPP_LIBRARY
|
|
||||||
JSONCPP_INCLUDE_DIR
|
|
||||||
)
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
# - Find NDOF
|
|
||||||
# Find the NDOF includes and library
|
|
||||||
# This module defines
|
|
||||||
# NDOF_INCLUDE_DIR, where to find ndofdev_external.h, etc.
|
|
||||||
# NDOF_LIBRARY, the library needed to use NDOF.
|
|
||||||
# NDOF_FOUND, If false, do not try to use NDOF.
|
|
||||||
|
|
||||||
find_path(NDOF_INCLUDE_DIR ndofdev_external.h
|
|
||||||
PATH_SUFFIXES ndofdev
|
|
||||||
)
|
|
||||||
|
|
||||||
set(NDOF_NAMES ${NDOF_NAMES} ndofdev libndofdev)
|
|
||||||
find_library(NDOF_LIBRARY
|
|
||||||
NAMES ${NDOF_NAMES}
|
|
||||||
)
|
|
||||||
|
|
||||||
if (NDOF_LIBRARY AND NDOF_INCLUDE_DIR)
|
|
||||||
set(NDOF_FOUND "YES")
|
|
||||||
else (NDOF_LIBRARY AND NDOF_INCLUDE_DIR)
|
|
||||||
set(NDOF_FOUND "NO")
|
|
||||||
endif (NDOF_LIBRARY AND NDOF_INCLUDE_DIR)
|
|
||||||
|
|
||||||
|
|
||||||
if (NDOF_FOUND)
|
|
||||||
if (NOT NDOF_FIND_QUIETLY)
|
|
||||||
message(STATUS "Found NDOF: Library in '${NDOF_LIBRARY}' and header in '${NDOF_INCLUDE_DIR}' ")
|
|
||||||
endif (NOT NDOF_FIND_QUIETLY)
|
|
||||||
else (NDOF_FOUND)
|
|
||||||
if (NDOF_FIND_REQUIRED)
|
|
||||||
message(FATAL_ERROR " * * *\nCould not find NDOF library!\nIf you don't need Space Navigator Joystick support you can skip this test by configuring with -DNDOF:BOOL=OFF\n * * *")
|
|
||||||
endif (NDOF_FIND_REQUIRED)
|
|
||||||
endif (NDOF_FOUND)
|
|
||||||
|
|
||||||
mark_as_advanced(
|
|
||||||
NDOF_LIBRARY
|
|
||||||
NDOF_INCLUDE_DIR
|
|
||||||
)
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
# - Find OpenJPEG
|
|
||||||
# Find the OpenJPEG includes and library
|
|
||||||
# This module defines
|
|
||||||
# OPENJPEG_INCLUDE_DIR, where to find openjpeg.h, etc.
|
|
||||||
# OPENJPEG_LIBRARIES, the libraries needed to use OpenJPEG.
|
|
||||||
# OPENJPEG_FOUND, If false, do not try to use OpenJPEG.
|
|
||||||
# also defined, but not for general use are
|
|
||||||
# OPENJPEG_LIBRARY, where to find the OpenJPEG library.
|
|
||||||
|
|
||||||
FIND_PATH(OPENJPEG_INCLUDE_DIR openjpeg.h
|
|
||||||
/usr/local/include/openjpeg-2.1
|
|
||||||
/usr/local/include/openjpeg
|
|
||||||
/usr/local/include
|
|
||||||
/usr/include/openjpeg-2.1
|
|
||||||
/usr/include/openjpeg
|
|
||||||
/usr/include
|
|
||||||
include/openjpeg
|
|
||||||
)
|
|
||||||
|
|
||||||
SET(OPENJPEG_NAMES ${OPENJPEG_NAMES} openjp2)
|
|
||||||
FIND_LIBRARY(OPENJPEG_LIBRARY
|
|
||||||
NAMES ${OPENJPEG_NAMES}
|
|
||||||
PATHS /usr/lib /usr/local/lib
|
|
||||||
)
|
|
||||||
|
|
||||||
IF (OPENJPEG_LIBRARY AND OPENJPEG_INCLUDE_DIR)
|
|
||||||
SET(OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARY})
|
|
||||||
SET(OPENJPEG_FOUND "YES")
|
|
||||||
ELSE (OPENJPEG_LIBRARY AND OPENJPEG_INCLUDE_DIR)
|
|
||||||
SET(OPENJPEG_FOUND "NO")
|
|
||||||
ENDIF (OPENJPEG_LIBRARY AND OPENJPEG_INCLUDE_DIR)
|
|
||||||
|
|
||||||
|
|
||||||
IF (OPENJPEG_FOUND)
|
|
||||||
IF (NOT OPENJPEG_FIND_QUIETLY)
|
|
||||||
MESSAGE(STATUS "Found OpenJPEG: ${OPENJPEG_LIBRARIES}")
|
|
||||||
ENDIF (NOT OPENJPEG_FIND_QUIETLY)
|
|
||||||
ELSE (OPENJPEG_FOUND)
|
|
||||||
IF (OPENJPEG_FIND_REQUIRED)
|
|
||||||
MESSAGE(FATAL_ERROR "Could not find OpenJPEG library")
|
|
||||||
ENDIF (OPENJPEG_FIND_REQUIRED)
|
|
||||||
ENDIF (OPENJPEG_FOUND)
|
|
||||||
|
|
||||||
# Deprecated declarations.
|
|
||||||
SET (NATIVE_OPENJPEG_INCLUDE_PATH ${OPENJPEG_INCLUDE_DIR} )
|
|
||||||
GET_FILENAME_COMPONENT (NATIVE_OPENJPEG_LIB_PATH ${OPENJPEG_LIBRARY} PATH)
|
|
||||||
|
|
||||||
MARK_AS_ADVANCED(
|
|
||||||
OPENJPEG_LIBRARY
|
|
||||||
OPENJPEG_INCLUDE_DIR
|
|
||||||
)
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
# - Find uriparser
|
|
||||||
# Find the URIPARSER includes and library
|
|
||||||
# This module defines
|
|
||||||
# URIPARSER_INCLUDE_DIRS, where to find uriparser.h, etc.
|
|
||||||
# URIPARSER_LIBRARIES, the libraries needed to use uriparser.
|
|
||||||
# URIPARSER_FOUND, If false, do not try to use uriparser.
|
|
||||||
#
|
|
||||||
# This FindURIPARSER is about 43 times as fast the one provided with cmake (2.8.x),
|
|
||||||
# because it doesn't look up the version of uriparser, resulting in a dramatic
|
|
||||||
# speed up for configure (from 4 minutes 22 seconds to 6 seconds).
|
|
||||||
#
|
|
||||||
# Note: Since this file is only used for standalone, the windows
|
|
||||||
# specific parts were left out.
|
|
||||||
|
|
||||||
FIND_PATH(URIPARSER_INCLUDE_DIR uriparser/Uri.h)
|
|
||||||
|
|
||||||
FIND_LIBRARY(URIPARSER_LIBRARY uriparser)
|
|
||||||
|
|
||||||
if (URIPARSER_LIBRARY AND URIPARSER_INCLUDE_DIR)
|
|
||||||
SET(URIPARSER_INCLUDE_DIRS ${URIPARSER_INCLUDE_DIR})
|
|
||||||
SET(URIPARSER_LIBRARIES ${URIPARSER_LIBRARY})
|
|
||||||
SET(URIPARSER_FOUND "YES")
|
|
||||||
else (URIPARSER_LIBRARY AND URIPARSER_INCLUDE_DIR)
|
|
||||||
SET(URIPARSER_FOUND "NO")
|
|
||||||
endif (URIPARSER_LIBRARY AND URIPARSER_INCLUDE_DIR)
|
|
||||||
|
|
||||||
if (URIPARSER_FOUND)
|
|
||||||
if (NOT URIPARSER_FIND_QUIETLY)
|
|
||||||
message(STATUS "Found URIPARSER: ${URIPARSER_LIBRARIES}")
|
|
||||||
SET(URIPARSER_FIND_QUIETLY TRUE)
|
|
||||||
endif (NOT URIPARSER_FIND_QUIETLY)
|
|
||||||
else (URIPARSER_FOUND)
|
|
||||||
if (URIPARSER_FIND_REQUIRED)
|
|
||||||
message(FATAL_ERROR "Could not find URIPARSER library")
|
|
||||||
endif (URIPARSER_FIND_REQUIRED)
|
|
||||||
endif (URIPARSER_FOUND)
|
|
||||||
|
|
||||||
mark_as_advanced(
|
|
||||||
URIPARSER_LIBRARY
|
|
||||||
URIPARSER_INCLUDE_DIR
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
# - Find XMLRPC-EPI
|
|
||||||
# Find the XMLRPC-EPI includes and library
|
|
||||||
# This module defines
|
|
||||||
# XMLRPCEPI_INCLUDE_DIR, where to find jpeglib.h, etc.
|
|
||||||
# XMLRPCEPI_LIBRARIES, the libraries needed to use XMLRPC-EPI.
|
|
||||||
# XMLRPCEPI_FOUND, If false, do not try to use XMLRPC-EPI.
|
|
||||||
# also defined, but not for general use are
|
|
||||||
# XMLRPCEPI_LIBRARY, where to find the XMLRPC-EPI library.
|
|
||||||
|
|
||||||
FIND_PATH(XMLRPCEPI_INCLUDE_DIR xmlrpc-epi/xmlrpc.h
|
|
||||||
/usr/local/include
|
|
||||||
/usr/include
|
|
||||||
)
|
|
||||||
|
|
||||||
SET(XMLRPCEPI_NAMES ${XMLRPCEPI_NAMES} xmlrpc-epi)
|
|
||||||
FIND_LIBRARY(XMLRPCEPI_LIBRARY
|
|
||||||
NAMES ${XMLRPCEPI_NAMES}
|
|
||||||
PATHS /usr/lib /usr/local/lib
|
|
||||||
)
|
|
||||||
|
|
||||||
IF (XMLRPCEPI_LIBRARY AND XMLRPCEPI_INCLUDE_DIR)
|
|
||||||
SET(XMLRPCEPI_LIBRARIES ${XMLRPCEPI_LIBRARY})
|
|
||||||
SET(XMLRPCEPI_FOUND "YES")
|
|
||||||
ELSE (XMLRPCEPI_LIBRARY AND XMLRPCEPI_INCLUDE_DIR)
|
|
||||||
SET(XMLRPCEPI_FOUND "NO")
|
|
||||||
ENDIF (XMLRPCEPI_LIBRARY AND XMLRPCEPI_INCLUDE_DIR)
|
|
||||||
|
|
||||||
|
|
||||||
IF (XMLRPCEPI_FOUND)
|
|
||||||
IF (NOT XMLRPCEPI_FIND_QUIETLY)
|
|
||||||
MESSAGE(STATUS "Found XMLRPC-EPI: ${XMLRPCEPI_LIBRARIES}")
|
|
||||||
ENDIF (NOT XMLRPCEPI_FIND_QUIETLY)
|
|
||||||
ELSE (XMLRPCEPI_FOUND)
|
|
||||||
IF (XMLRPCEPI_FIND_REQUIRED)
|
|
||||||
MESSAGE(FATAL_ERROR "Could not find XMLRPC-EPI library")
|
|
||||||
ENDIF (XMLRPCEPI_FIND_REQUIRED)
|
|
||||||
ENDIF (XMLRPCEPI_FOUND)
|
|
||||||
|
|
||||||
# Deprecated declarations.
|
|
||||||
SET (NATIVE_XMLRPCEPI_INCLUDE_PATH ${XMLRPCEPI_INCLUDE_DIR} )
|
|
||||||
GET_FILENAME_COMPONENT (NATIVE_XMLRPCEPI_LIB_PATH ${XMLRPCEPI_LIBRARY} PATH)
|
|
||||||
|
|
||||||
MARK_AS_ADVANCED(
|
|
||||||
XMLRPCEPI_LIBRARY
|
|
||||||
XMLRPCEPI_INCLUDE_DIR
|
|
||||||
)
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
# - Find zlib-ng
|
|
||||||
# Find the ZLIB includes and library
|
|
||||||
# This module defines
|
|
||||||
# ZLIBNG_INCLUDE_DIRS, where to find zlib.h, etc.
|
|
||||||
# ZLIBNG_LIBRARIES, the libraries needed to use zlib.
|
|
||||||
# ZLIBNG_FOUND, If false, do not try to use zlib.
|
|
||||||
#
|
|
||||||
# This FindZLIBNG is about 43 times as fast the one provided with cmake (2.8.x),
|
|
||||||
# because it doesn't look up the version of zlib, resulting in a dramatic
|
|
||||||
# speed up for configure (from 4 minutes 22 seconds to 6 seconds).
|
|
||||||
#
|
|
||||||
# Note: Since this file is only used for standalone, the windows
|
|
||||||
# specific parts were left out.
|
|
||||||
|
|
||||||
FIND_PATH(ZLIBNG_INCLUDE_DIR zlib.h
|
|
||||||
NO_SYSTEM_ENVIRONMENT_PATH
|
|
||||||
)
|
|
||||||
|
|
||||||
FIND_LIBRARY(ZLIBNG_LIBRARY z)
|
|
||||||
|
|
||||||
if (ZLIBNG_LIBRARY AND ZLIBNG_INCLUDE_DIR)
|
|
||||||
SET(ZLIBNG_INCLUDE_DIRS ${ZLIBNG_INCLUDE_DIR})
|
|
||||||
SET(ZLIBNG_LIBRARIES ${ZLIBNG_LIBRARY})
|
|
||||||
SET(ZLIBNG_FOUND "YES")
|
|
||||||
else (ZLIBNG_LIBRARY AND ZLIBNG_INCLUDE_DIR)
|
|
||||||
SET(ZLIBNG_FOUND "NO")
|
|
||||||
endif (ZLINGB_LIBRARY AND ZLIBNG_INCLUDE_DIR)
|
|
||||||
|
|
||||||
if (ZLIBNG_FOUND)
|
|
||||||
if (NOT ZLIBNG_FIND_QUIETLY)
|
|
||||||
message(STATUS "Found ZLIBNG: ${ZLIBNG_LIBRARIES}")
|
|
||||||
SET(ZLIBNG_FIND_QUIETLY TRUE)
|
|
||||||
endif (NOT ZLIBNG_FIND_QUIETLY)
|
|
||||||
else (ZLIBNG_FOUND)
|
|
||||||
if (ZLIBNG_FIND_REQUIRED)
|
|
||||||
message(FATAL_ERROR "Could not find ZLIBNG library")
|
|
||||||
endif (ZLIBNG_FIND_REQUIRED)
|
|
||||||
endif (ZLIBNG_FOUND)
|
|
||||||
|
|
||||||
mark_as_advanced(
|
|
||||||
ZLIBNG_LIBRARY
|
|
||||||
ZLIBNG_INCLUDE_DIR
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
@ -1,19 +1,15 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
include_guard()
|
||||||
include(FindPkgConfig)
|
add_library( ll::freetype INTERFACE IMPORTED )
|
||||||
|
|
||||||
pkg_check_modules(FREETYPE REQUIRED freetype2)
|
if (LINUX)
|
||||||
else (USESYSTEMLIBS)
|
find_package(Freetype REQUIRED) # <FS:PC> linux fontconfig and freetype should come from the user's system Linux links this via llwindow/CMakeLists
|
||||||
if (LINUX) # <FS:PC> linux fontconfig and freetype should come
|
target_link_libraries( ll::freetype INTERFACE Freetype::Freetype )
|
||||||
find_package(Freetype REQUIRED) # from the user's system
|
else ()
|
||||||
else (LINUX) # Linux links this via llwindow/CMakeLists
|
use_system_binary(freetype)
|
||||||
use_prebuilt_binary(freetype)
|
use_prebuilt_binary(freetype)
|
||||||
set(FREETYPE_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
|
target_include_directories( ll::freetype SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/freetype2/)
|
||||||
set(FREETYPE_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/freetype2) #<FS:ND/> Also add freetype2 to search dir, or some includes will fail.
|
target_link_libraries( ll::freetype INTERFACE freetype )
|
||||||
set(FREETYPE_LIBRARIES freetype)
|
endif()
|
||||||
endif()
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
||||||
link_directories(${FREETYPE_LIBRARY_DIRS})
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
include(GLH)
|
||||||
|
|
||||||
|
add_library( ll::glext INTERFACE IMPORTED )
|
||||||
|
use_system_binary(glext)
|
||||||
|
use_prebuilt_binary(glext)
|
||||||
|
|
||||||
|
|
||||||
if (NOT USESYSTEMLIBS)
|
|
||||||
use_prebuilt_binary(glext)
|
|
||||||
use_prebuilt_binary(glh_linear)
|
|
||||||
set(GLEXT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include)
|
|
||||||
endif (NOT USESYSTEMLIBS)
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,7 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
set(GLH_FIND_REQUIRED TRUE)
|
add_library( ll::glh_linear INTERFACE IMPORTED )
|
||||||
set(GLH_FIND_QUIETLY TRUE)
|
|
||||||
|
|
||||||
#if (USESYSTEMLIBS)
|
use_system_binary( glh_linear )
|
||||||
# include(FindGLH)
|
use_prebuilt_binary(glh_linear)
|
||||||
#else (USESYSTEMLIBS)
|
|
||||||
use_prebuilt_binary(glh_linear)
|
|
||||||
#endif (USESYSTEMLIBS)
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,18 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
|
|
||||||
#if (USESYSTEMLIBS)
|
include_guard()
|
||||||
# set(GLOD_FIND_REQUIRED true)
|
add_library( fs::glod INTERFACE IMPORTED )
|
||||||
# include(FindGLOD)
|
|
||||||
#else (USESYSTEMLIBS)
|
include(Prebuilt)
|
||||||
include(Prebuilt)
|
use_prebuilt_binary(glod)
|
||||||
use_prebuilt_binary(glod)
|
if (WINDOWS)
|
||||||
set(GLOD_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include)
|
target_link_libraries( fs::glod INTERFACE glod.lib)
|
||||||
if(LINUX)
|
elseif (DARWIN)
|
||||||
set(GLOD_LIBRARIES GLOD vds)
|
target_link_libraries( fs::glod INTERFACE libGLOD.dylib)
|
||||||
else()
|
elseif (LINUX)
|
||||||
set(GLOD_LIBRARIES GLOD)
|
target_link_libraries( fs::glod INTERFACE libGLOD.a libvds.a)
|
||||||
endif()
|
endif (WINDOWS)
|
||||||
#endif (USESYSTEMLIBS)
|
|
||||||
|
target_include_directories( fs::glod SYSTEM INTERFACE
|
||||||
|
${AUTOBUILD_INSTALL_DIR}/include/glod
|
||||||
|
)
|
||||||
|
|
@ -1,38 +1,14 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
if (NOT LINUX)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
add_library( ll::gstreamer INTERFACE IMPORTED )
|
||||||
include(FindPkgConfig)
|
target_compile_definitions( ll::gstreamer INTERFACE LL_GSTREAMER010_ENABLED=1)
|
||||||
|
use_system_binary(gstreamer)
|
||||||
|
|
||||||
pkg_check_modules(GSTREAMER010 REQUIRED gstreamer-0.10)
|
use_prebuilt_binary(gstreamer)
|
||||||
pkg_check_modules(GSTREAMER010_PLUGINS_BASE REQUIRED gstreamer-plugins-base-0.10)
|
|
||||||
elseif (LINUX)
|
|
||||||
use_prebuilt_binary(gstreamer)
|
|
||||||
# possible libxml2 should have its own .cmake file instead
|
|
||||||
use_prebuilt_binary(libxml2)
|
|
||||||
set(GSTREAMER010_FOUND ON FORCE BOOL)
|
|
||||||
set(GSTREAMER010_PLUGINS_BASE_FOUND ON FORCE BOOL)
|
|
||||||
set(GSTREAMER010_INCLUDE_DIRS
|
|
||||||
${LIBS_PREBUILT_DIR}/include/gstreamer-0.10
|
|
||||||
${LIBS_PREBUILT_DIR}/include/glib-2.0
|
|
||||||
${LIBS_PREBUILT_DIR}/include/libxml2
|
|
||||||
)
|
|
||||||
# We don't need to explicitly link against gstreamer itself, because
|
|
||||||
# LLMediaImplGStreamer probes for the system's copy at runtime.
|
|
||||||
set(GSTREAMER010_LIBRARIES
|
|
||||||
gobject-2.0
|
|
||||||
gmodule-2.0
|
|
||||||
dl
|
|
||||||
gthread-2.0
|
|
||||||
glib-2.0
|
|
||||||
)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
||||||
if (GSTREAMER010_FOUND AND GSTREAMER010_PLUGINS_BASE_FOUND)
|
|
||||||
set(GSTREAMER010 ON CACHE BOOL "Build with GStreamer-0.10 streaming media support.")
|
|
||||||
endif (GSTREAMER010_FOUND AND GSTREAMER010_PLUGINS_BASE_FOUND)
|
|
||||||
|
|
||||||
if (GSTREAMER010)
|
|
||||||
add_definitions(-DLL_GSTREAMER010_ENABLED=1)
|
|
||||||
endif (GSTREAMER010)
|
|
||||||
|
|
||||||
|
# <FS:Zi> Not sure if this is the correct place to add this, but it works
|
||||||
|
target_include_directories( ll::gstreamer SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/gstreamer-0.10)
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,13 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
include(GLIB)
|
if (NOT LINUX)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
add_library( ll::gstreamer INTERFACE IMPORTED )
|
||||||
include(FindPkgConfig)
|
target_compile_definitions( ll::gstreamer INTERFACE LL_GSTREAMER010_ENABLED=1)
|
||||||
|
use_system_binary(gstreamer10)
|
||||||
pkg_check_modules(GSTREAMER10 REQUIRED gstreamer-1.0)
|
|
||||||
pkg_check_modules(GSTREAMER10_PLUGINS_BASE REQUIRED gstreamer-plugins-base-1.0)
|
|
||||||
elseif (LINUX OR WINDOWS)
|
|
||||||
use_prebuilt_binary(gstreamer10)
|
|
||||||
use_prebuilt_binary(libxml2)
|
|
||||||
set(GSTREAMER10_FOUND ON FORCE BOOL)
|
|
||||||
set(GSTREAMER10_PLUGINS_BASE_FOUND ON FORCE BOOL)
|
|
||||||
set(GSTREAMER10_INCLUDE_DIRS
|
|
||||||
${GLIB_INCLUDE_DIRS}
|
|
||||||
${LIBS_PREBUILT_DIR}/include/gstreamer-1.0
|
|
||||||
${LIBS_PREBUILT_DIR}/include/libxml2
|
|
||||||
)
|
|
||||||
# We don't need to explicitly link against gstreamer itself, because
|
|
||||||
# LLMediaImplGStreamer probes for the system's copy at runtime.
|
|
||||||
set(GSTREAMER10_LIBRARIES)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
||||||
if (GSTREAMER10_FOUND AND GSTREAMER10_PLUGINS_BASE_FOUND)
|
|
||||||
set(GSTREAMER10 ON CACHE BOOL "Build with GStreamer-1.0 streaming media support.")
|
|
||||||
endif (GSTREAMER10_FOUND AND GSTREAMER10_PLUGINS_BASE_FOUND)
|
|
||||||
|
|
||||||
if (GSTREAMER10)
|
|
||||||
add_definitions(-DLL_GSTREAMER10_ENABLED=1)
|
|
||||||
endif (GSTREAMER10)
|
|
||||||
|
|
||||||
|
use_prebuilt_binary(gstreamer10)
|
||||||
|
use_prebuilt_binary(libxml2)
|
||||||
|
target_include_directories( ll::gstreamer SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/gstreamer-1.0)
|
||||||
|
|
|
||||||
|
|
@ -2,27 +2,31 @@
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
include(Linking)
|
include(Linking)
|
||||||
|
|
||||||
|
include_guard()
|
||||||
|
|
||||||
|
add_library( ll::googlemock INTERFACE IMPORTED )
|
||||||
|
if(USE_CONAN)
|
||||||
|
target_link_libraries( ll::googlemock INTERFACE CONAN_PKG::gtest )
|
||||||
|
|
||||||
|
#Not very nice, but for the moment we need this for tut.hpp
|
||||||
|
target_include_directories( ll::googlemock SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include )
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
use_prebuilt_binary(googlemock)
|
use_prebuilt_binary(googlemock)
|
||||||
|
|
||||||
set(GOOGLEMOCK_INCLUDE_DIRS
|
target_include_directories( ll::googlemock SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include )
|
||||||
${LIBS_PREBUILT_DIR}/include)
|
|
||||||
|
|
||||||
if (LINUX)
|
if (LINUX)
|
||||||
# VWR-24366: gmock is underlinked, it needs gtest.
|
# VWR-24366: gmock is underlinked, it needs gtest.
|
||||||
set(GOOGLEMOCK_LIBRARIES
|
target_link_libraries( ll::googlemock INTERFACE gmock gtest)
|
||||||
gmock -Wl,--no-as-needed
|
|
||||||
gtest -Wl,--as-needed)
|
|
||||||
elseif(WINDOWS)
|
elseif(WINDOWS)
|
||||||
set(GOOGLEMOCK_LIBRARIES
|
target_link_libraries( ll::googlemock INTERFACE gmock)
|
||||||
gmock)
|
target_include_directories( ll::googlemock SYSTEM INTERFACE
|
||||||
set(GOOGLEMOCK_INCLUDE_DIRS
|
${LIBS_PREBUILT_DIR}/include
|
||||||
${LIBS_PREBUILT_DIR}/include
|
${LIBS_PREBUILT_DIR}/include/gmock)
|
||||||
${LIBS_PREBUILT_DIR}/include/gmock
|
|
||||||
${LIBS_PREBUILT_DIR}/include/gmock/boost/tr1/tr1)
|
|
||||||
elseif(DARWIN)
|
elseif(DARWIN)
|
||||||
set(GOOGLEMOCK_LIBRARIES
|
target_link_libraries( ll::googlemock INTERFACE gmock gtest)
|
||||||
gmock
|
|
||||||
gtest)
|
|
||||||
endif(LINUX)
|
endif(LINUX)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,23 +2,22 @@
|
||||||
|
|
||||||
# Growl is actually libnotify on linux systems.
|
# Growl is actually libnotify on linux systems.
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
if (DARWIN OR WINDOWS) # <FS:Zi> no need to do these things on Linux
|
||||||
if( LINUX )
|
|
||||||
add_definitions( -DHAS_GROWL)
|
include_guard()
|
||||||
endif( LINUX )
|
add_library( fs::growl INTERFACE IMPORTED )
|
||||||
#set(LIBNOTIFY_FIND_REQUIRED ON)
|
|
||||||
#include(FindLibnotify)
|
include(Prebuilt)
|
||||||
#set(GROWL_INCLUDE_DIRS ${LIBNOTIFY_INCLUDE_DIR})
|
use_prebuilt_binary(gntp-growl)
|
||||||
#set(GROWL_LIBRARY ${LIBNOTIFY_LIBRARIES})
|
if (WINDOWS)
|
||||||
else (USESYSTEMLIBS)
|
target_link_libraries( fs::growl INTERFACE growl.lib growl++.lib)
|
||||||
if (DARWIN OR WINDOWS)
|
elseif (DARWIN)
|
||||||
# Growl is making some problems still
|
target_link_libraries( fs:growl INTERFACE libgrowl.dylib libgrowl++.dylib)
|
||||||
include(Prebuilt)
|
endif (WINDOWS)
|
||||||
use_prebuilt_binary(gntp-growl)
|
|
||||||
set(GROWL_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/Growl)
|
target_include_directories( fs::growl SYSTEM INTERFACE
|
||||||
set(GROWL_LIBRARY growl growl++)
|
${AUTOBUILD_INSTALL_DIR}/include/Growl
|
||||||
add_definitions( -DHAS_GROWL)
|
)
|
||||||
elseif (LINUX)
|
endif (DARWIN OR WINDOWS) # <FS:Zi> no need to do these things on Linux
|
||||||
add_definitions( -DHAS_GROWL)
|
|
||||||
endif ()
|
add_compile_definitions(HAS_GROWL)
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
|
include_guard()
|
||||||
set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES")
|
|
||||||
|
|
||||||
use_prebuilt_binary(havok-source)
|
use_prebuilt_binary(havok-source)
|
||||||
|
|
||||||
|
|
@ -124,4 +123,3 @@ foreach(HAVOK_LIB ${HAVOK_LIBS})
|
||||||
endif (LINUX)
|
endif (LINUX)
|
||||||
endforeach(HAVOK_LIB)
|
endforeach(HAVOK_LIB)
|
||||||
|
|
||||||
endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
|
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,17 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
set(HUNSPELL_FIND_QUIETLY ON)
|
include_guard()
|
||||||
set(HUNSPELL_FIND_REQUIRED ON)
|
use_prebuilt_binary(dictionaries)
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
add_library( ll::hunspell INTERFACE IMPORTED )
|
||||||
include(FindHUNSPELL)
|
use_system_binary(hunspell)
|
||||||
else (USESYSTEMLIBS)
|
use_prebuilt_binary(libhunspell)
|
||||||
use_prebuilt_binary(libhunspell)
|
if (WINDOWS)
|
||||||
if (WINDOWS)
|
target_link_libraries( ll::hunspell INTERFACE libhunspell)
|
||||||
set(HUNSPELL_LIBRARY libhunspell)
|
elseif(DARWIN)
|
||||||
elseif(DARWIN)
|
target_link_libraries( ll::hunspell INTERFACE hunspell-1.3)
|
||||||
set(HUNSPELL_LIBRARY hunspell-1.3)
|
elseif(LINUX)
|
||||||
elseif(LINUX)
|
target_link_libraries( ll::hunspell INTERFACE hunspell-1.3)
|
||||||
set(HUNSPELL_LIBRARY libhunspell-1.3.a)
|
endif()
|
||||||
else()
|
target_include_directories( ll::hunspell SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/hunspell)
|
||||||
message(FATAL_ERROR "Invalid platform")
|
|
||||||
endif()
|
|
||||||
set(HUNSPELL_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/hunspell)
|
|
||||||
use_prebuilt_binary(dictionaries)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
|
||||||
|
|
@ -2,19 +2,17 @@
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
include(Linking)
|
include(Linking)
|
||||||
set(JPEG_FIND_QUIETLY ON)
|
|
||||||
set(JPEG_FIND_REQUIRED ON)
|
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
include_guard()
|
||||||
include(FindJPEG)
|
add_library( ll::libjpeg INTERFACE IMPORTED )
|
||||||
else (USESYSTEMLIBS)
|
|
||||||
use_prebuilt_binary(jpeglib)
|
use_system_binary(libjpeg)
|
||||||
if (LINUX)
|
use_prebuilt_binary(jpeglib)
|
||||||
set(JPEG_LIBRARIES jpeg)
|
if (LINUX)
|
||||||
elseif (DARWIN)
|
target_link_libraries( ll::libjpeg INTERFACE jpeg)
|
||||||
set(JPEG_LIBRARIES jpeg)
|
elseif (DARWIN)
|
||||||
elseif (WINDOWS)
|
target_link_libraries( ll::libjpeg INTERFACE jpeg)
|
||||||
set(JPEG_LIBRARIES jpeglib)
|
elseif (WINDOWS)
|
||||||
endif (LINUX)
|
target_link_libraries( ll::libjpeg INTERFACE jpeglib)
|
||||||
set(JPEG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
|
endif (LINUX)
|
||||||
endif (USESYSTEMLIBS)
|
target_include_directories( ll::libjpeg SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include)
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,17 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
|
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
include_guard()
|
||||||
|
add_library( ll::jsoncpp INTERFACE IMPORTED )
|
||||||
|
|
||||||
set(JSONCPP_FIND_QUIETLY ON)
|
use_system_binary(jsoncpp)
|
||||||
set(JSONCPP_FIND_REQUIRED ON)
|
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
use_prebuilt_binary(jsoncpp)
|
||||||
include(FindJsonCpp)
|
if (WINDOWS)
|
||||||
else (USESYSTEMLIBS)
|
target_link_libraries( ll::jsoncpp INTERFACE json_libmd.lib )
|
||||||
use_prebuilt_binary(jsoncpp)
|
elseif (DARWIN)
|
||||||
if (WINDOWS)
|
target_link_libraries( ll::jsoncpp INTERFACE libjson_darwin_libmt.a )
|
||||||
set(JSONCPP_LIBRARIES
|
elseif (LINUX)
|
||||||
debug json_libmdd.lib
|
target_link_libraries( ll::jsoncpp INTERFACE libjson_linux-gcc-5.4.0_libmt.a )
|
||||||
optimized json_libmd.lib)
|
endif (WINDOWS)
|
||||||
elseif (DARWIN)
|
target_include_directories( ll::jsoncpp SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include)
|
||||||
set(JSONCPP_LIBRARIES libjson_darwin_libmt.a)
|
|
||||||
elseif (LINUX)
|
|
||||||
set(JSONCPP_LIBRARIES libjson_linux-gcc-5.4.0_libmt.a)
|
|
||||||
endif (WINDOWS)
|
|
||||||
set(JSONCPP_INCLUDE_DIR "${LIBS_PREBUILT_DIR}/include/")
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
|
||||||
|
|
@ -22,102 +22,86 @@ MACRO(LL_ADD_PROJECT_UNIT_TESTS project sources)
|
||||||
# * properties for each sourcefile passed in indicate what libs to link that file with (MAKE NO ASSUMPTIONS ASIDE FROM TUT)
|
# * properties for each sourcefile passed in indicate what libs to link that file with (MAKE NO ASSUMPTIONS ASIDE FROM TUT)
|
||||||
#
|
#
|
||||||
# More info and examples at: https://wiki.secondlife.com/wiki/How_to_add_unit_tests_to_indra_code
|
# More info and examples at: https://wiki.secondlife.com/wiki/How_to_add_unit_tests_to_indra_code
|
||||||
#
|
|
||||||
# WARNING: do NOT modify this code without working with poppy -
|
|
||||||
# there is another branch that will conflict heavily with any changes here.
|
|
||||||
# <FS:ND> Google Mock/Test is not used
|
|
||||||
#INCLUDE(GoogleMock)
|
|
||||||
# </FS:ND>
|
|
||||||
|
|
||||||
IF(LL_TEST_VERBOSE)
|
# This here looks weird, but is needed. It will inject GoogleMock into projects that forgot to include `this` (LLAddBuildTest.cmake)
|
||||||
MESSAGE("LL_ADD_PROJECT_UNIT_TESTS UNITTEST_PROJECT_${project} sources: ${sources}")
|
# But through some other means have access to this macro
|
||||||
ENDIF(LL_TEST_VERBOSE)
|
include(GoogleMock)
|
||||||
|
|
||||||
|
if(LL_TEST_VERBOSE)
|
||||||
|
message("LL_ADD_PROJECT_UNIT_TESTS UNITTEST_PROJECT_${project} sources: ${sources}")
|
||||||
|
endif()
|
||||||
|
|
||||||
# Start with the header and project-wide setup before making targets
|
# Start with the header and project-wide setup before making targets
|
||||||
#project(UNITTEST_PROJECT_${project})
|
#project(UNITTEST_PROJECT_${project})
|
||||||
# Setup includes, paths, etc
|
# Setup includes, paths, etc
|
||||||
SET(alltest_SOURCE_FILES
|
set(alltest_SOURCE_FILES
|
||||||
${CMAKE_SOURCE_DIR}/test/test.cpp
|
${CMAKE_SOURCE_DIR}/test/test.cpp
|
||||||
${CMAKE_SOURCE_DIR}/test/lltut.cpp
|
${CMAKE_SOURCE_DIR}/test/lltut.cpp
|
||||||
)
|
)
|
||||||
SET(alltest_DEP_TARGETS
|
set(alltest_DEP_TARGETS
|
||||||
# needed by the test harness itself
|
# needed by the test harness itself
|
||||||
${APRUTIL_LIBRARIES}
|
llcommon
|
||||||
${APR_LIBRARIES}
|
)
|
||||||
llcommon
|
|
||||||
)
|
set(alltest_LIBRARIES
|
||||||
IF(NOT "${project}" STREQUAL "llmath")
|
llcommon
|
||||||
|
ll::googlemock
|
||||||
|
)
|
||||||
|
if(NOT "${project}" STREQUAL "llmath")
|
||||||
# add llmath as a dep unless the tested module *is* llmath!
|
# add llmath as a dep unless the tested module *is* llmath!
|
||||||
LIST(APPEND alltest_DEP_TARGETS
|
list(APPEND alltest_DEP_TARGETS llmath)
|
||||||
llmath
|
list(APPEND alltest_LIBRARIES llmath )
|
||||||
)
|
endif()
|
||||||
ENDIF(NOT "${project}" STREQUAL "llmath")
|
|
||||||
SET(alltest_INCLUDE_DIRS
|
|
||||||
${LLMATH_INCLUDE_DIRS}
|
|
||||||
${LLCOMMON_INCLUDE_DIRS}
|
|
||||||
${LIBS_OPEN_DIR}/test
|
|
||||||
${GOOGLEMOCK_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
SET(alltest_LIBRARIES
|
|
||||||
${BOOST_FIBER_LIBRARY}
|
|
||||||
${BOOST_CONTEXT_LIBRARY}
|
|
||||||
${BOOST_SYSTEM_LIBRARY}
|
|
||||||
${GOOGLEMOCK_LIBRARIES}
|
|
||||||
${PTHREAD_LIBRARY}
|
|
||||||
${WINDOWS_LIBRARIES}
|
|
||||||
)
|
|
||||||
# Headers, for convenience in targets.
|
# Headers, for convenience in targets.
|
||||||
SET(alltest_HEADER_FILES
|
set(alltest_HEADER_FILES ${CMAKE_SOURCE_DIR}/test/test.h)
|
||||||
${CMAKE_SOURCE_DIR}/test/test.h
|
|
||||||
)
|
|
||||||
|
|
||||||
# start the source test executable definitions
|
# start the source test executable definitions
|
||||||
SET(${project}_TEST_OUTPUT "")
|
set(${project}_TEST_OUTPUT "")
|
||||||
FOREACH (source ${sources})
|
foreach (source ${sources})
|
||||||
STRING( REGEX REPLACE "(.*)\\.[^.]+$" "\\1" name ${source} )
|
string( REGEX REPLACE "(.*)\\.[^.]+$" "\\1" name ${source} )
|
||||||
STRING( REGEX REPLACE ".*\\.([^.]+)$" "\\1" extension ${source} )
|
string( REGEX REPLACE ".*\\.([^.]+)$" "\\1" extension ${source} )
|
||||||
IF(LL_TEST_VERBOSE)
|
if(LL_TEST_VERBOSE)
|
||||||
MESSAGE("LL_ADD_PROJECT_UNIT_TESTS UNITTEST_PROJECT_${project} individual source: ${source} (${name}.${extension})")
|
message("LL_ADD_PROJECT_UNIT_TESTS UNITTEST_PROJECT_${project} individual source: ${source} (${name}.${extension})")
|
||||||
ENDIF(LL_TEST_VERBOSE)
|
endif()
|
||||||
|
|
||||||
#
|
#
|
||||||
# Per-codefile additional / external source, header, and include dir property extraction
|
# Per-codefile additional / external source, header, and include dir property extraction
|
||||||
#
|
#
|
||||||
# Source
|
# Source
|
||||||
GET_OPT_SOURCE_FILE_PROPERTY(${name}_test_additional_SOURCE_FILES ${source} LL_TEST_ADDITIONAL_SOURCE_FILES)
|
GET_OPT_SOURCE_FILE_PROPERTY(${name}_test_additional_SOURCE_FILES ${source} LL_TEST_ADDITIONAL_SOURCE_FILES)
|
||||||
SET(${name}_test_SOURCE_FILES
|
set(${name}_test_SOURCE_FILES
|
||||||
${source}
|
${source}
|
||||||
tests/${name}_test.${extension}
|
tests/${name}_test.${extension}
|
||||||
${alltest_SOURCE_FILES}
|
${alltest_SOURCE_FILES}
|
||||||
${${name}_test_additional_SOURCE_FILES} )
|
${${name}_test_additional_SOURCE_FILES} )
|
||||||
IF(LL_TEST_VERBOSE)
|
if(LL_TEST_VERBOSE)
|
||||||
MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_SOURCE_FILES ${${name}_test_SOURCE_FILES}")
|
message("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_SOURCE_FILES ${${name}_test_SOURCE_FILES}")
|
||||||
ENDIF(LL_TEST_VERBOSE)
|
endif()
|
||||||
|
|
||||||
if (USE_BUGSPLAT)
|
|
||||||
SET_PROPERTY(SOURCE ${${name}_test_SOURCE_FILES}
|
|
||||||
APPEND PROPERTY COMPILE_DEFINITIONS "${BUGSPLAT_DEFINE}")
|
|
||||||
endif (USE_BUGSPLAT)
|
|
||||||
|
|
||||||
# Headers
|
# Headers
|
||||||
GET_OPT_SOURCE_FILE_PROPERTY(${name}_test_additional_HEADER_FILES ${source} LL_TEST_ADDITIONAL_HEADER_FILES)
|
GET_OPT_SOURCE_FILE_PROPERTY(${name}_test_additional_HEADER_FILES ${source} LL_TEST_ADDITIONAL_HEADER_FILES)
|
||||||
SET(${name}_test_HEADER_FILES ${name}.h ${${name}_test_additional_HEADER_FILES})
|
set(${name}_test_HEADER_FILES ${name}.h ${${name}_test_additional_HEADER_FILES})
|
||||||
set_source_files_properties(${${name}_test_HEADER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE)
|
list(APPEND ${name}_test_SOURCE_FILES ${${name}_test_HEADER_FILES})
|
||||||
LIST(APPEND ${name}_test_SOURCE_FILES ${${name}_test_HEADER_FILES})
|
if(LL_TEST_VERBOSE)
|
||||||
IF(LL_TEST_VERBOSE)
|
message("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_HEADER_FILES ${${name}_test_HEADER_FILES}")
|
||||||
MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_HEADER_FILES ${${name}_test_HEADER_FILES}")
|
endif()
|
||||||
ENDIF(LL_TEST_VERBOSE)
|
|
||||||
# Include dirs
|
|
||||||
GET_OPT_SOURCE_FILE_PROPERTY(${name}_test_additional_INCLUDE_DIRS ${source} LL_TEST_ADDITIONAL_INCLUDE_DIRS)
|
|
||||||
INCLUDE_DIRECTORIES(${alltest_INCLUDE_DIRS} ${${name}_test_additional_INCLUDE_DIRS} )
|
|
||||||
IF(LL_TEST_VERBOSE)
|
|
||||||
MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_additional_INCLUDE_DIRS ${${name}_test_additional_INCLUDE_DIRS}")
|
|
||||||
ENDIF(LL_TEST_VERBOSE)
|
|
||||||
|
|
||||||
|
|
||||||
# Setup target
|
# Setup target
|
||||||
ADD_EXECUTABLE(PROJECT_${project}_TEST_${name} ${${name}_test_SOURCE_FILES})
|
add_executable(PROJECT_${project}_TEST_${name} ${${name}_test_SOURCE_FILES})
|
||||||
SET_TARGET_PROPERTIES(PROJECT_${project}_TEST_${name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${EXE_STAGING_DIR}")
|
|
||||||
|
# Cannot declare a dependency on ${project} because the executable create above will later declare
|
||||||
|
# add_dependencies( ${project} ${project}_tests)
|
||||||
|
# as such grab ${project}'s interface include dirs and inject them here
|
||||||
|
get_property( ${name}_test_additional_INCLUDE_DIRS TARGET ${project} PROPERTY INTERFACE_INCLUDE_DIRECTORIES )
|
||||||
|
target_include_directories (PROJECT_${project}_TEST_${name} PRIVATE ${${name}_test_additional_INCLUDE_DIRS} )
|
||||||
|
|
||||||
|
GET_OPT_SOURCE_FILE_PROPERTY(${name}_test_additional_INCLUDE_DIRS ${source} LL_TEST_ADDITIONAL_INCLUDE_DIRS)
|
||||||
|
target_include_directories (PROJECT_${project}_TEST_${name} PRIVATE ${${name}_test_additional_INCLUDE_DIRS} )
|
||||||
|
|
||||||
|
target_include_directories (PROJECT_${project}_TEST_${name} PRIVATE ${LIBS_OPEN_DIR}/test )
|
||||||
|
|
||||||
|
set_target_properties(PROJECT_${project}_TEST_${name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${EXE_STAGING_DIR}")
|
||||||
|
|
||||||
#
|
#
|
||||||
# Per-codefile additional / external project dep and lib dep property extraction
|
# Per-codefile additional / external project dep and lib dep property extraction
|
||||||
|
|
@ -127,142 +111,133 @@ MACRO(LL_ADD_PROJECT_UNIT_TESTS project sources)
|
||||||
GET_OPT_SOURCE_FILE_PROPERTY(${name}_test_additional_PROJECTS ${source} LL_TEST_ADDITIONAL_PROJECTS)
|
GET_OPT_SOURCE_FILE_PROPERTY(${name}_test_additional_PROJECTS ${source} LL_TEST_ADDITIONAL_PROJECTS)
|
||||||
# Libraries
|
# Libraries
|
||||||
GET_OPT_SOURCE_FILE_PROPERTY(${name}_test_additional_LIBRARIES ${source} LL_TEST_ADDITIONAL_LIBRARIES)
|
GET_OPT_SOURCE_FILE_PROPERTY(${name}_test_additional_LIBRARIES ${source} LL_TEST_ADDITIONAL_LIBRARIES)
|
||||||
IF(LL_TEST_VERBOSE)
|
|
||||||
MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_additional_PROJECTS ${${name}_test_additional_PROJECTS}")
|
if(LL_TEST_VERBOSE)
|
||||||
MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_additional_LIBRARIES ${${name}_test_additional_LIBRARIES}")
|
message("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_additional_PROJECTS ${${name}_test_additional_PROJECTS}")
|
||||||
ENDIF(LL_TEST_VERBOSE)
|
message("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_additional_LIBRARIES ${${name}_test_additional_LIBRARIES}")
|
||||||
|
endif()
|
||||||
|
|
||||||
# Add to project
|
# Add to project
|
||||||
TARGET_LINK_LIBRARIES(PROJECT_${project}_TEST_${name} ${alltest_LIBRARIES} ${alltest_DEP_TARGETS} ${${name}_test_additional_PROJECTS} ${${name}_test_additional_LIBRARIES} )
|
target_link_libraries(PROJECT_${project}_TEST_${name} ${alltest_LIBRARIES} ${${name}_test_additional_PROJECTS} ${${name}_test_additional_LIBRARIES} )
|
||||||
|
add_dependencies( PROJECT_${project}_TEST_${name} ${alltest_DEP_TARGETS})
|
||||||
# Compile-time Definitions
|
# Compile-time Definitions
|
||||||
GET_OPT_SOURCE_FILE_PROPERTY(${name}_test_additional_CFLAGS ${source} LL_TEST_ADDITIONAL_CFLAGS)
|
GET_OPT_SOURCE_FILE_PROPERTY(${name}_test_additional_CFLAGS ${source} LL_TEST_ADDITIONAL_CFLAGS)
|
||||||
SET_TARGET_PROPERTIES(PROJECT_${project}_TEST_${name}
|
set_target_properties(PROJECT_${project}_TEST_${name}
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
COMPILE_FLAGS "${${name}_test_additional_CFLAGS}"
|
COMPILE_FLAGS "${${name}_test_additional_CFLAGS}"
|
||||||
COMPILE_DEFINITIONS "LL_TEST=${name};LL_TEST_${name}")
|
COMPILE_DEFINITIONS "LL_TEST=${name};LL_TEST_${name}")
|
||||||
IF(LL_TEST_VERBOSE)
|
if(LL_TEST_VERBOSE)
|
||||||
MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_additional_CFLAGS ${${name}_test_additional_CFLAGS}")
|
message("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_additional_CFLAGS ${${name}_test_additional_CFLAGS}")
|
||||||
ENDIF(LL_TEST_VERBOSE)
|
endif()
|
||||||
|
|
||||||
#
|
#
|
||||||
# Setup test targets
|
# Setup test targets
|
||||||
#
|
#
|
||||||
SET(TEST_EXE $<TARGET_FILE:PROJECT_${project}_TEST_${name}>)
|
set(TEST_EXE $<TARGET_FILE:PROJECT_${project}_TEST_${name}>)
|
||||||
SET(TEST_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/PROJECT_${project}_TEST_${name}_ok.txt)
|
set(TEST_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/PROJECT_${project}_TEST_${name}_ok.txt)
|
||||||
SET(TEST_CMD ${TEST_EXE} --touch=${TEST_OUTPUT} --sourcedir=${CMAKE_CURRENT_SOURCE_DIR})
|
set(TEST_CMD ${TEST_EXE} --touch=${TEST_OUTPUT} --sourcedir=${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
# daveh - what configuration does this use? Debug? it's cmake-time, not build time. + poppy 2009-04-19
|
# daveh - what configuration does this use? Debug? it's cmake-time, not build time. + poppy 2009-04-19
|
||||||
IF(LL_TEST_VERBOSE)
|
if(LL_TEST_VERBOSE)
|
||||||
MESSAGE(STATUS "LL_ADD_PROJECT_UNIT_TESTS ${name} test_cmd = ${TEST_CMD}")
|
message(STATUS "LL_ADD_PROJECT_UNIT_TESTS ${name} test_cmd = ${TEST_CMD}")
|
||||||
ENDIF(LL_TEST_VERBOSE)
|
endif()
|
||||||
|
|
||||||
SET_TEST_PATH(LD_LIBRARY_PATH)
|
SET_TEST_PATH(LD_LIBRARY_PATH)
|
||||||
LL_TEST_COMMAND(TEST_SCRIPT_CMD "${LD_LIBRARY_PATH}" ${TEST_CMD})
|
LL_TEST_COMMAND(TEST_SCRIPT_CMD "${LD_LIBRARY_PATH}" ${TEST_CMD})
|
||||||
IF(LL_TEST_VERBOSE)
|
if(LL_TEST_VERBOSE)
|
||||||
MESSAGE(STATUS "LL_ADD_PROJECT_UNIT_TESTS ${name} test_script = ${TEST_SCRIPT_CMD}")
|
message(STATUS "LL_ADD_PROJECT_UNIT_TESTS ${name} test_script = ${TEST_SCRIPT_CMD}")
|
||||||
ENDIF(LL_TEST_VERBOSE)
|
endif()
|
||||||
|
|
||||||
# Add test
|
# Add test
|
||||||
ADD_CUSTOM_COMMAND(
|
add_custom_command(
|
||||||
OUTPUT ${TEST_OUTPUT}
|
OUTPUT ${TEST_OUTPUT}
|
||||||
COMMAND ${TEST_SCRIPT_CMD}
|
COMMAND ${TEST_SCRIPT_CMD}
|
||||||
DEPENDS PROJECT_${project}_TEST_${name}
|
DEPENDS PROJECT_${project}_TEST_${name}
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
)
|
)
|
||||||
# Why not add custom target and add POST_BUILD command?
|
# Why not add custom target and add POST_BUILD command?
|
||||||
# Slightly less uncertain behavior
|
# Slightly less uncertain behavior
|
||||||
# (OUTPUT commands run non-deterministically AFAIK) + poppy 2009-04-19
|
# (OUTPUT commands run non-deterministically AFAIK) + poppy 2009-04-19
|
||||||
# > I did not use a post build step as I could not make it notify of a
|
# > I did not use a post build step as I could not make it notify of a
|
||||||
# > failure after the first time you build and fail a test. - daveh 2009-04-20
|
# > failure after the first time you build and fail a test. - daveh 2009-04-20
|
||||||
LIST(APPEND ${project}_TEST_OUTPUT ${TEST_OUTPUT})
|
list(APPEND ${project}_TEST_OUTPUT ${TEST_OUTPUT})
|
||||||
ENDFOREACH (source)
|
endforeach (source)
|
||||||
|
|
||||||
# Add the test runner target per-project
|
# Add the test runner target per-project
|
||||||
# (replaces old _test_ok targets all over the place)
|
# (replaces old _test_ok targets all over the place)
|
||||||
ADD_CUSTOM_TARGET(${project}_tests ALL DEPENDS ${${project}_TEST_OUTPUT})
|
add_custom_target(${project}_tests ALL DEPENDS ${${project}_TEST_OUTPUT})
|
||||||
ADD_DEPENDENCIES(${project} ${project}_tests)
|
add_dependencies(${project} ${project}_tests)
|
||||||
ENDMACRO(LL_ADD_PROJECT_UNIT_TESTS)
|
ENDMACRO(LL_ADD_PROJECT_UNIT_TESTS)
|
||||||
|
|
||||||
#*****************************************************************************
|
#*****************************************************************************
|
||||||
# GET_OPT_SOURCE_FILE_PROPERTY
|
# GET_OPT_SOURCE_FILE_PROPERTY
|
||||||
#*****************************************************************************
|
#*****************************************************************************
|
||||||
MACRO(GET_OPT_SOURCE_FILE_PROPERTY var filename property)
|
MACRO(GET_OPT_SOURCE_FILE_PROPERTY var filename property)
|
||||||
GET_SOURCE_FILE_PROPERTY(${var} "${filename}" "${property}")
|
get_source_file_property(${var} "${filename}" "${property}")
|
||||||
IF("${${var}}" MATCHES NOTFOUND)
|
if("${${var}}" MATCHES NOTFOUND)
|
||||||
SET(${var} "")
|
set(${var} "")
|
||||||
ENDIF("${${var}}" MATCHES NOTFOUND)
|
endif()
|
||||||
ENDMACRO(GET_OPT_SOURCE_FILE_PROPERTY)
|
ENDMACRO(GET_OPT_SOURCE_FILE_PROPERTY)
|
||||||
|
|
||||||
#*****************************************************************************
|
#*****************************************************************************
|
||||||
# LL_ADD_INTEGRATION_TEST
|
# LL_ADD_INTEGRATION_TEST
|
||||||
#*****************************************************************************
|
#*****************************************************************************
|
||||||
FUNCTION(LL_ADD_INTEGRATION_TEST
|
FUNCTION(LL_ADD_INTEGRATION_TEST
|
||||||
testname
|
testname
|
||||||
additional_source_files
|
additional_source_files
|
||||||
library_dependencies
|
library_dependencies
|
||||||
# variable args
|
# variable args
|
||||||
)
|
)
|
||||||
if(TEST_DEBUG)
|
if(TEST_DEBUG)
|
||||||
message(STATUS "Adding INTEGRATION_TEST_${testname} - debug output is on")
|
message(STATUS "Adding INTEGRATION_TEST_${testname} - debug output is on")
|
||||||
endif(TEST_DEBUG)
|
endif()
|
||||||
|
|
||||||
SET(source_files
|
set(source_files
|
||||||
tests/${testname}_test.cpp
|
tests/${testname}_test.cpp
|
||||||
${CMAKE_SOURCE_DIR}/test/test.cpp
|
${CMAKE_SOURCE_DIR}/test/test.cpp
|
||||||
${CMAKE_SOURCE_DIR}/test/lltut.cpp
|
${CMAKE_SOURCE_DIR}/test/lltut.cpp
|
||||||
${additional_source_files}
|
${additional_source_files}
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(libraries
|
set(libraries
|
||||||
${LEGACY_STDIO_LIBS}
|
${library_dependencies}
|
||||||
${library_dependencies}
|
ll::googlemock
|
||||||
${BOOST_FIBER_LIBRARY}
|
)
|
||||||
${BOOST_CONTEXT_LIBRARY}
|
|
||||||
${BOOST_SYSTEM_LIBRARY}
|
|
||||||
${GOOGLEMOCK_LIBRARIES}
|
|
||||||
${PTHREAD_LIBRARY}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Add test executable build target
|
# Add test executable build target
|
||||||
if(TEST_DEBUG)
|
if(TEST_DEBUG)
|
||||||
message(STATUS "ADD_EXECUTABLE(INTEGRATION_TEST_${testname} ${source_files})")
|
message(STATUS "ADD_EXECUTABLE(INTEGRATION_TEST_${testname} ${source_files})")
|
||||||
endif(TEST_DEBUG)
|
endif()
|
||||||
ADD_EXECUTABLE(INTEGRATION_TEST_${testname} ${source_files})
|
|
||||||
SET_TARGET_PROPERTIES(INTEGRATION_TEST_${testname}
|
|
||||||
PROPERTIES
|
|
||||||
RUNTIME_OUTPUT_DIRECTORY "${EXE_STAGING_DIR}"
|
|
||||||
COMPILE_DEFINITIONS "LL_TEST=${testname};LL_TEST_${testname}"
|
|
||||||
)
|
|
||||||
|
|
||||||
if(USESYSTEMLIBS)
|
add_executable(INTEGRATION_TEST_${testname} ${source_files})
|
||||||
SET_TARGET_PROPERTIES(INTEGRATION_TEST_${testname} PROPERTIES COMPILE_FLAGS -I"${TUT_INCLUDE_DIR}")
|
set_target_properties(INTEGRATION_TEST_${testname}
|
||||||
endif(USESYSTEMLIBS)
|
PROPERTIES
|
||||||
|
RUNTIME_OUTPUT_DIRECTORY "${EXE_STAGING_DIR}"
|
||||||
if (USE_BUGSPLAT)
|
COMPILE_DEFINITIONS "LL_TEST=${testname};LL_TEST_${testname}"
|
||||||
SET_PROPERTY(SOURCE ${source_files}
|
)
|
||||||
APPEND PROPERTY COMPILE_DEFINITIONS "${BUGSPLAT_DEFINE}")
|
|
||||||
endif (USE_BUGSPLAT)
|
|
||||||
|
|
||||||
# The following was copied to llcorehttp/CMakeLists.txt's texture_load target.
|
# The following was copied to llcorehttp/CMakeLists.txt's texture_load target.
|
||||||
# Any changes made here should be replicated there.
|
# Any changes made here should be replicated there.
|
||||||
if (WINDOWS)
|
if (WINDOWS)
|
||||||
SET_TARGET_PROPERTIES(INTEGRATION_TEST_${testname}
|
set_target_properties(INTEGRATION_TEST_${testname}
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:CONSOLE"
|
LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:CONSOLE"
|
||||||
LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO"
|
)
|
||||||
LINK_FLAGS_RELEASE ""
|
endif ()
|
||||||
)
|
|
||||||
endif (WINDOWS)
|
|
||||||
|
|
||||||
# Add link deps to the executable
|
# Add link deps to the executable
|
||||||
if(TEST_DEBUG)
|
if(TEST_DEBUG)
|
||||||
message(STATUS "TARGET_LINK_LIBRARIES(INTEGRATION_TEST_${testname} ${libraries})")
|
message(STATUS "TARGET_LINK_LIBRARIES(INTEGRATION_TEST_${testname} ${libraries})")
|
||||||
endif(TEST_DEBUG)
|
endif()
|
||||||
TARGET_LINK_LIBRARIES(INTEGRATION_TEST_${testname} ${libraries})
|
|
||||||
|
target_link_libraries(INTEGRATION_TEST_${testname} ${libraries})
|
||||||
|
target_include_directories (INTEGRATION_TEST_${testname} PRIVATE ${LIBS_OPEN_DIR}/test )
|
||||||
|
|
||||||
# Create the test running command
|
# Create the test running command
|
||||||
SET(test_command ${ARGN})
|
set(test_command ${ARGN})
|
||||||
SET(TEST_EXE $<TARGET_FILE:INTEGRATION_TEST_${testname}>)
|
set(TEST_EXE $<TARGET_FILE:INTEGRATION_TEST_${testname}>)
|
||||||
LIST(FIND test_command "{}" test_exe_pos)
|
list(FIND test_command "{}" test_exe_pos)
|
||||||
IF(test_exe_pos LESS 0)
|
if(test_exe_pos LESS 0)
|
||||||
# The {} marker means "the full pathname of the test executable."
|
# The {} marker means "the full pathname of the test executable."
|
||||||
# test_exe_pos -1 means we didn't find it -- so append the test executable
|
# test_exe_pos -1 means we didn't find it -- so append the test executable
|
||||||
# name to $ARGN, the variable part of the arg list. This is convenient
|
# name to $ARGN, the variable part of the arg list. This is convenient
|
||||||
|
|
@ -271,26 +246,26 @@ FUNCTION(LL_ADD_INTEGRATION_TEST
|
||||||
# pathname of the test program as the last of its args. You need specify
|
# pathname of the test program as the last of its args. You need specify
|
||||||
# {} only if the test program's pathname isn't the last argument in the
|
# {} only if the test program's pathname isn't the last argument in the
|
||||||
# desired command line.
|
# desired command line.
|
||||||
LIST(APPEND test_command "${TEST_EXE}")
|
list(APPEND test_command "${TEST_EXE}")
|
||||||
ELSE (test_exe_pos LESS 0)
|
else (test_exe_pos LESS 0)
|
||||||
# Found {} marker at test_exe_pos. Remove the {}...
|
# Found {} marker at test_exe_pos. Remove the {}...
|
||||||
LIST(REMOVE_AT test_command test_exe_pos)
|
list(REMOVE_AT test_command test_exe_pos)
|
||||||
# ...and replace it with the actual name of the test executable.
|
# ...and replace it with the actual name of the test executable.
|
||||||
LIST(INSERT test_command test_exe_pos "${TEST_EXE}")
|
list(INSERT test_command test_exe_pos "${TEST_EXE}")
|
||||||
ENDIF (test_exe_pos LESS 0)
|
endif()
|
||||||
|
|
||||||
SET_TEST_PATH(LD_LIBRARY_PATH)
|
SET_TEST_PATH(LD_LIBRARY_PATH)
|
||||||
LL_TEST_COMMAND(TEST_SCRIPT_CMD "${LD_LIBRARY_PATH}" ${test_command})
|
LL_TEST_COMMAND(TEST_SCRIPT_CMD "${LD_LIBRARY_PATH}" ${test_command})
|
||||||
|
|
||||||
if(TEST_DEBUG)
|
if(TEST_DEBUG)
|
||||||
message(STATUS "TEST_SCRIPT_CMD: ${TEST_SCRIPT_CMD}")
|
message(STATUS "TEST_SCRIPT_CMD: ${TEST_SCRIPT_CMD}")
|
||||||
endif(TEST_DEBUG)
|
endif()
|
||||||
|
|
||||||
ADD_CUSTOM_COMMAND(
|
add_custom_command(
|
||||||
TARGET INTEGRATION_TEST_${testname}
|
TARGET INTEGRATION_TEST_${testname}
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND ${TEST_SCRIPT_CMD}
|
COMMAND ${TEST_SCRIPT_CMD}
|
||||||
)
|
)
|
||||||
|
|
||||||
# Use CTEST? Not sure how to yet...
|
# Use CTEST? Not sure how to yet...
|
||||||
# ADD_TEST(INTEGRATION_TEST_RUNNER_${testname} ${TEST_SCRIPT_CMD})
|
# ADD_TEST(INTEGRATION_TEST_RUNNER_${testname} ${TEST_SCRIPT_CMD})
|
||||||
|
|
@ -305,18 +280,14 @@ MACRO(SET_TEST_PATH LISTVAR)
|
||||||
# We typically build/package only Release variants of third-party
|
# We typically build/package only Release variants of third-party
|
||||||
# libraries, so append the Release staging dir in case the library being
|
# libraries, so append the Release staging dir in case the library being
|
||||||
# sought doesn't have a debug variant.
|
# sought doesn't have a debug variant.
|
||||||
set(${LISTVAR} ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR} ${SHARED_LIB_STAGING_DIR}/Release)
|
set(${LISTVAR} ${SHARED_LIB_STAGING_DIR} ${SHARED_LIB_STAGING_DIR}/Release)
|
||||||
ELSEIF(DARWIN)
|
ELSEIF(DARWIN)
|
||||||
# We typically build/package only Release variants of third-party
|
# We typically build/package only Release variants of third-party
|
||||||
# libraries, so append the Release staging dir in case the library being
|
# libraries, so append the Release staging dir in case the library being
|
||||||
# sought doesn't have a debug variant.
|
# sought doesn't have a debug variant.
|
||||||
set(${LISTVAR} ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/Resources ${SHARED_LIB_STAGING_DIR}/Release/Resources /usr/lib)
|
set(${LISTVAR} ${SHARED_LIB_STAGING_DIR} ${SHARED_LIB_STAGING_DIR}/Release/Resources /usr/lib)
|
||||||
ELSE(WINDOWS)
|
ELSE(WINDOWS)
|
||||||
# Linux uses a single staging directory anyway.
|
# Linux uses a single staging directory anyway.
|
||||||
IF (USESYSTEMLIBS)
|
set(${LISTVAR} ${SHARED_LIB_STAGING_DIR} /usr/lib)
|
||||||
set(${LISTVAR} ${CMAKE_BINARY_DIR}/llcommon /usr/lib /usr/local/lib)
|
|
||||||
ELSE (USESYSTEMLIBS)
|
|
||||||
set(${LISTVAR} ${SHARED_LIB_STAGING_DIR} /usr/lib)
|
|
||||||
ENDIF (USESYSTEMLIBS)
|
|
||||||
ENDIF(WINDOWS)
|
ENDIF(WINDOWS)
|
||||||
ENDMACRO(SET_TEST_PATH)
|
ENDMACRO(SET_TEST_PATH)
|
||||||
|
|
|
||||||
|
|
@ -2,26 +2,9 @@
|
||||||
|
|
||||||
include(Variables)
|
include(Variables)
|
||||||
include(Boost)
|
include(Boost)
|
||||||
include(LLMessage)
|
|
||||||
include(LLCoreHttp)
|
include(LLCoreHttp)
|
||||||
|
|
||||||
set(LLAPPEARANCE_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/llappearance
|
|
||||||
)
|
|
||||||
|
|
||||||
if (BUILD_HEADLESS)
|
|
||||||
set(LLAPPEARANCE_HEADLESS_LIBRARIES
|
|
||||||
llappearanceheadless
|
|
||||||
)
|
|
||||||
endif (BUILD_HEADLESS)
|
|
||||||
|
|
||||||
set(LLAPPEARANCE_LIBRARIES llappearance
|
|
||||||
llmessage
|
|
||||||
llcorehttp
|
|
||||||
${BOOST_FIBER_LIBRARY}
|
|
||||||
${BOOST_CONTEXT_LIBRARY}
|
|
||||||
${BOOST_SYSTEM_LIBRARY}
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,3 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
|
|
||||||
include(Audio)
|
include(Audio)
|
||||||
|
|
||||||
set(LLAUDIO_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/llaudio
|
|
||||||
)
|
|
||||||
|
|
||||||
# be exhaustive here
|
|
||||||
set(LLAUDIO_LIBRARIES llaudio ${VORBISFILE_LIBRARIES} ${VORBIS_LIBRARIES} ${VORBISENC_LIBRARIES} ${OGG_LIBRARIES} ${OPENAL_LIBRARIES})
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
set(LLCHARACTER_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/llcharacter
|
|
||||||
)
|
|
||||||
|
|
||||||
set(LLCHARACTER_LIBRARIES llcharacter)
|
|
||||||
|
|
@ -6,39 +6,6 @@ include(EXPAT)
|
||||||
include(Tracy)
|
include(Tracy)
|
||||||
include(xxHash)
|
include(xxHash)
|
||||||
include(ZLIBNG)
|
include(ZLIBNG)
|
||||||
|
include(JsonCpp)
|
||||||
|
|
||||||
set(LLCOMMON_INCLUDE_DIRS
|
include(XmlRpcEpi)
|
||||||
${LIBS_OPEN_DIR}/llcommon
|
|
||||||
${APRUTIL_INCLUDE_DIR}
|
|
||||||
${APR_INCLUDE_DIR}
|
|
||||||
${TRACY_INCLUDE_DIR}
|
|
||||||
)
|
|
||||||
set(LLCOMMON_SYSTEM_INCLUDE_DIRS
|
|
||||||
${Boost_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
|
|
||||||
if (LINUX)
|
|
||||||
# In order to support using ld.gold on linux, we need to explicitely
|
|
||||||
# specify all libraries that llcommon uses.
|
|
||||||
# llcommon uses `clock_gettime' which is provided by librt on linux.
|
|
||||||
set(LLCOMMON_LIBRARIES llcommon
|
|
||||||
${BOOST_FIBER_LIBRARY}
|
|
||||||
${BOOST_CONTEXT_LIBRARY}
|
|
||||||
${BOOST_THREAD_LIBRARY}
|
|
||||||
${BOOST_SYSTEM_LIBRARY}
|
|
||||||
rt
|
|
||||||
)
|
|
||||||
else (LINUX)
|
|
||||||
set(LLCOMMON_LIBRARIES llcommon
|
|
||||||
${BOOST_FIBER_LIBRARY}
|
|
||||||
${BOOST_CONTEXT_LIBRARY}
|
|
||||||
${BOOST_THREAD_LIBRARY}
|
|
||||||
${BOOST_SYSTEM_LIBRARY}
|
|
||||||
${TRACY_LIBRARY}
|
|
||||||
)
|
|
||||||
endif (LINUX)
|
|
||||||
|
|
||||||
set(LLCOMMON_LINK_SHARED OFF CACHE BOOL "Build the llcommon target as a static library.")
|
|
||||||
if(LLCOMMON_LINK_SHARED)
|
|
||||||
add_definitions(-DLL_COMMON_LINK_SHARED=1)
|
|
||||||
endif(LLCOMMON_LINK_SHARED)
|
|
||||||
|
|
|
||||||
|
|
@ -2,16 +2,4 @@
|
||||||
|
|
||||||
include(CURL)
|
include(CURL)
|
||||||
include(OpenSSL)
|
include(OpenSSL)
|
||||||
include(Boost)
|
include(NGHTTP2)
|
||||||
|
|
||||||
set(LLCOREHTTP_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/llcorehttp
|
|
||||||
${CURL_INCLUDE_DIRS}
|
|
||||||
${OPENSSL_INCLUDE_DIRS}
|
|
||||||
${BOOST_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
|
|
||||||
set(LLCOREHTTP_LIBRARIES llcorehttp
|
|
||||||
${BOOST_FIBER_LIBRARY}
|
|
||||||
${BOOST_CONTEXT_LIBRARY}
|
|
||||||
${BOOST_SYSTEM_LIBRARY})
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
set(LLCRASHLOGGER_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/llcrashlogger
|
|
||||||
)
|
|
||||||
|
|
||||||
set(LLCRASHLOGGER_LIBRARIES llcrashlogger)
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
set(LLFILESYSTEM_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/llfilesystem
|
|
||||||
)
|
|
||||||
|
|
||||||
set(LLFILESYSTEM_LIBRARIES llfilesystem)
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
|
|
||||||
include(JPEG)
|
#include(JPEG)
|
||||||
include(PNG)
|
include(PNG)
|
||||||
|
|
||||||
set(LLIMAGE_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/llimage
|
|
||||||
${JPEG_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
|
|
||||||
set(LLIMAGE_LIBRARIES llimage)
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
include(OpenJPEG)
|
|
||||||
|
|
||||||
set(LLIMAGEJ2COJ_LIBRARIES llimagej2coj)
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
set(LLINVENTORY_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/llinventory
|
|
||||||
)
|
|
||||||
|
|
||||||
set(LLINVENTORY_LIBRARIES llinventory)
|
|
||||||
|
|
@ -14,19 +14,20 @@ if( ADDRESS_SIZE EQUAL 64 )
|
||||||
endif( WINDOWS OR LINUX )
|
endif( WINDOWS OR LINUX )
|
||||||
endif( ADDRESS_SIZE EQUAL 64 )
|
endif( ADDRESS_SIZE EQUAL 64 )
|
||||||
|
|
||||||
|
include_guard()
|
||||||
|
add_library( ll::kdu INTERFACE IMPORTED )
|
||||||
|
|
||||||
if (USE_KDU)
|
if (USE_KDU)
|
||||||
if (USESYSTEMLIBS)
|
include(Prebuilt)
|
||||||
include(FindKDU)
|
use_prebuilt_binary(kdu)
|
||||||
else (USESYSTEMLIBS)
|
if (WINDOWS)
|
||||||
include(Prebuilt)
|
target_link_libraries( ll::kdu INTERFACE kdu${ND_KDU_SUFFIX}.lib)
|
||||||
use_prebuilt_binary(kdu)
|
else (WINDOWS)
|
||||||
if (WINDOWS)
|
target_link_libraries( ll::kdu INTERFACE libkdu${ND_KDU_SUFFIX}.a)
|
||||||
set(KDU_LIBRARY kdu${ND_KDU_SUFFIX}.lib)
|
endif (WINDOWS)
|
||||||
else (WINDOWS)
|
|
||||||
set(KDU_LIBRARY libkdu${ND_KDU_SUFFIX}.a)
|
target_include_directories( ll::kdu SYSTEM INTERFACE
|
||||||
endif (WINDOWS)
|
${AUTOBUILD_INSTALL_DIR}/include/kdu
|
||||||
set(KDU_INCLUDE_DIR ${AUTOBUILD_INSTALL_DIR}/include/kdu)
|
${LIBS_OPEN_DIR}/llkdu
|
||||||
endif (USESYSTEMLIBS)
|
)
|
||||||
set(LLKDU_INCLUDE_DIRS ${LIBS_OPEN_DIR}/llkdu)
|
|
||||||
set(LLKDU_LIBRARIES llkdu)
|
|
||||||
endif (USE_KDU)
|
endif (USE_KDU)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
set(LLLOGIN_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/viewer_components/login
|
|
||||||
)
|
|
||||||
|
|
||||||
set(LLLOGIN_LIBRARIES lllogin)
|
|
||||||
|
|
@ -2,10 +2,4 @@
|
||||||
|
|
||||||
include(Variables)
|
include(Variables)
|
||||||
include(Mikktspace)
|
include(Mikktspace)
|
||||||
include(MESHOPTIMIZER)
|
|
||||||
|
|
||||||
set(LLMATH_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/llmath
|
|
||||||
)
|
|
||||||
|
|
||||||
set(LLMATH_LIBRARIES llmath)
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
set(LLMESHOPTIMIZER_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/llmeshoptimizer
|
|
||||||
)
|
|
||||||
|
|
||||||
set(LLMESHOPTIMIZER_LIBRARIES llmeshoptimizer)
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
include(CURL)
|
|
||||||
include(OpenSSL)
|
|
||||||
include(XmlRpcEpi)
|
|
||||||
|
|
||||||
set(LLMESSAGE_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/llmessage
|
|
||||||
${CURL_INCLUDE_DIRS}
|
|
||||||
${OPENSSL_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
|
|
||||||
set(LLMESSAGE_LIBRARIES llmessage)
|
|
||||||
|
|
@ -10,6 +10,9 @@ if (INSTALL_PROPRIETARY)
|
||||||
set(HAVOK ON CACHE BOOL "Use Havok physics library")
|
set(HAVOK ON CACHE BOOL "Use Havok physics library")
|
||||||
endif (INSTALL_PROPRIETARY)
|
endif (INSTALL_PROPRIETARY)
|
||||||
|
|
||||||
|
include_guard()
|
||||||
|
add_library( llphysicsextensions_impl INTERFACE IMPORTED )
|
||||||
|
|
||||||
|
|
||||||
# Note that the use_prebuilt_binary macros below do not in fact include binaries;
|
# Note that the use_prebuilt_binary macros below do not in fact include binaries;
|
||||||
# the llphysicsextensions_* packages are source only and are built here.
|
# the llphysicsextensions_* packages are source only and are built here.
|
||||||
|
|
@ -19,14 +22,12 @@ if (HAVOK)
|
||||||
include(Havok)
|
include(Havok)
|
||||||
use_prebuilt_binary(llphysicsextensions_source)
|
use_prebuilt_binary(llphysicsextensions_source)
|
||||||
set(LLPHYSICSEXTENSIONS_SRC_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/src)
|
set(LLPHYSICSEXTENSIONS_SRC_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/src)
|
||||||
set(LLPHYSICSEXTENSIONS_LIBRARIES llphysicsextensions)
|
target_link_libraries( llphysicsextensions_impl INTERFACE llphysicsextensions)
|
||||||
|
|
||||||
elseif (HAVOK_TPV)
|
elseif (HAVOK_TPV)
|
||||||
use_prebuilt_binary(llphysicsextensions_tpv)
|
use_prebuilt_binary(llphysicsextensions_tpv)
|
||||||
set(LLPHYSICSEXTENSIONS_LIBRARIES llphysicsextensions_tpv)
|
target_link_libraries( llphysicsextensions_impl INTERFACE llphysicsextensions_tpv)
|
||||||
|
|
||||||
# <FS:ND> include paths for LLs version and ours are different.
|
# <FS:ND> include paths for LLs version and ours are different.
|
||||||
set(LLPHYSICSEXTENSIONS_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/llphysicsextensions)
|
target_include_directories( llphysicsextensions_impl INTERFACE ${LIBS_PREBUILT_DIR}/include/llphysicsextensions)
|
||||||
# </FS:ND>
|
# </FS:ND>
|
||||||
|
|
||||||
# <FS:ND> havok lib get installed to packages/lib
|
# <FS:ND> havok lib get installed to packages/lib
|
||||||
|
|
@ -40,14 +41,14 @@ else (HAVOK)
|
||||||
# set(LLPHYSICSEXTENSIONS_SRC_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/stub)
|
# set(LLPHYSICSEXTENSIONS_SRC_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/stub)
|
||||||
# </FS:ND>
|
# </FS:ND>
|
||||||
|
|
||||||
set(LLPHYSICSEXTENSIONS_LIBRARIES nd_hacdConvexDecomposition hacd nd_Pathing )
|
target_link_libraries( llphysicsextensions_impl INTERFACE nd_hacdConvexDecomposition hacd nd_Pathing )
|
||||||
|
|
||||||
# <FS:ND> include paths for LLs version and ours are different.
|
# <FS:ND> include paths for LLs version and ours are different.
|
||||||
set(LLPHYSICSEXTENSIONS_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/ )
|
target_include_directories( llphysicsextensions_impl INTERFACE ${LIBS_PREBUILT_DIR}/include/ )
|
||||||
# </FS:ND>
|
# </FS:ND>
|
||||||
|
|
||||||
endif (HAVOK)
|
endif (HAVOK)
|
||||||
|
|
||||||
# <FS:ND> include paths for LLs version and ours are different.
|
# <FS:ND> include paths for LLs version and ours are different.
|
||||||
#set(LLPHYSICSEXTENSIONS_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/llphysicsextensions)
|
#target_include_directories( llphysicsextensions_impl INTERFACE ${LIBS_PREBUILT_DIR}/include/llphysicsextensions)
|
||||||
# </FS:ND>
|
# </FS:ND>
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
|
|
||||||
set(LLPLUGIN_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/llplugin
|
|
||||||
)
|
|
||||||
|
|
||||||
if (LINUX)
|
|
||||||
# In order to support using ld.gold on linux, we need to explicitely
|
|
||||||
# specify all libraries that llplugin uses.
|
|
||||||
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
|
||||||
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
|
|
||||||
find_package(Threads REQUIRED)
|
|
||||||
set(LLPLUGIN_LIBRARIES llplugin Threads::Threads)
|
|
||||||
else (LINUX)
|
|
||||||
set(LLPLUGIN_LIBRARIES llplugin)
|
|
||||||
endif (LINUX)
|
|
||||||
|
|
@ -4,49 +4,49 @@
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
include(Boost)
|
include(Boost)
|
||||||
|
|
||||||
|
include_guard()
|
||||||
|
|
||||||
|
add_library( ll::pcre INTERFACE IMPORTED )
|
||||||
|
add_library( ll::minizip-ng INTERFACE IMPORTED )
|
||||||
|
add_library( ll::libxml INTERFACE IMPORTED )
|
||||||
|
add_library( ll::colladadom INTERFACE IMPORTED )
|
||||||
|
|
||||||
|
# ND, needs fixup in collada conan pkg
|
||||||
|
if( USE_CONAN )
|
||||||
|
target_include_directories( ll::colladadom SYSTEM INTERFACE
|
||||||
|
"${CONAN_INCLUDE_DIRS_COLLADADOM}/collada-dom/"
|
||||||
|
"${CONAN_INCLUDE_DIRS_COLLADADOM}/collada-dom/1.4/" )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
use_system_binary( colladadom )
|
||||||
|
|
||||||
use_prebuilt_binary(colladadom)
|
use_prebuilt_binary(colladadom)
|
||||||
use_prebuilt_binary(minizip-ng) # needed for colladadom
|
use_prebuilt_binary(minizip-ng) # needed for colladadom
|
||||||
use_prebuilt_binary(pcre)
|
use_prebuilt_binary(pcre)
|
||||||
use_prebuilt_binary(libxml2)
|
use_prebuilt_binary(libxml2)
|
||||||
|
|
||||||
set(LLPRIMITIVE_INCLUDE_DIRS
|
target_link_libraries( ll::pcre INTERFACE pcrecpp pcre )
|
||||||
${LIBS_OPEN_DIR}/llprimitive
|
|
||||||
)
|
|
||||||
if (WINDOWS)
|
|
||||||
set(LLPRIMITIVE_LIBRARIES
|
|
||||||
debug llprimitive
|
|
||||||
optimized llprimitive
|
|
||||||
debug libcollada14dom23-sd
|
|
||||||
optimized libcollada14dom23-s
|
|
||||||
libxml2_a
|
|
||||||
debug pcrecppd
|
|
||||||
optimized pcrecpp
|
|
||||||
debug pcred
|
|
||||||
optimized pcre
|
|
||||||
debug libminizip
|
|
||||||
optimized libminizip
|
|
||||||
${BOOST_SYSTEM_LIBRARIES}
|
|
||||||
)
|
|
||||||
elseif (DARWIN)
|
|
||||||
set(LLPRIMITIVE_LIBRARIES
|
|
||||||
llprimitive
|
|
||||||
debug collada14dom-d
|
|
||||||
optimized collada14dom
|
|
||||||
minizip # for collada libminizip.a
|
|
||||||
xml2
|
|
||||||
pcrecpp
|
|
||||||
pcre
|
|
||||||
iconv # Required by libxml2
|
|
||||||
)
|
|
||||||
elseif (LINUX)
|
|
||||||
set(LLPRIMITIVE_LIBRARIES
|
|
||||||
llprimitive
|
|
||||||
debug collada14dom-d
|
|
||||||
optimized collada14dom
|
|
||||||
minizip
|
|
||||||
xml2
|
|
||||||
pcrecpp
|
|
||||||
pcre
|
|
||||||
)
|
|
||||||
endif (WINDOWS)
|
|
||||||
|
|
||||||
|
if (WINDOWS)
|
||||||
|
target_link_libraries( ll::minizip-ng INTERFACE libminizip )
|
||||||
|
else()
|
||||||
|
target_link_libraries( ll::minizip-ng INTERFACE minizip )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (WINDOWS)
|
||||||
|
target_link_libraries( ll::libxml INTERFACE libxml2_a)
|
||||||
|
else()
|
||||||
|
target_link_libraries( ll::libxml INTERFACE xml2)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_include_directories( ll::colladadom SYSTEM INTERFACE
|
||||||
|
${LIBS_PREBUILT_DIR}/include/collada
|
||||||
|
${LIBS_PREBUILT_DIR}/include/collada/1.4
|
||||||
|
)
|
||||||
|
if (WINDOWS)
|
||||||
|
target_link_libraries(ll::colladadom INTERFACE libcollada14dom23-s ll::libxml ll::minizip-ng )
|
||||||
|
elseif (DARWIN)
|
||||||
|
target_link_libraries(ll::colladadom INTERFACE collada14dom ll::libxml ll::minizip-ng)
|
||||||
|
elseif (LINUX)
|
||||||
|
target_link_libraries(ll::colladadom INTERFACE collada14dom ll::libxml ll::minizip-ng)
|
||||||
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
include(Variables)
|
|
||||||
include(FreeType)
|
|
||||||
include(GLH)
|
|
||||||
include(GLEXT)
|
|
||||||
|
|
||||||
set(LLRENDER_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/llrender
|
|
||||||
${GLH_INCLUDE_DIR}
|
|
||||||
${GLEXT_INCLUDE_DIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
if (BUILD_HEADLESS)
|
|
||||||
set(LLRENDER_HEADLESS_LIBRARIES
|
|
||||||
llrenderheadless
|
|
||||||
)
|
|
||||||
endif (BUILD_HEADLESS)
|
|
||||||
set(LLRENDER_LIBRARIES
|
|
||||||
llrender
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
@ -37,40 +37,3 @@ macro(ll_deploy_sharedlibs_command target_exe)
|
||||||
endif(NOT DARWIN)
|
endif(NOT DARWIN)
|
||||||
|
|
||||||
endmacro(ll_deploy_sharedlibs_command)
|
endmacro(ll_deploy_sharedlibs_command)
|
||||||
|
|
||||||
# ll_stage_sharedlib
|
|
||||||
# Performs config and adds a copy command for a sharedlib target.
|
|
||||||
macro(ll_stage_sharedlib DSO_TARGET)
|
|
||||||
# target gets written to the DLL staging directory.
|
|
||||||
# Also this directory is shared with RunBuildTest.cmake, y'know, for the tests.
|
|
||||||
set_target_properties(${DSO_TARGET} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${SHARED_LIB_STAGING_DIR})
|
|
||||||
if(NOT WINDOWS)
|
|
||||||
get_target_property(DSO_PATH ${DSO_TARGET} LOCATION)
|
|
||||||
get_filename_component(DSO_FILE ${DSO_PATH} NAME)
|
|
||||||
if(DARWIN)
|
|
||||||
set(SHARED_LIB_STAGING_DIR_CONFIG ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/Resources)
|
|
||||||
else(DARWIN)
|
|
||||||
set(SHARED_LIB_STAGING_DIR_CONFIG ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR})
|
|
||||||
endif(DARWIN)
|
|
||||||
|
|
||||||
# *TODO - maybe make this a symbolic link? -brad
|
|
||||||
add_custom_command(
|
|
||||||
TARGET ${DSO_TARGET} POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND}
|
|
||||||
ARGS
|
|
||||||
-E
|
|
||||||
copy_if_different
|
|
||||||
${DSO_PATH}
|
|
||||||
${SHARED_LIB_STAGING_DIR_CONFIG}/${DSO_FILE}
|
|
||||||
COMMENT "Copying llcommon to the staging folder."
|
|
||||||
)
|
|
||||||
endif(NOT WINDOWS)
|
|
||||||
|
|
||||||
if (DARWIN)
|
|
||||||
set_target_properties(${DSO_TARGET} PROPERTIES
|
|
||||||
BUILD_WITH_INSTALL_RPATH 1
|
|
||||||
INSTALL_NAME_DIR "@executable_path/../Resources"
|
|
||||||
)
|
|
||||||
endif(DARWIN)
|
|
||||||
|
|
||||||
endmacro(ll_stage_sharedlib)
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
set(LLUI_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/llui
|
|
||||||
)
|
|
||||||
|
|
||||||
set(LLUI_LIBRARIES llui)
|
|
||||||
|
|
@ -5,49 +5,36 @@ include(GLEXT)
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
include_guard()
|
include_guard()
|
||||||
|
add_library( ll::SDL INTERFACE IMPORTED )
|
||||||
|
|
||||||
add_library( sdl INTERFACE IMPORTED )
|
|
||||||
if (USESYSTEMLIBS)
|
|
||||||
include(FindSDL)
|
|
||||||
|
|
||||||
# This should be done by FindSDL. Sigh.
|
if (LINUX)
|
||||||
mark_as_advanced(
|
#Must come first as use_system_binary can exit this file early
|
||||||
SDLMAIN_LIBRARY
|
#target_compile_definitions( ll::SDL INTERFACE LL_SDL=1)
|
||||||
SDL_INCLUDE_DIR
|
|
||||||
SDL_LIBRARY
|
|
||||||
)
|
|
||||||
else (USESYSTEMLIBS)
|
|
||||||
if (LINUX)
|
|
||||||
if( USE_SDL1 )
|
|
||||||
use_prebuilt_binary(SDL)
|
|
||||||
set (SDL_FOUND TRUE)
|
|
||||||
|
|
||||||
target_link_libraries (sdl INTERFACE SDL directfb fusion direct X11)
|
#use_system_binary(SDL)
|
||||||
target_compile_definitions( sdl INTERFACE LL_SDL=1 )
|
#use_prebuilt_binary(SDL)
|
||||||
|
|
||||||
else()
|
target_include_directories( ll::SDL SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include)
|
||||||
use_prebuilt_binary(SDL2)
|
|
||||||
set (SDL2_FOUND TRUE)
|
|
||||||
|
|
||||||
target_link_libraries( sdl INTERFACE SDL2 X11 )
|
if( USE_SDL1 )
|
||||||
target_compile_definitions( sdl INTERFACE LL_SDL2=1 LL_SDL=1 )
|
target_compile_definitions( ll::SDL INTERFACE LL_SDL=1 )
|
||||||
|
|
||||||
endif()
|
use_system_binary(SDL)
|
||||||
|
use_prebuilt_binary(SDL)
|
||||||
|
set (SDL_FOUND TRUE)
|
||||||
|
|
||||||
endif (LINUX)
|
target_link_libraries (ll::SDL INTERFACE SDL directfb fusion direct X11)
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
||||||
set(LLWINDOW_INCLUDE_DIRS
|
else()
|
||||||
${GLEXT_INCLUDE_DIR}
|
target_compile_definitions( ll::SDL INTERFACE LL_SDL2=1 LL_SDL=1 )
|
||||||
${LIBS_OPEN_DIR}/llwindow
|
|
||||||
)
|
use_system_binary(SDL2)
|
||||||
|
use_prebuilt_binary(SDL2)
|
||||||
|
set (SDL2_FOUND TRUE)
|
||||||
|
|
||||||
|
target_link_libraries( ll::SDL INTERFACE SDL2 X11 )
|
||||||
|
endif()
|
||||||
|
endif (LINUX)
|
||||||
|
|
||||||
if (BUILD_HEADLESS)
|
|
||||||
set(LLWINDOW_HEADLESS_LIBRARIES
|
|
||||||
llwindowheadless
|
|
||||||
)
|
|
||||||
endif (BUILD_HEADLESS)
|
|
||||||
|
|
||||||
set(LLWINDOW_LIBRARIES
|
|
||||||
llwindow
|
|
||||||
)
|
|
||||||
|
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
include(Boost)
|
|
||||||
include(EXPAT)
|
|
||||||
|
|
||||||
set(LLXML_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/llxml
|
|
||||||
${EXPAT_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
set(LLXML_SYSTEM_INCLUDE_DIRS
|
|
||||||
${Boost_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
|
|
||||||
set(LLXML_LIBRARIES llxml)
|
|
||||||
|
|
@ -2,29 +2,26 @@
|
||||||
include(Linking)
|
include(Linking)
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
include_guard()
|
||||||
set(LIBVLCPLUGIN OFF CACHE BOOL
|
add_library( ll::libvlc INTERFACE IMPORTED )
|
||||||
|
|
||||||
|
use_prebuilt_binary(vlc-bin)
|
||||||
|
set(LIBVLCPLUGIN ON CACHE BOOL
|
||||||
"LIBVLCPLUGIN support for the llplugin/llmedia test apps.")
|
"LIBVLCPLUGIN support for the llplugin/llmedia test apps.")
|
||||||
else (USESYSTEMLIBS)
|
|
||||||
use_prebuilt_binary(vlc-bin)
|
|
||||||
set(LIBVLCPLUGIN ON CACHE BOOL
|
|
||||||
"LIBVLCPLUGIN support for the llplugin/llmedia test apps.")
|
|
||||||
set(VLC_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/vlc)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
||||||
if (WINDOWS)
|
if (WINDOWS)
|
||||||
set(VLC_PLUGIN_LIBRARIES
|
target_link_libraries( ll::libvlc INTERFACE
|
||||||
libvlc.lib
|
libvlc.lib
|
||||||
libvlccore.lib
|
libvlccore.lib
|
||||||
)
|
)
|
||||||
elseif (DARWIN)
|
elseif (DARWIN)
|
||||||
set(VLC_PLUGIN_LIBRARIES
|
target_link_libraries( ll::libvlc INTERFACE
|
||||||
libvlc.dylib
|
libvlc.dylib
|
||||||
libvlccore.dylib
|
libvlccore.dylib
|
||||||
)
|
)
|
||||||
elseif (LINUX)
|
elseif (LINUX)
|
||||||
# Specify a full path to make sure we get a static link
|
# Specify a full path to make sure we get a static link
|
||||||
set(VLC_PLUGIN_LIBRARIES
|
target_link_libraries( ll::libvlc INTERFACE
|
||||||
${LIBS_PREBUILT_DIR}/lib/libvlc.a
|
${LIBS_PREBUILT_DIR}/lib/libvlc.a
|
||||||
${LIBS_PREBUILT_DIR}/lib/libvlccore.a
|
${LIBS_PREBUILT_DIR}/lib/libvlccore.a
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,34 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
|
|
||||||
if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
|
include_guard()
|
||||||
set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES")
|
|
||||||
|
|
||||||
include(Variables)
|
include(Variables)
|
||||||
|
|
||||||
set(ARCH_PREBUILT_DIRS ${AUTOBUILD_INSTALL_DIR}/lib)
|
set(ARCH_PREBUILT_DIRS ${AUTOBUILD_INSTALL_DIR}/lib)
|
||||||
set(ARCH_PREBUILT_DIRS_PLUGINS ${AUTOBUILD_INSTALL_DIR}/plugins)
|
set(ARCH_PREBUILT_DIRS_PLUGINS ${AUTOBUILD_INSTALL_DIR}/plugins)
|
||||||
set(ARCH_PREBUILT_DIRS_RELEASE ${AUTOBUILD_INSTALL_DIR}/lib/release)
|
set(ARCH_PREBUILT_DIRS_RELEASE ${AUTOBUILD_INSTALL_DIR}/lib/release)
|
||||||
set(ARCH_PREBUILT_DIRS_DEBUG ${AUTOBUILD_INSTALL_DIR}/lib/debug)
|
set(ARCH_PREBUILT_DIRS_DEBUG ${AUTOBUILD_INSTALL_DIR}/lib/debug)
|
||||||
if (WINDOWS)
|
if (WINDOWS OR DARWIN )
|
||||||
set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs)
|
# Kludge for older cmake versions, 3.20+ is needed to use a genex in add_custom_command( OUTPUT <var> ... )
|
||||||
set(EXE_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs)
|
# Using this will work okay-ish, as Debug is not supported anyway. But for property multi config and also
|
||||||
|
# ninja support the genex version is preferred.
|
||||||
|
if(${CMAKE_VERSION} VERSION_LESS "3.20.0")
|
||||||
|
if(CMAKE_BUILD_TYPE MATCHES Release)
|
||||||
|
set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/Release)
|
||||||
|
elseif (CMAKE_BUILD_TYPE MATCHES RelWithDebInfo)
|
||||||
|
set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/RelWithDebInfo)
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/$<IF:$<BOOL:${LL_GENERATOR_IS_MULTI_CONFIG}>,$<CONFIG>,>)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if( DARWIN )
|
||||||
|
set( SHARED_LIB_STAGING_DIR ${SHARED_LIB_STAGING_DIR}/Resources)
|
||||||
|
endif()
|
||||||
|
set(EXE_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/$<IF:$<BOOL:${LL_GENERATOR_IS_MULTI_CONFIG}>,$<CONFIG>,>)
|
||||||
elseif (LINUX)
|
elseif (LINUX)
|
||||||
set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/lib)
|
set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/lib)
|
||||||
set(EXE_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/bin)
|
set(EXE_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/bin)
|
||||||
elseif (DARWIN)
|
endif ()
|
||||||
set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs)
|
|
||||||
set(EXE_STAGING_DIR "${CMAKE_BINARY_DIR}/sharedlibs")
|
|
||||||
endif (WINDOWS)
|
|
||||||
|
|
||||||
# Autobuild packages must provide 'release' versions of libraries, but may provide versions for
|
# Autobuild packages must provide 'release' versions of libraries, but may provide versions for
|
||||||
# specific build types. AUTOBUILD_LIBS_INSTALL_DIRS lists first the build type directory and then
|
# specific build types. AUTOBUILD_LIBS_INSTALL_DIRS lists first the build type directory and then
|
||||||
|
|
@ -27,63 +37,54 @@ endif (WINDOWS)
|
||||||
# windows) and CMAKE_BUILD_TYPE on Makefile based generators (like linux). The reason for this is
|
# windows) and CMAKE_BUILD_TYPE on Makefile based generators (like linux). The reason for this is
|
||||||
# that CMAKE_BUILD_TYPE is essentially meaningless at configuration time for IDE generators and
|
# that CMAKE_BUILD_TYPE is essentially meaningless at configuration time for IDE generators and
|
||||||
# CMAKE_CFG_INTDIR is meaningless at build time for Makefile generators
|
# CMAKE_CFG_INTDIR is meaningless at build time for Makefile generators
|
||||||
if(WINDOWS OR DARWIN)
|
|
||||||
# the cmake xcode and VS generators implicitly append ${CMAKE_CFG_INTDIR} to the library paths for us
|
|
||||||
# fortunately both windows and darwin are case insensitive filesystems so this works.
|
|
||||||
set(AUTOBUILD_LIBS_INSTALL_DIRS "${AUTOBUILD_INSTALL_DIR}/lib/")
|
|
||||||
else(WINDOWS OR DARWIN)
|
|
||||||
# else block is for linux and any other makefile based generators
|
|
||||||
string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_LOWER)
|
|
||||||
set(AUTOBUILD_LIBS_INSTALL_DIRS ${AUTOBUILD_INSTALL_DIR}/lib/${CMAKE_BUILD_TYPE_LOWER})
|
|
||||||
endif(WINDOWS OR DARWIN)
|
|
||||||
|
|
||||||
if( NOT USESYSTEMLIBS ) # <FS:ND/> Don't add any autobuild dirs when building standalone
|
link_directories(${AUTOBUILD_INSTALL_DIR}/lib/$<LOWER_CASE:$<CONFIG>>)
|
||||||
|
link_directories(${AUTOBUILD_INSTALL_DIR}/lib/release)
|
||||||
|
|
||||||
# <FS:Ansariel> Changed for Firestorm
|
add_library( ll::oslibraries INTERFACE IMPORTED )
|
||||||
#if (NOT "${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
|
||||||
if (NOT "${CMAKE_BUILD_TYPE}" STREQUAL "ReleaseFS_AVX" AND NOT "${CMAKE_BUILD_TYPE}" STREQUAL "ReleaseFS" AND NOT "${CMAKE_BUILD_TYPE}" STREQUAL "ReleaseFS_open")
|
|
||||||
# </FS:Ansariel> Changed for Firestorm
|
|
||||||
# When we're building something other than Release, append the
|
|
||||||
# packages/lib/release directory to deal with autobuild packages that don't
|
|
||||||
# provide (e.g.) lib/debug libraries.
|
|
||||||
list(APPEND AUTOBUILD_LIBS_INSTALL_DIRS ${ARCH_PREBUILT_DIRS_RELEASE})
|
|
||||||
|
|
||||||
# <FS:Ansariel> Changed for Firestorm
|
|
||||||
#endif (NOT "${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
|
||||||
endif (NOT "${CMAKE_BUILD_TYPE}" STREQUAL "ReleaseFS_AVX" AND NOT "${CMAKE_BUILD_TYPE}" STREQUAL "ReleaseFS" AND NOT "${CMAKE_BUILD_TYPE}" STREQUAL "ReleaseFS_open")
|
|
||||||
# </FS:Ansariel> Changed for Firestorm
|
|
||||||
|
|
||||||
link_directories(${AUTOBUILD_LIBS_INSTALL_DIRS})
|
|
||||||
|
|
||||||
endif( NOT USESYSTEMLIBS ) # <FS:ND/> Don't add any autobuild dirs when building standalone
|
|
||||||
|
|
||||||
if (LINUX)
|
if (LINUX)
|
||||||
set(DL_LIBRARY dl)
|
target_link_libraries( ll::oslibraries INTERFACE
|
||||||
set(PTHREAD_LIBRARY pthread)
|
dl
|
||||||
else (LINUX)
|
pthread
|
||||||
set(DL_LIBRARY "")
|
rt)
|
||||||
set(PTHREAD_LIBRARY "")
|
elseif (WINDOWS)
|
||||||
endif (LINUX)
|
target_link_libraries( ll::oslibraries INTERFACE
|
||||||
|
advapi32
|
||||||
|
shell32
|
||||||
|
ws2_32
|
||||||
|
mswsock
|
||||||
|
psapi
|
||||||
|
winmm
|
||||||
|
netapi32
|
||||||
|
wldap32
|
||||||
|
gdi32
|
||||||
|
user32
|
||||||
|
ole32
|
||||||
|
dbghelp
|
||||||
|
legacy_stdio_definitions
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
include(CMakeFindFrameworks)
|
||||||
|
find_library(COREFOUNDATION_LIBRARY CoreFoundation)
|
||||||
|
find_library(CARBON_LIBRARY Carbon)
|
||||||
|
find_library(COCOA_LIBRARY Cocoa)
|
||||||
|
find_library(IOKIT_LIBRARY IOKit)
|
||||||
|
|
||||||
|
find_library(AGL_LIBRARY AGL)
|
||||||
|
find_library(APPKIT_LIBRARY AppKit)
|
||||||
|
find_library(COREAUDIO_LIBRARY CoreAudio)
|
||||||
|
|
||||||
|
target_link_libraries( ll::oslibraries INTERFACE
|
||||||
|
${COCOA_LIBRARY}
|
||||||
|
${IOKIT_LIBRARY}
|
||||||
|
${COREFOUNDATION_LIBRARY}
|
||||||
|
${CARBON_LIBRARY}
|
||||||
|
${AGL_LIBRARY}
|
||||||
|
${APPKIT_LIBRARY}
|
||||||
|
${COREAUDIO_LIBRARY}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (WINDOWS)
|
|
||||||
set(WINDOWS_LIBRARIES
|
|
||||||
advapi32
|
|
||||||
shell32
|
|
||||||
ws2_32
|
|
||||||
mswsock
|
|
||||||
psapi
|
|
||||||
winmm
|
|
||||||
netapi32
|
|
||||||
wldap32
|
|
||||||
gdi32
|
|
||||||
user32
|
|
||||||
ole32
|
|
||||||
dbghelp
|
|
||||||
)
|
|
||||||
else (WINDOWS)
|
|
||||||
set(WINDOWS_LIBRARIES "")
|
|
||||||
endif (WINDOWS)
|
|
||||||
|
|
||||||
mark_as_advanced(DL_LIBRARY PTHREAD_LIBRARY WINDOWS_LIBRARIES)
|
|
||||||
|
|
||||||
endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
|
|
||||||
|
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
# -*- cmake -*-
|
|
||||||
|
|
||||||
include(Linking)
|
|
||||||
include(Prebuilt)
|
|
||||||
|
|
||||||
use_prebuilt_binary(meshoptimizer)
|
|
||||||
|
|
||||||
if (WINDOWS)
|
|
||||||
set(MESHOPTIMIZER_LIBRARIES meshoptimizer.lib)
|
|
||||||
elseif (LINUX)
|
|
||||||
set(MESHOPTIMIZER_LIBRARIES libmeshoptimizer.a)
|
|
||||||
elseif (DARWIN)
|
|
||||||
set(MESHOPTIMIZER_LIBRARIES libmeshoptimizer.a)
|
|
||||||
endif (WINDOWS)
|
|
||||||
|
|
||||||
set(MESHOPTIMIZER_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/meshoptimizer)
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
|
set(CMAKE_VERBOSE_MAKEFILE ON) # <FS:Zi> remove this once things work
|
||||||
|
|
||||||
# <FS:ND> Try to find pulse header, if we got them we can use the linux volume catcher
|
# <FS:ND> Try to find pulse header, if we got them we can use the linux volume catcher
|
||||||
if (LINUX)
|
if (LINUX)
|
||||||
|
|
@ -19,11 +20,10 @@ if (LINUX)
|
||||||
message( "Building with linux volume catcher" )
|
message( "Building with linux volume catcher" )
|
||||||
set(LINUX_VOLUME_CATCHER linux_volume_catcher.cpp)
|
set(LINUX_VOLUME_CATCHER linux_volume_catcher.cpp)
|
||||||
|
|
||||||
endif()
|
set(MEDIA_PLUGIN_BASE_INCLUDE_DIRS
|
||||||
|
|
||||||
|
|
||||||
set(MEDIA_PLUGIN_BASE_INCLUDE_DIRS
|
|
||||||
${LIBS_OPEN_DIR}/media_plugins/base/
|
${LIBS_OPEN_DIR}/media_plugins/base/
|
||||||
)
|
)
|
||||||
|
|
||||||
set(MEDIA_PLUGIN_BASE_LIBRARIES media_plugin_base)
|
set(MEDIA_PLUGIN_BASE_LIBRARIES media_plugin_base)
|
||||||
|
|
||||||
|
endif() # <FS:Zi> make sure no changes happen to other platforms by moving endif() here
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
# -*- cmake -*-
|
||||||
|
|
||||||
|
include(Linking)
|
||||||
|
include(Prebuilt)
|
||||||
|
|
||||||
|
include_guard()
|
||||||
|
add_library( ll::meshoptimizer INTERFACE IMPORTED )
|
||||||
|
|
||||||
|
use_system_binary(meshoptimizer)
|
||||||
|
use_prebuilt_binary(meshoptimizer)
|
||||||
|
|
||||||
|
if (WINDOWS)
|
||||||
|
target_link_libraries( ll::meshoptimizer INTERFACE meshoptimizer.lib)
|
||||||
|
elseif (LINUX)
|
||||||
|
target_link_libraries( ll::meshoptimizer INTERFACE libmeshoptimizer.a)
|
||||||
|
elseif (DARWIN)
|
||||||
|
target_link_libraries( ll::meshoptimizer INTERFACE libmeshoptimizer.a)
|
||||||
|
endif (WINDOWS)
|
||||||
|
|
||||||
|
target_include_directories( ll::meshoptimizer SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/meshoptimizer)
|
||||||
|
|
@ -3,34 +3,22 @@ include(Prebuilt)
|
||||||
|
|
||||||
set(NDOF ON CACHE BOOL "Use NDOF space navigator joystick library.")
|
set(NDOF ON CACHE BOOL "Use NDOF space navigator joystick library.")
|
||||||
|
|
||||||
|
include_guard()
|
||||||
|
add_library( ll::ndof INTERFACE IMPORTED )
|
||||||
|
|
||||||
if (NDOF)
|
if (NDOF)
|
||||||
if (USESYSTEMLIBS)
|
if (WINDOWS OR DARWIN)
|
||||||
set(NDOF_FIND_REQUIRED ON)
|
use_prebuilt_binary(libndofdev)
|
||||||
include(FindNDOF)
|
elseif (LINUX)
|
||||||
else (USESYSTEMLIBS)
|
use_prebuilt_binary(open-libndofdev)
|
||||||
if (WINDOWS OR DARWIN)
|
endif (WINDOWS OR DARWIN)
|
||||||
use_prebuilt_binary(libndofdev)
|
|
||||||
elseif (LINUX)
|
|
||||||
use_prebuilt_binary(open-libndofdev)
|
|
||||||
endif (WINDOWS OR DARWIN)
|
|
||||||
|
|
||||||
if (WINDOWS)
|
if (WINDOWS)
|
||||||
set(NDOF_LIBRARY libndofdev)
|
target_link_libraries( ll::ndof INTERFACE libndofdev)
|
||||||
elseif (DARWIN OR LINUX)
|
elseif (DARWIN OR LINUX)
|
||||||
set(NDOF_LIBRARY ndofdev)
|
target_link_libraries( ll::ndof INTERFACE ndofdev)
|
||||||
endif (WINDOWS)
|
endif (WINDOWS)
|
||||||
|
target_compile_definitions( ll::ndof INTERFACE LIB_NDOF=1)
|
||||||
set(NDOF_INCLUDE_DIR ${ARCH_PREBUILT_DIRS}/include/ndofdev)
|
|
||||||
set(NDOF_FOUND 1)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
endif (NDOF)
|
endif (NDOF)
|
||||||
|
|
||||||
if (NDOF_FOUND)
|
|
||||||
add_definitions(-DLIB_NDOF=1)
|
|
||||||
include_directories(${NDOF_INCLUDE_DIR})
|
|
||||||
else (NDOF_FOUND)
|
|
||||||
message(STATUS "Building without N-DoF joystick support")
|
|
||||||
set(NDOF_INCLUDE_DIR "")
|
|
||||||
set(NDOF_LIBRARY "")
|
|
||||||
endif (NDOF_FOUND)
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,18 @@
|
||||||
|
include(Linking)
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
set(NGHTTP2_FIND_QUIETLY ON)
|
include_guard()
|
||||||
set(NGHTTP2_FIND_REQUIRED ON)
|
add_library( ll::nghttp2 INTERFACE IMPORTED )
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
use_system_binary(nghttp2)
|
||||||
include(FindNGHTTP2)
|
use_prebuilt_binary(nghttp2)
|
||||||
else (USESYSTEMLIBS)
|
if (WINDOWS)
|
||||||
use_prebuilt_binary(nghttp2)
|
# <FS:Ansariel> ARCH_PREBUILT_DIRS_RELEASE is "." and would cause searching for the lib in the wrong place when not using VS
|
||||||
if (WINDOWS)
|
##target_link_libraries( ll::nghttp2 INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/nghttp2.lib)
|
||||||
set(NGHTTP2_LIBRARIES
|
target_link_libraries( ll::nghttp2 INTERFACE nghttp2.lib)
|
||||||
# <FS:Ansariel> ARCH_PREBUILT_DIRS_RELEASE is "." and would cause searching for the lib in the wrong place when not using VS
|
elseif (DARWIN)
|
||||||
#${ARCH_PREBUILT_DIRS_RELEASE}/nghttp2.lib
|
target_link_libraries( ll::nghttp2 INTERFACE libnghttp2.dylib)
|
||||||
nghttp2.lib
|
else (WINDOWS)
|
||||||
)
|
target_link_libraries( ll::nghttp2 INTERFACE libnghttp2.a )
|
||||||
elseif (DARWIN)
|
endif (WINDOWS)
|
||||||
set(NGHTTP2_LIBRARIES libnghttp2.dylib)
|
target_include_directories( ll::nghttp2 SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/nghttp2)
|
||||||
else (WINDOWS)
|
|
||||||
set(NGHTTP2_LIBRARIES libnghttp2.a)
|
|
||||||
endif (WINDOWS)
|
|
||||||
set(NGHTTP2_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/nghttp2)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,9 @@ set(NVAPI ON CACHE BOOL "Use NVAPI.")
|
||||||
|
|
||||||
if (NVAPI)
|
if (NVAPI)
|
||||||
if (WINDOWS)
|
if (WINDOWS)
|
||||||
|
add_library( ll::nvapi INTERFACE IMPORTED )
|
||||||
|
target_link_libraries( ll::nvapi INTERFACE nvapi)
|
||||||
use_prebuilt_binary(nvapi)
|
use_prebuilt_binary(nvapi)
|
||||||
set(NVAPI_LIBRARY nvapi)
|
|
||||||
else (WINDOWS)
|
|
||||||
set(NVAPI_LIBRARY "")
|
|
||||||
endif (WINDOWS)
|
endif (WINDOWS)
|
||||||
else (NVAPI)
|
|
||||||
set(NVAPI_LIBRARY "")
|
|
||||||
endif (NVAPI)
|
endif (NVAPI)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,33 +2,43 @@
|
||||||
include(Linking)
|
include(Linking)
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
|
include_guard()
|
||||||
|
|
||||||
|
# ND: Turn this off by default, the openal code in the viewer isn't very well maintained, seems
|
||||||
|
# to have memory leaks, has no option to play music streams
|
||||||
|
# It probably makes sense to to completely remove it
|
||||||
|
|
||||||
|
set(USE_OPENAL OFF CACHE BOOL "Enable OpenAL")
|
||||||
|
|
||||||
|
# <FS:Zi> Always download the libopenal.so library on Linux for SLVoice
|
||||||
if (LINUX)
|
if (LINUX)
|
||||||
use_prebuilt_binary(openal) #Always need the .so for voice
|
use_prebuilt_binary(openal)
|
||||||
set(OPENAL OFF CACHE BOOL "Enable OpenAL")
|
|
||||||
else (LINUX)
|
|
||||||
set(OPENAL OFF CACHE BOOL "Enable OpenAL")
|
|
||||||
endif (LINUX)
|
endif (LINUX)
|
||||||
|
|
||||||
if (OPENAL)
|
# ND: To streamline arguments passed, switch from OPENAL to USE_OPENAL
|
||||||
message( WARNING "Using OpenAL is discouraged due to no maintenance of the viewers openal integration, possible memory leaks and no support for streaming audio. Switch to fmodstudio if possible" )
|
# To not break all old build scripts convert old arguments but warn about it
|
||||||
set(OPENAL_LIB_INCLUDE_DIRS "${LIBS_PREBUILT_DIR}/include/AL")
|
if(OPENAL)
|
||||||
if (USESYSTEMLIBS)
|
message( WARNING "Use of the OPENAL argument is deprecated, please switch to USE_OPENAL")
|
||||||
include(FindPkgConfig)
|
set(USE_OPENAL ${OPENAL})
|
||||||
include(FindOpenAL)
|
endif()
|
||||||
pkg_check_modules(OPENAL_LIB REQUIRED openal)
|
|
||||||
pkg_check_modules(FREEALUT_LIB REQUIRED freealut)
|
if (USE_OPENAL)
|
||||||
else (USESYSTEMLIBS)
|
add_library( ll::openal INTERFACE IMPORTED )
|
||||||
use_prebuilt_binary(openal)
|
target_include_directories( ll::openal SYSTEM INTERFACE "${LIBS_PREBUILT_DIR}/include/AL")
|
||||||
endif (USESYSTEMLIBS)
|
target_compile_definitions( ll::openal INTERFACE LL_OPENAL=1)
|
||||||
|
use_prebuilt_binary(openal)
|
||||||
|
|
||||||
if(WINDOWS)
|
if(WINDOWS)
|
||||||
set(OPENAL_LIBRARIES
|
target_link_libraries( ll::openal INTERFACE
|
||||||
OpenAL32
|
OpenAL32
|
||||||
alut
|
alut
|
||||||
)
|
)
|
||||||
|
elseif(LINUX)
|
||||||
|
target_link_libraries( ll::openal INTERFACE
|
||||||
|
openal
|
||||||
|
alut
|
||||||
|
)
|
||||||
else()
|
else()
|
||||||
set(OPENAL_LIBRARIES
|
message(FATAL_ERROR "OpenAL is not available for this platform")
|
||||||
openal
|
|
||||||
alut
|
|
||||||
)
|
|
||||||
endif()
|
endif()
|
||||||
endif (OPENAL)
|
endif ()
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,13 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
|
|
||||||
|
if(LINUX)
|
||||||
|
# <FS:Zi> make sure to link to libGL.so instead of libOpenGL.so so the linker does not
|
||||||
|
# complain about libGL.so.1: error adding symbols: DSO missing from command line
|
||||||
|
set(OpenGL_GL_PREFERENCE "LEGACY")
|
||||||
|
endif()
|
||||||
|
|
||||||
include(Variables)
|
include(Variables)
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
# <FS:TS> Shut cmake up about OpenGL library preference. This can
|
|
||||||
# be either LEGACY or GLVND.
|
|
||||||
if (LINUX)
|
|
||||||
SET(OpenGL_GL_PREFERENCE LEGACY)
|
|
||||||
endif (LINUX)
|
|
||||||
|
|
||||||
if (BUILD_HEADLESS)
|
|
||||||
SET(OPENGL_glu_LIBRARY GLU)
|
|
||||||
SET(OPENGL_HEADLESS_LIBRARIES OSMesa16 dl GLU)
|
|
||||||
endif (BUILD_HEADLESS)
|
|
||||||
|
|
||||||
include(FindOpenGL)
|
include(FindOpenGL)
|
||||||
|
|
||||||
if(LINUX)
|
if(LINUX)
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,11 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
set(OPENJPEG_FIND_QUIETLY ON)
|
include_guard()
|
||||||
set(OPENJPEG_FIND_REQUIRED ON)
|
add_library( ll::openjpeg INTERFACE IMPORTED )
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
use_system_binary(openjpeg)
|
||||||
include(FindOpenJPEG)
|
use_prebuilt_binary(openjpeg)
|
||||||
else (USESYSTEMLIBS)
|
|
||||||
use_prebuilt_binary(openjpeg)
|
|
||||||
|
|
||||||
set(OPENJPEG_LIBRARIES openjp2)
|
target_link_libraries(ll::openjpeg INTERFACE openjp2 )
|
||||||
set(OPENJPEG_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/openjpeg)
|
target_include_directories( ll::openjpeg SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/openjpeg)
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,17 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
set(OpenSSL_FIND_QUIETLY ON)
|
include_guard()
|
||||||
set(OpenSSL_FIND_REQUIRED ON)
|
add_library( ll::openssl INTERFACE IMPORTED )
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
use_system_binary(openssl)
|
||||||
include(FindOpenSSL)
|
use_prebuilt_binary(openssl)
|
||||||
else (USESYSTEMLIBS)
|
if (WINDOWS)
|
||||||
use_prebuilt_binary(openssl)
|
target_link_libraries(ll::openssl INTERFACE libssl libcrypto)
|
||||||
if (WINDOWS)
|
elseif (LINUX)
|
||||||
set(OPENSSL_LIBRARIES libssl libcrypto)
|
target_link_libraries(ll::openssl INTERFACE ssl crypto dl)
|
||||||
else (WINDOWS)
|
else()
|
||||||
set(OPENSSL_LIBRARIES ssl crypto)
|
target_link_libraries(ll::openssl INTERFACE ssl crypto)
|
||||||
endif (WINDOWS)
|
endif (WINDOWS)
|
||||||
set(OPENSSL_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
|
target_include_directories( ll::openssl SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include)
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
||||||
if (LINUX)
|
|
||||||
set(CRYPTO_LIBRARIES crypto dl pthread)
|
|
||||||
elseif (DARWIN)
|
|
||||||
set(CRYPTO_LIBRARIES crypto)
|
|
||||||
endif (LINUX)
|
|
||||||
|
|
|
||||||
|
|
@ -9,21 +9,14 @@ endif(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 8 AND ${CM
|
||||||
|
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
set(PNG_FIND_QUIETLY ON)
|
include_guard()
|
||||||
set(PNG_FIND_REQUIRED ON)
|
add_library( ll::libpng INTERFACE IMPORTED )
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
use_system_binary(libpng)
|
||||||
include(FindPNG)
|
use_prebuilt_binary(libpng)
|
||||||
else (USESYSTEMLIBS)
|
if (WINDOWS)
|
||||||
use_prebuilt_binary(libpng)
|
target_link_libraries(ll::libpng INTERFACE libpng16)
|
||||||
if (WINDOWS)
|
else()
|
||||||
set(PNG_LIBRARIES libpng16)
|
target_link_libraries(ll::libpng INTERFACE png16 )
|
||||||
set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng16)
|
endif()
|
||||||
elseif(DARWIN)
|
target_include_directories( ll::libpng SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/libpng16)
|
||||||
set(PNG_LIBRARIES png16)
|
|
||||||
set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng16)
|
|
||||||
else()
|
|
||||||
set(PNG_LIBRARIES png16)
|
|
||||||
set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng16)
|
|
||||||
endif()
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
|
|
||||||
|
add_library( ll::pluginlibraries INTERFACE IMPORTED )
|
||||||
|
|
||||||
if (WINDOWS)
|
if (WINDOWS)
|
||||||
set(PLUGIN_API_WINDOWS_LIBRARIES
|
target_link_libraries( ll::pluginlibraries INTERFACE
|
||||||
wsock32
|
wsock32
|
||||||
ws2_32
|
ws2_32
|
||||||
psapi
|
psapi
|
||||||
|
|
@ -9,8 +11,6 @@ if (WINDOWS)
|
||||||
advapi32
|
advapi32
|
||||||
user32
|
user32
|
||||||
)
|
)
|
||||||
else (WINDOWS)
|
|
||||||
set(PLUGIN_API_WINDOWS_LIBRARIES "")
|
|
||||||
endif (WINDOWS)
|
endif (WINDOWS)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
|
include_guard()
|
||||||
if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
|
|
||||||
set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES")
|
|
||||||
|
|
||||||
include(FindAutobuild)
|
include(FindAutobuild)
|
||||||
if(INSTALL_PROPRIETARY)
|
if(INSTALL_PROPRIETARY)
|
||||||
|
|
@ -25,40 +23,50 @@ endif ("${CMAKE_SOURCE_DIR}/../autobuild.xml" IS_NEWER_THAN "${PREBUILD_TRACKING
|
||||||
# of previous attempts is serialized in the file
|
# of previous attempts is serialized in the file
|
||||||
# ${PREBUILD_TRACKING_DIR}/${_binary}_installed)
|
# ${PREBUILD_TRACKING_DIR}/${_binary}_installed)
|
||||||
macro (use_prebuilt_binary _binary)
|
macro (use_prebuilt_binary _binary)
|
||||||
if (NOT DEFINED USESYSTEMLIBS_${_binary})
|
if( NOT DEFINED ${_binary}_installed )
|
||||||
set(USESYSTEMLIBS_${_binary} ${USESYSTEMLIBS})
|
set( ${_binary}_installed "")
|
||||||
endif (NOT DEFINED USESYSTEMLIBS_${_binary})
|
endif()
|
||||||
|
|
||||||
if (NOT USESYSTEMLIBS_${_binary})
|
|
||||||
if("${${_binary}_installed}" STREQUAL "" AND EXISTS "${PREBUILD_TRACKING_DIR}/${_binary}_installed")
|
if("${${_binary}_installed}" STREQUAL "" AND EXISTS "${PREBUILD_TRACKING_DIR}/${_binary}_installed")
|
||||||
file(READ ${PREBUILD_TRACKING_DIR}/${_binary}_installed "${_binary}_installed")
|
file(READ ${PREBUILD_TRACKING_DIR}/${_binary}_installed "${_binary}_installed")
|
||||||
if(DEBUG_PREBUILT)
|
if(DEBUG_PREBUILT)
|
||||||
message(STATUS "${_binary}_installed: \"${${_binary}_installed}\"")
|
message(STATUS "${_binary}_installed: \"${${_binary}_installed}\"")
|
||||||
endif(DEBUG_PREBUILT)
|
endif(DEBUG_PREBUILT)
|
||||||
endif("${${_binary}_installed}" STREQUAL "" AND EXISTS "${PREBUILD_TRACKING_DIR}/${_binary}_installed")
|
endif("${${_binary}_installed}" STREQUAL "" AND EXISTS "${PREBUILD_TRACKING_DIR}/${_binary}_installed")
|
||||||
|
|
||||||
if(${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/${_binary}_installed OR NOT ${${_binary}_installed} EQUAL 0)
|
if(${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/${_binary}_installed OR NOT ${${_binary}_installed} EQUAL 0)
|
||||||
if(DEBUG_PREBUILT)
|
if(DEBUG_PREBUILT)
|
||||||
message(STATUS "cd ${CMAKE_SOURCE_DIR} && ${AUTOBUILD_EXECUTABLE} install
|
message(STATUS "cd ${CMAKE_SOURCE_DIR} && ${AUTOBUILD_EXECUTABLE} install
|
||||||
--install-dir=${AUTOBUILD_INSTALL_DIR}
|
--install-dir=${AUTOBUILD_INSTALL_DIR}
|
||||||
${_binary} ")
|
${_binary} ")
|
||||||
endif(DEBUG_PREBUILT)
|
endif(DEBUG_PREBUILT)
|
||||||
execute_process(COMMAND "${AUTOBUILD_EXECUTABLE}"
|
execute_process(COMMAND "${AUTOBUILD_EXECUTABLE}"
|
||||||
install
|
install
|
||||||
--install-dir=${AUTOBUILD_INSTALL_DIR}
|
--install-dir=${AUTOBUILD_INSTALL_DIR}
|
||||||
${_binary}
|
${_binary}
|
||||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||||
RESULT_VARIABLE ${_binary}_installed
|
RESULT_VARIABLE ${_binary}_installed
|
||||||
)
|
)
|
||||||
file(WRITE ${PREBUILD_TRACKING_DIR}/${_binary}_installed "${${_binary}_installed}")
|
file(WRITE ${PREBUILD_TRACKING_DIR}/${_binary}_installed "${${_binary}_installed}")
|
||||||
endif(${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/${_binary}_installed OR NOT ${${_binary}_installed} EQUAL 0)
|
endif(${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/${_binary}_installed OR NOT ${${_binary}_installed} EQUAL 0)
|
||||||
|
|
||||||
if(NOT ${_binary}_installed EQUAL 0)
|
if(NOT ${_binary}_installed EQUAL 0)
|
||||||
message(FATAL_ERROR
|
message(FATAL_ERROR
|
||||||
"Failed to download or unpack prebuilt '${_binary}'."
|
"Failed to download or unpack prebuilt '${_binary}'."
|
||||||
" Process returned ${${_binary}_installed}.")
|
" Process returned ${${_binary}_installed}.")
|
||||||
endif (NOT ${_binary}_installed EQUAL 0)
|
endif (NOT ${_binary}_installed EQUAL 0)
|
||||||
endif (NOT USESYSTEMLIBS_${_binary})
|
|
||||||
endmacro (use_prebuilt_binary _binary)
|
endmacro (use_prebuilt_binary _binary)
|
||||||
|
|
||||||
endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
|
#Sadly we need a macro here, otherwise the return() will not properly work
|
||||||
|
macro ( use_system_binary package )
|
||||||
|
if( USE_CONAN )
|
||||||
|
target_link_libraries( ll::${package} INTERFACE CONAN_PKG::${package} )
|
||||||
|
foreach( extra_pkg "${ARGN}" )
|
||||||
|
if( extra_pkg )
|
||||||
|
target_link_libraries( ll::${package} INTERFACE CONAN_PKG::${extra_pkg} )
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,4 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
set(PULSEAUDIO OFF CACHE BOOL "Build with PulseAudio support, if available.")
|
message( FATAL_ERROR "Pulseaudio cmake file is broken" )
|
||||||
|
|
||||||
if (PULSEAUDIO)
|
|
||||||
if (USESYSTEMLIBS)
|
|
||||||
include(FindPkgConfig)
|
|
||||||
|
|
||||||
pkg_check_modules(PULSEAUDIO libpulse)
|
|
||||||
|
|
||||||
elseif (LINUX)
|
|
||||||
use_prebuilt_binary(pulseaudio)
|
|
||||||
set(PULSEAUDIO_FOUND ON FORCE BOOL)
|
|
||||||
set(PULSEAUDIO_INCLUDE_DIRS
|
|
||||||
${LIBS_PREBUILT_DIR}/include
|
|
||||||
)
|
|
||||||
# We don't need to explicitly link against pulseaudio itself, because
|
|
||||||
# the viewer probes for the system's copy at runtime.
|
|
||||||
set(PULSEAUDIO_LIBRARIES
|
|
||||||
# none needed!
|
|
||||||
)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
endif (PULSEAUDIO)
|
|
||||||
|
|
||||||
if (PULSEAUDIO_FOUND)
|
|
||||||
add_definitions(-DLL_PULSEAUDIO_ENABLED=1)
|
|
||||||
endif (PULSEAUDIO_FOUND)
|
|
||||||
|
|
|
||||||
|
|
@ -13,30 +13,51 @@ if (WINDOWS)
|
||||||
NO_DEFAULT_PATH
|
NO_DEFAULT_PATH
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
|
# if the user has their own version of Python installed, prefer that
|
||||||
|
foreach(hive HKEY_CURRENT_USER HKEY_LOCAL_MACHINE)
|
||||||
|
# prefer more recent Python versions to older ones, if multiple versions
|
||||||
|
# are installed
|
||||||
|
foreach(pyver 3.11 3.10 3.9)
|
||||||
|
list(APPEND regpaths "[${hive}\\SOFTWARE\\Python\\PythonCore\\${pyver}\\InstallPath]")
|
||||||
|
endforeach()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
# TODO: This logic has the disadvantage that if you have multiple versions
|
||||||
|
# of Python installed, the selected path won't necessarily be the newest -
|
||||||
|
# e.g. this GLOB will prefer Python310 to Python311. But since pymaybe is
|
||||||
|
# checked AFTER the registry entries, this will only surface as a problem if
|
||||||
|
# no installed Python appears in the registry.
|
||||||
|
file(GLOB pymaybe
|
||||||
|
"$ENV{PROGRAMFILES}/Python*"
|
||||||
|
## "$ENV{PROGRAMFILES(X86)}/Python*"
|
||||||
|
# The Windows environment variable is in fact as shown above, but CMake
|
||||||
|
# disallows querying an environment variable containing parentheses -
|
||||||
|
# thanks, Windows. Fudge by just appending " (x86)" to $PROGRAMFILES and
|
||||||
|
# hoping for the best.
|
||||||
|
"$ENV{PROGRAMFILES} (x86)/Python*"
|
||||||
|
"c:/Python*")
|
||||||
|
|
||||||
set(Python3_FIND_REGISTRY "LAST")
|
set(Python3_FIND_REGISTRY "LAST")
|
||||||
find_program(PYTHON_EXECUTABLE
|
find_program(python
|
||||||
NAMES python.exe
|
NAMES python3.exe python.exe
|
||||||
NO_DEFAULT_PATH # added so that cmake does not find cygwin python
|
NO_DEFAULT_PATH # added so that cmake does not find cygwin python
|
||||||
PATHS
|
PATHS
|
||||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.9\\InstallPath]
|
${regpaths}
|
||||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.10\\InstallPath]
|
${pymaybe}
|
||||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.11\\InstallPath]
|
|
||||||
[HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\3.9\\InstallPath]
|
|
||||||
[HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\3.10\\InstallPath]
|
|
||||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.11\\InstallPath]
|
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
include(FindPythonInterp)
|
include(FindPythonInterp)
|
||||||
else()
|
else()
|
||||||
find_program(PYTHON_EXECUTABLE python3)
|
find_program(python python3)
|
||||||
|
|
||||||
if (PYTHON_EXECUTABLE)
|
if (python)
|
||||||
set(PYTHONINTERP_FOUND ON)
|
set(PYTHONINTERP_FOUND ON)
|
||||||
endif (PYTHON_EXECUTABLE)
|
endif (python)
|
||||||
endif (WINDOWS)
|
endif (WINDOWS)
|
||||||
|
|
||||||
if (NOT PYTHON_EXECUTABLE)
|
if (NOT python)
|
||||||
message(FATAL_ERROR "No Python interpreter found")
|
message(FATAL_ERROR "No Python interpreter found")
|
||||||
endif (NOT PYTHON_EXECUTABLE)
|
endif (NOT python)
|
||||||
|
|
||||||
|
set(PYTHON_EXECUTABLE "${python}" CACHE FILEPATH "Python interpreter for builds")
|
||||||
mark_as_advanced(PYTHON_EXECUTABLE)
|
mark_as_advanced(PYTHON_EXECUTABLE)
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,18 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
|
include_guard()
|
||||||
|
add_library( ll::tracy INTERFACE IMPORTED )
|
||||||
|
|
||||||
set(USE_TRACY OFF CACHE BOOL "Use Tracy profiler.")
|
set(USE_TRACY OFF CACHE BOOL "Use Tracy profiler.")
|
||||||
|
|
||||||
if (USE_TRACY)
|
if (USE_TRACY)
|
||||||
set(TRACY_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/tracy)
|
use_system_binary(tracy)
|
||||||
|
|
||||||
# See: indra/llcommon/llprofiler.h
|
|
||||||
add_definitions(-DLL_PROFILER_CONFIGURATION=3)
|
|
||||||
use_prebuilt_binary(tracy)
|
use_prebuilt_binary(tracy)
|
||||||
|
|
||||||
if (WINDOWS)
|
target_include_directories( ll::tracy SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/tracy)
|
||||||
MESSAGE(STATUS "Including Tracy for Windows: '${TRACY_INCLUDE_DIR}'")
|
|
||||||
set(TRACY_LIBRARY "TracyClient")
|
|
||||||
endif (WINDOWS)
|
|
||||||
|
|
||||||
if (DARWIN)
|
# See: indra/llcommon/llprofiler.h
|
||||||
MESSAGE(STATUS "Including Tracy for Darwin: '${TRACY_INCLUDE_DIR}'")
|
target_compile_definitions(ll::tracy INTERFACE LL_PROFILER_CONFIGURATION=3 )
|
||||||
set(TRACY_LIBRARY "TracyClient")
|
|
||||||
endif (DARWIN)
|
|
||||||
|
|
||||||
if (LINUX)
|
|
||||||
MESSAGE(STATUS "Including Tracy for Linux: '${TRACY_INCLUDE_DIR}'")
|
|
||||||
set(TRACY_LIBRARY "TracyClient")
|
|
||||||
endif (LINUX)
|
|
||||||
else (USE_TRACY)
|
|
||||||
# Tracy.cmake should not set LLCOMMON_INCLUDE_DIRS, let LLCommon.cmake do that
|
|
||||||
set(TRACY_INCLUDE_DIR "")
|
|
||||||
set(TRACY_LIBRARY "")
|
|
||||||
endif (USE_TRACY)
|
endif (USE_TRACY)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
if (NOT USESYSTEMLIBS)
|
use_prebuilt_binary(tut)
|
||||||
use_prebuilt_binary(tut)
|
|
||||||
endif(NOT USESYSTEMLIBS)
|
|
||||||
|
|
|
||||||
|
|
@ -3,77 +3,50 @@ include(Prebuilt)
|
||||||
include(FreeType)
|
include(FreeType)
|
||||||
include(GLIB)
|
include(GLIB)
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
add_library( ll::uilibraries INTERFACE IMPORTED )
|
||||||
include(FindPkgConfig)
|
|
||||||
|
|
||||||
if( NOT GTK_VERSION )
|
|
||||||
set( GTK_VERSION 2.0 )
|
|
||||||
endif()
|
|
||||||
if (LINUX)
|
|
||||||
set(PKGCONFIG_PACKAGES
|
|
||||||
atk
|
|
||||||
cairo
|
|
||||||
gdk-${GTK_VERSION}
|
|
||||||
gdk-pixbuf-2.0
|
|
||||||
glib-2.0
|
|
||||||
gmodule-2.0
|
|
||||||
gtk+-${GTK_VERSION}
|
|
||||||
gthread-2.0
|
|
||||||
libpng
|
|
||||||
pango
|
|
||||||
pangoft2
|
|
||||||
sdl2
|
|
||||||
)
|
|
||||||
if( GTK_VERSION LESS "3.0" )
|
|
||||||
LIST( APPEND PKGCONFIG_PACKAGES pangoxft )
|
|
||||||
else()
|
|
||||||
add_definitions( -DGTK_DISABLE_DEPRECATED)
|
|
||||||
endif()
|
|
||||||
endif (LINUX)
|
|
||||||
|
|
||||||
foreach(pkg ${PKGCONFIG_PACKAGES})
|
|
||||||
pkg_check_modules(${pkg} REQUIRED ${pkg})
|
|
||||||
include_directories(${${pkg}_INCLUDE_DIRS})
|
|
||||||
link_directories(${${pkg}_LIBRARY_DIRS})
|
|
||||||
list(APPEND UI_LIBRARIES ${${pkg}_LIBRARIES})
|
|
||||||
add_definitions(${${pkg}_CFLAGS_OTHERS})
|
|
||||||
endforeach(pkg)
|
|
||||||
list(APPEND UI_LIBRARIES X11)
|
|
||||||
else (USESYSTEMLIBS)
|
|
||||||
if (LINUX)
|
|
||||||
use_prebuilt_binary(fltk)
|
|
||||||
endif (LINUX)
|
|
||||||
|
|
||||||
if (LINUX)
|
|
||||||
set(UI_LIB_NAMES
|
|
||||||
libfltk.a
|
|
||||||
# libfreetype.a # <FS:PC> fontconfig and freetype should be taken from the user's system, and not be packaged with the viewer
|
|
||||||
)
|
|
||||||
|
|
||||||
foreach(libname ${UI_LIB_NAMES})
|
|
||||||
find_library(UI_LIB_${libname}
|
|
||||||
NAMES ${libname}
|
|
||||||
PATHS
|
|
||||||
debug ${LIBS_PREBUILT_DIR}/lib/debug
|
|
||||||
optimized ${LIBS_PREBUILT_DIR}/lib/release
|
|
||||||
NO_DEFAULT_PATH
|
|
||||||
)
|
|
||||||
set(UI_LIBRARIES ${UI_LIBRARIES} ${UI_LIB_${libname}})
|
|
||||||
endforeach(libname)
|
|
||||||
|
|
||||||
set(UI_LIBRARIES ${UI_LIBRARIES} Xinerama X11)
|
|
||||||
include_directories ( ${GLIB_INCLUDE_DIRS} )
|
|
||||||
endif (LINUX)
|
|
||||||
|
|
||||||
include_directories (
|
|
||||||
${LIBS_PREBUILT_DIR}/include
|
|
||||||
${LIBS_PREBUILT_DIR}/include
|
|
||||||
)
|
|
||||||
foreach(include ${${LL_ARCH}_INCLUDES})
|
|
||||||
include_directories(${LIBS_PREBUILT_DIR}/include/${include})
|
|
||||||
endforeach(include)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
||||||
if (LINUX)
|
if (LINUX)
|
||||||
add_definitions(-DLL_X11=1 -DLL_FLTK=1)
|
use_prebuilt_binary(fltk)
|
||||||
|
target_compile_definitions(ll::uilibraries INTERFACE LL_FLTK=1 LL_X11=1 )
|
||||||
|
|
||||||
|
if( USE_CONAN )
|
||||||
|
target_link_libraries( ll::uilibraries INTERFACE CONAN_PKG::gtk )
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_link_libraries( ll::uilibraries INTERFACE
|
||||||
|
fltk
|
||||||
|
X11
|
||||||
|
Xinerama
|
||||||
|
glib-2.0
|
||||||
|
gmodule-2.0
|
||||||
|
gobject-2.0
|
||||||
|
gthread-2.0
|
||||||
|
Xinerama
|
||||||
|
ll::freetype
|
||||||
|
)
|
||||||
|
target_include_directories( ll::uilibraries SYSTEM INTERFACE
|
||||||
|
${GLIB_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
endif (LINUX)
|
endif (LINUX)
|
||||||
|
if( WINDOWS )
|
||||||
|
target_link_libraries( ll::uilibraries INTERFACE
|
||||||
|
opengl32
|
||||||
|
comdlg32
|
||||||
|
dxguid
|
||||||
|
kernel32
|
||||||
|
odbc32
|
||||||
|
odbccp32
|
||||||
|
oleaut32
|
||||||
|
shell32
|
||||||
|
Vfw32
|
||||||
|
wer
|
||||||
|
winspool
|
||||||
|
imm32
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_include_directories( ll::uilibraries SYSTEM INTERFACE
|
||||||
|
${LIBS_PREBUILT_DIR}/include
|
||||||
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,35 +1,19 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
|
|
||||||
set(URIPARSER_FIND_QUIETLY ON)
|
include_guard()
|
||||||
set(URIPARSER_FIND_REQUIRED ON)
|
|
||||||
|
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
add_library( ll::uriparser INTERFACE IMPORTED )
|
||||||
include(FindURIPARSER)
|
|
||||||
else (USESYSTEMLIBS)
|
use_system_binary( uriparser )
|
||||||
use_prebuilt_binary(uriparser)
|
|
||||||
if (WINDOWS)
|
use_prebuilt_binary(uriparser)
|
||||||
set(URIPARSER_LIBRARIES
|
if (WINDOWS)
|
||||||
debug uriparserd
|
target_link_libraries( ll::uriparser INTERFACE uriparser)
|
||||||
optimized uriparser)
|
elseif (LINUX)
|
||||||
elseif (LINUX)
|
target_link_libraries( ll::uriparser INTERFACE uriparser)
|
||||||
#
|
elseif (DARWIN)
|
||||||
# When we have updated static libraries in competition with older
|
target_link_libraries( ll::uriparser INTERFACE liburiparser.dylib)
|
||||||
# shared libraries and we want the former to win, we need to do some
|
endif (WINDOWS)
|
||||||
# extra work. The *_PRELOAD_ARCHIVES settings are invoked early
|
target_include_directories( ll::uriparser SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/uriparser)
|
||||||
# and will pull in the entire archive to the binary giving it.
|
|
||||||
# priority in symbol resolution. Beware of cmake moving the
|
|
||||||
# achive load itself to another place on the link command line. If
|
|
||||||
# that happens, you can try something like -Wl,-luriparser here to hide
|
|
||||||
# the archive. Also be aware that the linker will not tolerate a
|
|
||||||
# second whole-archive load of the archive. See viewer's
|
|
||||||
# CMakeLists.txt for more information.
|
|
||||||
#
|
|
||||||
set(URIPARSER_PRELOAD_ARCHIVES -Wl,--whole-archive uriparser -Wl,--no-whole-archive)
|
|
||||||
set(URIPARSER_LIBRARIES uriparser)
|
|
||||||
elseif (DARWIN)
|
|
||||||
set(URIPARSER_LIBRARIES liburiparser.dylib)
|
|
||||||
endif (WINDOWS)
|
|
||||||
set(URIPARSER_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/uriparser)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
|
||||||
|
|
@ -12,15 +12,18 @@
|
||||||
# Switches set here and in 00-Common.cmake must agree with
|
# Switches set here and in 00-Common.cmake must agree with
|
||||||
# https://bitbucket.org/lindenlab/viewer-build-variables/src/tip/variables
|
# https://bitbucket.org/lindenlab/viewer-build-variables/src/tip/variables
|
||||||
# Reading $LL_BUILD is an attempt to directly use those switches.
|
# Reading $LL_BUILD is an attempt to directly use those switches.
|
||||||
if ("$ENV{LL_BUILD}" STREQUAL "")
|
if ("$ENV{LL_BUILD}" STREQUAL "" AND "${LL_BUILD_ENV}" STREQUAL "" )
|
||||||
message(FATAL_ERROR "Environment variable LL_BUILD must be set")
|
message(FATAL_ERROR "Environment variable LL_BUILD must be set")
|
||||||
|
elseif("$ENV{LL_BUILD}" STREQUAL "")
|
||||||
|
set( ENV{LL_BUILD} "${LL_BUILD_ENV}" )
|
||||||
|
message( "Setting ENV{LL_BUILD} to cached variable ${LL_BUILD_ENV}" )
|
||||||
|
else()
|
||||||
|
set( LL_BUILD_ENV "$ENV{LL_BUILD}" CACHE STRING "Save environment" FORCE )
|
||||||
endif ()
|
endif ()
|
||||||
|
include_guard()
|
||||||
|
|
||||||
# Relative and absolute paths to subtrees.
|
# Relative and absolute paths to subtrees.
|
||||||
|
|
||||||
if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
|
|
||||||
set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES")
|
|
||||||
|
|
||||||
if(NOT DEFINED COMMON_CMAKE_DIR)
|
if(NOT DEFINED COMMON_CMAKE_DIR)
|
||||||
set(COMMON_CMAKE_DIR "${CMAKE_SOURCE_DIR}/cmake")
|
set(COMMON_CMAKE_DIR "${CMAKE_SOURCE_DIR}/cmake")
|
||||||
endif(NOT DEFINED COMMON_CMAKE_DIR)
|
endif(NOT DEFINED COMMON_CMAKE_DIR)
|
||||||
|
|
@ -70,39 +73,36 @@ endif (NOT CMAKE_BUILD_TYPE)
|
||||||
# If someone has specified an address size, use that to determine the
|
# If someone has specified an address size, use that to determine the
|
||||||
# architecture. Otherwise, let the architecture specify the address size.
|
# architecture. Otherwise, let the architecture specify the address size.
|
||||||
if (ADDRESS_SIZE EQUAL 32)
|
if (ADDRESS_SIZE EQUAL 32)
|
||||||
#message(STATUS "ADDRESS_SIZE is 32")
|
|
||||||
set(ARCH i686)
|
set(ARCH i686)
|
||||||
elseif (ADDRESS_SIZE EQUAL 64)
|
elseif (ADDRESS_SIZE EQUAL 64)
|
||||||
#message(STATUS "ADDRESS_SIZE is 64")
|
|
||||||
set(ARCH x86_64)
|
set(ARCH x86_64)
|
||||||
else (ADDRESS_SIZE EQUAL 32)
|
else (ADDRESS_SIZE EQUAL 32)
|
||||||
#message(STATUS "ADDRESS_SIZE is UNRECOGNIZED: '${ADDRESS_SIZE}'")
|
# Note we cannot use if(DARWIN) here, this variable is set way lower
|
||||||
# Use Python's platform.machine() since uname -m isn't available everywhere.
|
if( ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" )
|
||||||
# Even if you can assume cygwin uname -m, the answer depends on whether
|
|
||||||
# you're running 32-bit cygwin or 64-bit cygwin! But even 32-bit Python will
|
|
||||||
# report a 64-bit processor.
|
|
||||||
execute_process(COMMAND
|
|
||||||
"${PYTHON_EXECUTABLE}" "-c"
|
|
||||||
"import platform; print platform.machine()"
|
|
||||||
OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
# We expect values of the form i386, i686, x86_64, AMD64.
|
|
||||||
# In CMake, expressing ARCH.endswith('64') is awkward:
|
|
||||||
string(LENGTH "${ARCH}" ARCH_LENGTH)
|
|
||||||
math(EXPR ARCH_LEN_2 "${ARCH_LENGTH} - 2")
|
|
||||||
string(SUBSTRING "${ARCH}" ${ARCH_LEN_2} 2 ARCH_LAST_2)
|
|
||||||
if (ARCH_LAST_2 STREQUAL 64)
|
|
||||||
#message(STATUS "ARCH is detected as 64; ARCH is ${ARCH}")
|
|
||||||
set(ADDRESS_SIZE 64)
|
set(ADDRESS_SIZE 64)
|
||||||
else ()
|
set(ARCH x86_64)
|
||||||
#message(STATUS "ARCH is detected as 32; ARCH is ${ARCH}")
|
else()
|
||||||
set(ADDRESS_SIZE 32)
|
# Use Python's platform.machine() since uname -m isn't available everywhere.
|
||||||
endif ()
|
# Even if you can assume cygwin uname -m, the answer depends on whether
|
||||||
|
# you're running 32-bit cygwin or 64-bit cygwin! But even 32-bit Python will
|
||||||
|
# report a 64-bit processor.
|
||||||
|
execute_process(COMMAND
|
||||||
|
"${PYTHON_EXECUTABLE}" "-c"
|
||||||
|
"import platform; print( platform.machine() )"
|
||||||
|
OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
string( REGEX MATCH ".*(64)$" RE_MATCH "${ARCH}" )
|
||||||
|
if( RE_MATCH AND ${CMAKE_MATCH_1} STREQUAL "64" )
|
||||||
|
set(ADDRESS_SIZE 64)
|
||||||
|
set(ARCH x86_64)
|
||||||
|
else()
|
||||||
|
set(ADDRESS_SIZE 32)
|
||||||
|
set(ARCH i686)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
endif (ADDRESS_SIZE EQUAL 32)
|
endif (ADDRESS_SIZE EQUAL 32)
|
||||||
|
|
||||||
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
||||||
set(WINDOWS ON BOOL FORCE)
|
set(WINDOWS ON BOOL FORCE)
|
||||||
set(LL_ARCH ${ARCH}_win32)
|
|
||||||
set(LL_ARCH_DIR ${ARCH}-win32)
|
|
||||||
endif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
endif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
||||||
|
|
||||||
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||||
|
|
@ -129,9 +129,6 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||||
|
|
||||||
include(ConfigurePkgConfig)
|
include(ConfigurePkgConfig)
|
||||||
|
|
||||||
set(LL_ARCH ${ARCH}_linux)
|
|
||||||
set(LL_ARCH_DIR ${ARCH}-linux)
|
|
||||||
|
|
||||||
if (INSTALL_PROPRIETARY)
|
if (INSTALL_PROPRIETARY)
|
||||||
# Only turn on headless if we can find osmesa libraries.
|
# Only turn on headless if we can find osmesa libraries.
|
||||||
include(FindPkgConfig)
|
include(FindPkgConfig)
|
||||||
|
|
@ -200,9 +197,6 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||||
set(CMAKE_OSX_ARCHITECTURES "${ARCH}")
|
set(CMAKE_OSX_ARCHITECTURES "${ARCH}")
|
||||||
string(REPLACE "i686" "i386" CMAKE_OSX_ARCHITECTURES "${CMAKE_OSX_ARCHITECTURES}")
|
string(REPLACE "i686" "i386" CMAKE_OSX_ARCHITECTURES "${CMAKE_OSX_ARCHITECTURES}")
|
||||||
string(REPLACE "AMD64" "x86_64" CMAKE_OSX_ARCHITECTURES "${CMAKE_OSX_ARCHITECTURES}")
|
string(REPLACE "AMD64" "x86_64" CMAKE_OSX_ARCHITECTURES "${CMAKE_OSX_ARCHITECTURES}")
|
||||||
|
|
||||||
set(LL_ARCH ${ARCH}_darwin)
|
|
||||||
set(LL_ARCH_DIR universal-darwin)
|
|
||||||
endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||||
|
|
||||||
# Default deploy grid
|
# Default deploy grid
|
||||||
|
|
@ -225,7 +219,6 @@ set(ENABLE_SIGNING OFF)
|
||||||
#set(SIGNING_IDENTITY "" CACHE STRING "Specifies the signing identity to use, if necessary.")
|
#set(SIGNING_IDENTITY "" CACHE STRING "Specifies the signing identity to use, if necessary.")
|
||||||
|
|
||||||
set(VERSION_BUILD "0" CACHE STRING "Revision number passed in from the outside")
|
set(VERSION_BUILD "0" CACHE STRING "Revision number passed in from the outside")
|
||||||
set(USESYSTEMLIBS OFF CACHE BOOL "Use libraries from your system rather than Linden-supplied prebuilt libraries.")
|
|
||||||
set(UNATTENDED OFF CACHE BOOL "Should be set to ON for building with VC Express editions.") # <FS:Ansariel> No Teamcity -> allow unattended
|
set(UNATTENDED OFF CACHE BOOL "Should be set to ON for building with VC Express editions.") # <FS:Ansariel> No Teamcity -> allow unattended
|
||||||
|
|
||||||
set(USE_PRECOMPILED_HEADERS ON CACHE BOOL "Enable use of precompiled header directives where supported.")
|
set(USE_PRECOMPILED_HEADERS ON CACHE BOOL "Enable use of precompiled header directives where supported.")
|
||||||
|
|
@ -246,4 +239,5 @@ endif (HAVOK_TPV)
|
||||||
|
|
||||||
source_group("CMake Rules" FILES CMakeLists.txt)
|
source_group("CMake Rules" FILES CMakeLists.txt)
|
||||||
|
|
||||||
endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
|
get_property(LL_GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,3 @@
|
||||||
include (Prebuilt)
|
include (Prebuilt)
|
||||||
use_prebuilt_binary(viewer-manager)
|
use_prebuilt_binary(viewer-manager)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,21 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
if (NOT USESYSTEMLIBS)
|
if (LINUX)
|
||||||
if (LINUX)
|
use_prebuilt_binary(libuuid)
|
||||||
use_prebuilt_binary(libuuid)
|
add_library( ll::fontconfig INTERFACE IMPORTED )
|
||||||
find_package(Fontconfig REQUIRED) # <FS:PC> fontconfig and freetype should be taken from the
|
|
||||||
# use_prebuilt_binary(fontconfig) # user's system, and not be packaged with the viewer
|
if( NOT USE_CONAN )
|
||||||
endif (LINUX)
|
find_package(Fontconfig REQUIRED) # <FS:PC> Use system wide Fontconfig
|
||||||
use_prebuilt_binary(libhunspell)
|
target_link_libraries( ll::fontconfig INTERFACE Fontconfig::Fontconfig )
|
||||||
use_prebuilt_binary(slvoice)
|
else()
|
||||||
# use_prebuilt_binary(libidn)
|
target_link_libraries( ll::fontconfig INTERFACE CONAN_PKG::fontconfig )
|
||||||
endif(NOT USESYSTEMLIBS)
|
endif()
|
||||||
|
endif (LINUX)
|
||||||
|
|
||||||
|
if( NOT USE_CONAN )
|
||||||
|
use_prebuilt_binary(libhunspell)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
use_prebuilt_binary(slvoice)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,11 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
set(XMLRPCEPI_FIND_QUIETLY ON)
|
include_guard()
|
||||||
set(XMLRPCEPI_FIND_REQUIRED ON)
|
add_library( ll::xmlrpc-epi INTERFACE IMPORTED )
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
use_system_binary( xmlrpc-epi )
|
||||||
include(FindXmlRpcEpi)
|
|
||||||
else (USESYSTEMLIBS)
|
use_prebuilt_binary(xmlrpc-epi)
|
||||||
use_prebuilt_binary(xmlrpc-epi)
|
target_link_libraries(ll::xmlrpc-epi INTERFACE xmlrpc-epi )
|
||||||
if (WINDOWS)
|
target_include_directories( ll::xmlrpc-epi SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include)
|
||||||
set(XMLRPCEPI_LIBRARIES
|
|
||||||
debug xmlrpc-epid
|
|
||||||
optimized xmlrpc-epi
|
|
||||||
)
|
|
||||||
else (WINDOWS)
|
|
||||||
set(XMLRPCEPI_LIBRARIES xmlrpc-epi)
|
|
||||||
endif (WINDOWS)
|
|
||||||
set(XMLRPCEPI_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
|
||||||
|
|
@ -1,37 +1,22 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
|
|
||||||
set(ZLIBNG_FIND_QUIETLY ON)
|
|
||||||
set(ZLIBNG_FIND_REQUIRED ON)
|
|
||||||
|
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
include_guard()
|
||||||
include(FindZLIBNG)
|
add_library( ll::zlib-ng INTERFACE IMPORTED )
|
||||||
else (USESYSTEMLIBS)
|
|
||||||
use_prebuilt_binary(zlib-ng)
|
if(USE_CONAN )
|
||||||
if (WINDOWS)
|
target_link_libraries( ll::zlib-ng INTERFACE CONAN_PKG::zlib )
|
||||||
set(ZLIBNG_LIBRARIES
|
return()
|
||||||
debug zlib
|
endif()
|
||||||
optimized zlib)
|
|
||||||
elseif (LINUX)
|
use_prebuilt_binary(zlib-ng)
|
||||||
#
|
if (WINDOWS)
|
||||||
# When we have updated static libraries in competition with older
|
target_link_libraries( ll::zlib-ng INTERFACE zlib )
|
||||||
# shared libraries and we want the former to win, we need to do some
|
else()
|
||||||
# extra work. The *_PRELOAD_ARCHIVES settings are invoked early
|
target_link_libraries( ll::zlib-ng INTERFACE z )
|
||||||
# and will pull in the entire archive to the binary giving it
|
endif (WINDOWS)
|
||||||
# priority in symbol resolution. Beware of cmake moving the
|
|
||||||
# achive load itself to another place on the link command line. If
|
if( NOT LINUX )
|
||||||
# that happens, you can try something like -Wl,-lz here to hide
|
target_include_directories( ll::zlib-ng SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/zlib-ng)
|
||||||
# the archive. Also be aware that the linker will not tolerate a
|
endif()
|
||||||
# second whole-archive load of the archive. See viewer's
|
|
||||||
# CMakeLists.txt for more information.
|
|
||||||
#
|
|
||||||
set(ZLIBNG_PRELOAD_ARCHIVES -Wl,--whole-archive z -Wl,--no-whole-archive)
|
|
||||||
set(ZLIBNG_LIBRARIES z)
|
|
||||||
elseif (DARWIN)
|
|
||||||
set(ZLIBNG_LIBRARIES z)
|
|
||||||
endif (WINDOWS)
|
|
||||||
if (WINDOWS OR LINUX)
|
|
||||||
set(ZLIBNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/zlib-ng)
|
|
||||||
endif (WINDOWS OR LINUX)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
|
||||||
|
|
@ -9,37 +9,39 @@ else (INSTALL_PROPRIETARY)
|
||||||
set(USE_BUGSPLAT OFF CACHE BOOL "Use the BugSplat crash reporting system")
|
set(USE_BUGSPLAT OFF CACHE BOOL "Use the BugSplat crash reporting system")
|
||||||
endif (INSTALL_PROPRIETARY)
|
endif (INSTALL_PROPRIETARY)
|
||||||
|
|
||||||
|
include_guard()
|
||||||
|
add_library( ll::bugsplat INTERFACE IMPORTED )
|
||||||
|
|
||||||
if (USE_BUGSPLAT)
|
if (USE_BUGSPLAT)
|
||||||
if (NOT USESYSTEMLIBS)
|
include(Prebuilt)
|
||||||
include(Prebuilt)
|
use_prebuilt_binary(bugsplat)
|
||||||
if (WINDOWS)
|
if (WINDOWS)
|
||||||
use_prebuilt_binary(bugsplat)
|
target_link_libraries( ll::bugsplat INTERFACE
|
||||||
set(BUGSPLAT_LIBRARIES
|
|
||||||
${ARCH_PREBUILT_DIRS_RELEASE}/bugsplat.lib
|
${ARCH_PREBUILT_DIRS_RELEASE}/bugsplat.lib
|
||||||
)
|
)
|
||||||
elseif (DARWIN)
|
target_include_directories( ll::bugsplat SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/bugsplat)
|
||||||
use_prebuilt_binary(bugsplat)
|
elseif (DARWIN)
|
||||||
find_library(BUGSPLAT_LIBRARIES BugsplatMac REQUIRED
|
find_library(BUGSPLAT_LIBRARIES BugsplatMac REQUIRED
|
||||||
NO_DEFAULT_PATH PATHS "${ARCH_PREBUILT_DIRS_RELEASE}")
|
NO_DEFAULT_PATH PATHS "${ARCH_PREBUILT_DIRS_RELEASE}")
|
||||||
message("Bugsplat for OSX not fully implemented, please adapt llappdelegate-objc.mm to honor options of sending user name and settings.xml.")
|
target_link_libraries( ll::bugsplat INTERFACE
|
||||||
else (WINDOWS)
|
${BUGSPLAT_LIBRARIES}
|
||||||
use_prebuilt_binary(breakpad)
|
)
|
||||||
set(BUGSPLAT_LIBRARIES ${ARCH_PREBUILT_DIRS_RELEASE}/libbreakpad.a ${ARCH_PREBUILT_DIRS_RELEASE}/libbreakpad_client.a )
|
else (WINDOWS) #ie: Linux...
|
||||||
endif (WINDOWS)
|
add_compile_definitions(__STDC_FORMAT_MACROS)
|
||||||
else (NOT USESYSTEMLIBS)
|
use_prebuilt_binary(breakpad)
|
||||||
set(BUGSPLAT_FIND_QUIETLY ON)
|
target_link_libraries( ll::bugsplat INTERFACE
|
||||||
set(BUGSPLAT_FIND_REQUIRED ON)
|
${ARCH_PREBUILT_DIRS_RELEASE}/libbreakpad.a
|
||||||
include(FindBUGSPLAT)
|
${ARCH_PREBUILT_DIRS_RELEASE}/libbreakpad_client.a
|
||||||
endif (NOT USESYSTEMLIBS)
|
)
|
||||||
|
target_include_directories( ll::bugsplat SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/breakpad)
|
||||||
|
endif (WINDOWS)
|
||||||
|
|
||||||
set(BUGSPLAT_DB "" CACHE STRING "BugSplat crash database name")
|
if( NOT BUGSPLAT_DB )
|
||||||
|
message( FATAL_ERROR "You need to set BUGSPLAT_DB when setting USE_BUGSPLAT" )
|
||||||
if( LINUX )
|
|
||||||
set(BUGSPLAT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/breakpad)
|
|
||||||
add_compile_definitions(__STDC_FORMAT_MACROS)
|
|
||||||
else()
|
|
||||||
set(BUGSPLAT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/bugsplat)
|
|
||||||
endif()
|
endif()
|
||||||
set(BUGSPLAT_DEFINE "LL_BUGSPLAT")
|
|
||||||
|
set_property( TARGET ll::bugsplat APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS LL_BUGSPLAT)
|
||||||
|
else()
|
||||||
|
set(BUGSPLAT_DB "" CACHE STRING "BugSplat crash database name")
|
||||||
endif (USE_BUGSPLAT)
|
endif (USE_BUGSPLAT)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ def main(command, arguments=[], libpath=[], vars={}):
|
||||||
if sys.platform == "win32":
|
if sys.platform == "win32":
|
||||||
lpvars = ["PATH"]
|
lpvars = ["PATH"]
|
||||||
elif sys.platform == "darwin":
|
elif sys.platform == "darwin":
|
||||||
lpvars = ["LD_LIBRARY_PATH", "DYLD_LIBRARY_PATH"]
|
lpvars = ["LD_LIBRARY_PATH"] # , "DYLD_LIBRARY_PATH"]
|
||||||
elif sys.platform.startswith("linux"):
|
elif sys.platform.startswith("linux"):
|
||||||
lpvars = ["LD_LIBRARY_PATH"]
|
lpvars = ["LD_LIBRARY_PATH"]
|
||||||
else:
|
else:
|
||||||
|
|
|
||||||
|
|
@ -12,16 +12,6 @@ include(LLImageJ2COJ)
|
||||||
include(LLKDU)
|
include(LLKDU)
|
||||||
include(LLFileSystem)
|
include(LLFileSystem)
|
||||||
|
|
||||||
include_directories(
|
|
||||||
${LLCOMMON_INCLUDE_DIRS}
|
|
||||||
${LLFILESYSTEM_INCLUDE_DIRS}
|
|
||||||
${LLIMAGE_INCLUDE_DIRS}
|
|
||||||
${LLMATH_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
include_directories(SYSTEM
|
|
||||||
${LLCOMMON_SYSTEM_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
|
|
||||||
set(llimage_libtest_SOURCE_FILES
|
set(llimage_libtest_SOURCE_FILES
|
||||||
llimage_libtest.cpp
|
llimage_libtest.cpp
|
||||||
)
|
)
|
||||||
|
|
@ -31,9 +21,6 @@ set(llimage_libtest_HEADER_FILES
|
||||||
llimage_libtest.h
|
llimage_libtest.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set_source_files_properties(${llimage_libtest_HEADER_FILES}
|
|
||||||
PROPERTIES HEADER_FILE_ONLY TRUE)
|
|
||||||
|
|
||||||
list(APPEND llimage_libtest_SOURCE_FILES ${llimage_libtest_HEADER_FILES})
|
list(APPEND llimage_libtest_SOURCE_FILES ${llimage_libtest_HEADER_FILES})
|
||||||
|
|
||||||
add_executable(llimage_libtest
|
add_executable(llimage_libtest
|
||||||
|
|
@ -48,37 +35,21 @@ set_target_properties(llimage_libtest
|
||||||
FALSE
|
FALSE
|
||||||
)
|
)
|
||||||
|
|
||||||
# OS-specific libraries
|
|
||||||
if (DARWIN)
|
|
||||||
include(CMakeFindFrameworks)
|
|
||||||
find_library(COREFOUNDATION_LIBRARY CoreFoundation)
|
|
||||||
set(OS_LIBRARIES ${COREFOUNDATION_LIBRARY})
|
|
||||||
elseif (WINDOWS)
|
|
||||||
set(OS_LIBRARIES)
|
|
||||||
elseif (LINUX)
|
|
||||||
set(OS_LIBRARIES)
|
|
||||||
else (DARWIN)
|
|
||||||
message(FATAL_ERROR "Unknown platform")
|
|
||||||
endif (DARWIN)
|
|
||||||
|
|
||||||
# Libraries on which this application depends on
|
# Libraries on which this application depends on
|
||||||
# Sort by high-level to low-level
|
# Sort by high-level to low-level
|
||||||
target_link_libraries(llimage_libtest
|
target_link_libraries(llimage_libtest
|
||||||
${LEGACY_STDIO_LIBS}
|
llcommon
|
||||||
${LLCOMMON_LIBRARIES}
|
llfilesystem
|
||||||
${LLFILESYSTEM_LIBRARIES}
|
llmath
|
||||||
${LLMATH_LIBRARIES}
|
llimage
|
||||||
${LLIMAGE_LIBRARIES}
|
llkdu
|
||||||
${LLKDU_LIBRARIES}
|
llimagej2coj
|
||||||
${KDU_LIBRARY}
|
)
|
||||||
${LLIMAGEJ2COJ_LIBRARIES}
|
|
||||||
${OS_LIBRARIES}
|
|
||||||
)
|
|
||||||
|
|
||||||
if (DARWIN)
|
if (DARWIN)
|
||||||
# Path inside the app bundle where we'll need to copy libraries
|
# Path inside the app bundle where we'll need to copy libraries
|
||||||
set(LLIMAGE_LIBTEST_DESTINATION_DIR
|
set(LLIMAGE_LIBTEST_DESTINATION_DIR
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llimage_libtest.app/Contents/Resources
|
${CMAKE_CURRENT_BINARY_DIR}/$<IF:$<BOOL:${LL_GENERATOR_IS_MULTI_CONFIG}>,$<CONFIG>,>/llimage_libtest.app/Contents/Resources
|
||||||
)
|
)
|
||||||
# Create the Contents/Resources directory
|
# Create the Contents/Resources directory
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
|
|
|
||||||
|
|
@ -22,23 +22,6 @@ include(Hunspell)
|
||||||
include(Linking)
|
include(Linking)
|
||||||
# include(Tut)
|
# include(Tut)
|
||||||
|
|
||||||
include_directories(
|
|
||||||
${FREETYPE_INCLUDE_DIRS}
|
|
||||||
${LLCOMMON_INCLUDE_DIRS}
|
|
||||||
${LLIMAGE_INCLUDE_DIRS}
|
|
||||||
${LLMATH_INCLUDE_DIRS}
|
|
||||||
${LLRENDER_INCLUDE_DIRS}
|
|
||||||
${LLUI_INCLUDE_DIRS}
|
|
||||||
${LLFILESYSTEM_INCLUDE_DIRS}
|
|
||||||
${LLWINDOW_INCLUDE_DIRS}
|
|
||||||
${LLXML_INCLUDE_DIRS}
|
|
||||||
${LIBS_PREBUILD_DIR}/include/hunspell
|
|
||||||
)
|
|
||||||
include_directories(SYSTEM
|
|
||||||
${LLCOMMON_SYSTEM_INCLUDE_DIRS}
|
|
||||||
${LLXML_SYSTEM_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
|
|
||||||
set(llui_libtest_SOURCE_FILES
|
set(llui_libtest_SOURCE_FILES
|
||||||
llui_libtest.cpp
|
llui_libtest.cpp
|
||||||
llwidgetreg.cpp
|
llwidgetreg.cpp
|
||||||
|
|
@ -50,50 +33,26 @@ set(llui_libtest_HEADER_FILES
|
||||||
llwidgetreg.h
|
llwidgetreg.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set_source_files_properties(${llui_libtest_HEADER_FILES}
|
|
||||||
PROPERTIES HEADER_FILE_ONLY TRUE)
|
|
||||||
|
|
||||||
list(APPEND llui_libtest_SOURCE_FILES ${llui_libtest_HEADER_FILES})
|
list(APPEND llui_libtest_SOURCE_FILES ${llui_libtest_HEADER_FILES})
|
||||||
|
|
||||||
add_executable(llui_libtest ${llui_libtest_SOURCE_FILES})
|
add_executable(llui_libtest ${llui_libtest_SOURCE_FILES})
|
||||||
|
|
||||||
# Link with OS-specific libraries for LLWindow dependency
|
|
||||||
if (DARWIN)
|
|
||||||
find_library(COCOA_LIBRARY Cocoa)
|
|
||||||
find_library(IOKIT_LIBRARY IOKit)
|
|
||||||
set(OS_LIBRARIES ${COCOA_LIBRARY} ${IOKIT_LIBRARY})
|
|
||||||
elseif (WINDOWS)
|
|
||||||
#ll_stack_trace needs this now...
|
|
||||||
list(APPEND WINDOWS_LIBRARIES dbghelp)
|
|
||||||
set(OS_LIBRARIES ${WINDOWS_LIBRARIES})
|
|
||||||
elseif (LINUX)
|
|
||||||
set(OS_LIBRARIES)
|
|
||||||
else (DARWIN)
|
|
||||||
message(FATAL_ERROR "unknown platform")
|
|
||||||
endif (DARWIN)
|
|
||||||
|
|
||||||
# Libraries on which this library depends, needed for Linux builds
|
# Libraries on which this library depends, needed for Linux builds
|
||||||
# Sort by high-level to low-level
|
# Sort by high-level to low-level
|
||||||
target_link_libraries(llui_libtest
|
target_link_libraries(llui_libtest
|
||||||
${LEGACY_STDIO_LIBS}
|
llui
|
||||||
llui
|
llinventory
|
||||||
llinventory
|
llmessage
|
||||||
llmessage
|
llrender
|
||||||
${LLRENDER_LIBRARIES}
|
llimage
|
||||||
${LLIMAGE_LIBRARIES}
|
llkdu
|
||||||
${LLKDU_LIBRARIES}
|
llimagej2coj
|
||||||
${KDU_LIBRARY}
|
)
|
||||||
${LLIMAGEJ2COJ_LIBRARIES}
|
|
||||||
${OS_LIBRARIES}
|
|
||||||
${GOOGLE_PERFTOOLS_LIBRARIES}
|
|
||||||
${HUNSPELL_LIBRARY}
|
|
||||||
)
|
|
||||||
|
|
||||||
if (WINDOWS)
|
if (WINDOWS)
|
||||||
set_target_properties(llui_libtest
|
set_target_properties(llui_libtest
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
LINK_FLAGS "/NODEFAULTLIB:LIBCMT"
|
LINK_FLAGS "/NODEFAULTLIB:LIBCMT"
|
||||||
LINK_FLAGS_DEBUG "/NODEFAULTLIB:MSVCRT /NODEFAULTLIB:LIBCMTD"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Copy over OpenJPEG.dll
|
# Copy over OpenJPEG.dll
|
||||||
|
|
@ -101,7 +60,7 @@ if (WINDOWS)
|
||||||
set(OPENJPEG_RELEASE
|
set(OPENJPEG_RELEASE
|
||||||
"${ARCH_PREBUILT_DIRS_RELEASE}/openjp2.dll")
|
"${ARCH_PREBUILT_DIRS_RELEASE}/openjp2.dll")
|
||||||
add_custom_command( TARGET llui_libtest POST_BUILD
|
add_custom_command( TARGET llui_libtest POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||||
${OPENJPEG_RELEASE} ${CMAKE_CURRENT_BINARY_DIR}
|
${OPENJPEG_RELEASE} ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
COMMENT "Copying OpenJPEG DLLs to binary directory"
|
COMMENT "Copying OpenJPEG DLLs to binary directory"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ BASE_ARGUMENTS=[
|
||||||
but not application name (used internally)""",
|
but not application name (used internally)""",
|
||||||
default=None),
|
default=None),
|
||||||
dict(name='configuration',
|
dict(name='configuration',
|
||||||
description="""The build configuration used.""",
|
description="""The build configurations sub directory used.""",
|
||||||
default="Release"),
|
default="Release"),
|
||||||
dict(name='dest', description='Destination directory.', default=DEFAULT_SRCTREE),
|
dict(name='dest', description='Destination directory.', default=DEFAULT_SRCTREE),
|
||||||
dict(name='grid',
|
dict(name='grid',
|
||||||
|
|
|
||||||
|
|
@ -37,9 +37,6 @@ set(linux_crash_logger_HEADER_FILES
|
||||||
llcrashloggerlinux.h
|
llcrashloggerlinux.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set_source_files_properties(${linux_crash_logger_HEADER_FILES}
|
|
||||||
PROPERTIES HEADER_FILE_ONLY TRUE)
|
|
||||||
|
|
||||||
list(APPEND linux_crash_logger_SOURCE_FILES
|
list(APPEND linux_crash_logger_SOURCE_FILES
|
||||||
${linux_crash_logger_HEADER_FILES}
|
${linux_crash_logger_HEADER_FILES}
|
||||||
)
|
)
|
||||||
|
|
@ -53,12 +50,14 @@ set(LIBRT_LIBRARY rt)
|
||||||
|
|
||||||
|
|
||||||
target_link_libraries(linux-crash-logger
|
target_link_libraries(linux-crash-logger
|
||||||
${UI_LIBRARIES}
|
# llcrashlogger
|
||||||
${CURL_LIBRARIES}
|
llfilesystem
|
||||||
${OPENSSL_LIBRARIES}
|
llxml
|
||||||
${CRYPTO_LIBRARIES}
|
llmessage
|
||||||
${ZLIBNG_LIBRARIES}
|
llmath
|
||||||
${LIBRT_LIBRARY}
|
llcorehttp
|
||||||
|
llcommon
|
||||||
|
ll::uilibraries
|
||||||
X11
|
X11
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,30 +4,11 @@ project(llappearance)
|
||||||
|
|
||||||
include(00-Common)
|
include(00-Common)
|
||||||
include(LLCommon)
|
include(LLCommon)
|
||||||
include(LLCharacter)
|
|
||||||
include(LLImage)
|
include(LLImage)
|
||||||
include(LLInventory)
|
|
||||||
include(LLMath)
|
|
||||||
include(LLMessage)
|
|
||||||
include(LLCoreHttp)
|
include(LLCoreHttp)
|
||||||
include(LLRender)
|
|
||||||
include(LLFileSystem)
|
|
||||||
include(LLWindow)
|
include(LLWindow)
|
||||||
include(LLXML)
|
|
||||||
include(Linking)
|
include(Linking)
|
||||||
|
|
||||||
include_directories(
|
|
||||||
${LLCOMMON_INCLUDE_DIRS}
|
|
||||||
${LLCHARACTER_INCLUDE_DIRS}
|
|
||||||
${LLIMAGE_INCLUDE_DIRS}
|
|
||||||
${LLINVENTORY_INCLUDE_DIRS}
|
|
||||||
${LLMATH_INCLUDE_DIRS}
|
|
||||||
${LLRENDER_INCLUDE_DIRS}
|
|
||||||
${LLFILESYSTEM_INCLUDE_DIRS}
|
|
||||||
${LLWINDOW_INCLUDE_DIRS}
|
|
||||||
${LLXML_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
|
|
||||||
set(llappearance_SOURCE_FILES
|
set(llappearance_SOURCE_FILES
|
||||||
llavatarappearance.cpp
|
llavatarappearance.cpp
|
||||||
llavatarjoint.cpp
|
llavatarjoint.cpp
|
||||||
|
|
@ -71,41 +52,37 @@ set(llappearance_HEADER_FILES
|
||||||
llavatarappearancedefines.h
|
llavatarappearancedefines.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set_source_files_properties(${llappearance_HEADER_FILES}
|
|
||||||
PROPERTIES HEADER_FILE_ONLY TRUE)
|
|
||||||
|
|
||||||
list(APPEND llappearance_SOURCE_FILES ${llappearance_HEADER_FILES})
|
list(APPEND llappearance_SOURCE_FILES ${llappearance_HEADER_FILES})
|
||||||
|
|
||||||
add_library (llappearance ${llappearance_SOURCE_FILES})
|
add_library (llappearance ${llappearance_SOURCE_FILES})
|
||||||
|
|
||||||
target_link_libraries(llappearance
|
target_link_libraries(llappearance
|
||||||
${LLCHARACTER_LIBRARIES}
|
llcharacter
|
||||||
${LLINVENTORY_LIBRARIES}
|
llinventory
|
||||||
${LLIMAGE_LIBRARIES}
|
llimage
|
||||||
${LLRENDER_LIBRARIES}
|
llrender
|
||||||
${LLFILESYSTEM_LIBRARIES}
|
llfilesystem
|
||||||
${LLMATH_LIBRARIES}
|
llmath
|
||||||
${LLXML_LIBRARIES}
|
llxml
|
||||||
${LLMATH_LIBRARIES}
|
llmessage
|
||||||
${LLMESSAGE_LIBRARIES}
|
llcorehttp
|
||||||
${LLCOREHTTP_LIBRARIES}
|
llcommon
|
||||||
${LLCOMMON_LIBRARIES}
|
|
||||||
)
|
)
|
||||||
|
target_include_directories( llappearance INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
if (BUILD_HEADLESS)
|
if (BUILD_HEADLESS)
|
||||||
add_library (llappearanceheadless ${llappearance_SOURCE_FILES})
|
add_library (llappearanceheadless ${llappearance_SOURCE_FILES})
|
||||||
|
target_include_directories( llappearanceheadless INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
target_link_libraries(llappearanceheadless
|
target_link_libraries(llappearanceheadless
|
||||||
${LLCHARACTER_LIBRARIES}
|
llcharacter
|
||||||
${LLINVENTORY_LIBRARIES}
|
llinventory
|
||||||
${LLIMAGE_LIBRARIES}
|
llimage
|
||||||
${LLRENDERHEADLESS_LIBRARIES}
|
llfilesystem
|
||||||
${LLFILESYSTEM_LIBRARIES}
|
llmath
|
||||||
${LLMATH_LIBRARIES}
|
llxml
|
||||||
${LLXML_LIBRARIES}
|
llmessage
|
||||||
${LLMATH_LIBRARIES}
|
llcorehttp
|
||||||
${LLMESSAGE_LIBRARIES}
|
llcommon
|
||||||
${LLCOREHTTP_LIBRARIES}
|
|
||||||
${LLCOMMON_LIBRARIES}
|
|
||||||
)
|
)
|
||||||
endif (BUILD_HEADLESS)
|
endif (BUILD_HEADLESS)
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue