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