Many small Improvements. Removed old non-functional test structures. Switched to dmd for linking. Fixed bug in CMakeDInformation.cmake that we inhereted from the C version. Added C+D test case, which fails.
This commit is contained in:
parent
6af1633a9b
commit
02d13655b2
151 changed files with 100 additions and 39777 deletions
|
@ -21,10 +21,12 @@ SET(CMAKE_D_COMPILER_ENV_VAR "DC")
|
|||
IF(CMAKE_COMPILER_IS_MINGW)
|
||||
SET(MINGW 1)
|
||||
ENDIF(CMAKE_COMPILER_IS_MINGW)
|
||||
SET(CMAKE_COMPILER_IS_GDC_RUN 1)
|
||||
SET(CMAKE_D_SOURCE_FILE_EXTENSIONS d)
|
||||
SET(CMAKE_D_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
SET(CMAKE_D_LINKER_PREFERENCE None)
|
||||
# Prefer to use D's linker.
|
||||
# The D value 40 beats CXX value of 30 and C value of 10
|
||||
SET(CMAKE_D_LINKER_PREFERENCE 40 )
|
||||
SET(CMAKE_D_LINKER_PREFERENCE_PROPOGATES 1 )
|
||||
# Save compiler ABI information.
|
||||
SET(CMAKE_D_SIZEOF_DATA_PTR "@CMAKE_D_SIZEOF_DATA_PTR@")
|
||||
SET(CMAKE_D_COMPILER_ABI "@CMAKE_D_COMPILER_ABI@")
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
#elif defined(__dmd__)
|
||||
# define COMPILER_ID "DMD"
|
||||
#if defined(__dmd__)
|
||||
# define COMPILER_ID "dmd"
|
||||
|
||||
#elif defined(__ldc__)
|
||||
# define COMPILER_ID "ldc"
|
||||
|
||||
#elif defined(__gdc__)
|
||||
# define COMPILER_ID "gdc"
|
||||
|
@ -14,7 +17,7 @@
|
|||
array rather than assigning a pointer to a static array. */
|
||||
char* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
|
||||
@CMAKE_C_COMPILER_ID_PLATFORM_CONTENT@
|
||||
@CMAKE_D_COMPILER_ID_PLATFORM_CONTENT@
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#
|
||||
# Copyright (c) 2007, Selman Ulug <selman.ulug@gmail.com>
|
||||
# Tim Burrell <tim.burrell@gmail.com>
|
||||
# Steve King <sk@metrokings.com>
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
|
@ -18,30 +19,21 @@
|
|||
# It also loads a system - compiler - processor (or target hardware)
|
||||
# specific file, which is mainly useful for crosscompiling and embedded systems.
|
||||
|
||||
# some compilers use different extensions (e.g. sdcc uses .rel)
|
||||
# so set the extension here first so it can be overridden by the compiler specific file
|
||||
IF(UNIX)
|
||||
SET(CMAKE_D_OUTPUT_EXTENSION .o)
|
||||
ELSE(UNIX)
|
||||
SET(CMAKE_D_OUTPUT_EXTENSION .obj)
|
||||
ENDIF(UNIX)
|
||||
|
||||
MESSAGE( "**** Debug Info: Enter CMakeDInformation.cmake" )
|
||||
# Load compiler-specific information.
|
||||
|
||||
SET( _INCLUDED_FILE 0 ) # reset the indicator if an include occurred.
|
||||
|
||||
IF(CMAKE_D_COMPILER_ID)
|
||||
INCLUDE(Compiler/${CMAKE_D_COMPILER_ID}-D OPTIONAL)
|
||||
ENDIF(CMAKE_D_COMPILER_ID)
|
||||
|
||||
# SET(CMAKE_D_OUTPUT_EXTENSION .o)
|
||||
|
||||
SET(CMAKE_BASE_NAME)
|
||||
GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_D_COMPILER} NAME_WE)
|
||||
# This will need updating for the LLVM based ldc
|
||||
IF(CMAKE_COMPILER_IS_GDC)
|
||||
SET(CMAKE_D_OUTPUT_NAME_SWITCH "-o")
|
||||
SET(CMAKE_BASE_NAME gdc)
|
||||
ELSE(CMAKE_COMPILER_IS_GDC)
|
||||
SET(CMAKE_D_OUTPUT_NAME_SWITCH "-of")
|
||||
SET(CMAKE_BASE_NAME dmd)
|
||||
ENDIF(CMAKE_COMPILER_IS_GDC)
|
||||
|
||||
SET( _INCLUDED_FILE 0 ) # reset the indicator if an include occurred.
|
||||
|
||||
# load a hardware specific file, mostly useful for embedded compilers
|
||||
IF(CMAKE_SYSTEM_PROCESSOR)
|
||||
|
@ -53,16 +45,24 @@ IF(CMAKE_SYSTEM_PROCESSOR)
|
|||
ENDIF (NOT _INCLUDED_FILE)
|
||||
ENDIF(CMAKE_SYSTEM_PROCESSOR)
|
||||
|
||||
MESSAGE( "**** Debug Info: CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}" )
|
||||
MESSAGE( "**** Debug Info: CMAKE_D_COMPILER_ID = ${CMAKE_D_COMPILER_ID}" )
|
||||
MESSAGE( "**** Debug Info: CMAKE_BASE_NAME = ${CMAKE_BASE_NAME}" )
|
||||
|
||||
SET( _INCLUDED_FILE 0 ) # reset the indicator if an include occurred.
|
||||
|
||||
# load the system- and compiler specific files
|
||||
IF(CMAKE_D_COMPILER_ID)
|
||||
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_D_COMPILER_ID}-D
|
||||
OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
|
||||
ENDIF(CMAKE_D_COMPILER_ID)
|
||||
|
||||
# if no high specificity file was included, then try a more general one
|
||||
IF (NOT _INCLUDED_FILE)
|
||||
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}
|
||||
OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
|
||||
ENDIF (NOT _INCLUDED_FILE)
|
||||
|
||||
# We specify the compiler information in the system file for some
|
||||
# platforms, but this language may not have been enabled when the file
|
||||
# was first included. Include it again to get the language info.
|
||||
|
@ -157,7 +157,7 @@ INCLUDE(CMakeCommonLanguageInclude)
|
|||
# create a D shared library
|
||||
IF(NOT CMAKE_D_CREATE_SHARED_LIBRARY)
|
||||
SET(CMAKE_D_CREATE_SHARED_LIBRARY
|
||||
"<CMAKE_D_COMPILER> <CMAKE_SHARED_LIBRARY_D_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_D_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_D_FLAG><TARGET_SONAME> ${CMAKE_D_OUTPUT_NAME_SWITCH}<TARGET> <OBJECTS> <LINK_LIBRARIES> ${DSTDLIB_FLAGS} ${CMAKE_D_STDLIBS}")
|
||||
"<CMAKE_D_COMPILER> <CMAKE_SHARED_LIBRARY_D_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_D_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_D_FLAG><TARGET_SONAME> ${CMAKE_D_DASH_O}<TARGET> <OBJECTS> <LINK_LIBRARIES> ${DSTDLIB_FLAGS} ${CMAKE_D_STDLIBS}")
|
||||
ENDIF(NOT CMAKE_D_CREATE_SHARED_LIBRARY)
|
||||
|
||||
# create a D shared module just copy the shared library rule
|
||||
|
@ -174,12 +174,12 @@ SET(CMAKE_D_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
|
|||
# compile a D file into an object file
|
||||
IF(NOT CMAKE_D_COMPILE_OBJECT)
|
||||
SET(CMAKE_D_COMPILE_OBJECT
|
||||
"<CMAKE_D_COMPILER> <FLAGS> ${CMAKE_D_OUTPUT_NAME_SWITCH}<OBJECT> -c <SOURCE>")
|
||||
"<CMAKE_D_COMPILER> <FLAGS> ${CMAKE_D_DASH_O}<OBJECT> -c <SOURCE>")
|
||||
ENDIF(NOT CMAKE_D_COMPILE_OBJECT)
|
||||
|
||||
IF(NOT CMAKE_D_LINK_EXECUTABLE)
|
||||
SET(CMAKE_D_LINK_EXECUTABLE
|
||||
"gcc <FLAGS> <CMAKE_D_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> ${CMAKE_D_STDLIBS}")
|
||||
"<CMAKE_D_COMPILER> <FLAGS> <CMAKE_D_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> ${CMAKE_D_DASH_O}<TARGET> <LINK_LIBRARIES> ${CMAKE_D_STDLIBS}")
|
||||
ENDIF(NOT CMAKE_D_LINK_EXECUTABLE)
|
||||
|
||||
IF(NOT CMAKE_EXECUTABLE_RUNTIME_D_FLAG)
|
||||
|
@ -202,3 +202,4 @@ CMAKE_D_FLAGS_RELEASE
|
|||
CMAKE_D_FLAGS_RELWITHDEBINFO
|
||||
)
|
||||
SET(CMAKE_D_INFORMATION_LOADED 1)
|
||||
MESSAGE( "**** Debug Info: Exit CMakeDInformation.cmake" )
|
||||
|
|
|
@ -11,8 +11,6 @@
|
|||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
|
||||
PROJECT (cmaked NONE)
|
||||
|
||||
# note do not install FindGTK2.cmake. it is not required to install it
|
||||
# to build the samples, and can break apps that use other FindGTK2 modules.
|
||||
SET (MOD_SRCS
|
||||
CMakeDCompiler.cmake.in
|
||||
CMakeDCompilerId.d.in
|
||||
|
|
|
@ -1,453 +0,0 @@
|
|||
# - Try to find GTK2
|
||||
# Once done this will define
|
||||
#
|
||||
# GTK2_FOUND - System has Boost
|
||||
# GTK2_INCLUDE_DIRS - GTK2 include directory
|
||||
# GTK2_LIBRARIES - Link these to use GTK2
|
||||
# GTK2_LIBRARY_DIRS - The path to where the GTK2 library files are.
|
||||
# GTK2_DEFINITIONS - Compiler switches required for using GTK2
|
||||
#
|
||||
# Copyright (c) 2007 Andreas Schneider <mail@cynapses.org>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the New
|
||||
# BSD license.
|
||||
# For details see
|
||||
# http://cmake-modules.googlecode.com/svn/trunk/Modules/COPYING-CMAKE-SCRIPTS
|
||||
#
|
||||
|
||||
set(GTK2_DEBUG ON)
|
||||
|
||||
macro(GTK2_DEBUG_MESSAGE _message)
|
||||
if (GTK2_DEBUG)
|
||||
message(STATUS "(DEBUG) ${_message}")
|
||||
endif (GTK2_DEBUG)
|
||||
endmacro(GTK2_DEBUG_MESSAGE _message)
|
||||
|
||||
if (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
|
||||
# in cache already
|
||||
set(GTK2_FOUND TRUE)
|
||||
else (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
|
||||
if (UNIX)
|
||||
# use pkg-config to get the directories and then use these values
|
||||
# in the FIND_PATH() and FIND_LIBRARY() calls
|
||||
include(UsePkgConfig)
|
||||
|
||||
pkgconfig(gtk+-2.0 _GTK2IncDir _GTK2LinkDir _GTK2LinkFlags _GTK2Cflags)
|
||||
|
||||
find_path(GTK2_GTK_INCLUDE_DIR
|
||||
NAMES
|
||||
gtk/gtk.h
|
||||
PATHS
|
||||
$ENV{GTK2_HOME}
|
||||
${_GTK2IncDir}
|
||||
/usr/include/gtk-2.0
|
||||
/usr/local/include/gtk-2.0
|
||||
/opt/include/gtk-2.0
|
||||
/opt/gnome/include/gtk-2.0
|
||||
/sw/include/gtk-2.0
|
||||
)
|
||||
gtk2_debug_message("GTK2_GTK_INCLUDE_DIR is ${GTK2_GTK_INCLUDE_DIR}")
|
||||
|
||||
# Some Linux distributions (e.g. Red Hat) have glibconfig.h
|
||||
# and glib.h in different directories, so we need to look
|
||||
# for both.
|
||||
# - Atanas Georgiev <atanas@cs.columbia.edu>
|
||||
pkgconfig(glib-2.0 _GLIB2IncDir _GLIB2LinkDir _GLIB2LinkFlags _GLIB2Cflags)
|
||||
pkgconfig(gmodule-2.0 _GMODULE2IncDir _GMODULE2LinkDir _GMODULE2LinkFlags _GMODULE2Cflags)
|
||||
|
||||
find_path(GTK2_GLIBCONFIG_INCLUDE_DIR
|
||||
NAMES
|
||||
glibconfig.h
|
||||
PATHS
|
||||
${_GLIB2IncDir}
|
||||
${_GMODULE2IncDir}
|
||||
/opt/gnome/lib64/glib-2.0/include
|
||||
/opt/gnome/lib/glib-2.0/include
|
||||
/opt/lib/glib-2.0/include
|
||||
/usr/lib64/glib-2.0/include
|
||||
/usr/lib/glib-2.0/include
|
||||
/sw/lib/glib-2.0/include
|
||||
)
|
||||
gtk2_debug_message("GTK2_GLIBCONFIG_INCLUDE_DIR is ${GTK2_GLIBCONFIG_INCLUDE_DIR}")
|
||||
|
||||
find_path(GTK2_GLIB_INCLUDE_DIR
|
||||
NAMES
|
||||
glib.h
|
||||
PATHS
|
||||
${_GLIB2IncDir}
|
||||
${_GMODULE2IncDir}
|
||||
/opt/include/glib-2.0
|
||||
/opt/gnome/include/glib-2.0
|
||||
/usr/include/glib-2.0
|
||||
/sw/include/glib-2.0
|
||||
)
|
||||
gtk2_debug_message("GTK2_GLIB_INCLUDE_DIR is ${GTK2_GLIB_INCLUDE_DIR}")
|
||||
|
||||
pkgconfig(gdk-2.0 _GDK2IncDir _GDK2LinkDir _GDK2LinkFlags _GDK2Cflags)
|
||||
|
||||
find_path(GTK2_GDK_INCLUDE_DIR
|
||||
NAMES
|
||||
gdkconfig.h
|
||||
PATHS
|
||||
${_GDK2IncDir}
|
||||
/opt/gnome/lib/gtk-2.0/include
|
||||
/opt/gnome/lib64/gtk-2.0/include
|
||||
/opt/lib/gtk-2.0/include
|
||||
/usr/lib/gtk-2.0/include
|
||||
/usr/lib64/gtk-2.0/include
|
||||
/sw/lib/gtk-2.0/include
|
||||
)
|
||||
gtk2_debug_message("GTK2_GDK_INCLUDE_DIR is ${GTK2_GDK_INCLUDE_DIR}")
|
||||
|
||||
find_path(GTK2_GTKGL_INCLUDE_DIR
|
||||
NAMES
|
||||
gtkgl/gtkglarea.h
|
||||
PATHS
|
||||
${_GLIB2IncDir}
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/usr/openwin/share/include
|
||||
/opt/gnome/include
|
||||
/opt/include
|
||||
/sw/include
|
||||
)
|
||||
gtk2_debug_message("GTK2_GTKGL_INCLUDE_DIR is ${GTK2_GTKGL_INCLUDE_DIR}")
|
||||
|
||||
pkgconfig(libglade-2.0 _GLADEIncDir _GLADELinkDir _GLADELinkFlags _GLADECflags)
|
||||
|
||||
find_path(GTK2_GLADE_INCLUDE_DIR
|
||||
NAMES
|
||||
glade/glade.h
|
||||
PATHS
|
||||
${_GLADEIncDir}
|
||||
/opt/gnome/include/libglade-2.0
|
||||
/usr/include/libglade-2.0
|
||||
/opt/include/libglade-2.0
|
||||
/sw/include/libglade-2.0
|
||||
)
|
||||
gtk2_debug_message("GTK2_GLADE_INCLUDE_DIR is ${GTK2_GLADE_INCLUDE_DIR}")
|
||||
|
||||
pkgconfig(pango _PANGOIncDir _PANGOLinkDir _PANGOLinkFlags _PANGOCflags)
|
||||
|
||||
find_path(GTK2_PANGO_INCLUDE_DIR
|
||||
NAMES
|
||||
pango/pango.h
|
||||
PATHS
|
||||
${_PANGOIncDir}
|
||||
/usr/include/pango-1.0
|
||||
/opt/gnome/include/pango-1.0
|
||||
/opt/include/pango-1.0
|
||||
/sw/include/pango-1.0
|
||||
)
|
||||
gtk2_debug_message("GTK2_PANGO_INCLUDE_DIR is ${GTK2_PANGO_INCLUDE_DIR}")
|
||||
|
||||
pkgconfig(cairo _CAIROIncDir _CAIROLinkDir _CAIROLinkFlags _CAIROCflags)
|
||||
|
||||
find_path(GTK2_CAIRO_INCLUDE_DIR
|
||||
NAMES
|
||||
cairo.h
|
||||
PATHS
|
||||
${_CAIROIncDir}
|
||||
/opt/gnome/include/cairo
|
||||
/usr/include
|
||||
/usr/include/cairo
|
||||
/opt/include
|
||||
/opt/include/cairo
|
||||
/sw/include
|
||||
/sw/include/cairo
|
||||
)
|
||||
gtk2_debug_message("GTK2_CAIRO_INCLUDE_DIR is ${GTK2_CAIRO_INCLUDE_DIR}")
|
||||
|
||||
pkgconfig(atk _ATKIncDir _ATKLinkDir _ATKLinkFlags _ATKCflags)
|
||||
|
||||
find_path(GTK2_ATK_INCLUDE_DIR
|
||||
NAMES
|
||||
atk/atk.h
|
||||
PATHS
|
||||
${_ATKIncDir}
|
||||
/opt/gnome/include/atk-1.0
|
||||
/usr/include/atk-1.0
|
||||
/opt/include/atk-1.0
|
||||
/sw/include/atk-1.0
|
||||
)
|
||||
gtk2_debug_message("GTK2_ATK_INCLUDE_DIR is ${GTK2_ATK_INCLUDE_DIR}")
|
||||
|
||||
find_library(GTK2_GTK_LIBRARY
|
||||
NAMES
|
||||
gtk-x11-2.0
|
||||
PATHS
|
||||
${_GTK2LinkDir}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/openwin/lib
|
||||
/usr/X11R6/lib
|
||||
/opt/gnome/lib
|
||||
/opt/lib
|
||||
/sw/lib
|
||||
)
|
||||
gtk2_debug_message("GTK2_GTK_LIBRARY is ${GTK2_GTK_LIBRARY}")
|
||||
|
||||
find_library(GTK2_GDK_LIBRARY
|
||||
NAMES
|
||||
gdk-x11-2.0
|
||||
PATHS
|
||||
${_GDK2LinkDir}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/openwin/lib
|
||||
/usr/X11R6/lib
|
||||
/opt/gnome/lib
|
||||
/opt/lib
|
||||
/sw/lib
|
||||
)
|
||||
gtk2_debug_message("GTK2_GDK_LIBRARY is ${GTK2_GDK_LIBRARY}")
|
||||
|
||||
find_library(GTK2_GDK_PIXBUF_LIBRARY
|
||||
NAMES
|
||||
gdk_pixbuf-2.0
|
||||
PATHS
|
||||
${_GDK2LinkDir}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/openwin/lib
|
||||
/usr/X11R6/lib
|
||||
/opt/gnome/lib
|
||||
/opt/lib
|
||||
/sw/lib
|
||||
)
|
||||
gtk2_debug_message("GTK2_GDK_PIXBUF_LIBRARY is ${GTK2_GDK_PIXBUF_LIBRARY}")
|
||||
|
||||
find_library(GTK2_GMODULE_LIBRARY
|
||||
NAMES
|
||||
gmodule-2.0
|
||||
PATHS
|
||||
${_GMODULE2LinkDir}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/openwin/lib
|
||||
/usr/X11R6/lib
|
||||
/opt/gnome/lib
|
||||
/opt/lib
|
||||
/sw/lib
|
||||
)
|
||||
gtk2_debug_message("GTK2_GMODULE_LIBRARY is ${GTK2_GMODULE_LIBRARY}")
|
||||
|
||||
find_library(GTK2_GTHREAD_LIBRARY
|
||||
NAMES
|
||||
gthread-2.0
|
||||
PATHS
|
||||
${_GTK2LinkDir}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/openwin/lib
|
||||
/usr/X11R6/lib
|
||||
/opt/gnome/lib
|
||||
/opt/lib
|
||||
/sw/lib
|
||||
)
|
||||
gtk2_debug_message("GTK2_GTHREAD_LIBRARY is ${GTK2_GTHREAD_LIBRARY}")
|
||||
|
||||
find_library(GTK2_GOBJECT_LIBRARY
|
||||
NAMES
|
||||
gobject-2.0
|
||||
PATHS
|
||||
${_GTK2LinkDir}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/openwin/lib
|
||||
/usr/X11R6/lib
|
||||
/opt/gnome/lib
|
||||
/opt/lib
|
||||
/sw/lib
|
||||
)
|
||||
gtk2_debug_message("GTK2_GOBJECT_LIBRARY is ${GTK2_GOBJECT_LIBRARY}")
|
||||
|
||||
find_library(GTK2_GLIB_LIBRARY
|
||||
NAMES
|
||||
glib-2.0
|
||||
PATHS
|
||||
${_GLIB2LinkDir}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/openwin/lib
|
||||
/usr/X11R6/lib
|
||||
/opt/gnome/lib
|
||||
/opt/lib
|
||||
/sw/lib
|
||||
)
|
||||
gtk2_debug_message("GTK2_GLIB_LIBRARY is ${GTK2_GLIB_LIBRARY}")
|
||||
|
||||
find_library(GTK2_GTKGL_LIBRARY
|
||||
NAMES
|
||||
gtkgl
|
||||
PATHS
|
||||
${_GTK2LinkDir}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/openwin/lib
|
||||
/usr/X11R6/lib
|
||||
/opt/gnome/lib
|
||||
/opt/lib
|
||||
/sw/lib
|
||||
)
|
||||
gtk2_debug_message("GTK2_GTKGL_LIBRARY is ${GTK2_GTKGL_LIBRARY}")
|
||||
|
||||
find_library(GTK2_GLADE_LIBRARY
|
||||
NAMES
|
||||
glade-2.0
|
||||
PATHS
|
||||
${_GLADELinkDir}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/openwin/lib
|
||||
/usr/X11R6/lib
|
||||
/opt/gnome/lib
|
||||
/opt/lib
|
||||
/sw/lib
|
||||
)
|
||||
gtk2_debug_message("GTK2_GLADE_LIBRARY is ${GTK2_GLADE_LIBRARY}")
|
||||
|
||||
find_library(GTK2_PANGO_LIBRARY
|
||||
NAMES
|
||||
pango-1.0
|
||||
PATHS
|
||||
${_PANGOLinkDir}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/openwin/lib
|
||||
/usr/X11R6/lib
|
||||
/opt/gnome/lib
|
||||
/opt/lib
|
||||
/sw/lib
|
||||
)
|
||||
gtk2_debug_message("GTK2_PANGO_LIBRARY is ${GTK2_PANGO_LIBRARY}")
|
||||
|
||||
find_library(GTK2_CAIRO_LIBRARY
|
||||
NAMES
|
||||
pangocairo-1.0
|
||||
PATHS
|
||||
${_CAIROLinkDir}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/openwin/lib
|
||||
/usr/X11R6/lib
|
||||
/opt/gnome/lib
|
||||
/opt/lib
|
||||
/sw/lib
|
||||
)
|
||||
gtk2_debug_message("GTK2_PANGO_LIBRARY is ${GTK2_CAIRO_LIBRARY}")
|
||||
|
||||
find_library(GTK2_ATK_LIBRARY
|
||||
NAMES
|
||||
atk-1.0
|
||||
PATHS
|
||||
${_ATKinkDir}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/openwin/lib
|
||||
/usr/X11R6/lib
|
||||
/opt/gnome/lib
|
||||
/opt/lib
|
||||
/sw/lib
|
||||
)
|
||||
gtk2_debug_message("GTK2_ATK_LIBRARY is ${GTK2_ATK_LIBRARY}")
|
||||
|
||||
set(GTK2_INCLUDE_DIRS
|
||||
${GTK2_GTK_INCLUDE_DIR}
|
||||
${GTK2_GLIBCONFIG_INCLUDE_DIR}
|
||||
${GTK2_GLIB_INCLUDE_DIR}
|
||||
${GTK2_GDK_INCLUDE_DIR}
|
||||
${GTK2_GLADE_INCLUDE_DIR}
|
||||
${GTK2_PANGO_INCLUDE_DIR}
|
||||
${GTK2_CAIRO_INCLUDE_DIR}
|
||||
${GTK2_ATK_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
if (GTK2_GTK_LIBRARY AND GTK2_GTK_INCLUDE_DIR)
|
||||
if (GTK2_GDK_LIBRARY AND GTK2_GDK_PIXBUF_LIBRARY AND GTK2_GDK_INCLUDE_DIR)
|
||||
if (GTK2_GMODULE_LIBRARY)
|
||||
if (GTK2_GTHREAD_LIBRARY)
|
||||
if (GTK2_GOBJECT_LIBRARY)
|
||||
if (GTK2_GLADE_LIBRARY AND GTK2_GLADE_INCLUDE_DIR)
|
||||
if (GTK2_PANGO_LIBRARY AND GTK2_PANGO_INCLUDE_DIR)
|
||||
if (GTK2_CAIRO_LIBRARY AND GTK2_CAIRO_INCLUDE_DIR)
|
||||
if (GTK2_ATK_LIBRARY AND GTK2_ATK_INCLUDE_DIR)
|
||||
|
||||
# set GTK2 libraries
|
||||
set (GTK2_LIBRARIES
|
||||
${GTK2_GTK_LIBRARY}
|
||||
${GTK2_GDK_LIBRARY}
|
||||
${GTK2_GDK_PIXBUF_LIBRARY}
|
||||
${GTK2_GMODULE_LIBRARY}
|
||||
${GTK2_GTHREAD_LIBRARY}
|
||||
${GTK2_GOBJECT_LIBRARY}
|
||||
${GTK2_GLADE_LIBRARY}
|
||||
${GTK2_PANGO_LIBRARY}
|
||||
${GTK2_CAIRO_LIBRARY}
|
||||
${GTK2_ATK_LIBRARY}
|
||||
)
|
||||
|
||||
# check for gtkgl support
|
||||
if (GTK2_GTKGL_LIBRARY AND GTK2_GTKGL_INCLUDE_DIR)
|
||||
set(GTK2_GTKGL_FOUND TRUE)
|
||||
|
||||
set(GTK2_INCLUDE_DIRS
|
||||
${GTK2_INCLUDE_DIR}
|
||||
${GTK2_GTKGL_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
set(GTK2_LIBRARIES
|
||||
${GTK2_LIBRARIES}
|
||||
${GTK2_GTKGL_LIBRARY}
|
||||
)
|
||||
endif (GTK2_GTKGL_LIBRARY AND GTK2_GTKGL_INCLUDE_DIR)
|
||||
|
||||
else (GTK2_ATK_LIBRARY AND GTK2_ATK_INCLUDE_DIR)
|
||||
message(SEND_ERROR "Could not find ATK")
|
||||
endif (GTK2_ATK_LIBRARY AND GTK2_ATK_INCLUDE_DIR)
|
||||
else (GTK2_CAIRO_LIBRARY AND GTK2_CAIRO_INCLUDE_DIR)
|
||||
message(SEND_ERROR "Could not find CAIRO")
|
||||
endif (GTK2_CAIRO_LIBRARY AND GTK2_CAIRO_INCLUDE_DIR)
|
||||
else (GTK2_PANGO_LIBRARY AND GTK2_PANGO_INCLUDE_DIR)
|
||||
message(SEND_ERROR "Could not find PANGO")
|
||||
endif (GTK2_PANGO_LIBRARY AND GTK2_PANGO_INCLUDE_DIR)
|
||||
else (GTK2_GLADE_LIBRARY AND GTK2_GLADE_INCLUDE_DIR)
|
||||
message(SEND_ERROR "Could not find GLADE")
|
||||
endif (GTK2_GLADE_LIBRARY AND GTK2_GLADE_INCLUDE_DIR)
|
||||
else (GTK2_GOBJECT_LIBRARY)
|
||||
message(SEND_ERROR "Could not find GOBJECT")
|
||||
endif (GTK2_GOBJECT_LIBRARY)
|
||||
else (GTK2_GTHREAD_LIBRARY)
|
||||
message(SEND_ERROR "Could not find GTHREAD")
|
||||
endif (GTK2_GTHREAD_LIBRARY)
|
||||
else (GTK2_GMODULE_LIBRARY)
|
||||
message(SEND_ERROR "Could not find GMODULE")
|
||||
endif (GTK2_GMODULE_LIBRARY)
|
||||
else (GTK2_GDK_LIBRARY AND GTK2_GDK_PIXBUF_LIBRARY AND GTK2_GDK_INCLUDE_DIR)
|
||||
message(SEND_ERROR "Could not find GDK (GDK_PIXBUF)")
|
||||
endif (GTK2_GDK_LIBRARY AND GTK2_GDK_PIXBUF_LIBRARY AND GTK2_GDK_INCLUDE_DIR)
|
||||
else (GTK2_GTK_LIBRARY AND GTK2_GTK_INCLUDE_DIR)
|
||||
message(SEND_ERROR "Could not find GTK2-X11")
|
||||
endif (GTK2_GTK_LIBRARY AND GTK2_GTK_INCLUDE_DIR)
|
||||
|
||||
|
||||
if (GTK2_INCLUDE_DIRS AND GTK2_LIBRARIES)
|
||||
set(GTK2_FOUND TRUE)
|
||||
endif (GTK2_INCLUDE_DIRS AND GTK2_LIBRARIES)
|
||||
|
||||
if (GTK2_FOUND)
|
||||
if (NOT GTK2_FIND_QUIETLY)
|
||||
message(STATUS "Found GTK2: ${GTK2_LIBRARIES}")
|
||||
endif (NOT GTK2_FIND_QUIETLY)
|
||||
else (GTK2_FOUND)
|
||||
if (GTK2_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find GTK2")
|
||||
endif (GTK2_FIND_REQUIRED)
|
||||
endif (GTK2_FOUND)
|
||||
|
||||
# show the GTK2_INCLUDE_DIRS and GTK2_LIBRARIES variables only in the advanced view
|
||||
mark_as_advanced(GTK2_INCLUDE_DIRS GTK2_LIBRARIES)
|
||||
|
||||
endif (UNIX)
|
||||
endif (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
|
||||
|
|
@ -11,8 +11,9 @@
|
|||
# Modified from CMake 2.6.5 gcc.cmake
|
||||
# See http://www.cmake.org/HTML/Copyright.html for details
|
||||
#
|
||||
MESSAGE( "**** Debug Info: Enter Linux-dmd.cmake" )
|
||||
|
||||
SET(DSTDLIB_FLAGS "-version=Phobos")
|
||||
#SET(DSTDLIB_FLAGS "-version=Phobos")
|
||||
IF(CMAKE_D_BUILD_DOCS)
|
||||
SET(DDOC_FLAGS "-D -Dddocumentation")
|
||||
#FOREACH(item ${CMAKE_D_DDOC_FILES})
|
||||
|
@ -20,16 +21,20 @@ IF(CMAKE_D_BUILD_DOCS)
|
|||
#ENDFOREACH(item)
|
||||
ENDIF(CMAKE_D_BUILD_DOCS)
|
||||
|
||||
SET(CMAKE_SHARED_LIBRARY_D_FLAGS "") # -pic
|
||||
SET(CMAKE_D_OUTPUT_EXTENSION .o)
|
||||
SET(CMAKE_D_DASH_O "-of")
|
||||
SET(CMAKE_BASE_NAME dmd)
|
||||
|
||||
SET(CMAKE_SHARED_LIBRARY_D_FLAGS "") # -pic
|
||||
SET(CMAKE_SHARED_LIBRARY_CREATE_D_FLAGS "-shared") # -shared
|
||||
SET(CMAKE_SHARED_LIBRARY_LINK_D_FLAGS "") # +s, flag for exe link to use shared lib
|
||||
SET(CMAKE_SHARED_LIBRARY_RUNTIME_D_FLAG "") # -rpath
|
||||
SET(CMAKE_SHARED_LIBRARY_RUNTIME_D_FLAG_SEP "") # : or empty
|
||||
SET(CMAKE_INCLUDE_FLAG_D "-I") # -I
|
||||
SET(CMAKE_INCLUDE_FLAG_D_SEP "") # , or empty
|
||||
SET(CMAKE_LIBRARY_PATH_FLAG "-L")
|
||||
SET(CMAKE_LIBRARY_PATH_FLAG "-L-L")
|
||||
SET(CMAKE_LIBRARY_PATH_TERMINATOR "") # for the Digital Mars D compiler the link paths have to be terminated with a "/"
|
||||
SET(CMAKE_LINK_LIBRARY_FLAG "-l")
|
||||
SET(CMAKE_LINK_LIBRARY_FLAG "-L-l")
|
||||
|
||||
SET(CMAKE_LINK_LIBRARY_SUFFIX "")
|
||||
SET(CMAKE_STATIC_LIBRARY_PREFIX "lib")
|
||||
|
@ -42,7 +47,7 @@ SET(CMAKE_DL_LIBS "dl")
|
|||
SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
|
||||
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
|
||||
|
||||
SET(CMAKE_D_STDLIBS "-lphobos2 -lpthread -lm" )
|
||||
SET(CMAKE_D_STDLIBS "-L-lphobos2 -L-lpthread -L-lm" )
|
||||
|
||||
#SET (CMAKE_D_FLAGS_INIT "-version=${CMAKE_BUILD_TYPE}Build ${DSTDLIB_FLAGS} ${DSTDLIB_TYPE} -I$ENV{D_PATH}/include -I$ENV{D_PATH}/import -I${CMAKE_PROJECT_SOURCE_DIR}")
|
||||
SET (CMAKE_D_FLAGS_INIT "")
|
||||
|
@ -51,7 +56,9 @@ SET (CMAKE_D_LINK_FLAGS "")
|
|||
SET (CMAKE_D_FLAGS_DEBUG_INIT "-g -debug -L--export-dynamic ${DDOC_FLAGS}")
|
||||
# SET (CMAKE_D_FLAGS_MINSIZEREL_INIT "-Os ${DDOC_FLAGS}")
|
||||
SET (CMAKE_D_FLAGS_RELEASE_INIT "-O -release -inline ${DDOC_FLAGS}")
|
||||
SET (CMAKE_D_FLAGS_RELWITHDEBINFO_INIT "-O -g ${DDOC_FLAGS}")
|
||||
SET (CMAKE_D_FLAGS_RELWITHDEBINFO_INIT "-O -g -L--export-dynamic ${DDOC_FLAGS}")
|
||||
# SET (CMAKE_D_CREATE_PREPROCESSED_SOURCE "<CMAKE_D_COMPILER> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
|
||||
SET (CMAKE_D_CREATE_ASSEMBLY_SOURCE "<CMAKE_D_COMPILER> <FLAGS> -S <SOURCE> -of<ASSEMBLY_SOURCE>")
|
||||
# SET (CMAKE_INCLUDE_SYSTEM_FLAG_D "-isystem ")
|
||||
|
||||
MESSAGE( "**** Debug Info: Exit Linux-dmd.cmake" )
|
||||
|
|
|
@ -12,6 +12,9 @@
|
|||
# See http://www.cmake.org/HTML/Copyright.html for details
|
||||
#
|
||||
|
||||
SET(CMAKE_D_DASH_O "-o")
|
||||
SET(CMAKE_BASE_NAME gdc)
|
||||
|
||||
IF(CMAKE_D_USE_TANGO)
|
||||
SET(DSTDLIB_FLAGS "-fversion=Tango")
|
||||
ENDIF(CMAKE_D_USE_TANGO)
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
# Modified from CMake 2.6.5 gcc.cmake
|
||||
# See http://www.cmake.org/HTML/Copyright.html for details
|
||||
#
|
||||
|
||||
SET(CMAKE_D_OUTPUT_EXTENSION .obj)
|
||||
|
||||
IF(CMAKE_D_USE_TANGO)
|
||||
SET(DSTDLIB_FLAGS "-version=Tango")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue