Skip to content

Commit 3d1bd2f

Browse files
authored
Merge pull request #137 from arrayfire/devel
devel to master for 1.0.0 release
2 parents 67b908e + aeadd03 commit 3d1bd2f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+2583
-1224
lines changed

CMakeLists.txt

+28-21
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,29 @@
11
CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
2+
3+
OPTION(USE_HUNTER "Use Hunter cmake package handler" OFF)
4+
5+
if(USE_HUNTER)
6+
include(${CMAKE_CURRENT_LIST_DIR}/CMakeModules/HunterGate.cmake)
7+
8+
HunterGate(
9+
URL "https://github.com/ruslo/hunter/archive/v0.18.43.tar.gz"
10+
SHA1 "d2c8c42cd07f7cefe18fd9a9b9c13114b1a15a27"
11+
# LOCAL
12+
)
13+
endif()
14+
215
PROJECT(FORGE)
316

417
SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
518
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
619
INCLUDE(FGInstallDirs)
20+
INCLUDE(Version)
721

8-
SET(USE_WINDOW_TOOLKIT "glfw3" CACHE STRING "Choose Window toolkit")
9-
SET_PROPERTY(CACHE USE_WINDOW_TOOLKIT PROPERTY STRINGS "glfw3" "sdl2")
1022

23+
############################## BEGIN - CMAKE OPTIONS ##########################
1124
OPTION(BUILD_DOCUMENTATION "Build Documentation" OFF)
1225
OPTION(BUILD_EXAMPLES "Build Examples" ON)
13-
14-
OPTION(USE_LOCAL_GLM "Download and use local GLM" OFF)
15-
OPTION(USE_LOCAL_FREETYPE "Download and use local freetype" OFF)
16-
MARK_AS_ADVANCED(USE_LOCAL_GLM)
17-
MARK_AS_ADVANCED(USE_LOCAL_FREETYPE)
26+
OPTION(USE_FREEIMAGE "Use freeimage to allow saving of charts" ON)
1827

1928
# Set a default build type if none was specified
2029
IF(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
@@ -23,12 +32,14 @@ IF(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
2332
SET_PROPERTY(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
2433
"MinSizeRel" "RelWithDebInfo")
2534
ENDIF()
35+
############################## END - CMAKE OPTIONS ##########################
2636

37+
38+
############################## BEGIN - OS Definitions #########################
2739
IF(UNIX)
2840
ADD_DEFINITIONS(-Wall -std=c++11 -fvisibility=hidden)
2941
ENDIF()
3042

31-
# OS Definitions
3243
IF(UNIX)
3344
IF(APPLE)
3445
ADD_DEFINITIONS(-DOS_MAC)
@@ -45,31 +56,27 @@ IF(UNIX)
4556
ELSE(APPLE)
4657
ADD_DEFINITIONS(-DOS_LNX)
4758
ENDIF(APPLE)
59+
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
4860
ELSE(UNIX)
4961
ADD_DEFINITIONS(-DOS_WIN -DNOMINMAX)
62+
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
5063
ENDIF(UNIX)
64+
############################## END - OS Definitions ###########################
5165

52-
INCLUDE(Version)
5366

54-
FIND_PACKAGE(FreeImage REQUIRED)
55-
FIND_PACKAGE(OpenGL REQUIRED)
56-
57-
INCLUDE_DIRECTORIES(
58-
"${PROJECT_SOURCE_DIR}/include"
59-
${OPENGL_INCLUDE_DIR}
60-
${FREEIMAGE_INCLUDE_PATH}
61-
)
67+
INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/include")
6268

69+
## X11 libraries need to be explicitly linked on MacOS
70+
## This is required by both examples and the library itself
71+
## Hence, it is placed here.
6372
SET(X11_LIBS "")
6473
IF(APPLE)
6574
FIND_PACKAGE(X11 REQUIRED)
6675
INCLUDE_DIRECTORIES(${X11_INCLUDE_DIR})
6776
SET(X11_LIBS ${X11_LIBRARIES})
6877
ENDIF(APPLE)
6978

70-
ADD_EXECUTABLE(glsl2cpp "${PROJECT_SOURCE_DIR}/CMakeModules/glsl2cpp.cpp")
71-
72-
ADD_SUBDIRECTORY(src/backend/opengl)
79+
ADD_SUBDIRECTORY(src/backend)
7380

7481
IF(BUILD_EXAMPLES)
7582
ADD_SUBDIRECTORY(examples)
@@ -97,7 +104,7 @@ write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/ForgeConfigVersion
97104

98105
#--------------------------------------------------------------------
99106
# Install files other than the library, examples and docs
100-
# The library is installed by src/CMakeLists.txt
107+
# The library is installed by src/backend/*/CMakeLists.txt
101108
#--------------------------------------------------------------------
102109
INSTALL(DIRECTORY "${PROJECT_SOURCE_DIR}/include/" DESTINATION "${FG_INSTALL_INC_DIR}"
103110
FILES_MATCHING

CMakeModules/FindGLFW.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#
1515
# Usage example to compile an "executable" target to the glfw library:
1616
#
17-
# FIND_PACKAGE (glfw REQUIRED)
17+
# FIND_PACKAGE (GLFW REQUIRED)
1818
# INCLUDE_DIRECTORIES (${GLFW_INCLUDE_DIR})
1919
# ADD_EXECUTABLE (executable ${EXECUTABLE_SRCS})
2020
# TARGET_LINK_LIBRARIES (executable ${GLFW_LIBRARY})

0 commit comments

Comments
 (0)