1##---------------------------------------------------------------------------
2## Author:      Pavel Kalian (Based on the work of Sean D'Epagnier)
3## Copyright:   2014
4## License:     GPLv3+
5##---------------------------------------------------------------------------
6
7SET(PLUGIN_SOURCE_DIR .)
8
9# This should be 2.8.0 to have FindGTK2 module
10IF (COMMAND cmake_policy)
11	#  CMAKE_POLICY(SET CMP0003 OLD)
12	#  CMAKE_POLICY(SET CMP0005 OLD)
13	#  CMAKE_POLICY(SET CMP0011 OLD)
14ENDIF (COMMAND cmake_policy)
15
16MESSAGE (STATUS "*** Staging to build ${PACKAGE_NAME} ***")
17
18#configure_file(cmake/version.h.in ${PROJECT_SOURCE_DIR}/src/version.h)
19#  Do the version.h configuration into the build output directory,
20#  thereby allowing building from a read-only source tree.
21IF(NOT SKIP_VERSION_CONFIG)
22    SET(BUILD_INCLUDE_PATH ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY})
23    configure_file(cmake/version.h.in ${BUILD_INCLUDE_PATH}/include/version.h)
24    configure_file(cmake/wxWTranslateCatalog.h.in ${BUILD_INCLUDE_PATH}/include/wxWTranslateCatalog.h)
25    INCLUDE_DIRECTORIES(${BUILD_INCLUDE_PATH}/include)
26ENDIF(NOT SKIP_VERSION_CONFIG)
27
28SET(PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}" )
29
30#SET(CMAKE_BUILD_TYPE Debug)
31#SET(CMAKE_VERBOSE_MAKEFILE ON)
32
33INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/src)
34
35# SET(PROFILING 1)
36
37#  IF NOT DEBUGGING CFLAGS="-O2 -march=native"
38IF(NOT MSVC)
39    ADD_COMPILE_OPTIONS( "-fvisibility=hidden" )
40 IF(PROFILING)
41     ADD_COMPILE_OPTIONS(
42         "-Wall" "-g" "-fprofile-arcs" "-ftest-coverage" "-fexceptions")
43 ELSE ()
44#  ADD_DEFINITIONS( "-Wall -g -fexceptions" )
45   ADD_COMPILE_OPTIONS("-Wall" "-Wno-unused-result" "-g" "-O2" "-fexceptions")
46 ENDIF ()
47
48 IF(CMAKE_SYSTEM_NAME MATCHES ".*Linux")
49  SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-Bsymbolic")
50 ENDIF(CMAKE_SYSTEM_NAME MATCHES ".*Linux")
51 IF(APPLE)
52  SET(CMAKE_SHARED_LINKER_FLAGS "-Wl -undefined dynamic_lookup")
53 ENDIF(APPLE)
54
55ENDIF(NOT MSVC)
56
57# Add some definitions to satisfy MS
58IF(MSVC)
59    ADD_DEFINITIONS(-D__MSVC__)
60    ADD_DEFINITIONS(-D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE)
61ENDIF(MSVC)
62
63
64SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)
65SET(BUILD_SHARED_LIBS "ON")
66
67#  QT_ANDROID is a cross-build, so the native FIND_PACKAGE(wxWidgets...) and wxWidgets_USE_FILE is not useful.
68IF(NOT QT_ANDROID)
69IF(NOT DEFINED wxWidgets_USE_FILE)
70  SET(wxWidgets_USE_LIBS base core net xml html adv)
71  SET(BUILD_SHARED_LIBS TRUE)
72  FIND_PACKAGE(wxWidgets REQUIRED)
73ENDIF(NOT DEFINED wxWidgets_USE_FILE)
74
75  INCLUDE(${wxWidgets_USE_FILE})
76ENDIF(NOT QT_ANDROID)
77
78
79IF(MSYS)
80# this is just a hack. I think the bug is in FindwxWidgets.cmake
81STRING( REGEX REPLACE "/usr/local" "\\\\;C:/MinGW/msys/1.0/usr/local" wxWidgets_INCLUDE_DIRS ${wxWidgets_INCLUDE_DIRS} )
82ENDIF(MSYS)
83
84#  QT_ANDROID is a cross-build, so the native FIND_PACKAGE(OpenGL) is not useful.
85#
86IF (NOT QT_ANDROID )
87FIND_PACKAGE(OpenGL)
88IF(OPENGL_GLU_FOUND)
89
90    SET(wxWidgets_USE_LIBS ${wxWidgets_USE_LIBS} gl)
91    INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
92
93    MESSAGE (STATUS "Found OpenGL..." )
94    MESSAGE (STATUS "    Lib: " ${OPENGL_LIBRARIES})
95    MESSAGE (STATUS "    Include: " ${OPENGL_INCLUDE_DIR})
96    ADD_DEFINITIONS(-DocpnUSE_GL)
97ELSE(OPENGL_GLU_FOUND)
98    MESSAGE (STATUS "OpenGL not found..." )
99ENDIF(OPENGL_GLU_FOUND)
100ENDIF(NOT QT_ANDROID)
101
102#  Building for QT_ANDROID involves a cross-building environment,
103#  So the OpenGL include directories, flags, etc must be stated explicitly
104#  without trying to locate them on the host build system.
105IF(QT_ANDROID)
106    MESSAGE (STATUS "Using GLESv1 for Android")
107    ADD_DEFINITIONS(-DocpnUSE_GLES)
108    ADD_DEFINITIONS(-DocpnUSE_GL)
109    ADD_DEFINITIONS(-DUSE_GLU_TESS)
110
111    SET(OPENGLES_FOUND "YES")
112    SET(OPENGL_FOUND "YES")
113
114
115ELSE(QT_ANDROID)
116    FIND_PACKAGE(OpenGL)
117    IF(OPENGL_GLU_FOUND)
118
119        SET(wxWidgets_USE_LIBS ${wxWidgets_USE_LIBS} gl)
120        INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
121
122        MESSAGE (STATUS "Found OpenGL..." )
123        MESSAGE (STATUS "    Lib: " ${OPENGL_LIBRARIES})
124        MESSAGE (STATUS "    Include: " ${OPENGL_INCLUDE_DIR})
125        ADD_DEFINITIONS(-DocpnUSE_GL)
126    ELSE(OPENGL_GLU_FOUND)
127        MESSAGE (STATUS "OpenGL not found..." )
128    ENDIF(OPENGL_GLU_FOUND)
129
130ENDIF(QT_ANDROID)
131
132SET(BUILD_SHARED_LIBS TRUE)
133
134FIND_PACKAGE(Gettext REQUIRED)
135
136